APP下载

基于混合树的层级区块链溯源设计与实现

2021-04-13陈小虎

河北省科学院学报 2021年1期
关键词:单品底层区块

陈小虎,袁 英

(墨客节点(深圳)网络科技有限公司,广东 深圳 518040)

1 区块链技术介绍

近年来,随着比特币、央行数字货币的广泛传播,区块链技术也日益成为研究热点。区块链起源于比特币[1],作为比特币的底层技术,本质上是一个去中心化的数据库,由大量无直接利益相关的网络节点共同维护的一个数据库。区块链技术通过分布式数据存储、加密算法、共识协议、点对点网络等多项技术,实现了去中心化的信任。在此基础上,结合衍生的可以支撑负责业务逻辑的智能合约,可以派生出许多传统中心化数据库系统下面无法实现的应用,比如去中心化的点对点支付、防伪溯源、DEFI[2]等。

区块链技术是一种不依赖第三方、通过自身分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案。可有效解决传统交易模式中数据在系统内流转过程中的造假行为,从而构建可信交易环境,打造可信社会。近年来多国政府机构、国际货币基金组织、全球知名企业以及标准、开源组织和产业联盟等纷纷投入到区块链场景应用和产业开发中,区块链的产业应用价值日渐清晰[3]。

在防伪溯源领域[4],区块链具有多中心化、不可篡改、公开透明的技术特点。一旦信息经过共识并被添加到区块链中,所有的共识节点将存储数据的副本,少数节点对数据的篡改将无法通过共识,增强了链上数据的不可篡改性。除了各参与方的隐私信息外,其它数据对网络的全部节点都是公开透明的。

多个企业已经通过利用区块链不可篡改、易追溯的特点,改进并提高了内部物流业务效率[5-6]。不同的业务方共同在一个链上,关键数据会通过区块链实时共享,保持一致,快速对货物丢失等问题进行定位、定责、定界。通过区块链实现内部的积分流转来解决供应链内部的结算和资金流动,为后续的供应链金融、关键溯源、仓单金融提供了重要基础。基于区块链技术进行货物跟踪,解决了商品转移过程中的追溯防伪和信息变更同步问题,提高物流结算处理效率,节约了大量的物流成本。

2 区块链与商品溯源

2.1 传统的商品溯源方案

传统的商品溯源方案采用商品条码、二维码、RFID或者其他的标签方式,通过中心化的数据库来记录商品在流通过程中的信息,以此验证商品的真伪,以及追踪商品的物流信息。

但是,这样的溯源方式存在两个问题:第一,中心化的数据库无法提供面向用户的足够的可信度。中心化的数据库在数据量少、用户量低的情况下,可以提供传统模式的在线溯源系统。但是这样的系统采用的是中心化存储模式,这样的存储系统有很多的方式被篡改。由于涉及的多方有自己的利益,当数据库里面的溯源信息对其不利时,这些机构就有主动篡改信息的意愿。另外黑客攻击、内部人员误操作、恶意破坏都会使得溯源信息被篡改或缺失。这样,用户并不能相信在中心化的系统里面的溯源信息,从而使得溯源流程失效。第二,中心化的数据在数据共享,扩展等方面有极大的限制。当数据需要在不同企业机构实体之间进行数据交换共享时,中心化的数据库系统大大限制了这样的操作,使得溯源信息形成数据孤岛从而限制了溯源系统可以应用的场景。

2.2 基于区块链的单品商品溯源方案

区块链的出现为溯源应用带来了新的解决方案。区块链基于其本身的不可篡改、账本公开、去中心化存储等众多优势,可以解决传统线上溯源方案的问题,提供真正可信的溯源系统。

区块链首先提供了一个去中心化的数据平台。这个平台系统并不是由某个单一实体维护的,而是通过公链或者联盟链方式由利益不相关的多方一起维护的。区块链采用了加密算法、数字签名、共识机制等技术,保证了区块链上记录的数据不可篡改。这样,对于溯源应用来讲,区块链提供了一个可信的基础,使得溯源的用户可以通过公开的方式验证信息的可信性。

区块链其次提供了一个多方协作的去中心化系统。区块链技术为跨域的溯源体系的建立提供了技术支持。在此基础上,通过通证、智能合约等多种手段实现多方之间的协作,打破原有的信息孤岛,有效防止恶意窜货等商业竞争问题。区块链平台上生产端、物流、代理商和消费者可以共同维护一个可信的产品溯源和监管体系,并由此衍生多种新型的商业模式。

从技术的实现角度,基于区块链的商品溯源体系如图1所示。

图1 区块链溯源系统

从图1可以看出,在区块链溯源系统中,生产端产品信息上链,物流信息上链,各级代理商信息上链,终端用户消费信息验证和上链。

具体来讲,每个商品通过一个唯一的识别ID在区块链系统实现信息的锚定和记录添加。一般可以通过两种方式,一种是采用区块链中的一个通证,每个通证对应于唯一的商品;另外一种是通过存证的方式,一次性地提供某个存证对应的具体商品信息。Token作为激励的手段可以在传统的信息单向流通过程中添加有效的用户反馈,使得生产端能够真实有效地获得高价值的反馈,这也是区块链改造溯源体系带来的另外一个好处。

具体的商品溯源区块链的模块如图2所示。

图2 商品溯源区块链模块组图

2.3 基于区块链的单品商品溯源方案的局限

由于商品必须对应于区块链中的某个标识,当海量商品在各自的物流过程中需要添加新的物流信息时,区块链系统必须提供非常高的处理能力,以实现系统的正常运作。

另外,商品在物流过程中通常并不是从头到尾都以单品的形式存在。商品在生产端即会组合成大包装,并组合成批次,往往在流通过程中还会重组,并且这些组合关系隶属于不同的系统。而这些物流信息具有非常高的价值。因此,在用区块链存储单品的信息时除要实现不可篡改,还须有额外的方式实现这些单品组合成批次的逻辑关系。如果采用链下的数据库存储这些逻辑关系,则失去了一开始就用区块链溯源的意义。另外,整合隶属于不同系统的信息以实现统一,是一个很复杂并且很难实现的过程。

另外一种方法是采用区块链上的智能合约来存储这些逻辑关系。但是智能合约的开销非常大,通常比简单记录的开销大两个数量级以上[7]。在处理海量商品,以及相关的单品批次关联信息时,无法实用。

3 基于混合树的区块链的批次层级溯源

本研究提出一个高效的分层区块链解决方案,能够响应海量商品溯源对区块链的要求,在此基础上,结合创新的混合树的区块链溯源系统,可以很方便地处理实际应用过程中的批次层级溯源问题。

3.1 双层区块链模型

本研究采用基于墨客(MOAC)区块链的双层架构(如图3)。底层是墨客区块链公链,提供去中心化的核心功能,包括通证激励、智能合约控制、跨链协同等。区块链底层核心系统是建立在底层去中心化网络基础上,可以实现点对点的网络连接,以及跨链所需要的网络互通能力。

图3 双层区块链系统模型

在底层系统之上的是快速处理区块链子系统(溯源子链)。它可以看成是一个相对独立的区块链系统,但是有两个很独特的设计。第一,它的生命周期由底层区块链中部署的智能合约控制,这样可以很方便地通过底层区块链实现去中心化的控制,包括溯源子系统的参与节点设置、溯源相关的激励系统配置等。第二,溯源子链采用了基于混合树的区块链实现,可以处理海量的商品,也能够适配单品加批次混合溯源的场景,有效地为溯源应用提供高性能的支持。

3.2 混合树的区块链溯源系统

区块链的内部存储系统是由Merkel树组成的。因为需要提供一个高性能并且能够很好的捕捉商品单品和批次的关联信息,如果在合约层处理的话开销巨大,因此采用的方式是对底层的Merkel树进行扩展,采用了混合树的方式,实现去中心化的信息关联。

首先,提出了C-Tree的数据结构。C-Tree(Complementary Tree)是基于默克尔树的扩展。与默克尔树不同,每个非叶节点除了具有子节点的哈希外,还有一个伴随信息Meta,并且这个Meta信息符合某种设定的运算。本研究采用一个排序的C-Tree,对页节点做特殊处理,使得左叶节点是键值,右叶节点是value值。整个树对键值进行排序。叶节点的父节点也做响应的特殊处理:最大最小值都是其叶节点的键值。Meta信息采用MinMax函数,可以获得子树的键值的范围。

其次,以C-Tree为基础的区块链通过根哈希锚定与底层的区块链进行关联,使得以C-Tree为基础的溯源系统的可信度受到底层公链的支撑。具体实现是,溯源子链系统将每个C-Tree的根哈希周期性地锚定在底层链上。锚定的根希,加上每个商品对应的C-Tree证明,使得每一个商品的有效性能够得到验证。当商品在流通过程中第三方进行追加信息时,新的信息添加到C-Tree中的的键对应的值部分,同时根据周期产生新的C-Tree。C-Tree的根哈希周期性地记入到区块链中,实现对记录的连续确认。

第三,在每个区块对应的C-Tree当中,针对溯源应用,将单品与批次的关联信息,直接通过C-Tree中构建的节点来表示。如图4所示,在区块#100,有一个单品A上链,对应键。在区块#101, 有两个单品B、C上链,分别对应键,。在区块#102时,单品A、B、C组合成批次P,批次对应的区块#102中的一个叶节点,由标识。

图4 混合树用于关联单品和批次

针对于溯源的实际应用,混合树可以支持以下操作:

(1)单品与批次的关联

当应用需要将若干已经上链的单品组合成批次时,可以通过构建最小扩展树的根哈希集合,来收集批次中单品的信息,并将哈希集合作为批次的初始信息上链。

(2)批次的解散重组

当商品批次在物流方或者经销商处需要解散重组时,可以通过在C-Tree上批次对应的键值,添加解散记录,并通过操作一实现新的批次信息的上链。

(3)单品与批次信息的查询

在任何时候,由于溯源子链的信息是公开可查询的,任何实体都可以通过子链系统提供的查询接口,以商品或者批次对应的标识ID向子链系统发起查询。查询接口通过包含证明/非包含证明[8-9],快速地获得单品/批次在溯源子链系统中的所有信息,以及各层次的隶属关联信息,从而获得商品在整个物流体系中的所有信息。

3.3 混合树的区块链溯源系统效果评估

由此构建的区块链溯源系统具有以下特点:

(1)公开可信任。由于采用区块链作为溯源的底层支持,记录到区块链的信息无法被篡改,可以实现溯源信息的可信。

(2)支持海量商品溯源功能。由于采用分层的系统架构,使得在底层的系统区块链上面可以根据业务的需求,很轻易地在上层实现横向扩展。可以通过多个子链溯源系统对海量商品的溯源提供支持。

(3)支持灵活的单品/批次组合溯源。由于引进了创新的混合树技术,可以使得溯源的商品在流通过程中任何地进行批次集合和重组。这些批次的溯源信息与单品类似。并且可以实现多层嵌套批次,使得应用的场景更加广泛灵活。

4 展望

区块链是一个快速发展的领域,各种新的技术层出不穷。作为区块链技术应用的第一批场景,区块链溯源已经越来越被大众所接受。但是区块链技术还需要不断地发展以满足各种实用场景的需求。本文提供使用区块链双层架构,以及混合树的方式实现对溯源过程中单品/批次嵌套场景的支持。此外,本研究创新性地提出了基于默克尔树(Merkle Tree)的扩展C-Tree。基于C-Tree的技术研究目前还是属于空白,可以衍生出许多优异特性的区块链方案,也为各种应用基于区块链的实现提供了一个技术基础和新的思路。

猜你喜欢

单品底层区块
航天企业提升采购能力的底层逻辑
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
OFFICE LADY之娇美清新型美妆必备单品
区块链+媒体业的N种可能
读懂区块链
热卖单品
超难搭配的单品也可以轻松驾驶
搭配 如果说这个夏天有什么单品是必买的
回到现实底层与悲悯情怀