Pages:
Author

Topic: Applying Ripple Consensus model in Bitcoin - page 2. (Read 5065 times)

legendary
Activity: 1792
Merit: 1111
February 15, 2013, 01:26:26 AM
#4
In case you do not aware, checkpoints (https://github.com/bitcoin/bitcoin/blob/master/src/checkpoints.cpp) are currently applied to Satoshi client. This means no matter how much hashing power one has, he will create a hard fork by trying to replace blocks before the last checkpoint. Therefore, bitcoin is never a pure PoW network.

Currently, checkpoints are implemented for about every thousands of blocks, and it is solely determined by the devs. So theoretically, the devs could hardcode every single new blocks as checkpoints, making themselves as the central bitcoin clearinghouse, working like SolidCoin. My proposal is just trying to decentralise the process of checkpointing. If 6 blocks is considered too short, we may make it every 100 blocks, but definitely not thousands of blocks. 100 blocks checkpoint is not too bad, at least I am sure that the 10 million USD worth of BTC that I received in the morning will become completely non-chargebackable in the evening.
legendary
Activity: 1792
Merit: 1111
February 15, 2013, 12:45:42 AM
#3
Please, no.

Please, give reasons.
hero member
Activity: 700
Merit: 500
February 14, 2013, 11:58:25 PM
#2
Please, no.
legendary
Activity: 1792
Merit: 1111
February 14, 2013, 10:27:31 PM
#1
Although I don't like the loan-based idea of Ripple, I think its consensus model is useful in protecting bitcoin against 51% attack.

Read more here: https://ripple.com/wiki/Consensus

We can apply consensus on top of the current PoW model. When a block has got 6-confirmations, nodes (both miners and non-miners; "validators" in Ripple jargon) will sign the block with their private keys, as a vote of its validity and uniqueness. In a normal situation, all honest nodes should come to consensus, and honest miners will never accept any conflicting blocks. Therefore, any secret 51% attack (secretly mining and suddenly releasing a longer chain) will never succeed for more than 6 blocks. Even a 1-million USD worth transaction is perfectly safe with 6 confirmations, which is not really safe with pure PoW.

There will be 3 classes of validators:

Elites: Same as Ripple, these validators should be non-anonymous to avoid Sybil Attack. Elites could be bitcoin merchants, devs, trusted OTC traders, and active forum participants. Elites will publish their GPG/bitcoin public key hash on their websites or on the forum.

Miners: Miners will include GPG public key hash (or public key hash of an empty bitcoin account) in their coinbase transactions, so they don't need to maintain a hot wallet for this purpose. Miners could be anonymous or non-anonymous.

Riches: Riches are holders of big account (aka. proof of stakes). For the same safety reasons, riches will publish an alternative GPG/bicoin public key hash with a specially crafted transaction. Riches could be anonymous or non-anonymous.

There will be overlapping between 3 classes of validators, especially if some were anonymous. Therefore, anonymous Miners and Riches will have lower voting power.

As long as the validators are highly diversified, the risk of these people colluding to defraud is extremely minimal. If they do so, that will destroy their real-world reputations.

In case of network-split, for over 6 blocks, we may need some human interventions. AFAIK, a split in this scale has never happened; and if it did, it would be a disaster on its own and the consensus model would not make it worse. Actually, the consensus model will make the system more robust against a network split, as people will find a large proportion of validators missing, and they will reject any new transaction until the network is re-merged. The current bitcoin client does not give any warning in case of suspected network split.

As we have checkpoints in Satoshi client, the system is technically not pure PoW. However, checkpoints are usually thousands of blocks behind and that's not enough to protect us against 51% attack. Philosophically, checkpoints are hard-coding the community consensus to the code. Why don't we make this process more decentralised and automatic?

I know this proposal is not new, but I think Ripple is the first one trying to implement this. Let's see how it works then we can implement it to bitcoin. As the bitcoin economy keeps growing, I believe this will give more confidence to all users and investors.

EDIT: I don't think Consensus nor PoW is safe enough on their own for millions USD transactions. However they are much stronger when combined and the whole thing is still P2P decentralised.
Pages:
Jump to: