基于EOS的区块链溯源体系架构研究

2019-06-17 01:22傅威
卷宗 2019年14期
关键词:溯源

摘 要:针对目前EOS平台下BFT算法+DPoS共识机制逐渐成熟稳定,大量商业级应用的涌入,以及未来可能实现的百万级TPS,本文通过对EOS平台下共识机制的研究,提出了相应的区块链溯源体系架构模型,旨在解决各溯源机构权力过于集中,数据存储压力大,数据过于集中化,积极性不高等各种问题。

关键词:EOS;溯源;共识机制

EOS可以理解为Enterprise Operation System,即为商用分布式应用设计的一款区块链操作系统。本文根据EOS发布的最新版白皮书中提到的新的区块链架构和共识机制,运用BFT+DPoS的共识节点的运维模式,推引出新的溯源区块链体系架构模型,更好地解决了现存溯源机构之间的数据集中化、孤岛化等问题。

1 EOS

1.1 EOS核心特点

EOS的愿景是成为能運行大量商业级应用的公链,其核心特点是“商用”。现在很多公链存在网络转账速度慢,费用高,系统并发量低或稳定性差等问题,不能很好的支撑真正的大规模商业级应用的运转。从EOS白皮书中得知,EOS采用石墨烯区块链架构,BFT-DPoS的共识机制减少了验证节点,但使得EOS的扩展性明显增强,能够支持很快的交易处理速度。

1.2 EOS共识机制

1)BFT算法+DPoS共识机制。EOS在第一版白皮书中采用的是DPoS共识机制,在最新一版的白皮书中,对其作了一些改进,现为BFT-DPoS共识机制。DPoS相比于比特币的PoW机制,DPoS不用浪费算力资源争夺记账权,其通过赋予EOS通证持有人股票权,选出21个超级节点来担任记账人的角色,保证整个网络的正常运行,21个超级节点轮流负责记账,每一个区块产生后,会按照顺序传递到下一个超级节点中,第二个超级节点负责打包新的区块,同时确认上一区块的内容,当某一区块被超过2/3的超级节点确认后,该区块将被确认为不可逆区块。BFT算法加上DPoS共识后,验证时不再按照出块顺序由超级节点一个个验证区块内容,而是让出块节点成为主节点,出块后同时向剩下20个节点进行广播,并获得节点的验证反馈,如果有超过2/3的节点验证通过,则该区块成为不可逆区块,BFT可以使得EOS的区块确认速度显著增加。

2)超级节点。EOS中超级节点为“区块生产者”,指的是那些收集、打包、验证交易信息到区块中的节点,是EOS网络稳定运行的基础,基于BFT-DPoS的共识机制,目前(截至2018.6.25)EOS规定网络中有21个超级节点和49个备用节点,EOS是一个社区驱动的项目,因此超级节点的数量并非一成不变,若超级节点数量不能满足项目发展,社区成员可以投票增加超级节点的数量,若想当选EOS超级节点,需要满足一系列的标准才能参与竞选,而后获得一定票数后才能当选超级节点。

2 区块链溯源体系架构

2.1 溯源的概念

现在的商品或农产品溯源包括原材料信息溯源、生产线信息溯源、出厂信息溯源、流通信息溯源、终端零售服务信息溯源等,所以,建立完善的溯源体系意义重大,而区块链技术应用在溯源上恰好发挥了极大的作用,其不可纂改性、去中心化等特征完美契合溯源的需求。

2.2 区块链溯源体系架构模型

1)TIFS及CFS。结合EOS中BFT算法和DPoS共识机制的特点,以云南省为例,各市各县可以通过民主投票的方式竞选出有实力、有设备、算力强大的溯源机构,共21个作为超级节点组成溯源机构联盟服务器群(TIFS,Traceability Institution Federated Servers),选出的21个节点符合“多数节点是正义的”和“最长连机制”,在通过同样的方式选取出有相同算力的候选联盟服务器群CFS(Candidate Federated Servers)49个作为备选节点。21个超级节点(TIFS)负责提供系统资源和打包生产区块等任务,49个备用节点(CFS)负责监督或者随时替换TIFS中的超级节点。在BFT算法和DPoS共识机制下,这21个溯源机构即超级节点,在验证时不再按照DPoS共识机制中21个记账人轮流记账的原则,而是让出块节点成为主节点,出块后,同时向剩下的20个节点进行广播,并获得节点的认证和反馈,如果有超过2/3的节点验证通过,则该区块成为不可逆区块并由主节点锚定到主链上。并且,21个溯源机构(超级节点)会按照其地理位置分布轮流成为主节点,尽可能地减少超级节点之间的网络延迟。当TIFS中的某个或者某些超级节点受到外界因素干扰而出现问题时,CFS中的备用节点需要随时顶替其位置并保证系统的稳定运行;当TIFS中的节点出现作恶或造假等恶劣行为时,CFS中的备选节点可以通过民主的方式吸引选票,得票高的节点替换TIFS中的作恶节点,以此实现监督的作用。

2)TIFS工作流程。步骤1:主节点收集网络中的交易;步骤2:验证交易并把交易打包到区块;步骤3:广播区块给其余的20个溯源机构节点;步骤4:TIFS中其余的节点进行验证并反馈信息给主节点;步骤5:主节点在获取到有2/3的节点验证通过后,将生成的Merkle根锚定到主链上。

其中,为了提升系统的性能,在将出块速度缩短到0.5秒/块的同时,可以将原来的随机出块顺序改为由见证人商议后确定的出块顺序,这样网络延迟较低的见证人之间可以相邻出块,并且每个见证人连续生产6个区块,使得6个区块能有足够的时间传递给下一个见证人。并且区块的确认和生产是独立的,每个区块生产后立即进行全网广播,区块生产者一边等待0.5秒生产一下个区块,同时会接收其他见证人对上一个区块的确认结果,新区块的生产和旧区块确认的接收同时进行,大部分情况下,使得交易会在1秒内确认且不可逆。

3)Merkle树与格基算法。Merkle树是一个基于Hash算法的数据结构,他的叶子节点的value是数据集合的单元数据或者单元数据Hash,非叶子节点的value是根据他下面所有叶子节点值,然后按照Hash算法计算而得出的。在区块链中,生成的所有记录通过Merkle树的哈希过程生成唯一的Merkle根,存储在区块链的头部。

Merkle树被广泛地用来验证大数据组和大多数区块链应用的包含性。它使得说谎或作假根本不可能发生,保证了数据的真实和有效性。

在基于区块链的商品农产品溯源架构中,消费者在购买商品或农产品后会相应的获得一对密钥(一个公钥和一个私钥),区块链网络根据密钥所属类型开放对应权限。消费者只可以查询和追溯农产品数据,生产商、供应商等环节中的人员可以进行数据录入和查询,TIFS中的超级节点则可进行录入人员信息的查询以及更高级的操作。本文采用了格基算法生成公私钥对协议。

1)生成随机矩阵 ,选择安全整数q,n。

2)生成公私钥对:

公钥pk=P,P=R-A,

其中R,S是高斯参数,则私钥sk=S。

3)加密算法:

其中e1,e2,e3是误差参数。

4)解密算法:

根据与0的距离远近判断为0还是为1。

3 总结和展望

本文将EOS平台下BFT算法+DPoS共识机制的运行方式与商品农产品溯源体系相结合,提出了新的溯源区块链体系架构模型,具有去中心化,数据分布式存储,数据不可篡改,出块速度快等特点,同时TIFS的设定提高了系统的鲁棒性,CFS的设立制衡权利集中化的同时也提高了机构的积极性。目前区块链技术也在不断的发展,因此,后续对商品农产品溯源各个环节的研究和细节的设计还需进一步完善。

参考文献

[1]梅海涛,刘洁.区块链的产业现状、存在问题和政策建议[J].电信科学,2016,32(11):134-138.

作者简介

傅威(1995-),男,汉族,安徽省合肥市,硕士研究生,云南财经大学信息学院,研究方向:计算机应用技术。

猜你喜欢
溯源
《曹刿论战》中的几个字词
毛泽东与党的实事求是思想路线确立
“箪瓢陋巷”典故研究
“时务文体”溯源
NBA品牌管理智慧溯源
基于RFID技术的酒类溯源防伪系统研究与应用