1 / 7
文档名称:

小蚁区块链-拜占庭容错算法.pdf

格式:pdf   大小:710KB   页数:7页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

小蚁区块链-拜占庭容错算法.pdf

上传人:林之孝 2022/3/6 文件大小:710 KB

下载得到文件列表

小蚁区块链-拜占庭容错算法.pdf

文档介绍

文档介绍:一种用于区块链的拜占庭容错算法
张铮文

摘要 3
则𝑓就表示系统所容许的错误节点的最大数量。由于实际上全局账本仅由记账节点来维护,
因此系统中的普通节点不参与共识算法,但可以看到完整的共识过程。
参与共识的节点,需要维护一个状态表,用于记录当前的共识状态。一次共识从开始到结束
所使用的数据集合,称为视图。如果在当前视图内无法达成共识,则需要更换视图。我们为
每一个视图分配一个编号𝑣,编号从 0 开始,并逐渐递增,直到达成共识为止。
我们为每一个参与共识的节点分配一个编号,从 0 开始,最后一个节点的编号为𝑛 − 1。每
一轮共识都需要有一个节点来充当议长,其它节点则为议员。议长的编号𝑝由如下的算法来
决定:假设当前共识的区块高度为ℎ,则 𝑝 = (ℎ − 𝑣) 𝑚𝑜𝑑 𝑛,其中𝑝的取值范围为0 ≤ 𝑝 < 𝑛。
每一次共识产生一个区块,并附有至少𝑛 − 𝑓个记账节点的签名。一旦有新的区块产生,则
立即开始新一轮的共识,同时重置𝑣 = 0。
. 一般流程
假设系统要求每次产生区块的时间间隔为𝑡,则在一切正常的情况下,算法按照以下流程执
行:
1) 任意节点向全网广播交易数据,并附上发送者的签名;
2) 所有记账节点均独立监听全网的交易数据,并记录在内存;
〈 〈 〉 〉
3) 议长在经过时间𝑡后,发送 𝑃𝑒𝑟𝑝𝑎𝑟𝑒𝑅𝑒𝑞𝑢𝑒𝑠𝑡, ℎ, 𝑣, 𝑝, 𝑏𝑙𝑜𝑐𝑘, 𝑏𝑙𝑜𝑐𝑘 𝜎𝑝 ;
〈 〈 〉 〉
4) 议员𝑖在收到提案后,发送 𝑃𝑒𝑟𝑝𝑎𝑟𝑒𝑅𝑒𝑠𝑝𝑜𝑛𝑠𝑒, ℎ, 𝑣, 𝑖, 𝑏𝑙𝑜𝑐𝑘 𝜎𝑖 ;
〈 〉
5) 任意节点在收到至少𝑛 − 𝑓个 𝑏𝑙𝑜𝑐𝑘 𝜎𝑖 后,共识达成并发布完整的区块;
6) 任意节点在收到完整区块后,将包含的交易从内存中删除,并开始下一轮共识;
该算法要求参与共识的节点中,至少有𝑛 − 𝑓个节点具有相同的初始状态:即对于所有的节点𝑖,具有相同的区块高度ℎ和