Tendermint拜占庭共识算法框架浅析

当前位置:首页 > 币圈百科 > Tendermint拜占庭共识算法框架浅析

Tendermint拜占庭共识算法框架浅析

2023-01-14币圈百科276

写这篇文章的主要动机源于Cosmos的线上主线。虽然人们无休止地争论跨链技术是否是区块链的未来,但我坚信跨链是区块链走向未来的唯一途径。

要了解Cosmos,首先要了解Tendermint,Tendermint是Cosmos的重要组成部分,蓑衣网小编2022也是整个Cosmos生态的基础(本文不谈Cosmos,只谈tender mint)。

从概念上来说,Tendermint是一个可以为多台机器复制应用程序并保证数据一致性的软件。简单来说,Tendermint是一个通用的区块链开发框架,主要包括两部分:Tendermint核心和ABCI(应用区块链接口)协议。Tendermint核心被称为Tendermint核心模块,它确保在每台机器中以相同的顺序记录相同的交易。ABCI允许用任何编程语言编写的程序来处理事务。

如果你觉得现在的内容太抽象,那我们就试着从一个简单的内容来说说

共识算法的演变。

蓑衣网小编2022一致性算法是每个区块链网络的关键元素,每个分布式容错系统都有一个核心问题。如何保证「没有相互信任也能创造出值得信赖的系统」?我们需要一个可靠的共识协议来确保区块链世界的宏观安全。众所周知的共识算法,如工作量证明(PoW)和权益证明(PoS),以比特币和以太坊为代表。但在资源极度枯竭、环境可持续的条件下,PoS逐渐成为区块链从业者选择和研究的重点,以太坊也在向这方面发展。

2011年,BitcoinTalk论坛组织了一次关于利益证明(PoS)概念的讨论。最初的PoS共识代币和点点币一样,并没有取得令人满意的效果。形式化Tendermint的第一个创造者Jaekon将BFT(拜占庭容错)研究应用于PoS公链环境。

Tendermint共识机制

Tendermint采用PBFT PoS作为共识机制。与比特币工作量证明(BFT PoW)相比,其实现的共识算法更高效、更安全。下图是一个简单的状态机,显示了这种共识机制的运行规则:

blob.png

协议中的参与者称为“验证者”,Tendermint在创建时将验证者的数量设置为100。网络中的每个验证者维护区块链的完整副本,并使用公钥来识别验证者。这些验证者依次提出交易区块,并投票选出区块,每个区块占据一个“高度”。而且每一轮投票都需要验证者用相应的私钥签名,这样如果出现问题,就可以找到负责的验证者。

屏蔽可能因为某些原因失败,比如当前提议者可能离线或者网络很慢。如果失败,Tendermint允许其他验证器确认应该跳过某个验证器,协议将开始下一轮提交,新的验证器将继续提交该高度的块。要成功提交块,有两个投票阶段:“预投票”和“预提交”。在同一轮投稿中,只有超过?的验证程序在将同一个块提交给链之前已经预提交了该块。它既是拜占庭容错的下限,也是Tendermint共识系统的安全阈值。如果呢?或者更多验证器离线或脱机,网络将停止运行。假设小于?的验证者是拜占庭,Tendermint保证安全性永远不会被攻破,也就是验证者(?以上)绝不会在同一高度提交冲突块。因此,基于Temdermint的区块链永远不会分叉。

Tendermint的缺点

tender mint采用一定的循环协议方案来选择提议者;这个协议不是随机的。根据投票权的堆排序算法和选择验证者的次数来选择提议者。 攻击者只能通过添加或删除权限来干预协议,但这种干预不能立即生效,因为验证者在系统中删除或添加权限需要很长时间。尽管如此,攻击者可以有更长的时间来预先计划如何操纵投保人的选择。

我们上面也提到过,Tendermint允许跳过验证器(也就是说,轮到一个验证器阻塞了但是这个验证器没有阻塞)。验证者在进入下一轮投票之前,会等待一小段时间来接收提议者(该块的验证者)提出的整个块。这种对超时的依赖使得Tendermint成为一个弱同步协议,而不是异步协议。虽然系统效率相比PoW共识机制有了很大的提高,但仍需改进。同时,Tendermint依靠附加的协议管理方法来对抗寡头垄断的验证者。但仍不能有效防止“照单全收”的发生。

最后

本文借鉴了大量资料,作者也在学习过程中,希望指出一些不足之处。关于Tendermint可以讨论的东西很多,不是这篇文章能概括的。以后再说吧。

参考文献:1.《共识算法的比较:Casper vs Tendermint》 https://ethfans.org/posts/consensus-compare-Casper-vs-tender造币厂2.《干货 | 理解权益证明安全模型的原理》?https://eth fans . org/posts/understanding-the-basics-of-a-proof-of-stage-security-model 3。https://mp.weixin.qq.com/s/az2XnCJDdMi3LrukKY3ypQ4. 《Cosmos 上线诸王了,但是“为什么跨链“依然有待探寻》?https://blog . csdn . net/simple _ the _ best/article/details/77198837?5.《Tendermint: 共识概览》 https://eth fans . org/posts/35994

Tendermint拜占庭共识算法框架浅析 | 分享给朋友: