It seems easier and less storage-intensive to just create a verifiable hash of the transactions (T), paired with the hash of the output UTXOs (O) it produces after each block. V = hash(T) + hash(O).
Each node can verify that the latest hash Vn does indeed follow from the previous Vn-1 and O.
Let's say we store the full list of TXs for 30 blocks just in case of reorgs. For data before that time, it seems fine to trust that the network was validating everything the same way up until that point to produce that hash.
Let's say some node is trying to cheat and rewrite history, sending a made-up hash Vn that has a bunch of coins in their own UTXOs fraudulently. That hash won't be the right hash according to the miners and nodes that tried to produce the block 30 blocks ago (the edge of visible TXs), so it would be clear they are trying to mess with history.
And for any cheating newer than 30 blocks ago, Bitcoin would just be the same as it is now since all TXs would still be available for direct validation.
Sorry if this is a dumb question, I'm still a Bitcoin newbie.
there are wallets that haven't been touched for many years
reply
That's fine, even the oldest possible wallets + balances would still be in the latest output set O. We would still have the full UTXO set as we have today. I'm just saying why not simplify the really old TXs and reduce them to a hash.
Another way of putting it is, currently every node validates every block from the genesis and can see that every transaction was correctly calculated. The trust window in this case is the entire history of Bitcoin.
I'm saying, what if we could shrink the trust window to the last 30 blocks or so. Or maybe something larger like 144, but not the entire history of Bitcoin. If we can assume that there was never a period in Bitcoin's history where the entire network colluded for over 30 blocks in a row to create some false history, then a valid hash representation (or chain of hashes from the genesis) would then be good enough as a starting point.
reply
isn't that what light wallets do ?
reply
Yeah but light wallets can't support the entire network. There needs to be some full nodes too out there, acting as a basis for the light wallets. That's what I understand.
reply
Check out zerosync. Zero knowledge proofs take it a step further. Making the full ledger verifiable in this hash format you thinking of.
There's already work on potentially making a full node that is zk proof based.
reply
Oh very cool
reply