来源:
https://partisiablockchain.com/poseidon-provable-fast-track-consensus-by-partisia-blockchain/
https://drive.google.com/file/d/1OX7ljrLY4IgEA1O3t3fKNH1qSO60_Qbw/view
编译:TinTinLand
任何区块链的核心要求都是建立对共享分布式账本的可信共识,其中包含了诸如交易排序和智能合约等信息。 在 Partisia Blockchain 上,交易可以通过区块创建添加到分布账本中,并在完成签名后立即执行,从而在传播和聚合签名的 P2P 网络中建立共识。当一个节点获得 2/3 或更多节点签名时,就会建立正当性证明 (Proof-of-Justification, PoJ)并继续评估下一个区块实现循环运作 ,这一过程执行的速度与 P2P 网络中的信息传输速度一样快,这被称为 Poseidon。
本篇文章将详细解读 Partisia Blockchain 快速通道共识机制与基本模型理念,让我们一起来看!
共识和区块创建
Partisia Blockchain 采用基于快速通道委员会的共识模型来决定是否执行项目 ,该委员会由运行基本区块链服务的 Baker 节点组成。如前所述,这是只有一个委员会组成且不超过 1,000 人的 Backer 节点白名单。
该共识模型由以下三部分组成:
**1. 验证证明(Proof-of-Verification, PoV):**确保签名块来自实际执行区块包含所有事务的验证者;换句话说,PoV 是验证者亲自验证块内容的保障。
2. **快速通道共识:**快速达成共识的过程。
3. **激励方案:**激励 P2P 网络中的传播效率和高度连接性。
完整的共识模型展示
验证证明(Proof-of-Verification, PoV)
验证证明提供了一种保证,即当验证者在一个文件上签名时,区块实际上执行了该区块中包含的所有交易。 这样验证的目的是为了避免验证者在从提议者或被认为是诚实的验证者那里收到一个块时,草率执行签名操作的情况。虽然这并不一定会造成安全问题,但实际效果是将所有繁琐的核查程序集中在少数核查者身上。
由此,Pov 保证了有效证明必须要求证明者持有区块的实际状态、验证者同样需要持有区块链状态、证明技术减少了外包产生证明所需工作量 。Pov 因能够实现这样的三重保障机制,而被定义为更新状态的个性化序列,并且能够保证验证者与证明者轻松保持访问状态。
最后,由于证明是个性化的,外包证明制作存在较大风险。为了保证外包证明有实际意义地被创建,外包方不能检查返回证明是否有效(实际上,证明验证与证明创建相同,在这种情况下,证明方也可以自己生成证明)。由于外包商无法检查 PoV 是否有效,如果他们在不知情下传递了错误的证明,那么外包者节点就会遭遇挑战。
快速通道共识(FastTrack consensus)
快速通道共识经过 Optimistic Protocol 在至少 2/3 的 Baker 节点中达成共识 ,并且该协议具有在运行失败时自动恢复的能力。当 Optimistic Protocol 运行时,单个区块提议者被选中并持续创建新区块,委员会中其他所有节点验证者进行区块有效性验证并对其签名,该协议定义了由提议者创建固定数量区块,而当固定数量区块已经完成时,则会选择一个新的提议者"创建"或"关闭"区块如下文所述。
Partisia Blockchain 基于交易成本开展项目运作,因为几乎所有交易都与区块链用户支付的费用有关。 为了确保项目快速执行,链上交易通过立即创建区块来执行------这也就是我们常说的 Eager FastTrack 共识。因此,只要提议者诚实且活跃,区块链就会在交易出现时按需生成区块 ;然而,为了确保可用性,在 30 秒内没有接收到任何交易业务需求的情况下,链上将自动执行一个空白的"Heart Block"。
共识性和确定性各通过正当性证明 (Proof-of-Justification, PoJ) 和**配方证明(Proof-of-Fragrance,PoF)**建立:
-
PoJ 是一个由 2/3 或更多节点签名组成的列表,用于确认单个节点持有当前区块的有效性。
-
PoF 证明前一个区块已经完成,它是由当前区块上的任何 PoJ 间接建立的;因此,当 2/3 或更多签名节点为当前块提供了 PoJ 时,前一个块就完成了执行任务。
当所有签名节点中有 2/3 或更多节点注册时,会有一个区块被认为是最终确定的节点。 请注意,Poof 不会通过 P2P 网络广泛应用,而是以去中心化的形式存在,这意味着它会通过在下一个区块进行的任何 PoJ 间接显示,这一去中心化的特性确保了即使在网络不同步的情况下也能快速达成共识。
如果新的交易在 30 秒内没有被处理,系统假设提议者停止生产有效的区块(或因网络问题无法将区块发送给验证者)并启动恢复机制(即关闭程序)。关闭程序的目的是确保所有委员会成员都同意无论哪个区块成为最终完成执行任务的区块 ;在单个节点视图中,用 PoJ 验证区块可能会在极少数情况下被取消,即可能最多返回一个区块来确保所有节点都获得委员会同意。 然后,系统会产生一个特殊的确定性区块(关闭块)并添加到分类账本中,在关闭区块被添加后,委员会选择一个全新的提议者来负责创建区块并以 Optimistic Protocol 的方式重新启动。
快速通道的共识过程
为了允许节点加入和离开委员会,则必须有一个改变委员会的程序办法,这部分的工作交由智能合约来处理,它收集旧委员会在新委员会上的确认签名,只有当 80% 的旧委员会成员在委员会上签字(委员会变更证明) ,节点的加入与离开才被允许进行,节点转换是作为区块链事务完成的,其中新委员会存储在区块链状态中。
一旦当前委员会看到全新的委员会应被激活,他们将触发关闭程序以确保当前委员会确实同意当前的区块状态。 当一个关闭块已经产生(并且委员会更改事件没有退回)时,旧委员会不再被允许产生区块,此时新委员会顺利接管。**为了进一步加快交易速度,在一个区块被提议(由提议者)或被验证(由验证者)后立即启动交易执行。**然而,最终结果取决于所讨论区块 PoF 完成情况。
区块生成和事务执行过程
🧬 更多技术解析详情可点击:
https://drive.google.com/file/d/1OX7ljrLY4IgEA1O3t3fKNH1qSO60_Qbw/view
📀 Partisia Blockchain 拥有 7 项独特的技术创新,可提供完整的 Layer1+Layer2 层区块链。想要了解更多关于 Layer 1 新星项目 Partisia Blockchain 的全面技术解读 ,你可以查看 TinTinLand 往期文章: