0

AFAIK there are 2 types of consensus algs.:

  • Crash Fault Tolerant - can withstand X% of nodes that "don't cheat"
  • Byzantine Fault Tolerant - can withstand X% of nodes that "can cheat"

Question: what is the definition of the Byzantine node? I can not understand what is the difference.

What if node1 states that it is ONLINE, but node2 has bad connectivity, and node3 has a good connection. In this case node1 will be perceived as OFFLINE by node2, and ONLINE by node3. Can this be treated as Byzantine behaviour? How to distinguish non-byzantine from byzantine?

1 Answer 1

2

A Byzantine node is a node that does not act in an expected way from the protocol's point of view.

It can go from a node responding later than expected (based on network delay assumption) to a node trying to include invalid transactions. Crash tolerance is a weaker assumption that allows X% of nodes to go offline.

The main difference between CFT and BFT is the power given to adversary nodes. CFT permits up to N/2-1 nodes to go offline, while BFT permits up to N/3-1 nodes to act maliciously. In both cases, if the bounds are respected, the protocol can reach consensus.

2
  • So as I understood - in CFT it is allowed to only go "offline" (including timeouts, etc), but Byzantine nodes also CAN try to include bad transactions or censor txs. But Invalid transactions are easily filtered and it has nothing to do with the consensus. So I just don't understand why we need that CFT/BFT distinction.
    – YodaDefi
    Nov 22, 2022 at 13:45
  • 1
    Yes, you understood correctly! You're right for the invalid transaction, but what if Byzantine validators make two valid transactions, but not possible at the same time? Or in the case of consensus they can attest to two concurrent blocks in order to mislead honest participants.
    – upavloff
    Nov 24, 2022 at 9:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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