时间:2023-08-19|浏览:158
此外,还有其他几个系统组件: - 链管理器:维护给定链的状态,为其他区块链子系统提供设施。其他子系统将查询最新链的状态以进行运行,并确保入链的区块在进行语义验证后再包含到链中。 - 区块生成器:在成功进行领导人选举后,生成一个新的区块,扩展当前最重的链,并通过同步器传播给其他节点。
从整体来看,Filecoin的区块链发展是通过多轮选举来进行的,在选举中,矿工被选为出块者,并获得区块奖励。Filecoin的区块链依赖于存储能力来运行,即矿工根据存储量确定要挖掘的子链。存储能力共识子系统维护着一个存储矿工参与者的存储量表,跟踪他们通过扇区承诺和时空证明为网络贡献的存储量。
区块是Filecoin区块链的主要单位,其他区块链项目也是如此。区块消息通过Tipsets连接在一起,Tipsets是区块消息的集合。Filecoin区块的结构包括区块头、区块内的消息列表和签名消息三个部分。
需要注意的是,区块在功能上与Filecoin协议中的区块头相同。虽然区块头包含指向完整系统状态、消息和消息回执的Merkle链接,但区块可以视为这些信息的完整集合,包括状态树的完整数据、消息树、回执树等。由于完整区块的大小很大,Filecoin区块链由区块头而不是完整区块组成。
区块头是区块的规范表示,用于在矿工节点之间传播。通过区块头消息,矿工获得应用关联的FullBlock状态和更新链所需的所有信息。区块头中必须包含的最小信息包括矿工地址、票证、时空证明、父级CID和消息CID等。消息结构必须包括源地址、目标地址、Nonce和GasPrice。
在将消息传递给链同步逻辑之前,还需要对其进行验证。除了验证消息的签名外,目前没有对区块中包含的消息进行语义验证的方法。如果一个区块中包含的所有消息在语法上都是有效的,那么可以执行这些消息并生成一个回执。
链同步系统可以分阶段进行语法和语义验证,以减少资源消耗。只有当所有测试都成功后,区块才被标记为已验证。最终,无效区块将不会继续传播或验证。