没有合适的资源?快使用搜索试试~ 我知道了~
区块链:研究与应用3(2022)100072通过Hyperledger Fabric实现隐私保护的透明供应链管理Deebthik Ravia,Sashank Ramachandrana,Raahul Vignesha,Vinod Ramesh Falmarib,M. Brindhab,*a印度泰米尔纳德邦Tiruchirappalli国家技术学院电气和电子工程系,620015b印度泰米尔纳德邦Tiruchirappalli国家理工学院计算机科学与工程系,邮编:620015A R T I C L E I N F O保留字:许可区块链供应链Hyperledger Fabric出处隐私保护安全模块化A B S T R A C T区块链技术的革命始于一种名为比特币的加密货币。近年来,这种去中心化技术在全球范围内得到了广泛采用,并在多个领域得到了发展,包括电子政务、电子商务和资产管理。在颠覆了这些行业之后,选择区块链技术来解决有关供应链的现实问题似乎是一种创新战略。本文试图分析区块链提高供应链管理标准的能力。本文包括一种使用许可的区块链平台Hyperledger Fabric实现建议想法的方法。就本文的范围而言,现有的供应链问题,如数据完整性,来源透明度,隐私和安全性,在咖啡供应链行业的背景下得到了更具体的强调,同时也试图推广解决方案,以有效地管理其他供应链活动。因此,本研究的最终目标是确定许可的区块链平台是否可以帮助供应链行业的利益相关者参与传统网络技术的不易腐败的替代方案,以及它们是否可以实现更积极细致的区块链系统,在传统网络技术和公共区块链之间取得最佳平衡,包括隐私保护和安全性。1. 介绍互联网的出现以多种方式对人类产生了积极影响,特别是通过提供虚拟环境平台今天,每个行业都在积极尝试将其操作虚拟地转移到Web应用程序上。虽然互联网和网络应用程序已经取得了显着的声誉,但它们也有一个黑暗的一面,即成为犯罪活动的温床,包括在线欺诈和身份盗窃。因此,研究人员一直积极参与将互联网和Web应用程序转变为更安全和可信的来源。2009年,中本聪通过比特币的突破性发明向世界介绍了区块链技术的概念[1]。最初,仅限于金融领域,人们逐渐开始意识到这种巧妙的点对点设计架构的重要性。世界相信区块链的潜力,因为它是一种有前途的技术,可以保证人们之间的信任没有中介机构参与的实体区块链可以建立一个安全的通信模型,其中可以确保不变性和数据完整性。从那时起,这项新技术一直是解决现有互联网问题的先驱,与许多其他传统技术相比,它看起来像是一种很有前途的工具,可以保证存储数据的完整性和安全性[2]。Gartner是一家领先的研究和咨询公司,据估计,区块链技术将可能导致一个价值超过美国的行业。到2025年,商业价值将达到1760亿美元,到2030年将增加到3.1万亿美元一个将受到这种突破性技术高度影响的主要行业是供应链和物流行业。供应链和物流行业已成为全球大多数企业和企业不可或缺的一部分2019年全球供应链市场规模为158.5亿美元,预计到2027年将达到374.1亿美元,2020年至2027年的复合年增长率为11.2%由于供应链对世界经济的重要性,* 通讯作者。电子邮件地址:brindham@nitt.edu(M. Brindha)。https://doi.org/10.1016/j.bcra.2022.100072接收日期:2021年3月3日;接收日期:2022年2月9日;接受日期:2022年3月2096-7209/©2022作者。由Elsevier B.V.代表浙江大学出版社出版。这是CC BY许可证下的开放获取文章(creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表区块链:研究与应用杂志主页:www.journals.elsevier.com/blockchain-research-and-applicationsD. Ravi等人区块链:研究与应用3(2022)1000722对每一个终端消费者来说都至关重要 任何供应链的主要目标都是使产品随时可用,以满足客户的需求,这包括及时、足量地交付到适当的地点。近年来,供应链行业被迫使其流程对最终客户更加透明消费者不仅要求产品在正确的时间和地点可用,而且还期望产品是真实的。 每个公司的最终目标都是建立消费者的信任和满意度。 在仔细投资当前的供应链时,人们可以理解,在多个阶段缺乏信息会损害产品的信任。供应链管理的主要目标之一应该是提高整个供应链中材料的透明度,可追溯性和可追溯性[3]。因此,消费者应该更容易获得产品从生产到交付结合传统非区块链系统的当代系统有其公平份额的问题,这些问题在当前的技术和发展时代这些问题可以简单地分类如下:语义学:不透明、垄断和不对称人类干预:易受篡改、伪造数据、欺诈、偏见和腐败的影响● 底层技术:有限的可扩展性和单点故障上面列出的问题主要是由于对集中式系统的严重依赖而产生的,因此,自然地,这里的解决方案将是将范式转移到分散式系统,该系统应包含以下固有特征:● 分布式系统和分布式账本技术(DLT)● 透明性、不变性和真实性● 作为底层逻辑本文试图利用区块链技术解决供应链的不透明和复杂性。通过使用这种基于区块链的分类账,一种分布式的数据库[4]来记录这些基本信息,可以提高物流行业的整体信任度和真实性 它还有助于解决起源跟踪、集中式系统、不变性、真实性、可扩展性、可靠性等问题。 由于实现典型的公共区块链的解决方案可能会导致夸大和负超额的解决方案,因此提出了另一种解决方案,该解决方案将作为理想区块链系统的扩展。因此,本文旨在使用许可的基于区块链的平台HyperledgerFabric来实现这样一个解决方案,并比较它如何缓解由于全面的公共区块链系统而可能出现的问题,例如缺乏保密性,需要私有数据共享,缺乏模块化等。 同时通过进一步提供更多的灵活性来增强隐私和安全性,从而突出了典型的公共区块链系统的优势。 在本文的范围内,使用咖啡供应链的一个真实例子来详细解释这个想法。然而,这并不意味着区块链技术不能扩展到管理其他供应链。事实上,该论文的结论是,该平台可以进行修改和量身定制,以适应任何现实世界的供应链行业。本文的贡献是:使用Hyperledger Fabric制定和开发了一种新的基于许可区块链的数字供应链Hyperledger Fabric的通道系统允许网络对定义的利益相关者完全透明,同时还阻止访问授权系统列表之外的任何实体因此,传统(非区块链)系统中的不透明问题以及公共区块链系统的完全开放性问题都在这种情况下得到了解决。性能、可扩展性和隐私等因素通过Hyperledger Fabric的使用而得到提升,Hyperledger Fabric通过其许可的操作模式和在需要时限制透明度的能力来实现隐私和保密。一个可插拔和模块化的共识框架是使用Hyperledger Fabric的固有和广泛功能构建隐私保护、匿名性和区块链安全性由Hyperledger Fabric的底层加密服务和数字证书管理系统处理。通过Hyperledger Caliper使用以下指标分析了所提出的系统的性能:每秒交易量(TPS),交易延迟和交易吞吐量。2. 文献综述2009 年 , 第 一 种 名 为 比 特 币 的 数 字 货 币 通 过 当 时 由 SatoshiNakamoto发布的白皮书推出,Satoshi Nakamoto是这项发明背后的匿名开发者的化名。比特币成功地解决了双重支出问题,没有任何中介机构的参与[1]。比特币的去中心化架构使用区块链技术和工作量证明共识算法,提高了交易的透明度、信任度,从而提高了交易的可验证性。因此,逐渐地,比特币和区块链这些术语在技术社会中获得了尊重和认可比特币是一场传奇的技术革命,它重新定义了人们对银行和金融业的看法。 虽然这种加密货币最初看起来很有前途,但它也有自己的脚本。2014年底,Vitalik Buterin发布了一份白皮书,解决了比特币的问题,因此,他随后设计并开发了智能合约的新概念[5]。智能合约的引入和区块链技术的现有优势吸引了业务持份者的目光,将这项新技术应用于其企业解决方案中。这种对使用区块链构建市场解决方案的兴趣导致了几个平台的引入,包括最近版本的Hyperledger Fabric [6],它比其他竞争对手获得了更好的发展势头,后者有一些架构限制[7]。因此,HyperledgerFabric的设计架构和核心协议满足了企业级解决方案的需求,特别是在供应链和物流行业。最近的技术进步不断推动供应链管理的创新达到更高的高度。一些新技术,如物联网(IoT),机器学习,网络安全等,将传统供应链转变为智能供应链。在这些发展的推动下,区块链技术及其对供应链管理的影响最近越来越受到关注。 这种基于分类账的技术被认为是提高物流和其他供应链流程可追溯性和透明度的一种手段。正如第1节所讨论的供应链管理,欺诈可能发生在生产、加工、包装和运输过程中。因此,每项活动的透明度和可追踪性减少了维持粮食安全的问题。在这里,一些文献的透明度,可追溯性和供应链系统的重点。Jing等人使用神经网络反向传播方法专注于农业中的可追溯性问题[8]。然而,为了训练●●●●●●●●D. Ravi等人区块链:研究与应用3(2022)1000723网络,需要大量的测试数据此外,无线射频识别(RFID)技术亦应用于供应链管理。RFID是一种非接触式自动识别通信系统[9]。使用RFID,供应链系统的设计参考。[10、11]。 但成本更高,因为RFID系统需要UHFRFID读取器-打印机,软件来生产RFID标签,热转印色带等。接下来,区块链技术应用于农业,用于Refs的透明性,可追溯性和供应链管理。[8、9、12Salah等人[13]提出了一种使用以太坊,智能合约和IPFS(星际文件系统)的解决方案,用于供应链中的大豆可追溯性,并且在缺乏隐私,身份管理和可扩展性的意义上自然令人敬畏,正如作者自己在结论中使用以太坊和智能合约的有机食品供应链在Ref中开发[17 ]第10段。Hyperledger Sawtooth和智能合约在Refs中使用[18、20]。物联网与区块链一起被Tsang等人用于食品可追溯[19 ]第10段。Lin等人 [15]使用区块链和电子产品代码信息服务(EPCIS)设计了一个食品安全和可追溯性系统,并通过智能合约和以太坊开发了一个原型系统。Tao等人 [16]引入了一个分层的多域区块链网络来维护网络活动。参考文献[22]中提出了一个基于区块链的葡萄酒可追溯系统作者使用区块链来获取安全的、经过身份验证的信息,以验证酒瓶的来源和购买历史。拟议的框架是使用多链实现的,多链是一个用于实现私有区块链解决方案的开放平台。然而,他们的方法的一个主要缺点是它没有解决可伸缩性。见参考文件[23],Wang et al. 提出了一种基于以太坊区块链和智能合约原语的产品可追溯系统。 该系统储存与产品生命周期有关的信息,并规定实施事件反应机制,以在提交交易时核实所有交易双方的身份,从而保证交易的有效性。虽然这个想法有其积极的一面,比如事件响应机制和用于未来可追溯性的事件永久日志,但由于区块链的基本性质,它是公共的,因此无法提供完全的匿名或隐私。尽管以太坊区块链提供了合理的加密,但绝对有更多的空间来实现更新的创新。在参考文献中。 [24,25],作者建议在区块链上维护制成品的所有权信息。产品在离开制造商时与RFID标签相结合,当产品在不同实体之间交易时,RFID标签中的信息会更新,并在每次运输时存储所有权详细信息。 当产品到达零售商时,如果产品历史记录缺少她正在购买的卖家的出处信息,则消费者可以拒绝该产品。虽然这是一个相当有效的方法,从制造商到零售商的产品的可追溯性,在制造之前的信息来源无法获得。如前所述,许多论文引用了区块链用于供应链、物流等企业用例[26然而,从商业模式的角度来看,无论底层技术和发展如何,都必须保持某些恒定因素,例如竞争、敏感性和保密性[29]。因此,在将区块链技术与业务用例集成时肯定存在一些挑战[30这些挑战归因于上述文献中的大多数空白。 典型的公共区块链通常被误解为它们提供完全匿名性,而实际上它们只提供伪匿名性,并且公共区块链也存在可扩展性问题,并且通常缺乏模块化共识机制,无论记录保存模型如何[37]。为了填补这些空白,可以使用许可的区块链许可区块链,以及公共区块链的优势,提供了几个功能,如私人数据共享,完全匿名等,这可能使它们成为企业的完美解决方案[38,39,40]。 像Hyperledger Fabric这样的许可区块链系统提供了一种可插拔的共识机制,它们还提供了尖端的区块链安全性。因此,在这种情况下,主要的研究问题将是:(一)什么将是从一个集中式供应链系统的范式转变到一个分散的?(二)如何克服传统非区块链系统在供应链企业中的弊端?(iii)此外,如何才能进一步远离公共区块链并填补某些空白,如隐私,可扩展性和模块化?(四)如何克服缺乏完全匿名性这一关键差距(v)如何使用授权的区块链系统构建一个网络,提供一个满足所有上述因素的强大而平衡的系统?在本文中,咖啡豆供应链被用来证明许可区块链技术可以被集成,以提高供应链行业的透明度,效率,安全性,隐私性,可扩展性和鲁棒性。交易咖啡豆的供应链是一个繁琐的过程,包括种植,收获,脱壳,干燥,包装,散装,混合和烘焙。 在这些过程之间,咖啡豆还通过国际贸易商,出口销售商和零售商,如杂货店,咖啡馆和专卖店。这些相关组织之间很少或根本没有通信,这使得整个系统容易发生欺诈和诈骗。更糟糕的是,咖啡贸易供应链行业主要依赖电子邮件和传真机在世界各地发送和接收合同,这往往使网络容易出错和缓慢。虽然数字网络平台解决了一些问题,但组织之间共享的机密数据仍然容易受到黑客攻击。因此,为共享数据提供更好的安全性和完整性的数字解决方案至关重要。Hyperledger FabricDLT具有身份管理、身份匿名、私有数据共享、强加密协议和可插拔框架等有用功能,被提议作为咖啡供应链用例的合适解决方案,旨在说明一个许可的区块链系统,该系统将作为前面提到的研究空白的解决方案3. 预赛在本节中,提出的系统的基本原理,即,区块链技术的基础知识,Hyperledger Fabric和Hyperledger Caliper,被简单地描述。3.1. 区块链技术区块链提供分布式和共享存储来维护数据。因此,像集中式系统这样的单点故障被自动移除。区块链系统变得可信,因为系统中的每个对等体都知道发生了什么,最终保持了透明度。此外,它以不可变的方式存储数据区块链技术是不同机制和协议的集成。从根本上讲,它包括共识机制、加密哈希、分布式对等网络、不可变分类账和挖掘,具体描述如下:共识机制:通过共识协议执行授予事务和验证事务。例如,SOLO,KAFKA和RAFT是常用的。●D. Ravi等人区块链:研究与应用3(2022)1000724加密散列:由于加密散列是一种单向函数和确定性,因此它用于创建区块链。 区块链技术使用各种哈希算法来连接块。不可变分类账:区块链网络中的所有交易都是不可变的,因此它们是防篡改的,并且数据在更新期间无法修改。分布式对等网络:所有事务都通过网络系统在所有对等点之间广播,以分发和修改数据。挖矿:矿工使用Nonce值来解决挑战并进入区块链。这需要高计算速度来实现和获得奖励。在区块链技术中,网络系统可以是许可的(私有)或无许可的(公共)。在permissionless中,任何用户都可以通过解决挑战来进入系统在permissioned中,只有授权的用户才能参与。无需许可的区块链解决方案通常使用以太坊框架和智能合约。 智能合约就像参与者之间的电子协议。在许可类型中,Hyperledger Fabric框架很受欢迎。3.2. Hyperledger FabricHyperledger Fabric是一个由LinuX Foundation管理的模块化区块链项目,该基金会是一个促进分散式创新的联盟 由于Hyperledger Fabric是许可的,并且还提供智能合约支持(链码),因此它在多个领域的广泛应用中很受欢迎。 Fabric允许与会者使用区块链开发和部署应用程序。Hyper-ledger Fabric具有模块化的设计和架构,因此具有高度的灵活性和可扩展性。Hyperledger Fabric在横向上可以分为四个组件:身份管理、账本管理、交易管理和智能合约;在纵向上,Hyperledger Fabric可以分为其他五个组件:成员管理、共识服务、链码服务、安全和加密服务。区块链网络包含多个节点,这些节点托管区块链,执行链码,并维护账本中的数据。链码仅可由经过认证的对等体访问以保留隐私。其他同行无法知道发生了什么因此,每个对等体的角色都被定义,隐私是保存。这是通过结构通道实现的 由于这个通道,所有链码和数据只能由通道中的参与者身份验证实体访问。在区块链网络设置期间,使用加密方法生成身份以用于相对于通道对对等体进行认证。最终,可以确定给定对等体是否是对应信道的一部分。此外,Fabric网络还需要由订购方提供的订购服务。排序器负责在相应通道上执行由Fabric网络验证的链代码函数的执行本质上是构成Fabric网络中的事务的内容。这些事务与同一对等体的其他事务隔离,也与Fabric代码隔离,这是通过将链代码执行封装在Docker容器中来完成的。所有链码都保持一个持久状态,称为键值存储。这些键值存储由链码函数更新,链码函数具有get和put方法,允许它们对键值存储执行读取和写入操作。诸如LevelDB或CouchDB之类的状态数据库在同一节点内部为这些键值对提供存储图1显示了Fabric中的事务步骤,描述如下:1. 事务发起:客户端是事务的发起者最初,创建请求提议以调用链码函数。接下来,这个提议由客户端签名,并提交给部署链码的通道。根据关于链码的背书政策,客户希望收到一些背书2. 交易的验证:背书对等体(EP)验证签名。为此,认可对等点对客户端的格式良好性、真实性、重放保护和授权进行所有有效性检查如果所有检查都正确通过,则对等体针对其自己的键值存储执行事务,然后对等体生成包含作为链码函数执行的输出而产生的读写集合的确认接下来,所有这些值都由对等体签名,并作为对建议或认可的确认发送回客户端。目前未对分类账进行任何修改。3. 背书和订购请求的收集:客户端接收所有背书,然后检查、比较和验证Fig. 1. Hyperledger Fabric中的事务流程。●●●●D. Ravi等人区块链:研究与应用3(2022)1000725是否已根据链码的批注和政策对于读操作,客户端不发送排序请求。如果请求是针对链码调用,即,写时,背书被合并到一个事务中,并由对等体提交给排序者。然后,交易和订单由订购者根据渠道进行验证。4. 事务验证和提交:排序器将块内的所有有序事务交付给通道上的所有对等体根据背书策略,交易由对等体验证,如果所有检查都是正确的,那么对等体将相应的区块添加到分类账中。所有对等体都必须提交(提交对等体)事务。背书只能由通道中的特定对等体子集完成,这些对等体被称为背书对等体。通过使用Hyperledger Fabric开发咖啡豆供应链管理系统,由于Fabric提供对共识的细粒度控制,因此实现了对其他技术(如以太坊)的性能改进这将特别导致较大网络的相对性能增益,其中要求所有节点实现共识的标准共识算法可能开始面临一些瓶颈。此外,HyperledgerFabric的使用还有助于提高性能(以及可扩展性和隐私性),因为其允许的操作模式,可伸缩的透明度以及将伪匿名(由比特币或以太坊区块链提供)扩展到完全匿名的能力3.3. Hyperledger Caliper区块链用户最关键的方面之一是区块链解决方案的性能。然而,目前还没有一个通用的工具,可以根据一系列公正和普遍认可的准则,对各种区块链技术进行性能评估。存在一些关于不同背景下各种区块链实现的性能的研究,但区块链基准测试工具尚未被广泛接受。 HyperledgerCaliper是区块链框架的基准方法,也是区块链实现的基准目标。然而,可以快速创建区块链网络的工具是使用Caliper的理想选择。 HyperledgerCaliper可以生成包含各种性能指标的报告,例如TPS,事务延迟,资源使用等。 我们的目标是在其他Hyperledger项目开发应用程序时使用Caliper结果,并支持实现满足用户独特需求的区块链的选项。3.4. 初步比较分析主要有三种不同类型的区块链:公共,私有和许可。在公共区块链中,任何人都可以自由加入并参与区块链网络的核心活动。在私有区块链中,只允许经过验证的参与者的选定条目,并且对区块链上覆盖,编辑或删除记录的权限进行集中控制许可区块链在公共区块链和私有区块链之间画了一个中间地带,拥有两者的属性这种类型的区块链越来越受欢迎,特别是在企业用例中,这主要归功于它们能够为网络上的不同用户分配三种类型的区块链主要在以下因素方面有所不同:去中心化,参与区块链网络,共识机制,透明度和匿名性。注:由于私有区块链过于集中,仅用于利基应用程序,他们可以搁置进一步的分析和考虑。在本文的背景下,分析的三种不同范式任何区块链都有两个主要组件。区块链日志区块链日志基本上是一个交易日志,存储所有交易的历史,即,区块链账本中的状态变化添加到区块链中的每个区块都包含一个交易集合,允许所有参与者了解分类账中的变化历史此日志是只写的,因此如果需要恢复或更正特定事务,则必须发出具有新数据的附加事务以覆盖前一个事务。状态数据库描述了区块链网络中所有资产的当前状态。 当资产的状态发生变化时,会添加带有新版本号的其他记录。在没有状态数据库的情况下,程序必须通过遍历整个事务日志来计算当前状态。 因此,状态数据库的存在通过允许程序直接访问当前状态值来节省开销。在Hyperledger Fabric的上下文中,状态数据库被称为世界状态,存储在其中的值被定义为键值对。可以创建、更新和删除状态,因此世界状态可以频繁更改。在这里,可以根据资产的定义、记录和保存方式,以及从一种状态到另一种状态的转换过程,绘制另外两个分类(独立于前面描述的范式)并将其添加到区块链分类中。UTXO模型(未用交易输出)UTXO模型最初被设计为实现点对点电子现金系统,即,Bitcoin. 在比特币系统中,每笔交易都会获取前一笔交易生成的UTXO,然后地址在任何给定时间的任何给定时间的全局状态都是所有spatial UTXO的集合总和必须通过从起源块一路向下遍历来计算,这需要大量的时间,因此整体缓慢。因此,总的来说,UTXO模型是一种无状态模型,其中所有账户余额随时间的推移都被附加到存储在分类账中的相应交易记录UTXO模型的示例包括比特币、莱特币、卡尔达诺等。Account模型Account模型与UTXO模型有着根本的不同。该系统不跟踪资产的位置,而是简单地维护每个人的账户余额这些账户可以通过私钥或智能合约进行控制通过分别从发送方和接收方添加和减去相同数量的令牌来记录交易账户模式最初是为了方便以太坊区块链中的智能联系人而设计的当用户创建以太币钱包并接收第一笔交易时,由私钥控制的账户将被添加到全局状态,并存储在网络中的所有节点网络的控制通过部署智能合约与代码相关联资金可以由智能合约持有,然后由智能合约根据合约逻辑中定义的条件进行以太坊中的每个账户都包含一个余额、存储空间和用于调用其他账户的代码空间因此,总的来说,账户模型是一个有状态的模型,其中所有账户余额都通过专门为状态分配的存储空间存储在分类账中。账户模型的例子包括以太坊,索拉纳,瑞波等。注意:Hyperledger Fabric 1.4.7(用于本文中描述的工作的版本)默认使用Account模型,但它也支持●●●●●●●D. Ravi等人区块链:研究与应用3(2022)1000726如果需要的话,使用UTXO模型。与UTXO不同,当同一个区块链必须处理多种资产类型时,Account模型对于记录保存更有效,因此,它本质上更适合本文所述的工作。当针对区块链日志和状态数据库这两个组件进行列表,前面提到的范例将具有不同的排列,如表1所示。如表1所示,在诸如比特币之类的包含UTXO交易模型的公共区块链的情况下,不存在状态数据库,因此每次都遍历区块链以计算当前状态。Hyperledger Fabric避免了这一点,以提高速度和效率。另一方面,尽管基于账户的模型(如以太坊)确实拥有状态数据库,但HyperledgerFabric仍然是最好的解决方案-Hyperledger Fabric中的Ledger状态默认定义为键值对,这对框架的可扩展性做出了很大贡献。HyperledgerFabric中的世界状态在结构上实现为数据库,因此数据分类账状态的存储和检索变得简单而有效。世界状态数据库可以以多种方式实现,这取决于存储在分类账状态中的值的类型和复杂性。 实现世界状态数据库的两个主要选择是CouchDB和LevelDB。也有可能是一个完全定制的实现。可插拔实现中的这种灵活性与Hyperledger Fab- ric-modularity的一个重要方面密切相关。Hyperledger Fabric在配置分类账状态的类型方面提供了巨大的灵活性;例如,它可以是时态数据库,图形或数据存储等。这对于基于用例的访问更有效,因此允许系统解决广泛的问题。结合上述方面和供应的背景,Hyperledger Fabric当然有助于解决某些问题并实现其他有利功能。 在典型的供应链中,跟踪物品的来源--原产地、创建时间、每次交换或移交给多方--至关重要,因为它确保了有一个透明的、防篡改的所有权链来验证企业销售的产品的所有权和状态。在典型的业务中,没有日志,只有当前状态,因此无法检查和验证出处。显然,去中心化和隐私的概念是不一致的,特别是在这样的企业用例中。Hyper- ledger Fabric中的私有通道解决了这个问题,允许多个业务方在同一网络中共存。表1关于组件的范例比较区块链日志状态数据库传统制度缺席公共区块链存在不存在(UTXO)存在(帐户)Hyperledger Fabric存在存在4. 咖啡供应链图 2显示了传统的咖啡供应链。咖啡供应链是一系列复杂的流程和利益相关者,他们从世界各地的农场将咖啡豆种植成杯子在这个复杂的项目中涉及许多阶段,并且对于本文的范围,该链仅被整合到其突出的阶段:种植,农场检查员,收割机,出口商,进口商和加工商。1. 农民农民在耕种。 耕作是将自然资源转化为消费者可用产品的第一步。信息,如农场的详细信息和种植日期是在这里,并从这里,涉及到获得它的所有消费者可以开始的过程随着农场规模的不断扩大和农业实践的现代化,农场检查已成为供应链过程中的重要一步2. 农场督察农场检查员收集信息,例如与咖啡植物生长中使用的材料有关的细节,如咖啡家族咖啡农在这一环节中涉及两次,因为收获是农场检查后的一个单独过程3. 收割机收割者采摘、去壳、抛光、分级和分类农场上生长的豆子。在此过程中,跟踪有关作物品种、温度、湿度和采摘方法的信息可能对组织或最终用户有用4. EX搬运工收获后,出口商在将咖啡豆运往世界各地以满足对咖啡的需求方面发挥着至关重要的作用,包括咖啡种植仍然棘手的在此阶段收集出口商详细信息、运输详细信息、包裹详细信息和其他必要数据等信息5. 进口商在此步骤之后,咖啡豆由不同供应商大量进口,并储存在仓库中,然后转移到供应链的最后阶段在此步骤中记录的数据包括进口商详细信息、运输详细信息和仓库详细信息。图二. 传统咖啡供应链D. Ravi等人区块链:研究与应用3(2022)1000727图三. 使用Hyperledger Fabric的咖啡供应链。6. 处理器加工商是供应链的门面,也是最终的咖啡产品值得注意的是,在咖啡行业,加工商的种类繁多,有直销商,也有超级市场。 随着电子商务的出现,与咖啡业有关的加工商(或零售商)的种类进一步增加。加工商做出许多战略决策和添加,可能会改变最终产品的类型。因此,在该加工阶段期间的信息,例如加工条件、调味剂添加剂和其它产品信息,对于最终用户的眼睛来说是必要的,并且因此为了消费者安全而被记录。通过研究咖啡行业一般供应链流程的细节,很明显,网络中的每个阶段都有许多必要的细节,需要向最终用户提供更多的信息因此,试图通过Hyperledger Fabric使用许可区块链来提高咖啡供应链中所涉及的数据的整体可见性,如图所示。 3. 详细工作将在下一节中讨论。5. 拟议系统参与者的详细信息通过图1所示的类图进行描述。四、每个参与者都有BatchID和Stage来标识和处理阶段。附加属性根据阶段的性质而变化图 图5 显 示 了 使 用 Hyperledger Fabric 的 拟 议 架 构 。 参与者 通 过Hyperledger Fabric相互连接。每个参与者维护对等体以及链码和领导者。每个对等点都必须获得成员资格才能参与到结构中 会员服务提供商通过CA(认证机构)向请求的对等体颁发证书ECert(注册证书)。这些证书充当对等体的身份。要在Hyperledger Fabric环境中执行交易,需要调用链代码过程见图4。 系统的类图D. Ravi等人区块链:研究与应用3(2022)1000728图五、 拟议的架构。链码过程由任何经过认证的对等体发起,并由网络中的所有对等体执行。详细工作将在随后的小节中介绍。5.1. 网络架构图图6显示了用于咖啡供应链的区块链网络架构。 在所提出的网络架构下,参与供应链的每个组织都是一个渠道的一部分。HyperledgerFabric网络的结构是每个通道都链接到一个分类账,并且该分类账只能由同一通道内的对等体访问。因此,每个组织都可以访问同一分类账的副本,其中包含与供应链相关的所有数据。 由于整个数据库都是在账本上建模的,DLT的属性确保了数据的完整性-账本上的数据是不可变和防篡改的。 每个组织都有多个对等体,以增加数据冗余。在一个组织系统中,所有的对等点都可以与组织内的对等点进行通信。为了在组织之间进行通信,来自组织的单个对等体被指定为锚定对等体,锚定对等体能够经由信道直接交换信息。不是锚对等体的对等体通过锚对等体与其他组织通信如果锚点对等体在任何时候关闭,则不同的对等体将成为锚点对等体,并且因此由于这种故障保护机制,组织之间的通信在任何时间点都不会受到影响。建议的网络中的每个组织由两个对等体组成拟议的网络遵循筏共识协议。根据这个协议,服务器集群有领导者、候选者和追随者。集群成员投票选出集群领导者。一个群集只能有一个群集。当客户端向服务器指定一个命令时,领导者节点会触发一个远程过程调用(RPC)来指示跟随者更新/同步他们的日志,以匹配领导者日志中的新条目当大多数服务器提交新的更改时,该更改被视为已提交。完成后,leader执行新条目并将结果发送回客户端。Hyperledger Fabric专门使用Raft作为其共识算法,由于更高的图第六章 网络架构。D. Ravi等人区块链:研究与应用3(2022)1000729Raft相对于Kafka成功率和吞吐量5.2. Chaincode(SDK层)安装在对等体上并与通道交互的所有链码形成了称为Fabric SDK层的应用程序层 由于在所有组织的所有对等体上安装和实例化了相同的链码,因此为任何组织提供了更新供应链任何阶段的隐式权限。为了避免这种情况,并且只允许组织更新与其自身工作和操作相关的数据因此,链码本身的设计和编程必须能够验证所涉及的咖啡豆批次的当前阶段,并且只有在交易由正确的组织在正确的阶段发送时才允许交易被批准有了有效的代码来实现这一点,供应链就可以从供应链的组织内部防篡改5.2.1. 资产定义链码使不同组织的用户能够提供相应阶段的数据。 每个批次通过其批次ID进行标识。与单个阶段相关的信息被视为资产,因此,对于供应链中的每个阶段,链码中都有资产定义通过所有这些资产定义,链码提供了存储阶段数据、查询现有数据以及完成任何给定批次咖啡豆的批次历史的功能。5.3. REST API层链代码的调用通过Fabric SDK执行所有要存储或查询的事务建议都直接在这一层执行但是,将此过程抽象到中间通信层之后是一个很好的实践在建议的工作中,抽象是使用REST API层完成的。这一层向用户公开了基本的端点,比如GET和POST,以调用链码调用。这简化了最终用户对区块链网络的使用,同时抽象和隐藏了链码业务逻辑的复杂性为了创建与区块链成功交互的REST API层,所有用户的身份必须存储在钱包中,并带有相应的证书和密钥,这些证书和密钥是在当时生成的。使用cryptogen工具创建网络 Hyperledger Fabric SDK用于检查证书并在钱包中注册用户。 这确保了只有拥有正确凭证的用户才能访问网络并调用链码。如果将来为任何给定用户分配了新证书,则该用户将无法访问网络,直到他们的身份使用新证书在钱包中注册。每个REST端点在执行中遵循四个步骤。首先,SDK使用钱包中的相关身份与Fabric网关建立连接。其次,SDK访问需要执行操作的网络通道随后,调用包含要执行的链代码的特定合约如果这些步骤中的任何一个由于网络中断、证书无效或任何其他原因而失败,API将不会向网络提交事务 如果成功执行了所有三个步骤,则使用输入参数准备事务并将其提交给Fabric层。当链代码被调用并发送当用户向REST层发送响应时,相同的响应被发送回用户。图 7描述了在创建批处理过程中,农民和Hyperledger Fabric层通过REST API层进行的通信消息。农民只需通过REST API层向HyperledgerFabric请求Create Batch以及所需的数据REST API层负责所有其他事情来执行RESTBatch。 REST API层和Hyperledger Fabric层之间的通信如下所示:1. REST API层请求连接到Hyperledger Fabric层。2. 如果连接成功,Hyperledger将返回正向重定向。REST API层请求通道。3. 响应Hyperledger,发送相应的通道引用。5.4. 批次管理建议的系统是通过模拟批处理管理。批次是一个对象,包含供应链的所有参与者的信息,如农民,农场检查员等。 批管理通过三个操作实现:创建批、更新批和查询批。见图7。 示例序列图。D. Ravi等人区块链:研究与应用3(2022)100072101. 在创建新批次的过程中,仅使用有关培养的信息。属性batchID,3. QueryBatch要了解批次的状态,id用于从区块链中提取相应的批次。根据批次的阶段,batchStage、FarmerName、FarmAddress、EX porterName,Impor-提取相应的数据例如,在一个实施例中,如果batchStage为terName和Timestamp使用给定的输入值更新以创建对象。通过执行算法1来创建批处理。2. UpdateBatch随着流程的逐步进行,通过向批处理添加下一个阶段信息使用ID从区块链中提取batch。更新数据的当前阶段和相关属性,并再次将批处理恢复到区块链。 该过程在算法2中描述。Inspector“ , 然 后 是 FarmInspector 的 数 据 , 即 , 显 示 SeedType 、CoffeeFamily、FertilizerUsed和Timestamp。对于其他阶段,将显示相应的数据,如类图所示查询批处理过程在算法3中描述。接下来,REST API层发送对链码(智能合约)的请求 作为响应,Hyperledger返回相应的链代码引用,然后是用于执行Crea-teBatch交易的RESTAPI请求。最后,Hyperledger Fabric层发送交易的状态,即,成功或失败。D. Ravi等人区块链:研究与应用3(2022)100072115.5. 成员资格和访问控制由于Hyperledger Fabric,区块链网络变得私有,只有定义的利益相关者可以参与系统。因此,系统的安全性得以保持。这是由于特殊的访问机制和通道设置。因
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功