织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

详解Libra区块链及其共识协议(4)

时间:2020-07-21 17:34来源:未知 作者:admin 点击:
这也体现了 Libra 的平衡术 – 在去中心、安全、扩展性这个棘手的区块链三难问题上, 巧妙的选择一个平衡点。 5.4 LibraBFT严格说来,LibraBFT 是基于 HotSt

这也体现了 Libra 的平衡术 – 在去中心、安全、扩展性这个棘手的区块链三难问题上, 巧妙的选择一个平衡点。

5.4 LibraBFT严格说来,LibraBFT 是基于 HotStuff 的一个变种,叫链式 HotStuff(Chained HotStuff)。链式 HotStuff 是在基本 HotStuff(Basic HotStuff)上引入流水线概念,进一 步提升效率的一个改进共识协议。libraBFT 最初会选择一些在不同地理上分布的创始成员做共识节点,以后逐渐的,共识节点会对外开放,并基于 libra 稳定币的多少来选择共识节点, 也就是转变成 PoS 机制。

libraBFT 的共识流程是分为不同轮次(rounds),每一轮中一个 Leader 主节点被选 出。主节点会提议一个区块,里面包括多个交易。该区块将广播给其它共识节点。其它共识 节点会验证区块里的交易,并对其投票。主节点收到大多数(超过 2f+1,f 是系统中能容忍 的拜占庭节点数)节点的投票后,主节点把确认消息发给所有共识节点确认。如果主节点没 收到大多数投票,或者主节点出现故障,副本共识节点的定时将超时,副本节点会发起新的 一轮提议。

libraBFT 在 HotStuff 基础上的改进主要在于提供一个详细的参与同步轮次的 Pacemaker 设计和实现。并提供对实际交易确认的活性分析。LibraBFT 提供对共识节点投 票权力的重配置机制。同时它给出了对提议节点和投票节点激励的机制。白皮书给出了如何 检测投票节点破坏正确性的行为,为今后在协议中加入惩罚机制打下基础。同时白皮书也详 细讨论如何做同步,使得投票节点能同步它们的状态。libraBFT 白皮书采用 Rust 语言来描 述协议。

在 LibraBFT 中,为了更好地支持 Libra 生态系统的目标,LibraBFT 以多种方式扩展 和调整了核心 HotStuff 协议和实现。重要的是,LibraBFT 重新定义了安全条件,并提供了 安全、存活度和更高响应度的扩展证明。LibraBFT 还实现了一些附加功能。

首先,通过让 验证器对块的结果状态(而不仅仅是交易序列)进行集体签名,LibraBFT 使协议更能抵抗非确 定性错误。 还允许客户端使用法定人数证书来验证读取的数据库。

其次,LibraBFT 设计了 一个发出明确超时的起搏器,验证器依靠法定人数来进入下一轮 - 不需要同步时钟。

第三, LibraBFT 打算设计一个不可预测的领导者选举机制,其中一轮的领导者由最新提交的块的 提议者使用可验证的随机函数 VRF 确定。 这种机制限制了攻击者可以针对领导者发起有效 拒绝服务攻击的时间窗口。

第四,LibraBFT 使用聚合签名来保留签署仲裁证书的验证者的 身份。 这使我们能够为有助于仲裁证书的验证人提供激励,聚合签名也不需要复杂的 密钥 阈值设置。

5.5 实现细节LibraBFT 共识组件最主要的是实现了 Actor 程序模型,它使用消息传递在不同的子 组件之间进行通信,其中 tokio 框架用作任务运行时。Actor 模型的主要例外是(因为它是由 几个子组件并行访问的)是共识数据结构 BlockStore,它管理块、执行、仲裁证书和其他共 享数据结构。共识组件中的主要子组件是: (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容