主页 > 苹果imtoken钱包安装 > 解密最强区块链之心迅雷链共识算法详解

解密最强区块链之心迅雷链共识算法详解

苹果imtoken钱包安装 2023-07-17 05:15:47

11月10日,在广州贝塔咖啡举行的迅雷链技术沙龙上,迅雷链底层工程师张晓为在场的开发者和区块链爱好者详细讲解了迅雷链共识算法的内部细节。 DPoA+PBFT的算法在分布式系统中保证了强一致性和高效共识,引起了在场嘉宾的关注。

比特币是什么算法_比特币高频交易算法_比特币共识算法

什么是共识算法?

小张认为,区块链是建立在分布式系统上的,有几个节点,每个节点维护自己的数据,需要保持一致。 如果不同的节点提供不同的数据,就不是一个可以正常工作的分布式系统。 因此,在区块链中,这些数据需要进行复制和同步,以保持一致性。 这个过程称为共识。

共识过程中使用的算法称为共识算法。 对于区块链来说,共识算法的作用是制定达成共识的标准,即数据不同时,以谁为标准。 张晓用简单易懂的方式解释了这个概念。

当前主流共识算法分类

比特币共识算法_比特币是什么算法_比特币高频交易算法

张晓表示,目前的共识算法可以分为概率共识共识和绝对共识共识。

概率共识共识算法是指允许数据在某个时间点存在一些不一致的算法。 比如比特币采用的算法就是典型的概率共识算法。 在比特币达成共识的过程中,如果在同一个时间点有两个不同的节点,并且都找到了满足这个条件的计算公式,就相当于产生了一个区块,然后就出现了分叉。 当然,这种分叉会在下一轮挖矿和共识过程中得到修正,最终达成共识,但在其诞生后的短时间内,无法达成共识。

绝对一致性共识算法是指数据始终一致的算法。 它通过牺牲一定的可用性来保证数据的一致性。 其中又可以细分为两种:CFT和BFT。

CFT算法的特点是确定一个固定数量的节点,只要有达到这个数量的节点确认,就达成共识。 比如一共有11个节点,确定某笔交易只要有4个节点投票确认,那么这笔交易就被认为是完成的。 这样做的结果是交易确认速度非常快,而且结果总是确定的,不会出现分叉。

BFT 算法是另一种常见的绝对共识算法。 其共识过程分为三个阶段,即前期准备、准备和提交。 共识过程为:

比特币高频交易算法_比特币共识算法_比特币是什么算法

1. 预准备阶段:节点为收到客户端的请求分配一个提案号,然后发送预准备消息广播给其他节点;

2.准备阶段:其他节点收到预准备消息后,检查消息的有效性。 如果检查通过,则向其他节点发送带有自己ID信息的准备消息,同时接收来自其他节点的准备信息。 收到准备消息的节点也对消息的有效性进行检查和验证,经过全网至少2/3节点验证的消息才会真正进入准备状态;

3、提交阶段:向全网所有节点广播进入就绪状态的消息,然后所有节点进行投票,投票数达到2/3后消息通过。

各种共识算法的优缺点

比特币共识算法_比特币高频交易算法_比特币是什么算法

比特币是什么算法_比特币共识算法_比特币高频交易算法

张晓指出,以比特币为代表的概率共识算法的缺点是对确认时间的要求比较长。 比特币出块速度为10分钟,同时需要经过6个区块的确认才能最终确定。 即一笔交易确认需要60分钟,并不一定保证支付成功。 这在实际应用过程中是不能接受的。 没有人需要在付款后等待一个小时来确定付款是否已完成以及物品是否已被取走。

因此,概率共识算法并不适合实际商业使用,无法满足实际业务场景中对交易确认速度和并发处理的要求。

CFT 算法的问题在于它无法阻止节点之间的匹配。 例如,四个熟悉的节点串通一气,这样几乎所有的交易都可以得到确认。 同时也无法阻止节点作恶。 例如比特币共识算法,一个节点向4个节点发送一个确认请求,然后向其他节点发送另一个完全相反的确认请求,这样会同时形成两个完全不同的交易结果,从而导致系统出现偏差。

因此,CFT算法基本上只能在能保证节点诚实的情况下使用,比如私有链。

BFT算法弥补了CFT的漏洞,杜绝了节点撮合交易作恶的可能性。 每笔交易都经过两轮投票和多重验证,不会有恶意交易。

比特币是什么算法_比特币高频交易算法_比特币共识算法

但它有两个缺点。 一是容错率变低,因为每一轮投票都需要至少2/3的节点通过,所以在BFT算法下,节点只能容忍不到1/3节点的故障。 如果超过,整个区块链将无法运行。

其次,由于要进行三个阶段,每个阶段都需要向全网广播,所以通信量非常大,是节点总数的第二层。 因此,在节点数量较多的情况下,拜占庭算法会显得非常低效。 简单的说,这个算法不适合多节点的区块链。

ThunderChain使用什么共识算法?

比特币共识算法_比特币高频交易算法_比特币是什么算法

基于以上共识算法均不能满足需求,为了更好的适应各种大规模的业务场景,ThunderChain提出了独特的同构多链架构结合DPoA+PBFT的共识算法。

比特币是什么算法_比特币共识算法_比特币高频交易算法

ThunderChain基于万科云共享计算提供的150万个节点。 迅雷链首先从150万个节点中选出在线稳定、传输流畅、性能较好的优质节点比特币共识算法,汇集到候选池中。 然后用DPoA算法从这个候选池中选出一定数量的节点,组成整个Thunderchain的记账网络。 这些节点将定期轮换和重新选举,以防止记账节点被暴露和被外界攻击。

在记账过程中,使用了PBFT算法。 PBFT算法的优点是确认速度快,并发处理性能高,永不分叉,一致性强,非常适合实际商用。

但是,PBFT 也有缺点。 一是容错率低,需要保证记账节点在线率高。 第二,通信量大,不适合节点过多的区块链。 雷电链本身的特性正好弥补了这两个缺陷。

首先,迅雷链所有的记账节点都是优胜劣汰,有大量的备件,所以节点故障率本身并不高,其次,一旦一个节点出现故障,可以重新选择一个从备用池节点来填充。150万+的节点总数保证随时有足够的备选节点使用。

同时由于采用了DPoA算法来选择记账节点,同时记账的节点数不会太多,完美避免了PBFT算法通信量大的缺点。

基于这种双重算法的设计,迅雷链在保证安全和去中心化的同时,可以实现百万级TPS、秒级确认速度等超高性能,并且可以保证不分叉、不回滚,是目前最适合的区块链为实际商业需要。

张晓最后说,没有共识算法是最好的,不能说POW好还是DPoA+PBFT好。 因为算法好不好,要根据实际承载的区块链来判断,通过区块链的业务场景和目标来考虑。 迅雷链作为区块链3.0时代的引领者,需要能够接受更多的链上商户,达到百万级TPS,让交易每秒确认一次。 在这样的需求下,结合One Cloud超过150万节点的硬件支持,最终选择了DPoA+PBFT算法,成就了迅雷链的最强心脏。