Backup account for updates & replies from my main.
2 Followers
I no longer agree with this previous tweet of mine - since 2017, I have become a much more willing connoisseur of mountains. It's worth explaining why. x.com/VitalikButer... First, the original context. That tweet was in a debate with Ian Grigg, who argued that blockchains should track the order of transactions, but not the state (eg. user balances, smart contract code and storage): > The messages are logged, but the state (e.g., UTXO) is implied, which means it is constructed by the computer internally, and then (can be) thrown away. I was heavily against this philosophy, because it would imply that users have no way to get the state other than either (i) running a node that processed every transaction in all of history, or (ii) trusting someone else.
The scaling hierarchy in blockchains: Computation > data > state Computation is easier to scale than data. You can parallelize it, require the block builder to provide all kinds of "hints" for it, or just replace arbitrary amounts of it with a proof of it. Data is in the middle. If an availability guarantee on data is required, then that guarantee is required, no way around it. But you _can_ split it up and erasure code it, a la PeerDAS. You can do graceful degradation for it: if a node only has 1/10 the data capacity of the other nodes, it can always produce blocks 1/10 the size. State is the hardest. To guarantee the ability to verify even one transaction, you need the full state. If you replace the state with a tree and keep the root, you need the full state to be able to update that root. There _are_ ways to split it up, but they involve architecture changes, they are fundamentally not general-purpose.
This morning I needed to check which addresses were signers on my multisig. I was on my phone, and did not have the Safe app installed there. I realized that I could just look up my address on etherscan, and use the "read contract" feature to get what I want directly. These are the kinds of additional UX benefits you get if your wallet or application is open source and passes the walkaway test. Giving users access to alternative options often helps in unexpected situations much more mundane than the Safe website "walking away" outright. (Of course, this exact workflow will eventually have to break because privacy. One way to make an equivalent privacy-friendly workflow is that the user can save a "viewing key" that is an extended version of their address and also contains extra private info, and the block explorers can support it, putting the private info in the hashtag part of the url so it stays client side.
The situation in Iran is continuing to get much worse. Much respect for everyone going through extreme danger to try to increase the chance that Iranian people can be free.