超块链系统中,主要的数据结构分为超块和局部链。超块链周期性的共识使用超块作为共
识中局部链的前向依赖数据块,当共识完成时生成新的超块为局部链提供完整性验证。超
块和个局部链区块的数据相互关联,可以相互验证。
超块
超块数据结构分为块头和块体两部分。
块头存放超块标识,块版本号,前驱超块哈希、全局共识脚本哈希、局部链的索引信息和
时间戳。可扩展的信息域还包括系统奖励规则标识、跨链记录验证信息、局部链数据负载
评分等。
块体存放共识奖励记录,全局共识脚本,所有局部链区块验证信息和超块生成者的签名。
局部链
局部链由一串前向依赖的局部链区块,简称局部块,组成。局部块的数据结构也分为块头
和块体
块头包含块版本号、区块号、前驱区块哈希、前驱超块哈希、块体的验证信息、局部块数
据负载的验证信息、局部共识脚本哈希和时间戳。可扩展的信息域包括应用类型标识、随
机数盐等。
块体包含局部共识脚本、数据负载和区块生成者的签名。
数据结构对应用的支持
区块链应用至少需要一条区块链来支撑业务。在超块链中,应用可以使用由局部链区块在
逻辑上组成的单链区块链来满足业务需求。局部链区块中数据负载内部结构和逻辑依赖关
系由应用参与共识时自定义。应用通过节点保存超块和单链业务相关的局部链区块数据即
可确保应用业务的持续。
当一个应用需要一条单链时,只需要通过超块链节点提供的程序接口将一个包含应用特征
信息、共识规则的单链创始块通过共识上链确认,然后在任意超块链节点导入此创始块和
共识规则,节点就可以参与该应用单链的共识出块。