Re: [Bitcoin-development] Block collision resolution using the DECOR protocol and Bonneau's Kickbacks problem
As far as I understand, the incentives Sergio suggests would work. So we can assume that the pruned uncle blocks would still win their creators at least partial revenue. As for selfish mining - I'm not sure how GHOST affects it. I don't think it does. The selfish miners just care about heaviest subtree rather than longest chain. DECOR changes revenue collection significantly, so it certainly affects selfish mining. I believe it changes the threshold at which selfish mining is profitable, but doesn't deter selfish mining completely: Selfish miners can still cause others to reduce their revenue by having them work on older blocks. Ittay On Mon, May 5, 2014 at 3:45 PM, Sergio Lerner wrote: > > On 02/05/2014 10:56 a.m., Joseph Bonneau wrote: > > This is an interesting idea Sergio. I have two concerns: > > > > You mention "50% of the block reward" going to the uncle block. Does > > this mean the parent gets 1, and the uncle 0.5, or both get 0.5? In > > the first interpretation (which I assumed was the design), mining is > > no longer a zero-sum game and this could have lots of unforeseen > > implications. For example, selfish mining might be more profitable, > > since you're less disincentivized to avoid conflicts. > The second interpretation is the correct one. > > In the second interpretation, there's pressure to have the next miner > > ignore the uncle to not share the reward. This would encourage > > kickback-style attacks and advantage large mining pools because they > > can mine on their own blocks and ignore colliding uncles. > Including an uncle can be done at any time before a coinbase matures > (100 blocks) (of course the term "uncle" is misleading in those cases) . > So, for example, the uncle can be included 50 blocks afterward. So it's > very difficult that a miner prevents other miners from including the > uncle and taking the reward given by uncle inclusion. > > Same ineffective attack: > A big miner could try to bribe all other miners not to include the > uncle, but this would be terribly costly. Suppose that I mine a block > ignoring an uncle Z and then I publish this message: "Every miner from > block number X to block number Y that does not include this uncle Z will > be given Q Bitcoins". How much would Q be? Since by including the uncle > the miner gets 5 BTC of reward (in the example case where block reward > is 50 BTC), then each bribery payment would have to be higher than 5 > BTC, totaling 500 BTC ! much more than the 25 BTC the miner will loose > by including the uncle. > > Just by sending a transaction with a lot of fees that depends on my > block does not prevent subsequent miners from including the supposedly > banned uncle. > > Then, I think there are no kickback-style attacks. > > > > > Also, I think this came up in the Princeton meet-up, but it's not > > ideal to just hash the blocks to decide the "winner" because this lets > > you know in advance your block's likelihood of winning a collision by > > looking at how high or low its hash is, in which case you can publish > > a weak block right away or withhold a strong one and do selfish > > mining. A better approach to break ties between blocks A and B is to > > see if H(A||B) < H(B||A). That way neither block holder can find out > > in advance if their block is likely to win a collision. > > > In the DECOR protocol, I think selfish miners cannot get any advantage, > because the blocks that loose the latency race will come back as uncles > and get their reward share anyway. Maybe Ittay Eyal and Emin Gun Sirer > can say more about this... > > Best regards, Sergio. > -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
Re: [Bitcoin-development] Block collision resolution using the DECOR protocol and Bonneau's Kickbacks problem
On 02/05/2014 10:56 a.m., Joseph Bonneau wrote: > This is an interesting idea Sergio. I have two concerns: > > You mention "50% of the block reward" going to the uncle block. Does > this mean the parent gets 1, and the uncle 0.5, or both get 0.5? In > the first interpretation (which I assumed was the design), mining is > no longer a zero-sum game and this could have lots of unforeseen > implications. For example, selfish mining might be more profitable, > since you're less disincentivized to avoid conflicts. The second interpretation is the correct one. > In the second interpretation, there's pressure to have the next miner > ignore the uncle to not share the reward. This would encourage > kickback-style attacks and advantage large mining pools because they > can mine on their own blocks and ignore colliding uncles. Including an uncle can be done at any time before a coinbase matures (100 blocks) (of course the term "uncle" is misleading in those cases) . So, for example, the uncle can be included 50 blocks afterward. So it's very difficult that a miner prevents other miners from including the uncle and taking the reward given by uncle inclusion. Same ineffective attack: A big miner could try to bribe all other miners not to include the uncle, but this would be terribly costly. Suppose that I mine a block ignoring an uncle Z and then I publish this message: "Every miner from block number X to block number Y that does not include this uncle Z will be given Q Bitcoins". How much would Q be? Since by including the uncle the miner gets 5 BTC of reward (in the example case where block reward is 50 BTC), then each bribery payment would have to be higher than 5 BTC, totaling 500 BTC ! much more than the 25 BTC the miner will loose by including the uncle. Just by sending a transaction with a lot of fees that depends on my block does not prevent subsequent miners from including the supposedly banned uncle. Then, I think there are no kickback-style attacks. > > Also, I think this came up in the Princeton meet-up, but it's not > ideal to just hash the blocks to decide the "winner" because this lets > you know in advance your block's likelihood of winning a collision by > looking at how high or low its hash is, in which case you can publish > a weak block right away or withhold a strong one and do selfish > mining. A better approach to break ties between blocks A and B is to > see if H(A||B) < H(B||A). That way neither block holder can find out > in advance if their block is likely to win a collision. > In the DECOR protocol, I think selfish miners cannot get any advantage, because the blocks that loose the latency race will come back as uncles and get their reward share anyway. Maybe Ittay Eyal and Emin Gun Sirer can say more about this... Best regards, Sergio. -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development
[Bitcoin-development] Block collision resolution using the DECOR protocol and Bonneau's Kickbacks problem
The Bonneau's Kickbacks problem is interesting because it is a destabilizing incentive. Just by luck yesterday I was working on the same problem. I found a way to prevent Kickbacks and provide a conflict resolution strategy that benefits all member of the network. I will repost my blog post here, but the original has very nice diagrams and is full of hyperlinnk, so I recommend you see the original post... Even faster block-chains with DECOR protocol One of the most interesting papers ever written about the Bitcoin block-chain design is “Accelerating Bitcoin’s Transaction Processing” by Sompolinsky and Zohar. The paper presents the GHOST protocol which aims to achieve higher TPS securely by changing the way nodes decide which is the best chain fork. One of the issues that is not considered by the paper is the existence of a selfish bias independent of the miner’s hashing power. When a miner solves a block, and a competing block is also received, the miner will mine on top of his own solved block. This is not only a consequence of the best-chain selection policy, there is a strong incentive to do so. By mining on top of your own solved block, you double the expected reward while keeping the same winning probabilities. As a informal comparison, in Satoshi’s security model, the rogue miner is irrational and malicious. For example, the confirmation interval computations assume a rogue miner having 10% of the network hashing power will try to mine a selfish chain in order to try to outperform the global best-chain even if the odds are against him. In Sopolinky/Zohar security model, the miners are rational, but use a sub-optimal strategy. For example when two blocks compete, all miners will chose one of them arbitrarily (all choose the same block). Although this may be optimal for a fully cooperative network it’s not what miners will optimally choose for themselves. In Eyal/Sirer security model, the rogue miner is rational and uses an strategy believed by the authors to be optimal. In this post we improve Sopolinky/Zohar model assuming the attacker uses Eyal/Sirer selfish strategy and the standard double-betting strategy. Double-betting Strategy by Default The double-betting is a mining strategy pre-programmed in the in Satoshi reference miner. When a miner mines a block and a competing block is also detected, the miner won’t switch to the other chain because is has the same length, so mining will continue on the “selfish” fork. Of course there is nothing inherently selfish with this strategy since the miner has not enough information about which of the two forks is the one which the majority of the miners are mining on top of. Nevertheless the division of hashing power in forks is against the common good and reduces both the network TPS and the network confirmation time. Tit for Tat and identities If the two competing miners could detect the other miners identity in blocks, they could apply a cooperative strategy like Tit for Tat. Whenever two competing blocks are found by two miners without having any previous interaction, the conflict is resolved by both miners mining on top of the block with lower hash digest. If the two miners have interacted before, the conflict is resolved by both miners mining in the block that was solved by the opposite miner chosen in the previous interaction. If a miner acts selfishness and breaks the ties, then the other miner opts to apply an equivalent retaliation in the next block conflict. The retaliation is only considered successful if the miner who retaliates wins the ties. This strategy may in practice for at least four reasons: Sometimes a miner may solve two blocks in a row without noticing that the first one had a conflicting sibling. Then the competing miner would retaliate. If more than two miners are competing, it’s more complex to decide which block should be chosen as parent. All miners must dynamically maintain information of all previous interactions between all other miners. Some miners want to preserve anonymity and won’t publish identifying information. The first two reasons can be disregarded since the conflicting events may have a very low probability. The third is only a minor technical difficulty. But the last reason may be very strong. DECOR (DEterministic COnflict Resolution) I present here a reward strategy I called DECOR that incentives resolving conflicts in a deterministic way that benefits all conflicting miners at the same time. This strategy practically eliminates any possibly block-chain reversal when miners are rational. To make this explanation clearer we’ll assume that all block rewards and fees are equal so each miner receives exactly the same net payment for a block. Also the reward percentages proposed can be varied as long as some relations between are maintained. The idea is that whenever two miners Alice and Bob mine two competing blocks (a block conflict) both decide to mine on top of the block with the lower hash. First, all conf
Re: [Bitcoin-development] Block collision resolution using the DECOR protocol and Bonneau's Kickbacks problem
The original post is here: http://bitslog.wordpress.com/2014/05/02/decor/ -- "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs ___ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development