0

I think Ethereum might work even without consensus. For example, consider the toy model:

Totally 2f+1 validators, f validators are dishonest, f+1 are honest. The only difference of the transactions records in the f+1 honest validators is the order of the transactions arrived because they are honest. Which means the transactions in the f + 1 validators are ACTUALLY the same finally despite the difference of the orders.

So the client checks the transactions from the 2f+1 validators, after a while, he will find out despite the difference of the orders, the transactions are the same at f+1 validators, so he can confirm some of the transactions.

Though the model looks rough, but I just wonder is the consensus necessary for Etheruem?

  • Transactions depend on each other, though. The order affects the final result. – Tjaden Hess Apr 4 '17 at 2:42
  • If the validator is honest, the final result is supposed to be the same right? – user91155 Apr 4 '17 at 2:45
  • No, because contracts can make decisions based on their current balance, storage, etc. – Tjaden Hess Apr 4 '17 at 2:49
  • I am not familiar with the contract yet. If just simplified the Ethereum to Bitcoin-style blockchain, then the conclusion would be correct right? Can I say that consensus is important for Ethereum just because the "contract", but not necessary for any kind of blockchain? – user91155 Apr 4 '17 at 2:54
  • No, it matters for other blockchains too. If A sends 5 BTC to B, and then B sends it to C, it's very different than if B sends their transaction first, since that transaction would just fail. – Tjaden Hess Apr 4 '17 at 2:56
4

Think of this situation:

Alice has 5 ETH (or BTC or whatever) .

She sends 2 transactions.

  1. Alice sends 5 ETH to Bob.
  2. Alice sends 5 ETH to Charlie

Consensus is what determines who gets the money: Bob or Charlie

  • Make sense. I will check it in the PBFT and Casper to understand it better. Thanks! – user91155 Apr 4 '17 at 3:04
0

I think consensus is absolutely necessary, as outlined in the previous answers. The question IMHO rather is, what kind of consensus mechanism would be the best one.

The answer to it depends on whether you intend to have a permissioned or un-permissioned Ethereum instance as for the former the trust is at the admittance and on the latter within the protocol (simplified).

With a permissioned instance you have tons of options to agree to whatever truth you want to agree to :)

/B

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.