文摘
公平的要求,供应链的安全性和效率显著增加,由于全球化的兴起。然而,一些问题的信息流、物流、供应链和资本流动仍然是一个挑战,如上游和下游之间的信息不对称,质量不合格的商品,难以追溯,不履行付款义务。因此,本文提出一种blockchain-based供应链框架(SESCF),安全有效地解决供应链问题。首先,合同区块链和智能的使用保证了信息对称的供应链系统。第二,无线电频率识别(RFID)提供了一个独特的身份,这有助于在实时质量监控。此外,不变性和分布式存储区块链发挥重要作用的跟踪货物的起源。第三,有效的支付通道是用来解决拖欠货款的问题。此外,模拟智能合同以及安全分析本文提出了。我们还实现一个blockchain-based供应链系统(SescfDapp),它是建立在一个财团区块链。大规模的实验,详细分析证明我们提出了系统的可行性和有效性。
1。介绍
近年来,随着全球分工的深入,现代企业的供应链不断扩展,导致分裂,复杂性,地理分散等特点,这给供应链管理带来了巨大挑战[1- - - - - -3]。供应链的运作不仅影响到企业的核心利益,也影响到整个供应链和相关企业的利益,这使得它越来越重要的提出一个公平、安全、高效的供应链系统(4- - - - - -6]。信息流、物流、资金流三个供应链的命脉。指导物流、信息流和物流推动资本流动。然而,在实际工作情况下,如信息流动不足,物流效率低,不变资本流经常发生。首先,由于信息不对称和延迟的上游和下游企业很难控制货物的流动。也有风险,信息将破坏导致欺诈行为,这将导致成本大幅增加,显著降低效率。此外,现代供应链包含了商品的生产和分配的所有方面,从原材料到成品交付给消费者。然而,供应链涉及范围广阔,监督不力导致买家缺乏一个可靠的方法来验证产品的真实性。因此,全球假冒市场非常淹没。由欧盟发布的一份报告指出,假货的全球市场价值高达4000亿美元以上。 About 5% of all goods imported into EU countries are fake and shoddy products over $100 billion [7),和监控产品的发展和有效的商品供应链物流管理是确保产品质量的关键。与此同时,现有的供应链管理系统约束较弱,链上的企业有很大的操作空间,导致最后的现金结算供应商和买方之间的高度依赖双方的契约精神,尤其是当涉及多方事务和多级事务。上述问题变得更具挑战性,当有一个缺乏透明度和互信在当前的供应链系统。
区块链技术是解决上述问题的一个可行的方法;换句话说,区块链和供应链是一对天然的8- - - - - -10]。首先,区块链的结构是一种可以储存信息的时间序列数据,这是类似于商品流通供应链的形式。其次,信息更新的频率相对较低的供应链可以避免当前区块链技术的缺陷的处理性能。每笔交易区块链上的信息,如交易方,交易时间和交易内容,将记录在一块,存储在链上的每个节点的分布式分类,确保完整性、可靠性和高透明度的信息。根据(11),为各种不同的用例在资本市场,分布式分类技术(DLT)有可能减少交易延迟,运营风险,摩擦过程,流动性要求等等。如前所述在2018中国区块链行业白皮书[12],区块链技术在许多领域已经开始实现实体经济。报告介绍了区块链应用程序在实体经济领域包括货物跟踪,版权和供应链应用程序场景。然而,仍有许多重大挑战在实现blockchain-based系统在现实世界中。
它是非常具有挑战性的提出一个有效的系统以确保公平和安全的信息流,物流,供应链和资本流动的同时,随着供应链是支离破碎的,复杂的,和地理上分散的。此外,这样一个系统的可行性和实施仍有待解决。因此,在本文中,我们提出一个blockchain-based框架(SESCF)确保公平和安全的供应链系统效率。首先,使用合同区块链和智能的供应链使得上游和下游企业之间的信息披露,由于区块链是一个分布式的分类帐,也就是说,区块链上的信息记录和共享的各种参与者在同一时间。此外,无线电频率识别(RFID)提供了一个独特的每个商品的身份,这有助于监控质量和实时跟踪货物的来源(13,14]。同时,我们利用付款通道解决拖欠货款的问题(15- - - - - -18]。这里,SESCF允许双方的交易将一定数量的硬币支付通道。一旦发生违约或超时,聪明的合同将被触发,以确保双方的硬币的安全。在我们的设计中,区块链和智能合约使验证的信息,产品,和钱,而他们的供应链。我们认为诚实用户运行没有错误的系统,和聪明的合同必须正确执行。的贡献可以概括如下:(1)据我们所知,这是第一个基于区块链高效供应链框架,保证公平和安全的信息流、物流、资金流。与此同时,本文给出了相应的智能合约。(2)我们改善了供应链的效率通过将商品交易和资本交易,具体地说,将商品交易链,相反,把资本交易链通过打开支付渠道。(3)我们聪明的合同在模拟环境中运行,评估气体Ethereum网络成本,和实验结果证明了我们的解决方案的可行性。在此基础上,我们建立一个高效blockchain-based系统SescfDapp。此外,我们也进行详细的SESCF脆弱性评估和讨论如何针对恶意攻击系统仍然是安全的。
本文的其余部分组织如下。部分2讨论相关工作。部分3介绍了背景技术和相关知识。部分4提出了一种安全、高效的blockchain-based框架。部分5描述了实现细节。部分6显示了我们的实验结果提出了系统。部分7分析智能安全的合同在这工作。最后,部分8本文总结并提出了未来工作的方向。
2。相关工作
区块链出生在比特币系统(19),现在越来越多的行业提出他们的区块链解决方案。阿扎利亚et al。20.)提出了一种分散的系统使用区块链MedRec处理电子病历。张,邓21)提出了一个安全计费协议在计程车之旅。乘客和司机使用公开可验证的两党blockchains同意乘坐出租车费用。Biswas和Muthukkumarasamy22]区块链应用于智能城市与智能设备和集成区块链为智能城市提供一个安全的通信平台。
此外,区块链引入了在供应链领域链更加透明,真实,值得信赖。很多研究已经完成,以确保供应链的安全性和完整性23,24]。共享,一致同意的,不可变的分类帐帮助跟踪原点和转换经历了在供应链。区块链将创建一个正式注册表来跟踪货物的占有整个供应链。
在当前的研究中,大多数研究者都致力于使用区块链技术和物联网(物联网)设备来实现供应链的透明度和可追溯性(4,14,25- - - - - -30.]。Bocek et al。30.]提出区块链可用于各种物理领域,药品供应链为例,详细介绍如何使用供应链的区块链。制造商与供应商之间实现公平交易,Alahmadi和林4)提出了一个blockchain-based供应链管理系统,它使用防篡改功能区块链的公平贸易产品。在[28),马克·皮尔金顿提出区块链提供了一个开创性的方法可以再现与消费产品透明度和建立新的关系。要克服过度添加防腐剂和有害化学物质在葡萄酒的生产过程中,Biswas et al。26)提出了一个blockchain-based葡萄酒供应链可追溯系统跟踪假冒葡萄酒供应链。特别是,有许多研究[14,25,27,29日)结合RFID和区块链技术的发展建立一个供应链可追溯系统。田(25提出了一个新颖的农业供应链可追溯系统和评估系统的优点和缺点。丰田章男et al。27)提出了一个产品所有权管理系统(盐)高度RFID产品,可用于跟踪假冒产品的供应链系统。崔et al。29日)实现了一个可追溯系统的电子零件供应链基于区块链,跟踪每个芯片无损的方式。Mondal et al。14)提出了一个blockchain-based食品供应链可追溯系统,结合RFID和区块链来构建一个完整的系统架构,以确保食品供应链系统的透明度。
3所示。背景技术
在本节中,我们首先介绍本文中所使用的技术,它包含区块链,聪明的合同,RFID,支付通道。此外,我们给简要分析这些技术如何用于SESCF和效果如何。
3.1。区块链
区块链是计算机技术的一个新的应用程序模型,如分布式数据存储、点对点的传播,共识机制和加密算法(9,31日]。简而言之,这是一个列表,记录相关的加密技术。与集中式数据库,这是一个分散的事务和数据管理技术,是在一个理想状态低信任(或不可靠的)交换系统,也就是说,信息在这个系统不依赖于第三方。此外,它利用p2p网络上执行点对点验证项目和分配在分类帐事务细节。比特币的底层技术,区块链一直是一个热门话题和金融领域的安全。
根据网络集中化的程度,区块链分为三种类型:(i)公共区块链。世界各地的人们可以读取数据,发送交易,和“我”在公共区块链。因此,公共区块链也被认为是一个完全分散的存在,作为任何组织和机构能够控制它。正如我们所知,比特币和Ethereum典型公共区块链(19,32]。(2)财团区块链:一些组织或机构共同参与财团区块链管理。值得注意的是,与公众区块链,只有组织访问数据的权限。(3)私人区块链:一个组织或机构控制着写在私人区块链和节点参与将严格限制。
在这篇文章中,我们实现一个SESCF评价系统,它是建立在一个财团区块链。如果一个节点想要加入SESCF,它需要申请证书颁发机构(CA)。节点通过CA认证成功后,它可以加入SESCF。每个节点在SESCF有权对矿业竞争,和由多个实体组成的认证可以有效防止非法交易等问题。如果一个事务的实体试图篡改交易记录单独或与其他事务的实体,其他实体可能证明自己的不当行为基于他们的交易记录,从SESCF删除它们。
3.2。聪明的合同
聪明的合同,作为turing的编程语言之一,于1994年首次提出的尼克。萨博(31日]。它是数字,协议是使用加密的代码执行。换句话说,聪明的合同是一个计算机协议旨在促进,验证,和执行谈判数字。因此,聪明的合同没有第三方可以执行可靠的事务,而这些事务是可跟踪的和不可逆转的。此外,聪明的合同不能被篡改,因为它已经被存储和记录区块链。如果有人想篡改它,他必须篡改整个区块链的分类,这是昂贵的。
通常,一个普通的合同阻碍了供应链的发展,因为它需要大量劳动力。更重要的是,由于供应链高度开放、盗窃、损失,和欺诈很常见。幸运的是,聪明的合同克服这些缺点为政党提供安全、透明的数字版本。此外,它可以自动任务和事务,甚至限制行为基于规则存储在代码。
3.3。无线电频率识别
物联网(物联网),或“互联网的一切,”形成的是一个巨大的网络将各种信息传感设备与互联网。有些IoT-based追踪和跟踪的基础设施,如电子监测(EAS)条,无线电频率识别(RFID),和QR码,这主要是针对自动包访问跟踪(33]。在上面提到的物联网设备,RFID低负荷和小,所以我们使用RFID解决供应链物流中存在的问题(13,17,34- - - - - -38]。从这些设备可以实现传感器数据和RFID信息近实时资产跟踪、监控和报警。更广泛地说,这些设备产生的数据帮助产生可行的结果,通知业务智能,帮助企业提高业务。
此外,由于区块链是一个分布式系统,它不能直接理解物流的地位,如在运输过程中,食物的温度。因此,应用区块链物流与物联网结合必须完成。在实际生产过程中,需要将一个RFID标签附加到每个货物存储信息,如ID和产品信息。特别是,当运输货物有高要求的温度和其他条件,如水果、药品、冷冻食品,实时信息读取RFID标签的货物箱通过手持终端,以确保产品的有效性。根据产品规范信息(包括农产品)的检验检疫信息存储在RFID标签,可以进行质量检验货物。此外,RFID标签可以用作anticounterfeiting追溯信息的载体。
3.4。支付通道
在当前区块链应用程序(如比特币(19),一个新的块需要立即传播到网络中的所有节点生成下一个块之前。这将确保比特币的安全系统。因此,为了满足这一特点,比特币使用工作证明(战俘)控制块的速度生产一块10分钟。此外,为了确保块的传播率,块大小也是有限的(39]。
使用支付通道实现off-chain支付已经成为一种很有前途的方法来解决比特币的效率和可伸缩性问题[15- - - - - -18]。双方的交易支付通道没有链接。简而言之,支付通道就像一个安全的存款盒,他们锁硬币存款担保一个聪明的合同。交易完成后,通道是关闭,以及它们之间的所有事务提交到网络。在这一步中,双方回到自己的硬币最后交易后根据他们的地位。
4所示。SESCF
在本节中,我们首先介绍了安全、高效blockchain-based供应链框架(SESCF),解决了存在的问题在信息流、物流、资金流。之后,我们立即提供SESCF产生交易的过程。
4.1。Blockchain-Based系统模型
图1演示了一个总体概述系统架构来解决现有问题的信息流,物流,和资本流动。我们的系统引入了一个竞争性招标机制,确保在SESCF实体之间的信息的透明度。此外,支付通道是用来允许这些实体的安全的硬币。提出的系统模型是一个分层架构分为三层。第一层是用户层处理SESCF的线下实体之间的运输。这些交互涉及商品与RFID标签存储货物信息。第二层,即。,the transaction layer, handles the online transactions of SESCF, including (i) trading event, in which the goods demander firstly publishes an order demand, then the goods suppliers bid based on it, and finally, the goods demander chooses the winning bidder to conduct the transaction, (ii) payment event, in which two parties conduct capital transactions by opening a payment channel, and (iii) delivery event, which is inspecting goods information when receiving the goods using the information stored in RFID. The third layer is the blockchain layer that stores transactions and data. Also, it tracks the source of the problematic goods involved in SESCF. It is worth noting that the blockchain layer enforces strict access control strategies to prevent unauthorized reading and writing of data.
SESCF只允许注册用户执行特定的事务。如果一个节点想要加入SESCF,它需要先验证的证书颁发机构。证书颁发机构,负责注册的身份在SESCF所有实体。此外,每个函数可以由特定的实体。实体描述如下:供应商,生产商,零售商,证书颁发机构。供应商(S)。供应商是生产商的企业提供各种所需资源和他们的竞争对手,其中包括提供原材料、设备、能源、和劳动。生产商(P)。生产商向零售商供应商品的企业。他们使用的原材料或组件来进行一系列的日常消费品相对自动化机械设备和生产过程。当P和S需求达成协议,将打开一个off-chain P和S。零售商(右)。零售商销售主要来自零售的企业,也就是说,零售商商品直接卖给最终消费者。与生产商相比,他们在商品流通的最后阶段。同样,当R和P需求达成协议,R将打开一个off-chain通道和P。证书颁发机构(CA)。数字证书认证中心是一个组织问题。此外,作为一个受信任的第三方在电子商务交易中,它负责检查公钥系统的公共密钥的合法性。
在接下来的论文,因为零售商和生产商之间的场景是生产商和供应商之间的相似,我们只把原材料供应商和生产商之间的交易为例。此外,该系统模型分为三个部分:信息流、物流、和资本流动。
4.2。信息流动
商品流通,所有信息的流动称为信息流。此外,信息共享有助于提高系统的效率。然而,由于信息不对称等因素引起的上游和下游的时间,空间,和技术,传统的供应链信息系统是分布在各个参与者的手中。到目前为止,还没有平台可以收集所有商品信息完全信任。因此,我们建议使用区块链解决信息流的问题。在这里,信息流动主要是指供求信息。
每个参与的实体都有一对公钥和私钥和参与智能合同中通过调用函数。解决透明度的上游和下游之间的供求信息,SESCF竞争性招标方法介绍。图2概述了序列流情况货物要求者,即。、生产商和供应商的货物。,suppliers, complete the trading event by invoking the smart contract. When P needs a batch of raw materials, he executes theSendTender T 功能发布招标公告 ,也就是说,N在SESCF供应商。在这里,是一个订单原材料的需求签署的私钥,其格式所示(1)。然后,事件RequestedSendTender调用并提供所有活动参与者(即,和 )。 执行SendBid 函数发送投标价格在投标截止时间之前,属性eprice加密是指投标价格的公钥。值得注意的是,如果实体不参与这个报价,不需要发送投标价格。一旦达到投标截止日期,使用他的私钥解密 ,eprice、….eprice得到价格、….price然后,ComputeWinBidder( , ,价格、…·价格, )函数执行选择投标价格最低的供应商 ,也就是说,the winning bidder. TheRequestedComputeWinBidder事件触发智能合同,然后自动执行InformLetterofAcceptance ( , ,…, , , )通知参与实体的中标人。后和通过事件达成协议RequestedInformLetterofAcceptance,迹象与他的私钥和执行BroadcastTender ( , , )函数来播放该事务。事件RequestedBroadcastTender激活通知该事务的实体进行交互(例如,和 )在那个特定的时间点: 在哪里Oname代表了温柔的名字,具体地说,它意味着所需的原材料 。Osize指的是订单数量的温柔,代表所需的原材料数量P。Qspec指的是货物的质量规范是指不合格货物的最大数量。Txtype指的是类型的事务,需要注意的是,Txtype是txptos在 ,指事务发送的吗P来年代。PD指的是存款,这是价格的一部分P需要支付年代提前。LD代表了违约金,应付金额P如果年代交货的最后期限之前不送货。的三倍代表三个最后期限:投标的最后期限,是计算的最后期限 ,和交货的最后期限。
4.3。物流
物流是运输整合功能的过程中,存储和分布从供应商到接收器。因为供应链的结构是非常复杂的,有很多假冒商品,这是一个非常耗时的和具有挑战性的任务,跟踪货物的物流。因此,在SESCF,我们主要解决物流的问题质量不合格的和可追溯性。
图3代表质量检验消息序列图。也就是说,货物交付时进行质量检验,拒绝接受他们,如果质量不合格。离线后交付来 ,这个函数SendDelivery( , , )执行和事件吗RequestedDelivery被激活。这里的参数是一个提货单用私钥签署的 ,及其所示格式是(2)。收到货物后离线,调用函数InspectGoods( , ,RFIDInfo,Qspec, )检查质量和参数RFIDInfo代表货物存储在射频识别的信息。的RequestedInspectGoods事件触发智能自动执行合同SendFlag( , ,数,国旗)通知检验结果,属性数表示不合格商品的总数量,国旗指示是否已通过测试,即。,真或假。如果国旗是真的,P迹象与他的私钥,并执行BroadcastDelivery( , , )播放该事务。否则,返回货物 。
另一方面,尽管假货经常出现在我们的生活中,跟踪供应链的假货非常麻烦。因此,图4显示的消息序列图用户使用智能跟踪合同货物的起源。一旦用户发现了一个假的,他第一次扫描的RFID标签和传递Gid和id_set存储在RFID作为参数的函数TraceGoods(用户,Gid,id_set)。这样,用户可以跟踪不仅生产者的假也假的供应商提供原材料。的RequestedTraceGoods事件触发智能查询交易合同区块链,然后,查询结果返回给用户的功能SendTraceResult(用户,tx_set),tx_set是事务集合。 在哪里EXhash代表相关招标事务的散列值。Txtype指的是类型的事务Txtype是txstop在 ,指事务发送的吗年代来P。Tx是交货单,货物具体是指RFID标签的内容。此外,RFID标签包含Gid(商品id),id_set(原材料标识的商品),商品名称、起源、来源、生产日期、产品规范信息(包括过期日期),等应该注意的是,每一个Gid在我们的系统里是独一无二的。农业商品,Qspec是指检验检疫信息。特别是对商品与及时性,如肉类和水果,特别要注意有效期。
4.4。资本流动
资本流动是货币流通的过程。上游和下游的效率和动态优化资本经营的操作质量直接关系到企业资金循环。然而,支付的违约是供应链中的常见问题。解决付款违约,我们认为开一个付款通道两边的事务。此外,将资本交易off-chain减少链上的浪费资源。
图5概述了序列流为一个场景,生产者和中标人支付定金,平衡,违约金的支付渠道。后广播 ,这个函数OpenChannel ( , , ,timelock)执行申请打开一个付款通道之间和 ,在哪里timelock是指信道的有效时间。成功打开通道后,和第一个信号通过事件用自己的私钥RequestedOpenChannel然后放一些硬币的钱包在通过执行功能InputCoins ( ,硬币,通道),InputCoins ( ,硬币,通道)。特别是,在多重签名地址由两党控制,P需要存储不少于订单的价格,然后呢是需要存储不少于LD。现在,P执行的函数PayDeposit( , ,PD,通道支付定金 。如果按时交付,PayBalance( , ,平衡,通道)是执行的支付平衡。否则,执行PayLiquidatedDamages( , ,LD,通道)支付违约金。特别是,如果提供在最后期限之前,和可以执行的函数CloseChannel ( , , ,通道)申请提前关闭支付通道。事件RequestedCloseChannel激活通知成功的实体交互的通道关闭,然后呢和将回到各自的硬币根据过去的事务的状态。比特币等与电子货币的形式付款事务所示如下方程:
EXhash代表招标事务相关的散列值。Txin是输入地址,Txout是输出地址。Txtype是支付事务的类型,我们决定增加或减少的基础上吗的硬币和通道关闭后的硬币:(i)的硬币和增加的硬币下降,这意味着不按时交货,支付约定的损失赔偿,然后Txtype是LD;(2)如果的硬币和减少硬币的增加,这意味着年代按时交付支付商品的价格,然后Txtype的价格是商品。Txcount的数量是 。
5。的实现细节SESCF
在本节中,我们从三个部分:实现SESCF信息流、物流、和资本流动。特别是,每个部分的具体智能合约。
5.1。信息流动
正如前面所讨论的,我们建议使用一个竞争性招标机制,确保上游和下游供求信息的对称性。也就是说,发布招标公告 ,…,报价,最后,选择最低的投标人 。根据这些流程,三个定义原语:温柔的,报价,计算。这个过程中描述的算法1。温柔的。在招标阶段,第一次发送签署的的私钥聪明的合同。然后,聪明的远期合同来 ,…,在收到 。报价。在投标阶段,在收到转发的聪明的合同, ,…,根据选择投标或放弃 。如果他们选择报价,他们需要使用的公钥,即 ,和一个随机数r加密投标价格,然后使用NIZK来计算一个零知识证明证明eprice正确地构造。值得注意的是,每个用户不知道别人的出价之前自己的,所以用户的出价是独立于他人的。只要没有披露收购信息,用户的报价保持私人即使投标。在收到消息 ,…, ,聪明的合同首先判断当前时间小于 ,确保 ,…,首次进行投标演习,然后验证他们的承诺是正确的。如果验证通过,聪明的合同自动转发消息 。计算。在计算阶段, , , 首先要求计算。如果( )以前没有要求计算吗 ,这意味着它已经放弃了收购。然后,解密的投标并比较其与价格周期的选择( )最低的价格。之后,聪明的合同发送消息是否中标人 ,…, 。最后,使用签署和广播 。
|
5.2。物流
交货时间,买方首先扫描射频识别,然后使用RFIDInfo,Qspec,作为输入触发智能质量检验合同。我们定义了一个原始的完成质量检验:检查。这个过程中描述的算法2。检查。第一次发送签署的聪明的合同之前最新的交货时间 ,和聪明的远期合同来 。之后,离线接收货物,他扫描射频识别标签。与此同时,Qspec, ,和RFIDInfo作为参数传递到聪明的合同质量检验。具体来说,聪明的合同遍历并比较他们的货物的信息Qspec。检验结果有两种情况:(i)如果不合格货物的数量不大于 ,然后将签署与和广播 。(2)如果不合格货物的数量大于 ,聪明的合同将会通知和不合格产品的数量将返回的货物离线。
|
算法3描述的过程跟踪SESCF假货的来源。同样,我们定义了一个原始的完整的可追溯性:跟踪。跟踪。使用一个独特的Gid确定货物可以实现可追溯性。节4.3,我们已经介绍了Gid和id_set。一旦发现问题商品,用户可以扫描射频识别获得的独特Gid和id_set。货物中包含的信息存储在区块链上,这样用户可以找到对应的吗并进一步根据定位问题的供应商货物Gid和id_set。
|
5.3。资本流动
算法4描述了供应链的解决拖欠货款的过程。具体地说,后广播 ,支付通道C , 时间锁打开之间和立即。我们定义三个原语完成付款:打开通道,付款,关闭通道。在这里,txhash是指的散列值。打开通道。在明渠阶段,发行的硬币不少于订单价格进入通道,和释放硬币不少于LD进入通道。以及,锁设置为 。最后,双方都使用自己的私钥签署通道C , 。时间锁的作用是设置最新频道的关闭时间。简而言之, ,如果C , 还没有关闭,它会自动关闭,同时,该频道的硬币是重新分配,报区块链。付款。在付款阶段,支付PD后,通道被打开。如果无法送到之前 ,他将支付LD来自动通过聪明的合同 。相反,如果成功交付之前 , 将支付通过智能平衡合同。关闭通道。成功交付后 , 或申请关闭付款通道。如果C , 没有关闭吗 ,它表明,之前未能实现 ;然后支付LD来 。 和签字C , 并提交他们的硬币区块链的平衡。
|
6。评价
在本节中,我们首先讨论SESCF并使用仿真工具的假设来证明聪明的合同的可行性。然后我们实现一个高效blockchain-based供应链系统。我们的系统在Windows操作系统上运行。最后,我们给出一个比较SESCF和现有blockchain-based供应链框架。
6.1。仿真和结果
我们测试智能合同提出了模拟模式。具体来说,我们使用混音,MetaMask,巧克力酱智能合同的可行性和性能测试。混音是官方Ethereum的在线集成开发环境(IDE)。坚固的语言可以用来完成在线开发、编译、测试、部署、调试、和交互Ethereum聪明的合同在web页面。巧克力酱为虚拟用户提供一定数量的虚拟cryptocurrencies。通过可视化界面,用户可以直观地设置不同的参数,浏览和查看账户和交易数据。MetaMask Chrome插件,所以它非常方便使用它在浏览器中完成传输和其他操作。系统的规格如下:英特尔酷睿i7 - 10510 u, 2.4 GHz处理器,16 GB的RAM和500 GB的存储。
Ethereum规定两个账户:普通账户和智能账户。对于普通转让交易,称普通账户,所需的气体是固定的 。然而,如果用户调用智能账户,所需的气体不同,因为聪明的复杂性合同是不同的。事务占用更多的资源,更多的天然气是必需的。以下是我们测试的表现评估建议的解决方案:(i)所需的天然气成本部署智能合约,(ii)的天然气消费总量由不同数量的节点在竞争性招标机制,(iii)的天然气消费总量由不同数量的货物时检查货物的质量,及(iv)的天然气消费总量由不同数量的事务跟踪货物。
图6显示了天然气消费的四个部署在SESCF聪明的合同。从图中,我们可以看到竞争性招标()最气和消耗检查()消耗最少的气体。Ethereum、天然气需要转化为乙支付。在这里,我们将天然气价格= 1 Gwei =乙,然后部署智能合约的总成本 乙。
在图7的天然气消耗不同数量的供应商竞标机制。竞争性招标机制包括三个功能,即,温柔的(),报价(),计算()。SESCF,供应商数量的增加,资源(计算、内存等)占据在招标也增加。很明显的直方图,作为供应商的节点数量的增加,需要更多的天然气运行智能合同。此外,报价()函数使用天然气的最大数量为执行和事务,因为相比其他功能报价()函数不仅需要加密的报价还需要计算和验证 。
在交付阶段,需要先对货物进行质量检验。图8显示的气体消耗不同数量的货物检查()函数。通过大量的实验,我们发现,在检查阶段天然气消费商品的数量成正比,也就是说,随着产品数量的增加,需要更多的天然气。
比较的交易数量SESCF跟踪货物所需的气体,我们添加不同数量的交易SESCF进行测试。结果如图所示9。我们在智能合同规定Trace ()一旦交易查询,它会停止运行。因此,天然气消耗的Trace ()函数不仅是相关的事务数量SESCF也相关的ID阻止货物所在地。然而,通过这些柱状图,我们得出的结论是,更多的交易SESCF将花费更少的多的事务。
6.2。建设和结果
在前一节实验结果表明,我们提出的智能合约是可行的。接下来,我们开发一个高效blockchain-based供应链系统SescfDapp。SescfDapp在Windows操作系统上运行,使用c++语言实现。此外,我们假设任何单位在网络上有足够的计算能力摧毁超过一半的网络节点,只有注册实体可以买卖货物SescfDapp。
首先,用户运行SescfDapp然后输入端口号和选择身份登录界面。登录成功后,SescfDapp自动获取当前用户的IP地址并生成一对公钥和私钥和为用户初始化一个钱包。接下来,SescfDapp发送用户的IP地址、端口号、身份,和公共CA为验证的关键。如果验证成功,系统将获得一个证书绑定IP地址,端口号,身份和公钥。但在我们简化的供应链系统,CA服务器验证步骤省略。因此,我们考虑到IP地址、端口号和公钥证书。
在用户登录之后SescfDapp主页显示的IP,端口号和用户的身份。他能在竞争性招标,进一步检查,跟踪,付款页面。值得注意的是,节点只有三个不同身份:供应商,生产商,零售商。以下是运行时间的SescfDapp。我们的效率SescfDapp通过分析他们。
图10显示的时间成本竞争性招标机制。我们提供不同数量的节点SescfDapp和运行多次研究影响投标时间成本。它是清晰可见的图计算()函数消耗最大的时间成本和执行温柔的()函数。这是因为计算()函数不仅需要广播的计算结果但也需要执行解密和逻辑复杂的操作。的温柔的()只需要广播功能来 。因此,时间成本温柔的()相对较低。运行时的报价()功能,我们发现投标用户的平均运行时间为3.08×10−1秒。的执行时间报价()功能主要包括两个部分:(i)的时间(我 1、…N )发送eprice和和每个证据的大小1.25 MB;(2)智能合同确认的时间 。
我们第一次打开一个付款通道之间和在SescfDapp并执行付款操作。我们注意到,任何两个用户之间的通道被打开SescfDapp,它只需要4×10−2秒付款操作的道路上和 。这大大减少了区块链上的开销。
在图11,时间成本检查和跟踪货物在物流阶段。我们测试的执行时间的变化检查()函数随着产品数量的增加,的执行时间的变化Trace ()函数作为交易的数量增加。从实验中观察到的检查()函数是影响较小的商品的数量。当货物到达的数量 ,的运行时间检查()只是 秒。然而,Trace ()函数是极大地影响系统中事务的数量。当交易的数量是1,的运行时间Trace ()是秒,但是当事务的数量 ,它的运行时间达到3.45秒。
随着时间的推移,会有越来越多的节点SescfDapp,导致越来越多的交易。根据实验结果,(i)的节点数量影响的时间成本温柔的()和计算(),但当节点的数目达到数百万,的运行时间温柔的()只有7.44×10−1秒的计算()是4.78秒,(ii)交易数量影响的时间成本Trace ()。当交易数量达到数百万的顺序,可以观察到的运行时间Trace ()是3.45秒。上面的时间是充分的出处的场景。
6.3。比较
在表1,我们给一个比较SESCF和现有blockchain-based供应链系统的功能(14,23,25,29日]。虽然目前的工作使用区块链供应链解决问题,研究工作主要集中在供应链的一个方面。正如我们所知,供应链是一个复杂的系统包括信息流、物流、资金流。因此,我们首先提出一个高效的供应链框架基于区块链,保证公平和安全的信息流、物流、供应链和资本流动的在同一时间。此外,我们比较SESCF和方案的效率23]。相比之下,我们只考虑主要业务有重大开销和忽视操作复杂度较低。
我们实施计划(23)基于SescfDapp。图12表明质量检验和可追溯性的评价函数的实验。我们可以看到,两个方案的质量检验时间增加商品和数量SESCF达到更优化的性能。两个方案都必须检查货物的参数是否满足生产需求的索引。计划(23)需要验证当前节点信息,然后上传和包货物信息。与此同时,SESCF不需要执行这些操作。
应该注意的是,货物ID是独特的在这两个方案。可追溯性的函数,两个方案之间的差异是搜索使用的方式ID。计划(23需要遍历所有事务,而SESCF设置一个关键字总,也就是说,当查询结果的数量等于总,聪明的合同将终止。因此,SESCF更快的相同数量的事务。其效率的差异越来越明显的交易数量的增加。
7所示。安全分析
在本节中,我们首先介绍智能合同的漏洞和安全问题,允许恶意用户利用智能合同。然后,提出了SESCF是如何抵御这些攻击。
7.1。漏洞和攻击
我们都知道,区块链的数据是安全的和不可改变的,代码的可执行性在智能合同账户使它不可能被打破。此外,聪明的使用合同可以实时更新,减少人工干预,提高供应链的效率。然而,如果聪明的合同中有安全漏洞,对手可以操纵智能合约的执行来获得利润。因此,整个系统的安全将会受到破坏。在这里,我们介绍几个漏洞智能合同提出的论文(40]:Transaction-Ordering依赖(TOD),时间戳的依赖,处理异常,可重入性的弱点。
Transaction-Ordering依赖是一个错误,可能会被恶意用户。通常,需要一定的时间为一个事务广播和打包在一块。假设攻击者监控网络中相应的合同的事务,然后立即发送一个事务更改合同现状。通过这样做,后来被释放事务可能是排名前首次推出事务。例如,提交一个获奖测试合同和一个事务承诺给予丰厚的奖励,允许其他节点找到正确的答案。在提交和 , 继续监控网络是否任何人提交事务给出了正确的答案。一旦一个人提交 , 立即提交一个事务减少了奖金是证实。此外,提供了一个更高的气体,这样是先由矿工处理。最后,当矿工的过程 ,奖金变得极低,免费几乎可以得到正确的答案。
Ethereum规定,当一个矿工包一个新的块 ,如果的时间戳大于和时间戳之间的差异小于900秒,的时间戳也是合法的。时间戳的依赖意味着智能合同的执行取决于当前块的时间戳。不同的时间戳将导致不同的合同的执行结果。假设下面的场景,有一个彩票合同这需要一个值n计算从当前时间戳和其他变量,可以预先知道。此外,表明参与者与相同数量n将获得奖品。尽管矿业一块,尝试不同的提前时间戳来计算n,把奖品给指定的参与者。
在Ethereum,聪明的合同可以调用另一个合同通过send ()命令。如果抛出一个异常(低电池或调用堆栈限制超过,等等),是终止。然而,异常可能不会传播到吗 。上面的是处理异常。例如,故意超过极限深度的调用堆栈攻击智能合同。是说Ethereum虚拟机的实现限制1024帧调用堆栈的深度。此外,如果调用 ,调用堆栈的深度增加。所以,提交一个聪明的合同自称是1023倍,然后发送事务鲍勃。在这一过程中,确保鲍勃的调用堆栈深度达到1024,这原因鲍勃无法发送指令。
可重入性的弱点顾名思义,敌人可以多次进入智能合同。在Ethereum,聪明的合同可以调用其他外部合同的规范。考虑以下合同发送乙到外部地址。这个函数需要调用的代码外部合同。在这个时候,通过劫持外部调用,可以多次进入转移()合同转移资金的功能。
7.2。安全证明
的四个部分中提到的攻击方法7.1,本节提出了安全定理证明SESCF是安全的和有效的。
定理1。SESCF并不依赖Transaction-Ordering。
证明。在SESCF,提交和达成协议通过竞争机制。的概率降低合同的回报通过释放另一个事务修改当前的合同状态几乎是不可能的。一方面,与崇拜的和和播放 。另一方面,一次广播、C < , >立即打开。需要释放硬币不少于 。价格,需要释放硬币不少于 。LD到C < , >。此外,和将自动支付 。PD, 。平衡, 。LD根据的交付状态。
定理2。SESCF不依赖于块的时间戳。
证明。在竞争机制中,选择投标价格最低的供应商通过比较 。价格, , 。价格。因此,不存在的情况选择一个指定的供应商一个事务不断计算块的时间戳。另外,报价的 ,…,被加密的 ,这样的报价 ,…,独立于他人的。
定理3。SESCF不会引起处理异常和可重入性弱点。
证明。例外被的合同而不是传递到调用者可能导致处理异常。除此之外,在Ethereum,当调用另一个合同,合同当前事务等待调用完成。这个问题会导致可重入性弱点当事务使用了调用者的中间状态。很清楚的是,这两个错误引起的电话。在SESCF,竞争性招标(),检查(),跟踪(),和支付()是相互独立的,即,没有要求他们之间的关系。
8。结论
我们提议SESCF,一个安全、高效的供应链框架。据作者的知识,它是第一个系统来保证公平和安全的信息流、物流、供应链和资本流动系统同时利用区块链。由于空间限制,因为零售商和生产商之间的场景是类似于生产商和供应商之间,只有后者已经说明。具体来说,我们提供了算法流程,详细讨论了智能合同。此外,进行仿真,结果表明,部署和执行SESCF只需要一定量的气体,这表明SESCF的可行性。在此基础上,我们开发了一个高效的blockchain-based供应链系统SescfDapp。最后,我们评估SESCF和证明是健壮的和安全的实体代理恶意。
在本文中,我们把多种类型的交易在一个链。在现实中,这可能会降低搜索效率。这是一个有趣的问题框架如何扩展成多链结构,也就是说,我们将考虑将不同类型的交易在未来不同的侧链。通过这样做,不仅搜索效率也将大大提高系统吞吐量。
数据可用性
使用的数据来支持本研究的结果包括在本文中。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作是支持部分由中国国家重点研发项目(批准号2020 yfa0712300),部分由中国国家自然科学基金(批准号61632012),部分由彭程广东省实验室项目(批准号PCL2018KP004)。