48 ms·
I strongly agree that byzantine fault tolerance theory by itself is a vastly insufficient model for explaining the workings of a cryptoeconomic consensus system
by vbuterin 12y ago
I strongly agree that byzantine fault tolerance theory by itself is a vastly insufficient model for explaining the workings of a cryptoeconomic consensus system. Cryptoeconomic consensus systems actually have to deal with five separate problems:
1. What mechanism is used to process a batch of state transitions during each round? (blocks in bitcoin, a BFT algorithm in Pebble, etc)
2. What mechanism incentivizes correct participation, as opposed to incorrect participation or non-participation, during a round? (block rewards, slasher penalties, etc)
3. What mechanism disincentivizes nodes from replaying a given round or set of rounds after the fact with different state transitions? (ie. the short-range double-spend problem) - block rewards in BTC, slasher deposits in PoS, being voted out in DPOS
4. Assuming a replay does happen, what mechanism do nodes use to determine which of the branches is correct? (PoW scoring in BTC, other scoring algorithms in PoS)
5. What mechanism invalidates long-range forks? (PoW for bitcoin, social checkpointing for PoS systems)
BFT consensus algos are equipped to only solve (1), and even there only part of (1) (specifically, given N participants, how does the next block get produced; the neglected part is how to pick the N participants given a free-entry economic system in the first place). It's an economics problem more than anything else, really.