3 ms·
Consensus in Bitcoin: One system, many models
- danbruc 12y agoCan we effectively model the system with all its interacting components in the language of strategies and payoff-maximization? For a certain set of scenarios probably but what if the goal of an attacker is, for example, the destruction of Bitcoin? I don't think you can capture motivation for such a scenario in a model that, as far as I understand it, is based on value maximization within the Bitcoin system. The negative effect of any action within the system can always be offset by some positive effect outside the system. So I don't think it is a good idea to decide what metric should be used to judge the behavior of actors if you want to analyze attacks.
- randomwalker 12y agoThat's a good question. One of the points I'll make in the follow-up post that I promised is that it is indeed possible to capture the motivation of such an attacker in game theory, and in fact, this has been done. [1] However, it makes the model less elegant and introduces parameters. The more of these complexities you wish to model, the less tractable the model becomes. [1] http://weis2013.econinfosec.org/papers/KrollDaveyFeltenWEIS2013.pdf http://weis2013.econinfosec.org/papers/KrollDaveyFeltenWEIS2... (Section 5).
- jaekwon 12y agoI think that's the paper that Eyal & Sirer disprove with "selfish mining". And here's a post that may provide a useful mental framework for thinking about cryptocurrency consensus protocols and game-theory: http://tendermint.com/posts/security-of-cryptocurrency-protocols/ http://tendermint.com/posts/security-of-cryptocurrency-proto... And a proposed solution: http://tendermint.com/docs/tendermint.pdf http://tendermint.com/docs/tendermint.pdf Also, check out the email invite I sent you to the group! p.s. if anybody wants access, just email me.
- kushti 12y agoI hope following article will be more interesting, this one is kinda introduction, I guess. We in Consensus Research( https://github.com/ConsensusResearch https://github.com/ConsensusResearch ) are study some consensus properties of proof-of-stake cryptocurrencies with executable models written in Haskell & Coq. Feedback from HN guys is highly welcomed!
- etchalon 12y agoThis reads like a freshman in college read wikipedia and submitted a paper.
- jaekwon 12y agoIf you have anything more intelligent to say on the topic, I'd like to read it.
- etchalon 12y agoI don't have any particularly insightful opinions on consensus, nor on Bitcoin. However, neither did this writer, and yet the post was voted to the front page. I literally do not understand how anyone could read that and think "man, other people should totally read this!"
- vbuterin 12y agoI 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.