“星火·链网”是在工业和信息化部的指导和支持下,由中国信息通信研究院(以下简称“中国信通院”)牵头,为持续推进产业数字化转型,利用区块链自主创新能力而谋划布局的数字经济“新型基础设施”。BIF-Core是中国信通院自主研发的一条许可公有链,是实现“星火·链网”这一国家级区块链新型基础设施的关键技术,具有自主可控、强安全、高性能、可扩展的技术特点。“星火·链网”二层扩容方案基于乐观Rollup技术实现,将星火核心共识网络(Layer1)的计算过程转移到链下(Layer2)进行,计算结果存储在共识网络(Layer1):1.星火核心共识网络作为信任层,负责对Layer2交易状态的最终确认,保证网络整体的安全性。2.星火二层网络作为应用层,为“星火·链网”提供执行性能和数据存储的可扩展性。其中,执行节点负责执行二层交易,并向Layer1提交数据(交易列表和区块),Layer1保证二层网络的数据可用性。验证节点负责校验Layer2的执行结果,保证二层网络的数据安全性。
二层出块后,执行节点提交交易列表和区块头到合约桥网关,合约桥网关对交易列表进行压缩后,提交到L1层。交易列表持久化存储,区块头经过共识验证后,全网广播。L1层节点提供交易列表和区块头给验证节点。
验证节点验证交易结果,如果与执行节点状态不一致,验证节点与执行节点交互消息,确定争议的交易Tx2。L1节点重放争议交易Tx2,计算交易执行前后的账户状态,并做出仲裁。
“星火·链网”二层扩容方案的模块设计如图4所示。星火主链是二层网络系统的主链,执行节点和验证节点属于二层网络。在模块设计中我们加入了主网网关和二层网关两个角色,来解决异构二层的兼容性问题,以及主网吞吐量瓶颈带来的存储负担。
二层区块链网络中的节点分为两种,一种是执行节点,负责生成区块;另一种是验证者节点,负责监督执行节点。执行节点之间通过共识算法保持区块的一致性。验证者节点被设计为开放的节点程序,任何有兴趣的主体都可以作为验证者加入二层网络,对执行节点进行监督。星火主链支持EVM兼容的区块链作为二层接入,考虑到不同区块链采用的区块结构、账户状态、API接口等存在差异,因此设计了二层网关这个角色,来完成二层区块链数据结构适配以及区块和状态数据上传。二层网关程序设计采用了模块化的结构,只需要替换获取区块和状态数据的插件模块,即可完成对二层区块链网络的适配。同时,主网网关和二层网关之间采用统一的数据通信协议,支持多重签名等验证方式。主网网关由主链超级节点运营,每一个接入主链的二层网络独立部署一个主网网关。主网网关一是负责与二层网关进行通信,包括上传二层状态数据、通知网关二层区块确认情况、验证者质疑挑战等。二是负责存储二层区块链网络的区块数据,并提供给验证者节点验证。“星火·链网”二层扩容方案,通过验证者节点、欺诈证明协议以及多重签名等方式实现二层网络的去中心化、可监督;通过主网网关和二层网关的通信协议、模块化设计简化开发步骤;降低接入成本,同时支持异构二层网络接入。通过主网网关角色,打破吞吐量瓶颈,减轻星火主链的网络负担,以支持更多的二层网络接入。“星火·链网”始终保持拥抱开放的态度,致力于打造开放、平等、协作、共享的开放模式。现诚邀各方,积极贡献代码及项目,参与社区建设,推动区块链技术的创新和区块链产业的发展。开发者可通过以下几种方式参与:1.贡献自己的想法和技术,共同参与“星火·链网”的设计;2.基于星火链和链组件开发各种应用、服务,如溯源服务、供应链金融服务等;3.基于底层链做一些组件,各种语言的链SDK、跨链组件、分布式数字身份组件、数字钱包组件等。