«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (6): 23-31  DOI: 10.19678/j.issn.1000-3428.0058450
0

引用本文  

方燚飚, 周创明, 雷晓莉, 等. 基于区块链技术的供应链交易系统设计[J]. 计算机工程, 2021, 47(6), 23-31. DOI: 10.19678/j.issn.1000-3428.0058450.
FANG Yibiao, ZHOU Chuangming, LEI Xiaoli, et al. Design of Supply Chain Transaction System Based on Blockchain Technology[J]. Computer Engineering, 2021, 47(6), 23-31. DOI: 10.19678/j.issn.1000-3428.0058450.

基金项目

国家自然科学基金(61703426)

通信作者

雷晓莉(通信作者), 副教授、硕士

作者简介

方燚飚(1995-), 男, 硕士研究生, 主研方向为区块链技术与应用;
周创明, 副教授、博士;
宋亚飞, 副教授、博士;
高娜, 硕士研究生

文章历史

收稿日期:2020-05-27
修回日期:2020-07-09
基于区块链技术的供应链交易系统设计
方燚飚1 , 周创明2 , 雷晓莉2 , 宋亚飞2 , 高娜1     
1. 空军工程大学 研究生院, 西安 710038;
2. 空军工程大学 防空反导学院, 西安 710038
摘要:随着经济全球化程度的日益加剧和信息技术的快速发展,企业间的信息流、物流、资金流交互越来越复杂,传统以核心企业为主导的供应链模式中交易信息不透明、企业间协作效率低及产品质量溯源难等问题愈发突出。为解决上述问题,设计基于区块链技术的供应链交易系统,以供应链实际需求为基础,构建交易系统总体架构。通过制定交易交互规则,部署交易智能合约,搭建基于区块链的交易链,实现更有效的供应链交易信息、交易资金和交易结果管理及上下游协同。测试结果表明,该系统已具备交易功能与信息共享功能,且相比同类交易系统在吞吐量和安全性等方面更具优势。
关键词供应链    区块链    智能合约    交易系统    联盟链    
Design of Supply Chain Transaction System Based on Blockchain Technology
FANG Yibiao1 , ZHOU Chuangming2 , LEI Xiaoli2 , SONG Yafei2 , GAO Na1     
1. Graduate College, Air Force Engineering University, Xi'an 710038, China;
2. Air and Missile Defense College, Air Force Engineering University, Xi'an 710038, China
Abstract: With the accelerating degree of economic globalization and the rapid development of information technology, the interactions of information flows, circulation of materials, capital flows among enterprises are becoming increasingly complicated, which exacerbates the problems of the traditional enterprise-led supply chain mode, including the opacity of transaction information, inefficient enterprise collaboration, and the difficulty in the origin tracking of product quality.To solve the above problems, this paper designs a supply chain transaction system based on blockchain technology.According to the actual demands of the supply chain, the overall architecture of the transaction system is built.Then by formulating interaction rules and deploying smart contracts for transactions, a blockchain-based transaction chain is constructed to realize more efficient upstream and downstream collaboration, and management of supply chain transaction information, transaction capital and transaction results.Experimental results show that the proposed system enables information sharing and transaction, and has advantages in throughput performance and security.
Key words: supply chain    blockchain    smart contract    transaction system    alliance chain    

开放科学(资源服务)标志码(OSID):

0 概述

供应链的概念[1]由扩大的生产概念发展而来,围绕核心企业并通过对企业信息流、物流和资金流进行控制,形成一个整体的功能网链结构。随着经济全球化趋势的加速发展,企业间的竞争由单纯企业个体实力的较量向企业供应链间的竞争转变。供应链将原本有合作关系的企业进行串联形成复合网络,加强了企业间的协同并提高合作效率,实现企业利益的最大化[2]。由于企业间的各类交互越来越频繁且复杂,传统以核心企业为主导的供应链模式已无法满足企业发展的需求,同时信息共享及产品质量溯源难度大等问题也愈发突出。区块链技术的出现为供应链质量管理带来了新的思路[3]。区块链技术是比特币的底层技术,其有效解决了传统数字货币体系中的双花问题和拜占庭将军问题[4-5]。随着比特币等数字货币的普及,区块链技术所具有的优势开始引起社会各界的广泛关注,其分布式存储、不可篡改的特性[6]能够在保证数据完整性和可信度的同时,实现最大程度的数据共享,并且区块链技术的应用也逐渐由金融领域向物联网等非金融领域延伸[7]

目前,国内外研究人员对区块链技术的应用进行了大量研究并取得了重要成果。2016年,Linux基金会发起了Hyperledger开源区块链项目,其中的Hyperledger Fabric项目[8]是针对企业级的区块链应用,旨在发展跨行业的商业区块链平台。文献[9]设计基于区块链的智能药品供应链管理系统,通过分布式系统记录药品全周期信息,确保患者的用药安全。文献[10]基于智能合约和访问控制设计MeDShare系统,该系统能够提供链上医疗数据的溯源和审计服务。文献[11]通过区块链技术探讨物联网供应链中的安全漏洞,并分析区块链技术在物联网供应链中潜在的优势。文献[12]设计基于区块链的供应链信息共享合约,解决了供应链参与主体间的信任问题。文献[13]分析区块链技术对供应链参与主体间信息共享程度的影响,结果表明通过区块链技术能够降低供应链成员间的交易成本,提高信息共享效率。针对传统供应链系统中存在的信任传递困难、交易信息不透明、信息共享难度大等问题,本文研究区块链技术在供应链交易系统中的应用,通过部署交易智能合约,构建基于区块链技术的供应链交易平台,实现更有效的信息共享及上下游协同。

1 相关技术 1.1 区块链

区块链的概念由中本聪于2008年提出,是一种以链式结构为基础的分布式账本。在账本中,数据区块按照时间顺序依次连接,并以密码学[14-15]方式保证账本数据的不可篡改性和不可伪造性。目前,已有许多区块链平台投入使用,虽然不同区块链平台的具体实现方式不同,但区块链平台整体上可划分为数据层、网络层、共识层、合约层和应用层5个层次[16],如图 1所示。数据层的主要功能是记录和存储链上信息,并通过默克尔树、非对称加密算法、哈希函数、时间戳等技术保证数据的不可篡改性和可追溯性;网络层的主要功能是通过点对点网络进行节点间数据的传递和验证;共识层主要通过共识算法实现分布式节点间的稳定共识,保证数据的一致性和真实性;合约层主要是为智能合约提供开发环境,包括区块链平台的沙盒环境及相应的编程语言;应用层主要用于区块链技术在各类应用场景中的实现,根据应用场景的不同,将区块链技术的发展分为可编程货币、可编程金融和可编程社会3个阶段[17]

Download:
图 1 区块链平台架构 Fig. 1 Architecture of blockchain platform
1.2 智能合约

智能合约是指一种具有自我执行与验证功能的计算机协议。智能合约的概念由尼克·萨博[7]于1995年提出,主要思想是将合约条款转化为计算机协议,在去可信第三方的环境中使该协议作为合约各方的信任代理,高效安全地履行合约,但受制于当时的计算机技术水平,智能合约未得到广泛关注,而区块链去中心化的构架为智能合约提供了一个良好的执行环境。智能合约存储在区块链平台上,用户在任意时刻都能调用智能合约,当用户发出调用指令后合约会被加载到沙箱环境下执行[18]。合约根据外部数据和世界状态信息自动判断所处条件是否满足合约触发条件,并严格按照合约规则执行合约代码,最终更新世界状态。合约执行结果经验证有效后,由矿工进行打包,存储在新的数据区块中,该区块经共识算法认证后连接到区块链尾部,得到新的有效区块。在不同的区块链平台下,智能合约的运行机制会有一定的差异,但其运行原理基本相同,如图 2所示。

Download:
图 2 智能合约运行机制 Fig. 2 Operation mechanism of smart contract
1.3 供应链

供应链是指产品生产和流通过程中所涉及的原材料供应商、产品制造商、产品经销商、零售商以及最终消费者等成员通过前向物流、反向资金流以及信息流的交互相连接的整体性网络结构系统[19]。在供应链中,各企业以生产者和消费者两种不同的角色参与供应链的不同阶段,推动产品在原材料供应商、产品制造商、产品经销商、零售商、个人消费者及监管机构之间的流通。如图 3所示,供应链包含了产品生产、加工、运输、销售等多个环节,整合了信息流、物流和资金流,形成由各级企业构成的链式网络结构,强调企业之间的信息共享、风险共担和交流合作,从而实现供应链整体利益的最大化。

Download:
图 3 供应链整体结构 Fig. 3 Overall structure of supply chain

在传统供应链系统中,各企业内部通过物联网系统进行产品信息的采集,但不同企业之间的物联网系统通常是相互独立的,因此虽然各企业处于同一供应链中,但企业之间进行实时交互、全流程信息共享的难度仍较大。随着供应链涉及企业的增加,核心企业对供应链整体的掌握程度越来越小,从而导致核心企业无法及时调整供应链运作状态,降低了企业之间的协作效率,并阻碍了供应链整体的发展。综上所述,传统供应链主要存在数据孤岛、企业间协作效率低及产品质量溯源难的问题。

2 基于区块链技术的供应链交易系统 2.1 供应链交易系统总体构架

供应链交易系统主要有产品交易和交易信息共享两部分,其主体是基于区块链技术的交易链。供应链企业通过交易链及部署在其上的交易智能合约进行产品交易和信息共享。如图 4所示,基于区块链技术的供应链交易系统具有以下功能:1)构建供应链信任体系,供应链核心企业可在交易系统中发布特定的数字货币并通过数字货币进行交易,该数字货币是供应链企业间可信的交易凭证,也可作为供应链中小企业进行贷款、融资等服务的信用凭证;2)实现透明可信的交易过程,供应链企业通过智能合约进行交易,由智能合约对交易合法性进行验证,同时将交易内容、交易完成情况等信息记录于交易链,保证交易过程安全可靠,交易信息透明可追溯。

Download:
图 4 交易系统总体架构 Fig. 4 Overall architecture of transaction system
2.2 交易链设计

基于区块链技术的交易链是供应链交易系统的功能基础。交易链采用联盟链模式,不同节点被赋予不同的权限,个体用户等消费者可直接接入到交易系统中,供应链企业需要核心企业授权才能接入交易系统。在交易链中部署交易智能合约时,通过对交易智能合约中交易信息的验证、交易资金的管理及交易结果的判定,管理并记录交易过程中的信息。另外,交易链中也可加入银行等金融机构,结合智能合约为中小企业提供贷款、融资等服务。

在供应链中消费者通过调用交易智能合约进行交易,交易智能合约工作流程如图 5所示。消费者将交易内容、合同及资金发送到交易智能合约账户,交易智能合约对交易内容、合同及资金进行验证,验证通过后将交易信息发送给对应生产者。生产者校对合同内容,当接收交易请求后,可根据交易内容进行生产或直接由仓库向消费者发货,并将产品物流信息发送到交易智能合约,由交易智能合约将信息转发给消费者。消费者在收到产品后,向交易智能合约发送确认信息,交易智能合约验证信息后,将交易资金支付给生产者。交易过程中的所有交互信息均由交易智能合约暂存,当交易完成后由交易智能合约形成区块并将其添加到交易链中。

Download:
图 5 交易智能合约工作流程 Fig. 5 Workflow of transaction smart contract
2.3 交互规则设计

由于基于区块链技术的供应链交易系统以分布式方式构建,各企业之间的交互行为较为频繁、复杂,因此对于供应链交易系统需要制定交互规则来保证交易过程中交互信息的有效处理。在交易系统的交互过程中主要有各级消费者、生产者和交易智能合约3个角色参与交互过程。消费者通过向智能合约发送相关信息及相应资金来发起交易,智能合约收到交易请求后,将交易信息发送给对应生产者,并对交易过程进行监控,当交易完成后其将资金转到生产者账户,此时交易完成,交易信息上链存储。可见,信息交互主要分为消费者将交易信息发送到智能合约,以及智能合约确认后将信息发送到指定生产者两个阶段。

对于消费者与智能合约之间的信息交互,当发起交易时消费者将资金发送给智能合约账户的同时,还需将交易的产品信息、资金、协议等信息发送到智能合约账户,具体交互信息内容为$ \left[\mathrm{t}, \mathrm{C}\to \mathrm{P}, \mathrm{t}\mathrm{a}{\mathrm{b}}_{\mathrm{C}}(\mathrm{w}, \mathrm{v}, \mathrm{a}, \mathrm{d}\mathrm{l})\right] $,其中:t表示该交易的索引信息;$ \mathrm{C}\to \mathrm{P} $表示该交易由消费者C发起,由生产者P执行;$ \mathrm{t}\mathrm{a}{\mathrm{b}}_{\mathrm{C}}(\mathrm{w}, \mathrm{v}, \mathrm{a}, \mathrm{d}\mathrm{l}) $表示此次交易的具体信息,w表示消费者的目标产品,v表示此次交易的资金,a表示此次交易的相关协议,dl表示消费者给定的交易完成期限。

智能合约收到交易请求后,首先对信息的内容进行确认。若该交易请求不符合交易规则,则将交易请求退回。若该交易请求符合规则,则将交易信息发送到对应的生产者并与生产者进行交互。此时,智能合约只将交易信息发送给生产者,交易资金由智能合约暂存,交易完成后再根据交易完成情况将资金转到生产者账户。智能合约与生产者之间的具体交互内容为$ \left[\mathrm{s}, \mathrm{T}\to \mathrm{P}, \mathrm{i}\mathrm{n}{\mathrm{f}}_{\mathrm{T}}(\mathrm{t}\mathrm{a}{\mathrm{b}}_{\mathrm{C}}, \mathrm{s}\mathrm{t})\right] $,其中:s表示该交易的索引信息;$ \mathrm{T}\to \mathrm{P} $表示交易信息由智能合约向生产者发送;$ \mathrm{i}\mathrm{n}{\mathrm{f}}_{\mathrm{T}}(\mathrm{t}\mathrm{a}{\mathrm{b}}_{\mathrm{C}}, \mathrm{s}\mathrm{t}) $表示智能合约向生产者发送的交易信息内容,tabC表示交易具体信息,其内容与消费者发送给智能合约的交易信息中的tabC内容相同,st表示智能合约接收到消费者提交的交易请求时间。

生产者接收到交易信息后,对交易信息进行验证。若该交易为正常交易,则接收交易请求,进行相关产品的生产。若该交易不符合交易规则,则拒绝此次交易,退回交易请求。生产者接收交易请求后,智能合约随即跟进交易进程。消费者收到产品后,向智能合约发送产品接收信息;智能合约向生产者核实信息后,对交易完成情况进行判定,并向生产者支付产品资金。

若生产者按期交付产品,则智能合约将所有资金转发到生产者账户,并将交易结果的信息发送给生产者,具体交互内容为$ \left[\mathrm{u}, \mathrm{T}\to \mathrm{P}, \mathrm{t}\mathrm{a}{\mathrm{b}}_{\mathrm{T}}(\mathrm{v}, \mathrm{c}\mathrm{t}, \mathrm{N})\right] $,其中:u表示该交易的索引信息;$ \mathrm{T}\to \mathrm{P} $表示交易信息由智能合约向生产者发送;$ \mathrm{t}\mathrm{a}{\mathrm{b}}_{\mathrm{T}}(\mathrm{v}, \mathrm{c}\mathrm{t}, \mathrm{N}) $表示智能合约向生产者发送信息的具体内容,v表示此次交易资金,ct表示交易完成时间,N表示此次交易按时完成,为正常交易。

若生产者未能按时交付产品,则智能合约依据双方合约将部分资金返还给消费者,将剩余资金发送到生产者账户,并将交易结果的信息发送给生产者,具体交互内容为$ \left[\mathrm{n}, \mathrm{T}\to \mathrm{P}, \mathrm{t}\mathrm{a}{\mathrm{b}}_{\mathrm{T}}(\mathrm{v}\mathrm{\text{'}}, \mathrm{c}\mathrm{t}, \mathrm{o}\mathrm{d})\right] $,其中:n表示该交易的索引信息;$ \mathrm{v}\text{'} $表示原资金v中扣除部分资金后的剩余部分;od表示此次交易未能按时完成,为逾期交易。

当生产者收到资金及接收信息并核对后交易流程结束,交易智能合约将此次交易中的所有信息交互内容储存至区块,并将此区块储存至交易链,供后续查询及验证使用。

3 供应链交易系统构建 3.1 交易系统货币体系

货币是交易的基础,若要实现交易系统功能,则首先要建立合适的数字货币体系[20]。供应链系统中的数字货币由核心企业进行发行,该数字货币不仅是供应链系统中各企业之间交易的价值媒介,同时能够作为企业之间以及企业与体系内的金融机构之间的信用凭证,是供应链系统信用体系的基础。在基于区块链技术的供应链交易系统中,核心企业能够较方便地发行数字货币,并通过设定相关参数得到适用于供应链系统的数字货币。

3.2 交易智能合约

交易智能合约是交易链的主体,根据各个参与者的公钥地址及相应的交易协议完成交互过程中的信息验证,交易完成后再根据交易结果向生产者发送资金。交易智能合约具有交易信息验证与交易结果认定两方面的功能。当消费者发起交易时,将交易请求发送至交易智能合约,交易智能合约对交易请求内容及消费者身份进行核对,信息确认后将交易信息发送到对应生产者账户中;生产者接收交易请求后,向交易智能合约发送确认信息,交易智能合约开始跟进交易情况。

算法1  交易信息验证算法

输入  消费者con1发送的交易请求[t,con1→pro1,tabcon1(w,v,a,dl)]

输出  若交易请求符合条件,则交易智能合约向生产者pro1发送交易信息[s,T→pro1,infT(tabC,st)];若交易请求不符合条件,则交易智能合约拒绝该交易请求

1.消费者con1调用交易智能合约,将[t,con1→pro1,tabcon1(w,v,a,dl)]发送到交易智能合约;

2.获取消费者con1的公钥地址,consumer=msg.sender;

3.If con1!=legal user[]

4.return;

5.else

6.If目标商品w==p of con1 []

7.then

8.If商品w和协议a相符合

9.then

10.交易智能合约将[s,T→pro1,infT(tabC,st)]发送到生产者pro1;

11.else return;

12.end If

13.else return;

14.end If

15.生产者pro1对infT(tabC,st)中的信息进行核对;

16.end If

17.If交易请求符合要求

18.then

19.向交易智能合约返回确认信息

20.else拒绝此次交易;

21.end If

当生产者pro1接收交易请求后,交易智能合约就开始跟进交易情况。当交易结束后,交易智能合约对交易完成情况进行判定并向生产者发送资金。判定过程主要是对交易完成情况进行确认:若交易按时完成,则交易智能合约将所有资金转到生产者pro1的账户中;若交易未能按时完成,则交易智能合约将按照协议规定,向生产者支付资金,其余资金将退还给消费者。

算法2  交易结果认定算法

输入    交易完成时间ct

输出    交易结果认定并根据交易情况向生产者发送资金

1.If ct < =dl

2.then

3.transfer(address_pro1,v);

4.将[u,T→P,tabT(v,ct,N)]发送到生产者账户;

5.else

6.v′=v-m;

7.transfer(address_pro1,v′);

8.将[n,T→P,tabT(v′,ct,od)]发送到生产者账户;

9.end If

当完成交易结果认定并将资金转移到生产者账户后,交易流程结束,交易智能合约将该交易过程中的所有交互信息上传至交易链。对于不同的供应链系统,交易系统设计需要结合供应链实际情况进行改进。

4 供应链交易系统测试

当供应链交易系统构建完成后需要对供应链交易系统进行以下测试:1)交易系统基本功能测试,主要测试交易系统的交易及信息共享功能;2)交易系统性能分析,主要测试供应链交易系统的安全性及系统吞吐量,并与同类系统进行对比分析。系统测试环境配置为Windows 10操作系统、Hadoop架构、Core i5-9400处理器、主频为2.90 GHz、GTX1050Ti显卡、8 GB内存、1 TB机械硬盘。

4.1 交易系统基本功能测试

在进行测试前需完成交易智能合约的编译和部署,合约编译是指将智能合约代码转化为以太坊虚拟机能够识别的虚拟机代码。本文采用Solidity编程语言[21],内核版本为0.4.22,编译器为EthFiddle-Solidity。交易智能合约的编译结果如图 6所示。

Download:
图 6 交易智能合约的编译结果 Fig. 6 Compilation results of transaction smart contract

在完成编译后即可部署交易智能合约,当交易智能合约部署完成后,用户通过调用交易智能合约来发起交易,部署结果如图 7所示。交易发起者可通过调用交易智能合约中的函数向目标账户发送交易请求。在本次测试中,所用账户均为EthFiddle预存账户,其中主账户为交易发起账户,其余账户均为供应链企业账户。

Download:
图 7 交易智能合约的部署结果 Fig. 7 Deployment results of transaction smart contract

供应链交易系统的功能主要包括交易合法性验证、交易结果认定、交易资金转移以及交易信息共享。交易合法性验证一般根据核心企业提供的权限表进行验证,在部署智能合约时核心企业会根据不同企业的实际情况分配不同的交易权限并制作成表格,将其数字化后储存到交易智能合约中。另外,当后期有新的企业加入时需要扩充权限表的内容。交易结果主要根据交易实际完成时间与交易预期完成时间之间的关系来认定。为排除交易双方伪造信息的情况,保证交易结果判定的真实有效,交易的最终完成时间根据产品物流信息确定。交易智能合约在完成判断后,将交易结果信息发送给消费者进行确认,确认无误后交易认定完成。资金转移是区块链平台的基础功能,交易系统中交易资金转移成功与否主要由交易完成情况决定,因此对交易系统中的资金转移功能不再赘述。交易信息共享功能依据信息使用者所具有的权限,为其提供所需的供应链历史交易记录及其与该交易的相关信息。当供应链成员提交交易请求后,交易流程的具体细节由交易智能合约进行控制。图 8为供应链企业在交易系统中完成交易后,查询该交易记录所得的产品交易信息,由此可知本文交易系统能够实现交易及信息共享功能,达到了供应链交易系统的基本要求。

Download:
图 8 产品交易信息 Fig. 8 Product transaction information
4.2 交易系统性能分析 4.2.1 交易智能合约漏洞检测

在区块链系统中完成部署后的智能合约将无法修改,如果将存在安全漏洞的智能合约部署到区块链系统中,则会使整个系统面临巨大风险,因此本文首先对交易智能合约进行漏洞检测[22]。本文采用蚂蚁区块链BaaS平台中集成的智能合约安全检测平台进行智能合约检测。该智能合约安全检测平台提供智能合约中常见的可重入攻击、时间戳依赖、交易顺序依赖及溢出漏洞等安全漏洞的检测。当智能合约编译完成后,在该平台上创建相应检测任务即可对智能合约进行漏洞检测。图 9为交易智能合约的漏洞检测结果,检测结果显示交易智能合约中存在1个未授权访问漏洞,出现该漏洞主要是由于智能合约中缺少了身份认证过程,使得用户在触发状态改变操作时能够修改与此次操作不相关的状态变量,从而引发漏洞,因此在后续改进中将加强用户操作权限的校验。

Download:
图 9 交易智能合约的漏洞检测结果 Fig. 9 Vulnerability detection results of transaction smart contract
4.2.2 交易系统容错性测试

将供应链交易系统容错性定义为:在具有一定数量接入节点的系统中,当系统遭到恶意节点攻击时仍能保持稳定运行的能力,因此将一定数量的恶意节点成功破坏系统正常运行的概率作为评价系统容错性能的指标,考虑到实验效果及设备性能,将供应链系统的节点数量设为50,恶意节点的数量由0逐渐增加至30,在不同数量的恶意节点下进行多次实验得出不同状态下恶意节点的攻击成功率。在实验中将恶意节点的攻击方法设定为伪造区块,当正常节点开始记录伪造区块时,认为恶意节点攻击成功。实验结果如图 10所示。

Download:
图 10 不同恶意节点数量下的交易系统攻击成功率对比 Fig. 10 Comparison of attack success rate of transaction system under different number of malicious nodes

由实验结果可知,恶意节点的攻击成功率随着恶意节点数量的减少而降低。当恶意节点数量小于总数的32%时,恶意节点攻击成功的概率为0。在供应链系统中,核心企业会对申请加入供应链的企业进行资质审核,因此在通常情况下出现恶意节点数量超过节点总数1/3的可能性较低。由此可见,在当前条件下该系统具有较高的容错性能,但考虑到系统外部的恶意攻击等情况,系统容错性能还有待进一步提升。

4.2.3 交易系统吞吐量分析

交易系统吞吐量是指在单位时间内交易系统能够处理的交易量。将每秒事务处理量(Transaction Per Second,TPS)作为系统吞吐量的评价指标。交易系统承担供应链的交易功能并对系统实时性具有一定的要求,本文通过实验分析供应链交易系统的吞吐量,为后期系统升级与部署提供良好基础。实验中将交易系统节点数量作为变量,节点数量从0增加到70,在不同的节点数量下进行重复实验,最终将不同节点数量下TPS的平均值作为各个状态下系统吞吐量的衡量值。实验结果如图 11所示。

Download:
图 11 不同节点数量下的交易系统吞吐量对比 Fig. 11 Comparison of throughput of transaction system under different number of nodes

由实验结果可知:节点数量为5~45时,交易系统吞吐量随着节点数量的增加而上升且上升趋势基本不变;当节点数大于45时,系统吞吐量出现下降,并最终保持在36 transaction/s左右。可见,本文系统即使在运行环境稳定且交互内容较简单的实验环境中系统吞吐量仍然较小,这与供应链庞大的数据交易量需求还存在一定差距,因此在后续研究中将根据供应链的实际需求,结合多链和分层等技术优化系统架构,同时利用联盟链和供应链系统的优势对共识算法进行改进,提高共识效率并增加系统吞吐量。

4.3 交易系统功能与吞吐量对比 4.3.1 交易系统功能对比

在系统测试完成后,将本文交易系统与文献[9, 23-25]交易系统进行功能对比,文献[9]交易系统主要应用于药品信息管理场景,文献[23]交易系统主要应用于隐私保护和数据共享场景,文献[24]交易系统主要应用于建筑行业的信息管理场景,文献[25]交易系统主要应用于肉制品供应链信息追溯场景,对比结果如表 1所示,其中,“√”表示交易系统具备该功能,“×”表示交易系统不具备该功能。经对比发现,文献[9]交易系统不具备第三方用户接入功能,文献[23]交易系统不具备信息追溯和数据搜索功能,文献[24]交易系统不具备数据搜索功能,文献[25]交易系统不是基于区块链构造的交易系统。由此得出,本文交易系统在整体上具有一定优势,但与同类交易系统相比,其在部分功能的细节方面还不够完善,如搜索功能不支持关键词搜索、访问控制机制较简单等,在后续研究中将进一步完善系统功能。

下载CSV 表 1 交易系统功能对比 Table 1 Comparison of functions of transaction systems
4.3.2 交易系统吞吐量对比

吞吐量是评价交易系统和区块链系统的重要指标,因此将本文交易系统与文献[9, 23, 26]交易系统进行吞吐量对比。实验中将交易系统节点数量作为变量,节点数量由0递增至60,在不同节点数量下进行重复实验,实验结果取不同状态下TPS的平均值,如图 12所示。

Download:
图 12 交易系统吞吐量对比 Fig. 12 Comparison of throughput of transaction systems

由实验结果可知:在交易系统节点数量小于20时,各个交易系统的吞吐量均呈上升趋势,随后文献[26]交易系统趋于平稳,最终保持在10 transaction/s左右,其他3种交易系统的吞吐量则继续上升,当节点数量小于40时,本文交易系统在吞吐性能上具有一定优势;在交易系统节点数超过40后,本文交易系统吞吐量略有下降,最终保持在36 transaction/s左右,而文献[9, 23]交易系统的吞吐量继续上升,在节点数量到达60时仍未出现下降趋势。可见,在交易系统节点数量较少时,本文交易系统在吞吐性能上具有一定优势,但系统吞吐量峰值较小,与供应链系统实际应用需求有一定差距,系统吞吐性能的提升空间较大。

5 结束语

区块链技术的快速发展以及社会各界对区块链技术的高度关注,使其被广泛应用于各行各业。本文设计一种基于区块链技术的供应链交易系统,利用区块链技术解决传统供应链系统中存在的信息不透明和交互困难等问题,实现更有效的信息共享和上下游协同。该供应链交易系统的主体为基于区块链技术的交易链,其通过交易智能合约完成对供应链交易信息、交易资金及交易结果的有效管理。实验结果表明,该系统已能够实现基本的交易功能及信息共享功能,但在系统吞吐量及复杂环境下的系统安全性等方面还需在后续研究中做进一步优化。

参考文献
[1]
LAMBERT D M, COOPER M C, PAGH J D. Supply chain management: implementation issues and research opportunities[J]. International Journal of Logistics Management, 1998, 9(2): 1-20. DOI:10.1108/09574099810805807
[2]
LU Yao, WEN Jie. Scheme of supply chain control and traceability based on bitcoin technology[J]. Computer Engineering, 2018, 44(12): 85-93, 101. (in Chinese)
陆尧, 文捷. 基于比特币技术的供应链管控与溯源方案[J]. 计算机工程, 2018, 44(12): 85-93, 101.
[3]
MARTEN R, KAI S. A blockchain research framework[J]. Business & Information Systems Engineering, 2017, 59(6): 385-409. DOI:10.1007/s12599-017-0506-0
[4]
DWYER G P. The economics of bitcoin and similar private digital currencies[J]. Journal of Financial Stability, 2015, 17: 81-91. DOI:10.1016/j.jfs.2014.11.006
[5]
ANTONOPOULOS A M. Mastering bitcoin: unlocking digital crypto-currencies[M]. Sebastopol, USA: O'Reilly Media, 2014.
[6]
CHEN Weili, ZHENG Zibin. Blockchain data analysis: a review of status, trends and challenges[J]. Journal of Computer Research and Development, 2018, 55(9): 1853-1870. (in Chinese)
陈伟利, 郑子彬. 区块链数据分析: 现状、趋势与挑战[J]. 计算机研究与发展, 2018, 55(9): 1853-1870.
[7]
[8]
ZENG Xueyun, HAO Ninghua, ZHENG Junchen, et al. A consortium blockchain paradigm on hyperledger-based peer-to-peer lending system[J]. China Communications, 2019, 16(8): 38-50. DOI:10.23919/JCC.2019.08.004
[9]
FAISAL J, LEI H, KYUHYUNG K, et al. A novel medical blockchain model for drug supply chain integrity management in a smart hospital[J]. Electronics, 2019, 8(5): 505-515. DOI:10.3390/electronics8050505
[10]
XIA Q, SIFAH E B, ASAMOAH K O, et al. MeDShare: trust-less medical data sharing among cloud service providers via blockchain[J]. IEEE Access, 2017, 5: 14757-14767. DOI:10.1109/ACCESS.2017.2730843
[11]
KSHETRI N. Can blockchain strengthen the Internet of Things?[J]. IT Professional, 2017, 19: 68-72. DOI:10.1109/MITP.2017.3051335
[12]
INGO W, XI W X, REGIS R, et al. Untrusted business process monitoring and execution using blockchain[C]//Proceedings of International Conference on Business Process Management. Berlin, Germany: Springer, 2016: 329-347.
[13]
LIANG L, FUTOU L, ERSHI Q. Research on risk avoidance and coordination of supply chain subject based on blockchain technology[J]. Sustainability, 2019, 11(7): 2182-2195. DOI:10.3390/su11072182
[14]
STALLINGS W. Cryptography and network security: principles and practice[J]. International Annals of Criminology, 1999, 46(4): 121-136.
[15]
RUFFING T, MORENO S P, KATE A. Coinshuffle: practical decentralized coin mixing for bitcoin[C]//Proceedings of European Symposium on Research in Computer Security. Berlin, Germany: Springer, 2014: 345-364.
[16]
SHAO Qifeng, JIN Cheqing, ZHANG Zhao, et al. Blockchain: architecture and research progress[J]. Chinese Journal of Computers, 2018, 41(5): 969-988. (in Chinese)
邵奇峰, 金澈清, 张召, 等. 区块链技术: 架构及进展[J]. 计算机学报, 2018, 41(5): 969-988.
[17]
GHASSAN K. Blockchain security and privacy[J]. IEEE Security & Privacy, 2018, 16(4): 11-12.
[18]
OUYANG Liwei, WANG Shuai, YUAN Yong, et al. Smart contracts: architecture and research progresses[J]. Acta Automatica Sinica, 2019, 45(3): 445-454. (in Chinese)
欧阳丽炜, 王帅, 袁勇, 等. 智能合约: 架构及进展[J]. 自动化学报, 2019, 45(3): 445-454.
[19]
CROOM S, ROMANO P, GIANNAKIS M. Supply chain management: an analytical framework for critical literature review[J]. European Journal of Purchasing and Supply Management, 2000, 6(1): 67-83. DOI:10.1016/S0969-7012(99)00030-1
[20]
ZHANG Yu, WEN Jiangtao. An IoT electric business model based on the protocol of bitcoin[C]//Proceedings of the 18th International Conference on Intelligence in Next Generation Networks. Washington D.C., USA: IEEE Press, 2015: 184-191.
[21]
WOOD G.Ethereum: a secure decentralized generalized transaction ledger[EB/OL].[2020-03-20].https://ethereum.github.io/yellowpaper/paper.pdf.
[22]
FU Menglin, WU Lifa, ZHENG Hong, et al. A critical-path-coverage-based vulnerability detection method for smart contracts[J]. IEEE Access, 2019, 7: 147327-147344. DOI:10.1109/ACCESS.2019.2947146
[23]
MAKHDOOM I, ZHOU I, ABOLHASAN M, et al. PrivySharing: a blockchain-based framework for privacy-preserving and secure data sharing in smart cities[J]. Computers & Security, 2020, 88: 1-24.
[24]
WANG Zhaojing, WANG Tengyu, HU Hao, et al. Blockchain-based framework for improving supply chain traceability and information sharing in precast construction[J]. Automation in Construction, 2020, 111: 1-13.
[25]
LIANG W J, CAO J, FAN Y. Modeling and implementation of cattle/beef supply chain traceability using a distributed RFID-based framework in China[J]. PLoS One, 2015, 10(10): 42-58.
[26]
JI Lusheng, ZHANG Jialing, YANG Jiarun. The protection scheme of personal data under the chain based on blockchain[J]. Computer Engineering, 2021, 47(2): 176-181, 187. (in Chinese)
纪露生, 张桂玲, 杨佳润. 基于区块链的链下个人数据保护方案[J]. 计算机工程, 2021, 47(2): 176-181, 187.