4 ms·
Right, but re-verifying every txn (a "full sync") isn't exactly the topic. You do not need to re-verify every txn to run an Ethereum node, which is what the art
by erulabs 8y ago
Right, but re-verifying every txn (a "full sync") isn't exactly the topic. You do not need to re-verify every txn to run an Ethereum node, which is what the article suggests is extremely difficult. And that's not a "light" node, it's a full node, you're just trusting the network initially (additional "trust" is "built" as transactions are processed by the node, which is the beauty of the merkle tree structure). It certainly makes plenty of sense that single handedly reverifying the entire chain will become increasingly difficult with respect time and energy. It becomes a very complex argument about network trust at that point, but the point still stands that "It's now extremely difficult to sync an Ethereum node from scratch" is a very dubious statement (for admittedly varying definitions of 'extremely difficult')
- xiphias2 8y agoI'm not saying that it's completely bad, but with Bitcoin the devs work really hard to improve the software to make sure that the time for full resync doesn't grow too much, and that it can run on an average laptop that has SSD. The biggest problem with the fast sync is that sometimes when Ethereum node gets stuck, the devs just suggest to do a new fast sync, which - in my opinion - requires enourmous amount of trust in the developers. Hard forks also require a lot of trust, as old software can't be run side-by-side with new software to validate the blockchain.
- keymone 8y ago> you're just trusting the network initially Yeah, let’s “just” trust random strangers’ computers to tell us the state of financial system. What could possibly go wrong. If you don’t understand importance of “don’t trust, verify” than you shouldn’t have anything to do with cryptocurrencies (or cryptography for that matter).
- man-and-laptop 8y agoForgive me if I'm misunderstanding, but I disagree with you. A merkle tree is a recursive structure. If you trust a substructure of it, then you don't need to repeatedly re-evaluate that substructure. What that means in practical terms is if the merkle-tree entry summarising the state of the chain as it was a year ago is assumed correct, then you don't need to keep any of the transaction data from before that point. But this can only work if you don't have to look back. In Bitcoin, every transaction references an arbitrary previous transaction to prove that it has sufficient funds. You would therefore need "checkpoint" transactions that say "This is the amount of money everybody's got now; we can now forget the past".
- keymone 8y agoyou are misunderstanding. you're given a state of accounts and it has "correct" signature (according to a third party) - without verifying every transaction that contributed to building that state you cannot be certain it doesn't contain invalid records. merkle has nothing to do with it, you either verify or you trust a third party. checkpointing ethereum state or checkpointing bitcoin utxo set is a way to trade away security, decentralization and trustlessness for faster bootstrap. and ethereum folk have become way to relaxed about that fact.
- anticensor 8y agoIt is possible to create new transaction outputs using old UTXOs, hence nodes can do its own checkpointing if they wish, with a loss of transaction fee.