官术网_书友最值得收藏!

  • Mastering Blockchain
  • Imran Bashir
  • 324字
  • 2021-06-11 18:32:30

Classification

The consensus algorithms can be classified into two broad categories:

  • Traditional—voting-based consensus
  • Lottery-based—Nakamoto and post-Nakamoto consensus

Traditional voting-based consensus has been researched in distributed systems for many decades. Many fundamental results and a lot of ground-breaking work have already been produced in this space. Algorithms like Paxos and PBFT are prime examples of such types of algorithms. Traditional consensus can also be called fault-tolerant distributed consensus. In other words, this is a class of consensus algorithms that existed before Bitcoin and has been part of distributed system research for almost three decades.

Lottery-based or Nakamoto-type consensus was first introduced with Bitcoin. This class can also be simply called blockchain consensus.

The fundamental requirements of consensus algorithms boil down to safety and liveness conditions. A consensus algorithm must be able to satisfy the safety and liveness properties. Safety is usually based on some safety requirements of the algorithms, such as agreement, validity, and integrity. Liveness means that the protocol can make progress even if the network conditions are not ideal.

Now we'll define these terms separately:

Safety: This requirement generally means that nothing bad happens. There are usually three properties within this class of requirements, which are listed as follows:

  • Agreement. The agreement property requires that no two processes decide on different values.
  • Validity. Validity states that if a process has decided a value, that value must have been proposed by a process. In other words, the decided value is always proposed by an honest process and has not been created out of thin air.
  • Integrity. A process must decide only once.

Liveness: This requirement generally means that something good eventually happens.

  • Termination. This liveness property states that each honest node must eventually decide on a value.

With this, we have covered the classification and requirements of consensus algorithms. In the next section, we'll introduce various consensus algorithms, which we can evaluate using the consensus models covered in this section.

主站蜘蛛池模板: 即墨市| 舞钢市| 偃师市| 大渡口区| 怀化市| 奉贤区| 宣恩县| 永修县| 洛隆县| 怀柔区| 颍上县| 盖州市| 莱芜市| 隆子县| 平山县| 大兴区| 聂荣县| 黔南| 调兵山市| 太谷县| 宜兴市| 桂阳县| 大兴区| 昂仁县| 新丰县| 宁都县| 辽源市| 新平| 汝南县| 嵊州市| 德安县| 班戈县| 临汾市| 普格县| 临海市| 尼勒克县| 宜良县| 桓台县| 抚远县| 镇雄县| 陈巴尔虎旗|