没有合适的资源?快使用搜索试试~ 我知道了~
区块链:研究与应用3(2022)100088研究文章面向工业应用Lodovica Marchesi*,Michele Marchesi,Roberto Tonelli,Maria Ilaria Lunesu数学与计算机科学系,卡利亚里大学,卡利亚里,09124,意大利A R T I C L E I N F O保留字:许可区块链工业应用信息系统软件应用以太坊A B S T R A C T区块链和在其上运行的程序,称为智能合约,越来越多地应用于需要信任和强有力证明 我们的工作重点是区块链的工业应用,而不是加密货币或代币。我们使用框架来比较特别适合工业应用的公共和许可区块链。我们还提出了一个基于以太坊的完整解决方案来实现一个去中心化的应用程序,以原始的方式将已经使用和证明的组件和模式组合在一起。该解决方案的特点是一组验证器节点使用权威证明或类似的有效共识算法运行区块链,使用浏览器使用户能够检查区块链状态,以及在其上运行的智能合约的源代码有时,最后开采区块的哈希摘要被写入公共区块链以保证不变性。发送交易的权利由验证器节点通过赋予用户本地挖掘的Ethers来授予总的来说,所提出的方法具有与公共区块链相同的透明度和不变性,大大减少了其缺点。1. 介绍区块链技术是已知技术的智能混合,最早由中本聪于2008年引入,作为比特币数字货币的推动者[1]。比特币的主要要求,就像每一种货币一样,是信任。事实上,要把你的储蓄变成一种货币,你需要相信这些钱在合理的年限内仍然是可消耗的,可以防止伪造、盗窃、欺诈、双重消费和非法转移,并且很容易转移。 比特币与其他货币多样化的另一个要求是没有一个中央机构来保证和管理它。在比特币中,这些功能是通过使用分布式对等网络来获得的,该网络基于在每个节点上运行的开源软件,每个节点都拥有交易数据库的副本,称为区块链。大量的节点和给予矿工的经济激励(他们验证交易并将其打包成块以换取奖励)保证了网络的生存和鲁棒性;所有节点的平等和开放性使网络分散;区块链的透明性和不变性使信任成为可能;用于向区块链添加新交易的共识机制(工作量证明)保证防止大规模的Sybil攻击;开采的比特币数量有限保证了防止入侵。比特币的成功,其市值在不到十几年的时间里从零变成了几千亿美元,证明了比特币愿景及其基础技术区块链的成功。然而,本文的主要重点不是加密货币,而是区块链的其他应用在2009年比特币推出几年后,开发人员和商人意识到区块链也可以用于运行分散的计算机。第一个成功的能够运行图灵完备程序的区块链,被称为“智能合约”(SC),这项工作的主要目标是澄清,讨论和添加新的想法和工具到许可或联盟区块链的结构和管理中,即节点由选定组织运行的区块链。 这些系统也被称为“分布式领导者”(DL或DLT,其中“T”代表“技术”)。原则上,区块链是DLT,但DLT不一定使用区块链来存储其信息,从而保证其不变性。在本文中,我们主要使用术语特别是,我们解决了那些基于类似于以太坊的区块链的问题,在那里你需要消耗他们的加密货币来发送* 通讯作者。电子邮件地址:lodovica. unica.it(L. Marchesi)。https://doi.org/10.1016/j.bcra.2022.100088接收日期:2021年9月21日;接收日期:2022年3月15日;接受日期:2022年4月30日2096-7209/©2022作者。由Elsevier B.V.代表浙江大学出版社出版。这是CC BY许可证下的开放获取文章(creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表区块链:研究与应用杂志主页:www.journals.elsevier.com/blockchain-research-and-applicationsL. Marchesi等人区块链:研究与应用3(2022)1000882交易可以修改区块链的状态。消耗的量称为“气”。捐款.我们工作的主要贡献如下:(i) 我们回顾了基于区块链的系统的特征和质量,基于公共和所谓的“许可”或“许可”区块链。 我们从现有的框架中选择标准,以选择最适合特定应用的区块链架构。(ii) 我们使用这个框架来证明并提出一个管理联盟区块链的架构,该架构保留了公共区块链的所有积极特征,但在很大程度上减少了它们在可扩展性,隐私性,成本和效率方面的缺点。(iii) 我们第一次以结构化的方式收集了区块链领域已经存在的许多想法其结果是一个易于适用于大多数联盟区块链的架构,高效,高度可配置和可扩展。这种架构利用了以太坊技术,但可以很容易地更改以支持其他区块链,例如Hyperledger。(iv) 我们更好地将典型的许可架构形式化,解释它必须具有几乎与公共区块链相同的透明度和强度的特征。确切地说,许可的区块链必须定期锚定到公共区块链(已经使用的工具,特别是在分布式数据存储解决方案中),并且同时,必须提供能够独立于所提供的应用程序探索区块链的探索者。(v) 对于基于gas机制的区块链,进一步的贡献是使用gas(以太币或该特定区块链的其他加密货币)来实现仅针对授权参与者的写入这个想法是,而不是根据您的登录授权来授予权限,因为您有可用的gas。这是有用的,因为gas是有限的,它还允许动态管理写权限。(vi) 我们提出了一个真实的案例研究,以显示如何使用的评估框架,以及如何实施该系统论文的结构本文的其余部分组织如下。第2节介绍了相关工作;第3节讨论了用于工业应用的许可区块链的要求并选择了评估标准;在第4节中,我们应用该框架来选择最适合我们目的的区块链平台;第5节描述了拟议的dApp架构;第6节介绍了一个真实的案例研究,其中包括实现农业食品来源和质量认证的dApp;第7节得出了本文的结论。2. 相关工作本文的目的是讨论公共区块链和许可区块链之间的差异,选择属于现有框架的标准来选择不同类型的区块链和DLT,并提出一个具体的解决方案来实现可公开访问的许可区块链。因此,我们将只考虑这些特定主题的作品,而不是区块链和SC技术和应用的一般作品关于评估框架,一些论文讨论了在实施特定信息系统时是否使用区块链其中,我们可以引用Peck [4]的开创性工作,以及Wüst和Gervais [5]以及Hassija等人[6]的最新工作,尽管在我们的论文中,我们已经假设已经做出了使用区块链的选择。一旦选择使用区块链,文献中有许多论文提供了如何为特定应用选择最适合的区块链技术的指导方针2017年,Koteska et al.[7]调查了区块链的质量要求和解决方案实现,从文献综述开始他们分析了区块链系统的各种质量问题,特别关注公共区块链。他们给出了一系列区块链特定的质量标准,以提供高数据完整性、安全性、可靠性和节点隐私。在2018年,Scriber [8]提出了一个确定区块链适用性的框架,其中包括10个区块链特征的列表,这些特征的存在使其适合于dApp系统。虽然Scriber的工作主要是确定区块链是否适合特定的应用程序,但我们使用了他的框架中的许多概念和想法来构建我们的框架,而不是比较评估不同的区块链解决方案。Maran h~ao等,在联合国推动的一个焦点小组中工作。国际电信联盟(ITU)评估分布式账本技术平台的标准,提出了DLT评估框架[9]。他们定义了三层:(i)核心技术层;(ii)应用层;及(iii)运营层;并为每一层指定了具体标准。 他们提出了由国际标准化机构标准化的第一个DLT评估框架之一。然后,他们展示了如何应用该框架,评估公共以太坊区块链。在他们非常详细的工作,Gourisetti等人。提出了区块链适用性框架(BAF),其专门设计的目的不仅是帮助决定区块链是否适合特定应用,而且还决定什么样的区块链,共识模型和功能是最合适的。 BAF分为五个领域,18个子领域和大约100个控件,使其全面,但反过来又不容易掌握和应用。Colomo-Palacios等人 [11]从技术演进的角度讨论了区块链评估倡议,从区块链1.0(比特币等)到区块链2.0(以太坊和SC),区块链3.0(IOTA,Cardano,Tezos等),和区块链4.0(使用人工智能, 区块链即服务等,仍在进行中)。他们研究了9篇关于区块链评估模型的论文(包括[8,9]),提取了技术和面向业务的方面。共有19个因素被发现,14个技术和5个业务导向。Garriga等人Chainmaster是一个概念框架,旨在帮助软件架构师、开发人员和决策者采用正确的区块链技术。他们确定了区块链系统的七个关键架构特征:(1)成本,(2)一致性,(3)功能和功能可扩展性,(4)性能和可扩展性,(5)安全性,(6)去中心化;(7)隐私。然后,他们分析了最流行的区块链和DLT中的技术逻辑决策,并将其与关键特征进行映射。然后,Chainmaster框架在四个真实的区块链项目上进行了关于支持区块链上最适合应用程序的架构设计决策的工作,文献仍然非常有限。Wessling等人[13]支持集成分散元素的过程,但他们专注于较低级别的设计模式,并没有提供真正的架构指导。Woehrer和Zdun最近关于架构设计决策的工作涵盖了基于区块链的解决方案的实现和集成[14]。他们从模式和实践的角度描述了架构设计决策和相关选项。 由于大多数设计决策都是由使用集中式元素来抵消当前区块链缺点的需求驱动的-通常是可扩展性,隐私和可用性,因此作者得出结论,混合架构在许多设计情况下都是有益的。关于许可区块链中的共识,它们的受控环境,获得高性能的需要,以及没有必要直接补偿验证者,排除了工作量证明和权益证明方法。在这些区块链中,节点分为验证器和简单节点。简单的节点可以发送交易并查询区块链,而只有验证者可以创建新的区块并将其添加到区块链中。许可区块链中使用的大多数算法都属于L. Marchesi等人区块链:研究与应用3(2022)1000883拜占庭容错(BFT)共识家族[15]。在BFT中,共识可以容忍恶意验证者的比例低于验证者总数的1/3 在工业许可的区块链中,验证者属于受信任的组织。因此,一个验证器可能变成恶意和欺骗的概率很低,并且恶意验证器变成所有验证器的三分之一或更多的概率可以忽略不计。当然,独立验证器的总数至少应该是7个,最好是10个或更多。根据验证器和简单节点的数量,实际使用的共识算法可能会有所不同。在工业应用的许可区块链的情况下,很难预测具有数十个以上验证器的网络。在这种情况下,优选的共识机制是BFT的变体,即其他特定算法,如Shapiro等人在实际的区块链测试平台上对这些共识机制进行了[18],Ahmad et al. [19],Gerrits et al.[17 ]第10段。所有这些研究评估系统的吞吐量,测量每秒的最大事务数(TX/s),作为节点数量的函数请注意,由于通信过载,性能往往会随着验证器的数量而下降Shapiro等人评估了IBFT、DBFT和Tendermint,表明DBFT的性能优于其他两种约一个数量级。Gerrits等人在汽车行业的用例背景下,比较了PBFT、IBFT、QBFT和Clique。这项研究表明,原来的PBFT的性能是不够的; IBFT和QBFT可以处理高达约450TX/s和团的三倍以上。Ahmad等人比较了PBFT、PoET和Clique,以及工作量证明和权益证明。在他们的测试中,Clique在TX/s方面优于PoET,高达50个验证器。对于更多的验证器,Clique和PoET具有近似相同的吞吐量。PoS的速度要慢得多,除了超过150个节点的区块链。PoW和PBFT的表现总是大大优于其他公司。引用的作品不能直接比较,因为它们使用了非常不同的基准和背景。然而,DBFT和Clique看起来是许可区块链共识的最佳选择。特别是,根据Gerrits等人,Clique最多可以处理1500 TX/s,如果有25个验证节点,则可以处理1100 TX/sAhmad等人在5个节点和10个节点的情况下要求8000 Tx/s,并且高达50个节点的情况下几乎5000 TX/s。之后,对于200个节点和250个节点,吞吐量降低到约1000 TX/s。综合考虑,Clique成为最多约50个验证节点的许可区块链的最佳共识机制,这也是由于其受欢迎程度和可用性。根据我们的经验,参与区块链并愿意运行验证器节点的独立组织的数量很少超过20这进一步证实了Clique是首选的共识协议。3. 使用dApps和各种区块链使用区块链的软件程序被称为2021年7月,使用Google Scholar搜索科学和技术文档,发现36,700个关于“智能合约”开发的结果,高于或远高于微服务开发(20,500)、全球软件工程(7670)、devops开发(23,500)甚至物联网“软件开发”(30,400)的结果dApp不仅包括实际运行在区块链上的SC,还包括管理区块链外部数据的软件以及与之交互的用户界面。最初,SC的主要用途是管理第二级数字货币,称为“代币”,主要用于为初始硬币提供融资创业公司[21]。除了代币,dApp现在还被用于数据公证、金融和保险合同、供应链管理[22- 24 ]、智能和微电网管理[ 25 ]、卫生部门(个人记录、药品交付、临床试验等)等领域的许多应用[26],身份管理和访问控制系统[24],去中心化公证[24],赌博,游戏,投票[24],以及许多其他[25,27]。dApp和SC可以用于自动执行合同义务,而无需信任中央机构,并且没有空间和时间限制。简而言之,使基于区块链的系统独一无二的属性是:分布:信息存储在多台计算机上,为系统提供弹性和安全性;可追溯性:所有交易的每一部分都是可追溯的,地址可以被已知与确定性;信任:保证资产可以存储的给定地址的所有权通过不对称密码学;匿名性:地址的所有者不需要公布他们的名字来发送交易,而只需证明相关私钥的所有权权力下放:在没有中央权力机构的情况下管理交易;透明度:区块链的内容易于访问和验证;不变性:接受的数据不能再以任何方式修改;可编程性:复杂的操作(智能合约)可以编程,其代码和执行也是完全可验证的。低成本:该系统由开放源码软件管理,维护成本低,运行成本可能也低(无论如何,这取决于交易费用)。3.1. 区块链的种类第一个区块链是公共的,也就是说,真正去中心化,抗审查,匿名,没有参与和访问限制。然而,公共区块链并非没有问题和限制。 它们通常是独特的系统,因此它们具有性能和可扩展性问题,因为每秒的最大交易数量很低,并且区块链的大小不断增长。此外,由于最流行的协议仍然使用“工作量证明”共识,它们的能耗很高为了解决这些问题,并仍然能够在现实世界的应用中使用该技术,引入了许可区块链 这些是封闭的网络,以前指定的各方在其中互动并参与数据验证和管理。 因此,它们也被称为“联盟区块链”。区块链必须展示的主要特征是,它本质上是一个没有中央权威的分布式系统在许可区块链中,节点的数量比公共区块链中的节点少得多,但它们仍然必须分散在已知的参与者之间。权力下放的原因可能是多方面的。例如,出于成本或法律责任方面的原因,可能没有一个组织愿意运行该系统;或者所涉组织可能不希望只让其中一个组织运行该系统;或者有许多独立的节点可以保证该系统的持久性和不变性。也有可能单个组织单独运行区块链或DLT,以利用其内部应用程序的功能然而,大多数使用区块链的理由都不成立,所以我们不会在本书的其余部分考虑这种情况被许可的区块链中的节点可以是验证者,其能够参与共识机制以验证和添加新的●●●●●●●●●L. Marchesi等人区块链:研究与应用3(2022)1000884区块到区块链,或者简单节点持有区块链的副本为了运行联盟区块链,有许多软件系统可用。大多数公共区块链软件都是开源的,适合用于管理联盟区块链。一个主要针对银行应用程序的着名财团区块链是Ripple,由一家私人公司开发,目前由大约150名受邀验证者运营还有一些项目旨在构建联盟区块链软件。其中最受欢迎的是Hyperledger,这是一个由LinuX基金会主办的开源合作项目,旨在构建跨行业区块链技术。一般来说,区块链可以根据它们如何授予添加新验证器或简单节点的权利以及读取/写入信息的权利来分类关于许可区块链,我们进一步区分了仅供特定授权合作伙伴使用的系统(封闭系统)和供公众访问的系统(开放系统)。前者的一个例子可能是银行之间进行和清算资金转移的系统,这种系统只能由银行进入,也可能由管制当局进入。后者的一个例子可能是一个保证食品来源和质量的制度,任何购买经认证食品的人都应该能够获得这 表1显示了拟议的分类。在公共区块链中,每个人都可以添加一个节点,并能够通过挖掘、权益证明或其他与未经审查的参与兼容的共识算法来验证和添加新的区块。然而,只有授权的地址才能访问特定SC的功能,从而在SC级别实现控制。例如,只有当您的地址已经拥有一些令牌时,您才可以更改以太坊区块链上持有ERC 20令牌的SC的状态-更改只能包括将自己的令牌转移到另一个地址。在许可的区块链中,添加节点的权利由运行区块链的组织联盟根据它们之间的原始法律合同进行管理开放和封闭的许可区块链都通过在互联网连接级别授予验证器和简单节点特定权限来管理它们。这需要系统工程师的干预来管理网络。在开放许可的区块链中,每个人都可以添加节点和下载区块链。然而,验证者节点必须被批准,或者通过使用合适的SC在现有验证者之间进行投票自动批准,或者由联盟成员批准。在区块链上部署新的SC只能由有权限的参与者进行每个人都可以向区块链发送交易,但是,与公共区块链一样,接收交易的SC的任务是决定是否接受请求。封闭许可型区块链通常只向使用适当凭证访问系统的客户端的授予的具体授权也取决于这些证书,如在传统的信息系统中一样。当然,也有可能有一个许可的区块链只允许特定的SC开放访问,而不是整个区块链。在这种情况下,系统被归类为封闭的,但实际上持有开放的服务。3.2. 一个评价框架我们工作的主要目标之一是,一旦选择使用dApp来实现给定的应用程序,就可以方便地决定选择哪种特定的区块链架构。 为此,已经有各种框架,其中最相关的在第2节中报告。我们决定使用Scriber的工作作为起点,但是,注意到这个框架专注于评估区块链技术对给定应用的适用性,而不是在不同的区块链架构中进行选择。我们保留了Scriber的七个功能,删除了 我们增加了三个区块链特定的质量标准,这些标准来自其他三个评估框架(如下所述),它们补充了Scriber的标准:“隐私”,“成本”和“可扩展性”。我们增加了两个额外的成本规范-添加新节点的成本(部署成本)和dApp开发的成本(开发成本),我们认为这在选择要采用的架构和技术时非常重要根据我们的评估标准,dApp系统必须展示的功能在表2的前三列中报告。剩下的两列显示了对通用公共和许可区块链的评估,如3.1节所述。特性1在这里,一个节点可能不再是可信的,也是因为它从网络中退出,而不一定是因为它试图攻击系统。特性7-12是所有软件系统都需要的,但在公共区块链中特别难以获得。在开发dApp系统时,要解决的第一个问题是使用公共区块链还是联盟区块链。公共区块链对所有人开放;最常用于实现dApp的是以太坊,但也有其他可用的区块链,如EOS、Binance Smart Chain、Steem、TRON等。截至2021年11月,在总共3799个被调查的dApp中,有2886个dApp在以太坊公共区块链上运行[28]。表2还显示了公共和许可区块链在拟议框架方面的比较,以及定性得分。请注意,在表中,我们考虑了最常用的表1与验证和访问相关的区块链类型分类行动区块链类型公共许可,开放许可,关闭管理添加权限没有考虑根据原始法律合同根据原始节点添加一个节点,能够挖掘/每个人;成本采矿业可能很高只有在获得许可的情况下,法律合同只有在获得许可的情况下验证添加保存大家使用智能合约大家只有在获得许可的情况下区块链部署智能合约每个人,支付费用或发送能够改变状态的事务(写入权限)每个人,支付费用或“气体”。大多数智能合约只有在交易来自授权地址时才会改变状态大家只有当交易来自授权地址时,智能合约才会改变其状态只有在正确登录的情况下,有适当的授权。还可以对地址执行检查向一个或多个智能合约发送只读交易Everyone Everyone,但只有交易来自授权地址时,请求才能被接受只有在正确登录的情况下,有适当的授权。还可以对地址执行检查读取区块链的内容所有人所有人只有在正确登录并获得适当授权的情况下L. Marchesi等人区块链:研究与应用3(2022)100088表55DApp系统所需的功能以及公共和许可区块链如何支持它们。#特征描述公共区块链许可的区块链12不变性透明度区块链是一个只添加的系统-一旦写入,信息就不能更改或删除。在区块链上运行的数据和在区块链上执行的数据和活动必须非常高非常高高,如果周期性地“anchored取决于系统;可能非常完全可以追踪任何人,可能有适当的访问权限,高3信任应该能够探索区块链,以验证这一点参与者之间的信任程度如何区块链可以即使参与者不这样做,需要信任才能采取主动。4身份即使没有可信的参与者,也要确保信任。在区块链上执行的所有写入活动必须来自互相信任非常强,基于私钥区块链可以抵御来自少数参与者的如果基于用户名和5历史某些起源系统存储库和应用程序,包括区块链,必须所有权;业主可以公开将他们的身份和地址联系起来根据矿工的回报,密码,如果基于私钥所有权,则高,取决于意愿和6记录生态系统保持运行适当的时间-通常在几年或几十年的范围内-在时间体系结构是否支持合作伙伴之间的互操作性,完全实现验证器的便利性容易实现7效率反对单一公司制?系统应该能够提供所需的吞吐量,每秒的事务数为每秒事务数即使在许多用户的情况下,单位时间内的相当低可能很高89隐私扩展性访问区块链的权限,特别是更改其状态的权限,必须仅授予可能处于各种访问级别如果需要,系统应该能够扩展非常低;智能合约可以允许根据发送交易如果dApp的数量和高;可在各级执行高,通过部署更多的区块链10成本区块链系统应该是开源的,易于部署,用户增加只有软件开发和在相同的节点上,和/或通过分裂节点建筑结构成本通常较低;并且需要有限的硬件和网络带宽执行成本;后者的成本可能非常执行成本低且可预测11部署资源,与dApp的大小和每秒事务的数量兼容成本不应波动系统部署成本低反复无常且不可预测添加节点的成本通常非常低添加节点的成本可能相当低12成本发展系统开发成本低费用取决于是否有费用取决于是否有成本开发人员和开发工具的成熟度开发人员和开发工具经过验证的区块链,例如上面提到的那些我们知道有一些新的项目旨在克服公共区块链在吞吐量、成本和可扩展性方面的限制。然而,这些项目仍在进行中。 从工业适用性的角度来看,所引用的技术在可靠性和易于找到开发资源(包括工具和熟练人员)方面仍然是迄今为止最好的。公共区块链看起来最稳定,最容易启动,但缺乏性能和可扩展性。由于加密货币价值和交易验证费用的高波动性,它们的成本是不可预测的。此外,它们不支持数据隐私,因此可能不符合现代隐私法的严格准则,例如欧洲GDPR。由于这些原因,公共区块链主要用于管理数字货币的应用程序,例如上述令牌,以及信息的公证在我们的提案中,我们专注于非货币的工业应用,因此也专注于联盟区块链。所提出的解决方案还包括使用公共区块链来使被许可的区块链不可变。在表3中,我们展示了我们的标准与其他四个评估框架的标准:(i)Maran h~ao等人的10个标准。[9],这将是即将到来的国际电联标准的一部分;(二)由Garriga等人Chainmaster的。[12];(iii)Colomo-Palacios等人的评估因子[11];(iv)[8]《易经》中的卦请注意,我们考虑了一些标准-那些标记为“假设此功能”的标准在我们的框架下。最后一个标准,这个标准在公共PoW区块链中很重要,但在许可区块链中并不相关,许可区块链的共识租赁不受可以取消有效交易的分叉的影响4. 选择区块链平台我们将dApp定义为一种软件系统,它使用DLT(通常是区块链)作为通过SC存储和交换信息的中心枢纽 dApp由在区块链上运行的SC和能够创建并向其发送交易的应用程序组成。 这些应用程序通常提供在PC或移动终端上运行的人机交互界面。附加信息可以存储在一个或多个服务器上,业务逻辑也可以在这些服务器上执行我们的主要目标是为“工业”应用设计一个合适的区块链架构,即信息系统,其目标是管理工业客户和供应商之间的合同关系,包括供应链管理。显然,第一步是选择底层区块链“引擎”。我们评估了公共以太坊区块链,我们认为这是实现许可区块链的最成熟和最广泛使用的技术。它们是:(i)使用Clique的以太坊,这是第2节中讨论的权威证明(PoA)共识机制-我们将此平台称为“以太坊PoA”;以及(ii)HyperledgerFabric。L. Marchesi等人区块链:研究与应用3(2022)1000886表3根据不同的评估框架对dApp系统所需的功能进行比较#本文Maranhao ITUChainmaster科洛莫帕拉西奥斯划线器1不变性––不变性不变性2透明度3.3.3可审计性–透明度透明度3信任––信任信任4身份––身份身份5史记3.1.3可持续性–历史记录历史记录6生态系统3.1.5互操作性弹性拉伸率生态系统生态系统7效率3.1.2业绩性能效率–8隐私–隐私––9扩展性3.3.1可扩展性扩展性扩展性–10成本–成本成本–11部署成本–成本成本–12开发成本假设此功能假设此功能–3.1.1安全3.1.4治理安保费用–成本–治理–––假设此功能假设此功能此功能假设3.2.1 智能合约可编程性3.2.2 智能合约数据访问控制3.3.2稳定性功能–––智能合约和数据访问控制––––此功能假设看到成本与许可区块链–––权力下放–一致性(确认时间)分销可维护性–分布––Polge等人最近的工作证实了这一选择 [29],他列出并比较了五个主要的私有区块链框架。除了以太坊和Hyperledger Fabric之外,他们还考虑了Quorum,这是以太坊的一个分支; MultiChain,这是比特币区块链的一个分支,但在其稳定的1.0版本中不允许SC;以及R3 Corda,它特别致力于金融应用。另一个越来越受欢迎的平台是Hyperledger Besu,它与以太坊兼容。Quorum和Besu都可以很容易地代替以太坊PoA,所以我们只评估了后者。为了证明区块链平台的选择,可以使用表2的特征来定义一个框架,以确定特定应用程序的最佳架构。 使用从1(最不适合)到5(最适合)的整数标度来评估每个特征。这些标准根据重要性进行主观加权,权重值与要实施的特定系统相关我们选择了针对一个系统的权重,该系统的目标是管理工业客户和供应商(包括供应链)之间的合同这一制度将核证原材料、半成品和成品的订单、供应和装运及其加工步骤。该系统的参与者是各种供应商和客户公司、批发商和认证机构。表4显示了12项标准、给予每项标准的权重以及三个平台的评价分数。总分是所有12项标准的加权和。为了获得这些分数,我们采访了七位区块链专家,其中五位来自学术界,两位来自一家生产dApp的私人公司专家们就分配给每个特征的权重达成一致,并独立投票。三个平台的每项投诉均以七票的中位数评分这些权重背后的理由如下:许可区块链的最重要标准被认为是:– 不变性,因为由有限的组织管理的数据结构可能是成功攻击的目标,甚至一些参与者可能串通修改数据。– 身份,因为确定发送交易的参与者的身份– 吞吐量和数据存储的效率显然是一个重要的要求。– 成本,同样出于明显的原因;请注意,三个标准中考虑了各种类型的成本第二个最重要的标准是透明度(这可能会更高),随着时间的推移稳定性,易于管理的访问权限,遵守隐私法和可扩展性。所有这些表4DApp系统所需的功能以及公共和许可区块链如何支持它们。#特征描述重量以太坊主网络以太坊权威证明HyperledgerFabric1不变性伪造数据和/或智能合约的风险1:高风险55442透明度风险易于检查区块链,具有适当的访问权限45543信任该系统可以增加参与者35444身份所有的写作活动都必须有一定的起源534456史记生态系统系统将无法运行适当的年数的风险。1:高风险该架构有助于整合不同的公司434435357效率能够提供高吞吐量和低响应时间51558隐私轻松管理对区块链的43459扩展性如果需要,系统应该能够扩展424410成本写作成本合理稳定515511部署成本系统部署成本低。1:高成本353312开发成本总分系统开发成本低。1:高成本4–416442062198●●L. Marchesi等人区块链:研究与应用3(2022)1000887在管理合同义务或质量和来源保证时,标准非常重要。稍微不那么重要但仍然重要的是信任,这在授权的区块链中通常被认为是理所当然的,以及各方之间的整合,这部分已经包含在成本标准中。请注意,没有权重低于3的标准事实上,所有的框架标准对于判断区块链架构是否适合工业应用都很重要许可区块链的不变性,透明度和信任度的得分非常接近公共区块链。这是由于所考虑的许可区块链被周期性地这些特性将在下一节中详细描述“赢家”是以太坊PoA,有206分,而Hyper- ledger在很大程度上以太坊主网络受到的惩罚主要是其交易成本的不可预测性和金额,以及其低效率和可扩展性,这些都是非常高的权重标准。请注意,最近于2020年12月发布的新以太坊2.0或Eth2将提供Beacon Chain更高的效率和可扩展性[30]。然而,新版本仍处于早期实验阶段。关于Hyperledger Fabric,我们知道它是工业应用中最常用的DLT系统之一[31,32]。在我们的比较中,Fabric的得分几乎与EthereumPoA相当它被认为在隐私方面略好,但透明度略低,并且由于Hyper-ledger Fabric平台相对于以太坊平台的复杂性更高,并且可用的熟练开发人员数量较少,因此开发成本更高5. DApp架构一旦我们选择了平台,我们就构建了整个dApp架构,从一般考虑开始,但也考虑了以太坊的特殊性,其中消耗“gas”发送交易的需求可能是最相关的。建议的dApp架构如图1所示。 这是一个通用架构,显示了所有可能的组件。在特定的应用中,某些组件可能不需要,应该被删除。建议的架构有四种参与者:验证者(以粗体“V”显示),运行系统的节点由关键的联盟参与者管理。这些节点保存一个副本Fig. 1. DApp应用程序的建议架构。PoA:权威证明。●●L. Marchesi等人区块链:研究与应用3(2022)1000888验证交易,将它们分组到区块中,并决定使用Clique共识机制或类似机制将区块添加到区块链参与者,持有区块链副本的节点能够接收,验证和广播交易,但不能参与共识机制。这些节点由已获得许可但(尚未)成为联盟正式成员的组织管理操作员,他们能够发送改变区块链状态的交易。操作员使用终端和GUI软件,它们是整个系统的一部分,属于参与系统的组织。外部用户,他们可以使用系统提供的标准终端和软件以只读模式访问系统节点验证器由联盟的组织运行,这些组织应该相互独立,以避免单个组织试图伪造区块链数据,或者只是决定停止支持系统。重要的是要评估验证者承担管理区块链的负担的原因。主要原因是将区块链作为一种服务提供给客户以获取利润,或者参与dApp的管理,这反过来又可以为验证者提供好处这种好处可能是直接的,来自产品或服务的销售,也可能是间接的,例如,考虑到一个公共机构推广与其使命相关的服务在将验证器添加到系统之前对其进行评估是必要的,并允许执行风险分析,估计验证器可能在一年或几年内关闭其节点的概率,从而计算保证dApp持久性所需的最小验证器数量。显然,在一些验证器离开的情况下,这应该会触发对新验证器的搜索,以保持dApp的稳定。关于外部用户,有两种可能性:每个人都可以访问区块链-在这种情况下,验证器允许公共访问SC接口和浏览器(见下文);访问被保留给授权用户-在这种情况下,在用户可以访问dApp之前,验证器必须提供认证和访问控制该架构的组成部分包括:以太坊PoA区块链显示为左侧验证器和常规节点的网络。一个外部系统,称为应用程序系统,保存不在区块链中的数据和应用程序;它显示在中心。运营商和外部用户的终端(图的顶部和底部),运行提供用户界面的dApp软件,并能够管理运营商的私钥。一种执行身份管理和访问控制的系统,集成到应用程序系统中,也可能使用SC。链接到公共区块链(在本例中为以太坊),以定期写入本地挖掘的最后一个区块的哈希摘要在一个或多个节点上运行的EXplorer,持有区块链的副本,以浏览区块链的实际状态,而无需用户界面的中介。链接到物联网设备,这些设备将数据发送到区块链或从系统接收命令。让我们更详细地描述这些组件5.1. 以太坊PoA区块链以太坊基金会和Hyperledger项目(称为Besu)下的以太坊实现,将Clique作为首选共识协议之一Clique是PoA的一种形式,是一种定制形式的证明-of-Stake验证者的身份和声誉扮演的是stake的角色,而不是具有某种货币价值的stake。 如第2节所述,Clique是许可区块链中最好和最受欢迎的共识出租之一,因此我们决定在我们的架构中使用它。在Clique中,每个验证器不允许验证两个连续的区块,以保持验证器之间的平衡,并在验证器变得恶意并验证错误区块时将损害降至最低-在这种情况下,其他验证器会迅速发现它,使用投票将其从验证器的集合中驱逐,并通过分叉将错误区块从有效区块链此外,可能存在常规节点,持有区块链的副本。验证者还在联盟区块链中创建以太消耗品,我们称之为“本地以太”(LOCETH)。LOCETH没有货币价值,不能与其他货币兑换但是,它们必须用于发送能够改变系统状态的交易,详见第5.3和5.4。所有节点都拥有区块链启用软件,其中包括运行SC的以太坊虚拟机。具有永久数据(存储)的SC字节码存储在区块链中,并加载到节点存储器中以供执行。所有节点执行每个SC,并且所有节点的执行结果必须相同因此,在册种姓不可能接触外部世界。他们只能访问自己的数据和存储在区块链中的其他SC,这些数据和SC在所有节点中都是相同的5.2. App系统另一个关键的dApp组件是在移动设备和/或服务器上运行的软件系统,可能在云上,我们称之为它保存的信息不能留在区块链中,因为它太大了,或者出于隐私原因。应用系统与用户和外部系统和设备交换信息,并执行业务计算。当然,它也能够将交易发送到区块链,与节点直接连接,并且是地址和相应私钥的所有者如果dApp必须保存大量信息,例如文档和图像,则这些文档由App系统离线存储在一个或多个文档管理系统(DMS)上。文档的哈希摘要和检索它的链接可以存储在区块链中,保证文档的日期及其完整性。 这种方法也被称为“链下数据存储”模式[ 27,34 ]。对于存储在链下的敏感数据,应用程序系统还负责管理对它们的访问权限,仅向合格用户提供信息以这种方式保存数据符合隐私法规,因为没有实际数据存储在区块链等透明介质此外,尽管区块链的可用空间相对有限,但可以管理、存储和认证大量数据,其中大部分从未打算取代DMS或数据库。事实上,在基于以太坊的许可区块链上存储大量信息是不可行的,原因如下:(i)大数据意味着将它们写入区块链的大交易,这反过来又意味着过度的通信和性能降低;(ii)组装和与这些交易进行通信所需的计算再次意味着系统性能降低;(iii)区块链的大小,这是一个仅附加的存储库,将很快变得巨大,并损害有效的数据检索。在结束本节时,我们强调应用程序系统不一定是一个单一的集中式系统,也不必管理一个单一的集中式数据库或DMS。 App System是一种服务,如果需要,可以在多个物理或云服务器上运行。需要存储文档的操作员可以直接指定DMS的URL来存储文档,可以有很多操作员。例如每个●●●●●●●●●●●●L. Marchesi等人区块链:研究与应用3(2022)1000889存储数据的组织可以管理其自己的DMS,包括向其授予访问权限重要的是,任何有权访问数据的人都可以访问数据,并且访问权限由数据的所有者提供,也可能通过区块链本身。此外,保存系统数据
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功