郭含月 周霁婷 王嘉麒 马潇宇 刘广源
(上海大学上海电影学院 上海 200072)
随着进口产品在国内市场的推广,海淘客户端应用软件和海淘网站层出不穷,消费者购买海外商品的消费行为越来越普遍。2019年1月9日,天猫国际联合第一财经商业数据中心共同发布《2018跨境消费新常态年轻人群洞察报告》:2018年跨境电商爆炸式增长,进口总额大幅增长。截至2018年10月,跨境电商进口总额同比增长53.7%,预计2020年,中国跨境消费用户将超过2亿人[1]。
但目前为止,海外商品的溯源系统并不完善。商品真假难辨,产品信息、发货信息甚至物流信息均可以造假,假货在市场上的流通给正品商家造成了巨大的财产损失,更是严重危害了消费者的权益。
传统模式下的授权、存证系统存在一系列问题:(1) 传统系统采用集中式存储方式进行记录,信息容易被篡改,更容易造成中心节点压力过载的问题。(2) 中心化平台的信任机制无法满足物联网信息高度自动化趋势的需求。(3) 中心化平台无法保证用户隐私数据不被泄露。(4) 目前各大跨境电商平台的授权管理分布于各大跨境电商系统,不同的平台需要对接不同平台的海外进口业务。由此可见,去中心化、去信任化、信息可追溯化是目前供应链的发展需求。
区块链技术涵盖的数字签名技术、现代密码学技术、时间戳和智能合约[2]能够更好地满足未来互联网信息高度自动化和程序化的需求,满足目前供应链上的需求。目前,国内资料和论文主要围绕农产品、食品安全、奢侈品的溯源方向,跨境电商溯源系统的相关论文稀少。本文分析比较国内商品追溯系统学术成果,如:文献[3]面向跨境化妆品提出一种区块链溯源系统,可以保证化妆品的交易、分销、物流管理中的安全可靠,在区块链网络层面上分析并提出使用某种算法来保证交易信息的可靠性,但具体算法并未得出;文献[4]基于对食品安全的需求提出了一种互联网环境下猪肉的溯源系统,但系统没有脱离对于中心数据库的依赖;文献[5]具体分析了大数据环境下区块链技术溯源模型的优势给出了相应的业务模型和系统架构,但没有进行应用方面的分析。这三篇文献为区块链方向上的溯源系统研究提供了理论上的参考和架构。本文分析国外的学术成果,如:Korpela等[6]通过区块链技术高效地实现了供应链整合;Tian[7]建立一个区块链的食品供应链实时追溯系统,提供了一个开放、透明、中立、可靠和安全的信息平台,并且讨论了在未来的供应链追溯系统中应用区块链技术所面临的挑战。这两篇文献为区块链技术在供应链领域上的发展提供了新的思路。
结合上述文献中区块链技术对于防伪、信息追溯方向的探索,本文提出一种适用于我国相关政策,安全可靠的区块链存证系统。系统的主要创新点在于:(1) 以交易的形式完成商品和商品数量的授权工作,支持多层次、多级别的授权形式。(2) 通过智能合约设置权限,实现用户之间的商品授权、交易登记与存证、交易信息的可追溯性查询。(3) 授权交易过程中采用了数字签名技术,保证了交易信息的安全可靠。(4) 进行了相对应的功能测试仿真实验,生成了对应的可视化界面,客观地确保了本系统的可操作性。
比特币的开发者中本聪[8]于 2008 年整合了前人的相关技术和算法提出了比特币的底层架构——区块链。
区块链本质上是一个去中心化的数据库,是一串使用现代密码学加密手段相关联产生的块链式数据结构,每一个数据区块中包含了一系列的交易信息,用于验证交易的有效性并生成下一个区块[9]。区块链虽然是近十年提出的新概念,但区块链涵盖的技术都已经十分成熟。在供应链上物流、资金流等实体之间的协调与交易信息错综复杂,难以保证供应链上信息的透明度和可信度。区块链技术可以统一供应链平台,提高供应链管理效率,降低维护成本,实现信息可溯源化,基于区块链技术的供应链系统具有很广阔的应用场景。
智能合约的概念于1995年由Nick Szabo首次提出,他指出智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。智能合约是一种模块化、可重用的自动执行脚本,可替代第三方信任平台实现交易双方直接进行可信交易,这些交易可追溯且无法发生回滚。智能合约根据按照实际业务逻辑定义相应规则,调用智能合约将会按照合约定义的交易规则来实现链上的交易,访问链上信息。智能合约运行于区块链系统之中,访问区块和状态数据[10]。
智能合约的提出大大拓展了区块链的应用领域,使其不仅仅存在于数字货币的概念,由此进入了区块链2.0阶段。以以太坊为代表,目前应用主要分为三种类型:金融领域应用;半金融领域应用,并非完全的数字货币交易;非金融应用[11]。本文提出的应用是无币区块链系统,属于第三种应用领域。
区块链与智能合约相结合,区块链应用技术得以发展,但底层协议相对复杂,开发难度较大,不便于区块链系统的开发和应用[12]。
2013年,以太坊创始人Vitalik Buterin[2]发起了以太坊项目。以太坊的开发与应用相对方便,提供了图灵完备的智能合约开发语言。以太坊完善了脚本系统,使智能合约应用于非金融领域,进入提供资产货币以外应用场景,更加节约存储空间。本文基于智能合约代码和以太坊平台最终实现了一个去中心化应用。
数字签名又称为电子签名,核心思想是通过某种算法对数字信息进行“签署”,数字签名和物理签名一样具有法律效益[13]。数字签名的主要作用是验证信息来源和保证传输过程中信息的完整性。数字签名的主要流程如下,其中:M为发送信息(交易信息);H为生成的消息摘要;Kpv为发送者私钥;Kpb为发送者公钥;Sig表示公钥签名算法;D代表解密算法。
(1) 发送方使用散列算法将交易信息M生成信息摘要H,并使用私钥Kpv对信息摘要签名,签名后的信息为S=Sig(Kpv,M)。
(2) 发送者将签名后的信息摘要S以及信息M发送给接收方。
(3) 接收方使用发送者公钥Kpb对信息摘要进行解密D(Kpb,S),得到解密后的信息摘要H1。
(4) 接收方将信息M进行散列算法生成摘要H2,并且与步骤(3)中解密后的摘要进行比对,若H1=H2,则可以证明消息由授权方发出并且得到了授权方的签署,接收到的授权信息没有受到篡改,信息在发送过程中没有受到篡改。
本系统面向各大海外品牌商家和消费者两类用户,分别满足两类用户的防伪、溯源需求。各大海外品牌商家可以通过本系统查询所有授权商品和授权信息,对于未授权却参与售卖商家进行投诉。消费者可以通过商品ID查询所在商场是否具备商品授权资格,以及商品的授权数量,商品ID将载入商品的外包装上。
对于海外商家,其在国外拥有自己的发货仓,可以向国内各大授权分仓发货,国内各分仓可继续向小超市授权商品、发货。区块链记录商品ID,向各个分仓的发货数量、交易信息。各大分仓库完成注册以及登记,海外商家发货给分仓,发货数量登记在链,用于品牌授权证明。
海外发货仓拥有查询所有交易的权限,除了能够查询到本仓与国内各地分仓的交易之外,还可以查询到分仓的商品流向,一旦查询到商铺的进口商品的流量大于授权数量,就可以发起诉讼,或者保留电子凭证咨询情况。每个仓库都可以查询到自己库存商品的商品信息和商品剩余情况,商铺或者线上仓库每次交易后的交易信息都会经过私钥签名发送到区块链网络上,同时通过智能合约更新自己商品的库存情况。
海外商家向各地分仓(如上海分仓,苏州分仓,北京分仓)进行商品授权,各地分仓可以继续向各地超市和小分商进行授权管理,各地超市和小分商授权进行线下售卖活动,同样由区块链记录交易详情。消费者也可以直接向国内分仓线上交易,分仓库发货给消费者。为了保证授权交易的安全性和可信度,每一项授权业务都会由发起方进行数字签名。通过认证的消息才会被接收者获得,否则会被过滤。具体分级授权流程如图1所示。
图1 授权流程图
对于消费者,其可以通过商品ID,查询到商品从海外总仓授权给了哪几个各地分仓,各地分仓又授权给了哪些商铺的整个流动信息,可以查询所购买产品所在分仓或者超市(取决于购物方式是线上交易还是线下交易)是否拥有产品授权资格,以及商品的授权数量。消费者以此判断所购买的产品是否正版,购买途径是否正规。
购买商品时,商品的授权数量会显示在消费者的小票或者页面详情上,发生购买行为后,购买方商品库存数量会相应减少。如果国内商家在授权商品数量已经小于出售数量的情况下依然贩卖商品,消费者可以依据查询情况对商品真伪作初步判断。图2是系统业务时序图。
图2 业务时序图
本系统通过区块链技术记录交易信息,通过数字签名技术完成签名认证,通过智能合约完成授权信息存证、交易信息上链,以及各个平台的查询工作。整个系统分为上层客户端、后端系统和底层存储三部分。
上层客户端直接为客户服务,整合了HTML+CSS+JavaScript+LayUI等应用技术,可以使用中间层提供的RESTful接口与区块链进行交互。
后端系统作为客户端和区块链之间的中间层结构,采用Node.js作为后端,选择Web3.js接口。关键的算法逻辑智能合约已经实现,后端的作用是实现数据的编码、解码、转发,以及为客户端提供RESTful接口。本系统在存证、授权交易过程中添加了数字签名,保证了信息的可靠性。
底层系统使用以太坊区块链来保证存证、授权功能的安全性和不可篡改性,通过智能合约完成大部分的算法逻辑。图3中列出了以太坊具体的挖矿模式、共识机制、网络协议,以及内部应用技术。
图3 系统架构图
本系统用户主要有海外商家、国内分仓、各大超市、消费者四种用户类型,相对应的功能模块如图4所示。
图4 功能模块图
根据需求分析,海外商家拥有登记商品信息,添加、更新商品,向国内分仓授权商品和查询库存商品和商品流向的功能(可以查询到授权的商品从国内分仓流向下一级小分商的流向信息),国内分仓具有查看授权商品、向各大超市或者小分商授权商品,以及查询商品流向的功能。各大超市用户的功能为查看授权商品、查询商品流向。消费者可以实现的功能是通过商品ID查询到商品的来源。
在智能合约的算法设计上,主要业务逻辑是仓库的注册或登录、商品入库、库存商品查询、商品授权和交易追溯。 本文在Remix在线测试网络环境下使用Solidity语言编译智能合约,并完成智能合约的功能测试。其中Remix 是一个开源的Solidity智能合约开发环境,提供基本的编译、部署至本地或测试网络、执行合约等功能。Solidity是以太坊官方设计和支持的高级开发语言,专门用于编写智能合约。
本文多次测试了智能合约所定义的每一个方法,全部测试成功。表1为测试结果,包括输入信息以及返回结果。
表1 智能合约测试结果表
续表1
实验部署于以太坊本地网络,通过Solidity语言对智能合约进行编译,通过Remix对智能合约进行开发和测试工作。本实验所用计算机硬件配置为CPU:Intel(R) Core(TM) i7-2600 @3.40 GHz ,RAM:4.00 GB。编译环境如表2所示。
表2 编译环境表
实验将系统部署于本地网络上,具体步骤如下:
(1) 启动Ganache CLI,设置监听端口,模拟以太坊网络环境。在以太坊区块链网络中,区块的产出和交易数据的记录是由矿工执行的。Ganache CLI的前身是Testrpc,提供了相关的监听端口,集成了Truffle开发框架,提供了一个以太坊的本地测试环境,自动产生10个测试节点以及相应的10个私钥,并且随着交易的进行而不断产生区块,记录信息。
(2) Truffle框架下,编译、部署智能合约。智能合约编译结束后,将其部署于本地测试网络,产生了相应的交易哈希,通过js进行接口调用,编译完成后的智能合约部署在区块链网络上,可进行相关的读取和存储操作。
(3) 开启本地服务器,访问客户端界面。通过智能合约,区块链数据与用户之间发生动态交互,生成可视化界面。进行客户端界面开发,测试相关功能,保证系统中的合法用户可以按照对应的权限对区块链的交易进行读写。
本文展示了一个基于区块链技术存证与授权去中心化系统。其中各大用户分布在区块链网络上,账户地址用节点地址进行登记。海外商家具有登记商品、授权商品、更新商品数量、查询库存和查询全部交易的功能。国内分仓和小分商具有查询库存和与仓库地址相关的交易记录的功能。
本系统最重要的业务逻辑是商品入库、商品授权和授权交易信息的溯源,本节展示产品入库后的库存查询和授权交易信息界面。
4.3.1商品入库
海外商家有权限进行商品的添加与更新,而国内分仓与三级分商的商品全部来源于海外商家授权的商品,从而保证数据的真实可靠。商品入库界面如图5所示。
图5 商品入库图
4.3.2商品授权
图6是海外商家对国内分仓的商品授权图,完成授权工作后,国内分仓合法拥有已经授权的商品数量,并且拥有商品的授权、售卖资格,但存在交易上限,交易上限即授权商品数量。
图6 商品授权图
4.3.3商家库存查询
商家商品入库后,可以查询到入库的所有商品,具体如图7所示。国内分仓和三级分商也可以查询相关库存,每个用户只享有查询该用户地址仓库库存情况的权限。
图7 库存查询界面图
4.3.4追溯交易记录
图8为海外商家查询商品交易详情界面,前三个交易信息是海外商家向国内分仓用户(本实验注册了三个国内分仓用户)授权的商品数量以及交易信息,之后的交易是国内分仓发送给三级分商的商品交易信息。交易信息包括:交易发送方地址,交易接收方地址,交易数量,交易时间。海外商家可以通过商品ID查询到与之相关的所有商品交易信息,包括海外商家分配给国内分仓的交易信息和国内分仓发送三级分商的商品交易信息。同样的业务逻辑,国内仓库用户可以查询到该地址所授权的与三级分商发生交易的交易信息。消费者同样可以通过商品的ID查询到购买方是否具有授权资格,代码逻辑和界面基本与海外品牌商查询界面一致。
图8 交易信息溯源界面图
本系统基于区块链技术实现了三级授权、交易存证的功能,保证了交易信息可追溯,交易过程以及交易结果安全可靠。表3为本系统与传统的授权存证系统的对比,充分说明了去中心化系统的优势。
表3 本系统与传统系统对比表
本文提出了一个基于区块链技术的跨境商品授权与存证系统,为海外防伪提供了一种新的思路,以三级授权的形式实现了海外品牌商对国内分仓的分级授权以及信息链上存证,实现了一个交易可追溯、安全可靠的去中心化应用系统。区块链技术在本系统中的作用是授权与存证,不参与数字资产交易,符合我国相关法律和政策,满足国内供应链需求。