主页 > 最新imtoken官方下载链接 > EOS区块链系统核心技术的突破——BFT-DPoS共识算法和500毫秒出块间隔

EOS区块链系统核心技术的突破——BFT-DPoS共识算法和500毫秒出块间隔

最新imtoken官方下载链接 2023-05-12 05:16:23

当 Daniel Larimer 在 4 月 5 日发布 EOSIO Dawn 3 0 时,EOS 的价格连续几天大幅上涨。 此初步版本的发布代表了在 2018 年 6 月发布 EOSIO 正式版的目标

当 Daniel Larimer 在 4 月 5 日发布 EOSIO Dawn 3.0 时,EOS 的价格连续几天大幅上涨。 这个初步版本的发布代表了在 2018 年 6 月正式发布 EOSIO 1.0 的斗争中的一个重要里程碑,EOS 全球开发团队正在夜以继日地努力使 EOSIO 成为构建区块链应用程序的最强大平台。 笔者发现这个版本最吸引眼球的地方就是500毫秒的出块间隔和BFT-DPoS共识算法。 这无疑是EOS为了实现支撑百万级用户的区块链系统而进行的核心技术突破。 因此,本文将对BFT-DPoS共识算法进行详细分析,并说明其为何能够实现远超其他区块链系统500毫秒出块间隔的性能。

为了使读者能够顺利的理解BFT-DPoS共识算法,笔者在此先简单介绍一下BFT协议和DPoS算法。

1.拜占庭协议

比特币怎么比特币钱包_比特币出块时间_外国的比特币便宜中国的比特币贵为什么?

BFT协议的全称是拜占庭容错协议。 在介绍协议之前,有必要了解什么是“拜占庭问题”。 这个问题是著名计算机科学家莱斯利·兰波特在1982年发表的论文《拜占庭将军问题》中提出的。拜占庭是古东罗马帝国的首都。 节点)需要通过信使传递消息以达成某些共识决策。 但是由于将军之间可能存在叛徒(系统中的节点出错)比特币出块时间,这些叛徒会试图向不同的将军发送不同的消息,试图干扰共识。 拜占庭的问题是:在这种情况下,如何让忠诚的将军们达成一致的行动。

这个问题的提出,直接影响到区块链的后续发展。 本质上,区块链是在一群没有相互信任的节点之间(有的节点会丢弃信息,有的节点会篡改信息)。 如何达成有效共识。 Lamport对这个问题的研究指出“对于拜占庭问题,如果节点总数为N,叛军将军的数量为F,则只有当N大于等于3F+1时,问题才能解决”。 也就是说,当一组节点中的恶意节点数量少于总数的三分之一时,这组节点可以通过某种协议就某种状态达成共识,而这种协议就是拜占庭容错协议。

BFT 协议的简单表述是:首先在一组有限的节点中通过轮换或随机算法选出一个节点作为主节点,此时该节点具有出块权。 当主节点将这一时期的交易打包成一个区块时,用自己的私钥对该区块进行签名,并广播给所有节点。 其他节点验证并确认该块。 如果一个节点确认了该块,它就对该块进行签名并将其发送给主节点。 当主节点收到至少三分之二的不同节点的签名区块时,该区块就完成了所有节点的验证,成为不可逆区块,连接到区块链上。

比特币出块时间_比特币怎么比特币钱包_外国的比特币便宜中国的比特币贵为什么?

7z3LDXDMguMLC0MzUIKRfXFeZGgE49s4XJER78ep.jpeg

2. DPoS算法

在比特币的共识算法中,由于PoW资源的过度消耗和算力的日益集中,Dan Larimer作为BitShares的首席开发者在2014年提出了一种快速、安全且能耗相对较小的授权方式。 股权证明(DPoS)共识机制。 在最小化网络成本的同时,DPoS 赋予每个股东一定的投票权,他们投票产生“超级节点”代表。 最后,一定数量的得票最多的超级节点将依次平均出块。 Dan Larimer 在 BitShares 选择了 101 个超级节点,而在 EOS 选择了 21 个超级节点。 主要有两个原因:一是大量的超级节点用户很难完全了解,所以超级节点过多会降低用户投票的活跃度; 其次,规模为 20 的节点数可以在拜占庭问题中以较低的资源成本达成高效共识。

比特币怎么比特币钱包_比特币出块时间_外国的比特币便宜中国的比特币贵为什么?

这些超级节点的主要职责是:提供相关的计算资源和网络资源,保证节点的正常运行; 当轮到一个超级节点拥有出块权时,该超级节点收集该期间的所有交易,打包成块广播给其他超级节点,其他节点验证后将该块添加到自己的数据库中. 在EOS技术白皮书中,定义每个区块间隔为3秒,这主要是因为在当前的网络环境下,一个超级节点打包广播一个区块,而大多数其他节点接收到该区块最多需要3秒秒。 只有当下一个超级节点收到上一个超级节点广播的区块时,新区块的产生才不会导致某个超级节点产生的区块被忽略。 一个区块要成为不可逆区块,需要三分之二以上的超级节点确认。 在DPoS中,只有当超级节点产生一个新的区块时,才意味着它已经确认了之前收到的区块链,所以一个区块产生后,14个后续区块串联起来,表明该区块是不可逆区块,并且区块中的交易是不可逆交易。 整个确认过程需要 45 秒。

DPoS共识算法也有很强的抗分叉能力,因为一个区块链分叉的区块加入速度与超级节点达成共识的比例有关,即超级节点越多的分叉增长速度越快。叉子较少的那个。 每当一个诚实的超级节点看到一个有效的更长的链时,它就会从当前的分叉中切换,并且由于超级节点的数量是奇数,所以任何时候都必须有更长的链。 当一个超级节点同时在两个分叉上出块时,EOS持有者将在下一轮投票中删除该超级节点,EOS社区将对相关恶意节点进行一定的处罚。 因此,一般情况下,使用DPoS的EOS很难出现分叉。

3. BFT-DPoS共识机制

比特币怎么比特币钱包_比特币出块时间_外国的比特币便宜中国的比特币贵为什么?

在最早的 EOS 技术白皮书中,EOS 主要采用上述的 DPoS 机制,每 3 秒产生一个区块。 BFT-DPoS共识机制从而实现了500毫秒的出块间隔。 该机制的具体流程为:EOS持有者通过投票系统对每位超级节点候选人进行投票,选出21个节点作为超级节点。 然后这 21 个超级节点根据自己的网络资源协商出一系列的出块权。 当每个超级节点有权出块时,间隔为500毫秒(500毫秒是EOS团队通过大量实验测试得出的当前值,网络状态下可达到的最小稳定出块间隔)连续产生12个新的块,然后在下一个超级节点连续产生后切换到接下来的12个块。

oxBKQUihzU9Qh8l1KEz4a01kC88TN9X0lHrCYPO9.jpeg

这种方式可以保证一个超级节点能够以500毫秒为间隔连续产生区块,因为同一个超级节点产生新区块时不受当前网络状况的影响,但其他节点很难理解产生的区块由于网络延迟。 该块已确认,使其成为不可逆块。 因此,EOS 引入了拜占庭容错协议。 当超级节点A产生第一个新区块时,A对该区块进行签名并广播给其他超级节点,其他超级节点对该区块进行验证并签名后返回给A节点,当A节点收到一个由14个不同节点签名的区块时,该区块成为不可逆区块并连接到上一条区块链(500毫秒产生新区块并对该区块进行BFT的过程 协议共识过程在超级节点中同步进行比特币出块时间,即确认过程不不影响超级节点生成新区块)。 EOS团队通过大量实验进行了测试。 在当前网络条件下,超级节点广播新区块并确认的过程可以在1秒内完成。 因此,每个新区块成为不可逆区块最多需要1.5秒,大大降低了跨链通信的延迟。 因为一个区块链在引入另一个区块链的交易状态时必须等待它成为不可逆的交易,所以两个基于 EOS 的区块链可以在 3 秒内来回通信,而以太坊执行类似的交易。 与比特币通信需要9分钟,比特币需要3个多小时。

外国的比特币便宜中国的比特币贵为什么?_比特币出块时间_比特币怎么比特币钱包

上述过程虽然可以保证同一个超级节点能够以500毫秒的间隔产生新区块,但是在切换超级节点出块时,由于网络延迟,前一个节点产生的最后几个新区块可能会被新节点忽略超级节点。 为了解决这个问题,EOS按照一定的顺序选择超级节点依次出块,例如按照纽约(美国东海岸)、芝加哥(美国中部)、洛杉矶(西海岸)的顺序美国)、日本东京和中国上海。 这个顺序使得前一个节点产生的最后一个区块传播到下一个节点时有一个最小延迟,以防止下一个超级节点忽略前一个节点产生的块。 如果是随机定义出块权的超级节点,那么在现有网络条件下,出块间隔只能控制在3秒,以保证下一个节点不会忽略前一个高出块节点产生的块可能性。

使用上述BFT-DPoS协议可以将EOS的出块间隔从原来的3秒减少到500毫秒,也大大缩短了跨链通信的延迟,大大增加了单位时间内可以确认的交易数量. 笔者认为,如果在EOSIO1.0正式版中成功实现这样的机制,无疑是区块链技术向百万用户迈出的一大步。

比特币出块时间_比特币怎么比特币钱包_外国的比特币便宜中国的比特币贵为什么?

关键词:EOS区块链