一种适用于电力供应链的区块链跨链价值交换机制

2022-01-23 13:40钱仲文陈甜妹徐天天
浙江电力 2021年12期
关键词:异构国网制造商

钱仲文,顾 晔,陈甜妹,徐天天

(国网浙江省电力有限公司物资分公司,杭州 310003)

0 引言

随着互联网的全球化发展,区块链已被广泛应用于金融、医疗、供应链、资产管理等各个领域[1]。作为一种新型的分布式账本,与传统的会计技术相比,区块链具有分散、安全、防篡改等特点。然而,区块链技术的固有属性可能影响其在商业中的应用和发展。受区块大小和复杂验证过程的限制,交易效率不高;各种区块链都是独立开发的,导致区块链之间缺乏数据交流和共享的机制,从而极大地限制了区块链的发展空间[2]。为了促进区块链之间的协同运作,迫切需要打破这种沟通障碍,研究可靠的跨链通信技术已成为区块链技术的重要发展方向之一。

目前,国家电网有限公司(以下简称“国网”)所属企业普遍采用了以联盟链为主的区块链技术,并且现有国网的跨链技术仅能满足国网所属企业之间的数据通信问题,即联盟链之间的跨链通信[3]。在国网供应链体系中与外部企业进行物资采购交易时,往往需要面对与包括公链在内的异构区块链之间的跨链价值交换问题,目前国网还没有构建出一套完整的兼容现有区块链系统的异构链跨链体系[4]。

跨链是使一条区块链上的代币转移到另一区块链上,其本质是价值交换。跨链的意义在于突破区块链底层性能和功能的瓶颈,保障双向信息和价值流通的准确性和可靠性。跨链机制通常根据底层平台技术是否同构进行分析:如果为同构,则双方的共识算法、安全机制、区块生成和验证规则均一致,跨链机制相对简单;如果为异构,则通常需要第三方辅助实现,跨链机制相对复杂和普遍。迄今为止,主要的异构跨链技术包括以下3 种:1)哈希锁定(Hash-locking);2)侧链/中继(Side Chain/Relay);3)公证人机制(Notary Scheme)。哈希锁定通过将资产锁定一段时间并设置预测哈希值明文等解锁条件实现公平交易,最早使用该技术的是比特币闪电网络[5]。哈希锁定可以实现原子性的跨链交易,但其不适用于跨链资产可移植性和跨链智能合约[6-7]。公证人机制是引入一方或者多方可信的实体来做信用背书的跨链机制[8],其实现最为简单,主要形式有3 种:基于单个节点的单签名公证人机制、基于多个节点组成公证人组的多签名公证人机制、分布式签名公证人机制。侧链锚定主链,不仅可以分担其压力,也可以扩展其性能,用于验证来自其他区块链的交易。其中,侧链支持资产的双向锚定,具体由单一托管、联合锚定、驱动链和SPV(简单支付验证)锚定4 种模式组成。中继模式则通过将原始代币转移到原始区块链的多重签名地址来将其锁定,并通过签名者投票来确定中继链上发生的交易是否有效[9-10]。

目前,使用最为普遍的跨链技术是侧链和中继,而大部分的跨链项目核心目标是解决区块链的交易吞吐量和交易速度问题,即可拓展性问题。现阶段,比较主流的跨链项目有:1)波卡(Polkadot)是于2016 年提出的一种支持不同区块链结构的跨链平台[11-12],它提供了一个中继链,链上存储了所有与其相连接的平行且结构化的区块链数据,并可以实现不同链合并的安全性以及去信任的跨链交易性。2)宇宙网络(Cosmos)与波卡的设计思路有些类似,即通过中继链(Hub)和平行链(Zone)实现跨链信息的传输,进而构建出一个异构的跨链平台[13-14]。Cosmos 采用了IBC(跨链交互协议)以实现平行链之间的跨链操作。Cosmos网络如要链接其他的异构链,则需要额外加入一个Bridge-Zone 转接层,其作用是对异构链的跨链交易进行中转,并对跨链信息的数据结构进行规范化处理。3)Plasma 由于扩展以太坊的TPS(交易处理系统)而被提出。与闪电网络相似,Plasma是由一系列运行在区块链上的智能合约与侧链间接交互来实现跨链,其优势在于可将主链上的交易转移到侧链(线下)执行,主链只需记录一段时间内侧链上执行的结果,从而显著提升了交易效率[15-16]。

综上所述,与单个区块链上的价值交换相比,基于跨链的价值交换面临着如下的挑战:1)如何提高可扩展性来面对蓬勃发展的跨链网络,缓解区块链上待写交易的拥塞;2)当价值从一个区块链被交换到另一个区块链时,如何保证安全性;3)如何提高验证效率,以降低交易的延迟。

1 跨链价值交换机制

为了降低跨链通信时的交易延迟,提高区块链的安全性和可扩展性,本文提出一种适用于异构链的跨链价值交换机制,进而实现国网总链与各省分公司和子公司,尤其是与外部企业链间的数据协同。本文所提的跨链价值交换机制框架如图1 所示。

图1 跨链价值交换机制框架

该机制具有如下两大特点:首先,针对联盟链和公链互联的场景,提出了通过侧链/中继与哈希锁定技术相结合的跨链机制,在保证价值交换原子性的基础上实现了异构区块链之间的高效数据互通;其次,分别设计了面向联盟链侧和公链侧的智能合约和相应的交易验证流程。

1.1 联盟链到公链的跨链过程

联盟链到公链的跨链过程主要包括价值在联盟链侧的锁定以及在公链侧的解锁。以制造商和经销商所构成的两级供应链为例,当联盟链上的经销商企业发送一笔价值给公链上的制造商企业,即向对方采购某批次产品时,跨链过程如图2 所示。

图2 联盟链到公链的跨链过程

具体步骤如下:

1)联盟链侧经销商发起跨链请求,经智能合约验证后对价值进行锁定,并发起转账操作。

2)智能合约完成转账后对交易进行记录和签名,再将该信息发送给经销商。

3)经销商将交易签名信息发送给公链侧的制造商,当制造商收到该信息后发送交易提案并调用智能合约对该交易提案进行验证和投票,并通过QSCC(查询系统链码)和椭圆曲线加密算法分别确认联盟链侧的交易和签名是否有效。

4)当委员会验证并投票通过后,智能合约对上述请求进行验证并实行价值解锁,通过公链发币账户向制造商转账,跨链过程结束。

1.2 联盟链之间的跨链过程

联盟链之间的跨链过程需要通过第三方企业进行,中继方可实现不同联盟链上的制造商和经销商企业之间的价值交换,跨链过程如图3 所示。

图3 联盟链之间的跨链过程

具体步骤如下:

1)联盟链A 侧的经销商通过哈斯算法生成哈希原值s 所对应的哈希值h,并分别将s 和h 发送给制造商和第三方企业。

2)经销商向公链侧的中继节点第三方企业发起转账,并通过哈希锁定实现价值锁定,而第三方企业则需使用s 对价值进行解锁。

3)第三方企业收到h 之后向联盟链B 侧的制造商发起转账,并同样通过哈希锁定对价值进行锁定,而制造商则需通过s 进行解锁。

4)经销商完成解锁后,第三方企业获得s 并用其对制造商的转账进行解锁,跨链过程结束。

1.3 公链到联盟链的跨链过程

公链到联盟链的跨链过程主要包括价值在公链侧的锁定以及在联盟链侧的解锁。当公链上的经销商企业发送一笔价值给联盟链上的制造商企业,即向对方采购某批次产品时,跨链过程如图4 所示。

图4 公链到联盟链之间的跨链过程

具体步骤如下:

1)公链侧的经销商发起跨链请求,经公链侧智能合约验证后对价值进行锁定,并发起转账操作。

2)智能合约执行转账操作并对交易进行记录和签名,再将上述信息发送给经销商。

3)经销商将交易信息发送给联盟侧的制造商,制造商收到该信息后通过SPV(简单支付验证)[17]和椭圆曲线加密算法分别对该交易和签名进行验证。

4)验证通过后制造商发起跨链请求,并继续调用智能合约对上述请求进行验证后对价值进行解锁,进而联盟链发币账户向制造商转账,跨链过程结束。

1.4 基于多重验证的委员会机制

为了确保验证的公平性和准确性,本文提出通过委员会选举和投票的机制来获得最终的验证结果,并为联盟链侧和公链侧分别设计了不同类型的选举机制。

在联盟链侧,本文提出由跨链价值交换的接收方选择多个节点组成投票委员会,其具体过程如下:首先,接收方节点收到公链侧的交易锁定后,向智能合约发起请求;其次,通过背书策略指定的节点用户组建基于该笔交易的委员会,并先后验证签名和交易原则;最后,将验证路径发送给委员会中的各个节点用户进行SPV 验证。

在公链侧,本文提出所有节点均参与投票并选举出委员会成员,而节点的投票权重则由所持有的代币比例来决定。整个投票过程如下:首先,经过多轮投票,每轮投票中系统统计节点的票数和排名,并根据投票结果选出得票率最高的前K 个节点来组建委员会。然后,随机改变上述K 个节点的顺序并再依次进行信息验证和投票。

为确保投标机制满足一致性、可用性和容错性等要求,当联盟链侧和公链侧对交易进行验证时,验证结果在委员会中通过经典的PBFT(实用拜占庭容错)共识算法来产生。

2 实验分析

为了测试本文提出的跨链价值交换机制的效率和可扩展性,本文设计了由以太坊和Hyperledger Fabric 实现的原型系统,并通过上述区块链系统的公有网络来模拟供应链中异构区块链企业之间物资采购的支付流程。本文实验中计算机配置为处理器2.7GHz Intel Core i7,内存16 GB,开发环境为Linux。

本文实验模拟基于公链的经销商企业向基于联盟链的国网制造商企业采购三批次不同型号电力设备产品这一支付过程。首先,由以太坊账户所在的客户端发起跨链价值交换请求,并从以太坊 账 户 先 后 跨 出 562800INK,57000INK 和15000INK 至以太坊侧合约账户实现锁定。接着,当接收到价值跨出交易提案后,联盟链侧对上述交易是否到账进行验证。若验证通过,则从联盟链发币账户执行跨入交易至联盟目标账户,先后跨入562800INK,57000INK 和15000INK。

2.1 交易锁定和解锁的处理时间

为了验证本文提出的机制具有较好的可扩展性(即交易的处理能力),在两边区块链网络中模拟60 个节点同时进行价值交换。联盟链侧的耗时忽略不计。公链侧价值锁定的处理时间统计如图5 所示。可以看到,锁定交易时间基本处于90~115 s 区间内,符合以太坊上交易的等待时间,并且实验中没有出现因交易拥堵造成处理时间线性增长的情况。

图5 锁定交易时间

图6 分别给出了基于不同投票轮数情况下在公链侧进行价值解锁的处理时间统计。可以看到:当为两轮投票时,交易处理时间基本在8~16 s 区间内;当为三轮投票时,交易处理时间基本在10~18 s 区间内;当为四轮投票时,交易时间基本在10~20 s 区间内。上述3 种情况下,确认交易的等待时间均保持在较低水平,其与投票轮数的关联不大。

图6 不同投票轮数下的解锁交易时间对比

通过上述实验分析可以得出结论,本文机制中交易的锁定和解锁处理能力相较于传统区块链网络具有较高的可扩展性。

2.2 交易验证的处理时间

图7 分别给出了基于不同投票轮数情况下在锁定交易中多重验证机制所耗费的时间。可以看到:当为两轮投票时,多重验证所需的处理时间基本在22~32 s 区间内;当为三轮投票时,交易时间基本在30~42 s 区间内;当为四轮投票时,交易时间则基本在38~47 s 区间内。因此可以得出结论,多种验证机制所耗费的时间与投票轮数成正比。不过,即使经过四轮投票,所耗费的时间依然控制在可接受的范围内。

图7 不同投票轮数下的多重验证机制所耗费的时间对比

通过上述实验分析可以发现,投票轮数在四轮左右时已经可以保证投票结果具有较高的准确率,并且耗费的时间可在1 min 以内。与传统验证方式相比,本文提出的多重验证机制具有较高的验证效率。

3 结语

在国网的供应链体系中,当与外部企业进行物资采购交易或者数据共享时通常需要解决与异构区块链之间的跨链通信问题。为此,本文设计了一种基于异构链的跨链价值交换机制,以实现国网各省分公司和子公司之间,以及与外部企业之间的链间数据协同。该机制结合了侧链/中继和哈希锁定的连接机制,确保了跨链交易的原子性。本文还提出了基于委员会的多种验证机制,在保证验证结果安全性和可靠性的同时,提高了验证效率。

针对公链交易处理性能的局限性,下一步计划研究如何提高公链交易处理能力。同时,为了使数据共享和价值交换更好地落地应用,需要加入身份认证机制来约束区块链用户的行为。

猜你喜欢
异构国网制造商
国网甘肃省电力公司创新成果展示
试论同课异构之“同”与“异”
一位制造商一架军机(美国篇)
受挫的汽车制造商在通向全新未来的十字路口止步不前
国网江西电力2017 回眸
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
特别感谢为本刊付出辛勤劳动的审稿专家(按姓氏拼音排序):
特别感谢为本刊付出辛勤劳动的审稿专家 (按姓氏拼音排序)