1

In a typical consensus algorithm like raft, it requires majority of node to agree on something, but I find ethereeum transactions to only need about 50 confirmations for a transaction to be approved in coinbase.

Is this an engineering approximation such that if there is 50+ confirmation the probability of transaction to stick is very high, or am I understanding the theory wrong?

1

I think you do not understand how the Proof of Work algorithm works. The idea is that nodes have two different roles:

  • the mining role, that is creating blocks containing transactions.
  • the validation role, that is validating the block received is actually a well-formed block, and that it goes on top of the existing blockchain.

To be sure that the consensus is reached, it is true that you need to know somehow that more than half of the nodes (actually, approximately all nodes) agree on the fact that your block is a part of the blockchain. I think that you are assuming that one "confirmation" is received each time one node accepts this block. It is a confirmation by "validators" (each node beeing a validator).

What we call a "confirmation" in the blockchain is one valid block beeing added on top of your block. It is "confirmation by miners", that is the miners have accepted that this block is valid, so they have mined on top of it.

0

In a majority-of-nodes agree situation, that is an attempt to reach a decision. One cannot have more than n nodes in agreement (since there are only n in the network). This is to ensure things like making sure the network is working (no split-brain) and that there is redundancy in case of node-specific errors. In the space shuttle, for example, the hope is that the same bug does not affect multiple systems (NASA has different companies produce code to meet the same specification, like geth and Parity) and that at least one sensor of a particular type is working. A majority is used to break ties. Preferably, all nodes are in agreement.

In the 50 (or whatever number is chosen - often 6 for Bitcoin), it's assumed the nodes are (usually) in consensus and it's a matter of how long the nodes have been in consensus, measured in terms of blocks (confirmations) which is a proxy for amount of work required to undo a transaction/probability of reversing the transaction. The more confirmations (this can be infinite), the higher the probability the transaction is permanent. It is theoretically possible for the Ethereum network to soft fork and fracture into many parts, each with 50 confirmations. However, this is unlikely in normal situations. At the current network size, natural splits of length more than three or four are probably fairly rare when a node is working properly.

In summary, 51% agreement is for redundancy and/or availability; it measures agreement and "faultiness". Block confirmations are for transaction finality and is a proxy for cost for an attacker to undo (or random chance).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.