面向复杂应用场景的联盟链多链协同方案.pdf
《面向复杂应用场景的联盟链多链协同方案.pdf》由会员分享,可在线阅读,更多相关《面向复杂应用场景的联盟链多链协同方案.pdf(13页珍藏版)》请在咨信网上搜索。
1、第41卷 第4期2023年7月应用科学学报JOURNAL OF APPLIED SCIENCESElectronics and Information EngineeringVol.41 No.4Jul.2023DOI:10.3969/j.issn.0255-8297.2023.04.005面向复杂应用场景的联盟链多链协同方案张勇1,2,3,姚中原1,3,王超1,2,3,郭尚坤1,2,3,郭晓涵1,2,3,斯雪明1,31.中原工学院 前沿信息技术研究院,河南 郑州 4500072.河南省网络密码技术重点实验室,河南 郑州 4500073.河南省区块链数据共享国际联合实验室,河南 郑州 4500
2、07摘摘摘要要要:针对联盟链在复杂应用场景下权限管理分散、业务扩展困难、读写集中和多合约间弱事务性的缺点,提出了一种面向复杂应用场景的联盟链多链协同方案。该方案利用区块链网关统一管理用户访问权限,避免了访问权限管理的分散;提出支持逻辑链动态伸缩的链间路由机制,简化逻辑链的管理,降低业务扩展难度;设计读写分离机制,提升逻辑链的读写性能;构造基于 TCC 的事务方案,满足多业务合约之间的事务性操作。实验和分析结果表明,该方案有效提高了交易吞吐量,且在业务动态扩展和多合约间事务性方面有较好的支持。关键词:协同方案;多链;区块链;联盟链;智能合约中图分类号:P751.1文章编号:0255-8297(2
3、023)04-0601-13Consortium Chain Multi-chain Collaboration Scheme forComplex Application ScenariosZHANG Yong1,2,3,YAO Zhongyuan1,3,WANG Chao1,2,3,GUO Shangkun1,2,3,GUO Xiaohan1,2,3SI Xueming1,31.Research Institute of Frontier Information Technology,Zhongyuan University ofTechnology,Zhengzhou 450007,He
4、nan,China2.Key Laboratory of Network Cryptography Technology,Zhengzhou 450007,Henan,China3.Henan International Joint Laboratory of Blockchain and Data Sharing,Zhongyuan University of Technology,Zhengzhou 450007,Henan,ChinaAbstract:To address the shortcomings of decentralized authority management,dif
5、ficultbusiness expansion,centralized reading and writing,and weak transactionality betweenmultiple contracts in complex application scenarios,a consortium chain multi-chain col-laboration scheme for complex application scenarios is proposed.This scheme uses ablockchain gateway to manage user access
6、rights,provides an inter-chain routing mech-anism for dynamic scaling of logical chains,implements a read-write separation mechanism收稿日期:2022-10-27基金项目:河南省科技攻关项目(No.222102210168);河南省重大公益专项(No.201300210300)资助通信作者:姚中原,博士,研究方向为密码技术与应用、区块链技术等。E-mail:602应用科学学报第41卷to improve performance,and employs a TCC-
7、based transaction scheme to support multi-contract transactions.Experiments and analysis results show that the proposed schemeeffectively improves transaction throughput,and has better support for business dynamicexpansion and multi-contract transactionality.Keywords:collaboration scheme,multi-chain
8、,blockchain,consortium chain,smart con-tract区块链技术源于 2008 年“中本聪”发表的一篇名为“Bitcoin:A Peer-to-Peer ElectronicCash System”的文章1,首次提出了区块链的概念。区块链是一种以哈希作为指针的链式结构,并结合密码学、共识算法、激励机制和智能合约等关键技术,确保区块链不可篡改、可追溯以及去中心化。随着区块链技术的发展2,区块链已经应用于各种场景中解决问题3-7。然而,伴随系统业务场景的不断复杂化,复杂业务对区块链系统在事务协同、可扩展和性能方面都提出了严峻的挑战,这也进一步限制了区块链技术的应用
9、场景与应用规模。为应对日益复杂的业务场景,学者们研究出了一系列的多链模型,在多链模型的研究领域中,可根据区块链之间的关系将多链模型分为平行链模型与主子链模型。平行链模型中每条区块链结构相同,通过命名空间等方式进行隔离。主子链模型中区块链之间呈现树型分布,往往存在结构不同的区块链。其中,文献 8 提出主从区块链方案(master-slave blockchainscheme,MSB)新范式,通过将传统区块链分为主节点层和从节点层来处理不同的运算,提升了挖矿和验证的效率。文献 9 提出一种适用于中小型应用的轻量级区块链架构(lightweightblockchain architecture,LB
10、A),对存储结构、共识方案及网络拓扑结构进行了优化,提高了区块链系统中的数据存储等效率。文献 10 提出了一种基于信用投票共识的主从多链分层跨链模型,能够有效减少节点之间的算力竞争,防御权益粉碎等攻击手段。文献 11 提出了一种主从多链区块链共识机制,通过设计 2 层主从多链结构,并将信誉度评估引入权益证明共识机制中,相较于传统以太坊(ethereum,ETH)区块链,吞吐量(transactions per second,TPS)提升了约 48%。文献 12 设计了一种基于树形结构的适用于联盟链场景的主从多链架构,可实现不同数字资产的分类、并发处理和达到数据隔离的隐私需求。文献 13 设计了
11、一种分层分簇的联盟链网络,获得了更高的广播吞吐量和更低的广播时延。文献 14 设计了一种没有中心化组件的多区块链协议 Hydra,提高了交易吞吐量并有效防止了双花攻击。然而,平行链模型中往往将不同的业务合约部署在不同的区块链上,当由于业务之间不可避免地耦合,链下服务常需要与多条链发生交互,使得链下服务不得不维护多条链的节点地址与证书,加大了使用者对链证书维护成本;当业务量后期增加时,由于区块链节点冗余存储的特性,无法采用增加节点的方式进行扩容,只能重新构造一条新的区块链并部署合约,并需要链下服务进行相应业务的引流,加大开发成本,缺少统一的业务扩展解决方案。主子链模型在实际应用中,主链负责数据存
12、储,子链负责逻辑运算,虽能通过分担运算的压力达到提升整体性能,适应实际中的多业务场景,但由于其数据都存储在主链上,存在无扩展性、存储单一的问题,使得主链成为约束整体性能的关键。除此之外,现有区块链模型虽然能防止合约内双花事件的产生,但是并没有对多合约之间进行事务管理,实际应用中,只能由用户在链下实现事务控制。针对以上问题,本文提出了一个面向复杂应用场景的联盟链多链协同方案,并进行了实验和分析。实验结果表明,本方案的交易吞吐量能有较大的提高,同时支持动态业务扩展、统一身份认证、多合约事务操作及读写分离。本文主要工作包括:1)针对复杂应用场景,提出基于网关链的多链模型;2)通过解决动态业务扩展、统
13、一身份认证、多合约事务操作及读写分第4期张勇,等:面向复杂应用场景的联盟链多链协同方案603离问题,提出多链协同方案;3)对提出的多链协同方案进行实验和分析,证明了该方案的可行性和有效性。1预备部分1.1TCC事务方案TCC 的概念由学者 Helland15于 2007 首次提出。TCC 方案将事务提交分为 Try、Confirm、Cancel 三个操作,在服务中分别以三种接口的形式存在16。Try 操作检查资源是否满足要求,例如检查余额是否满足扣费要求,若符合条件,则对资源进行锁定,防止其余服务操作该资源。当 Try 阶段操作都成功,则执行 Confirm 操作,进行逻辑处理并提交处理结果,
14、如图 1 所示。当 Try 阶段操作存在失败,则执行 Cancel 回滚操作,将锁定的资源进行释放,如图 2 所示。?2?11?2?1?2?OKTryConfirmOK?2?1?OKOK图 1 分布式事务成功Figure 1 Distributed transaction success?1?OK?2?11?2?1?2?FailTryCancelOK图 2 分布式事务失败Figure 2 Distributed transaction failure1.2智能合约1995 年,密码学家 Szabo17首次提出智能合约(smart contract)的概念,并把它定义为“一套数字化形式定义的承诺
15、,包括合约参与方可以在上面执行这些承诺的协议”18-19。在实际应用中,智能合约是一段部署在区块链上的程序。相较于普通的计算机程序,智能合约具有不可改变、确定性、去中性化、自治性等特点。换句话说,无论谁触发合约中预设的条件,智能合约总会沿着确定性的方向执行。具有上述特点的智能合约在数字支付、金融资产处置、云计算、物联网、共享经济等方面有着广阔的应用场景20。604应用科学学报第41卷1.3基于属性的访问控制基于属性的访问控制(ABAC)将属性作为访问判定的最小粒度,具有足够的灵活性和可扩展性21。ABAC 中包括请求者、被请求资源、访问方法和条件四种基本元素,每个元素使用属性进行描述,与基于身
16、份的访问控制(IBAC)的区别是并不需要关心访问者的身份,只关心访问者具有的属性。当请求者对某个资源进行访问时,请求者是否具有访问权限的判定是请求者所具有的属性,被请求资源的访问条件判定是请求者是否包含被请求资源具有的属性。简单来说,请求者必须拥有被请求资源的属性才能进行访问。1.4应用网关应用网关主要位于网络的边缘并作为外部服务请求的统一入口,主要提供身份认证与安全检测、请求路由管理、服务组合、请求分派和维护、负载均衡等功能22。应用网关对公共功能(例如身份认证)的统一处理,既可提升效率又可以减少业务服务的冗余处理。应用网关是一种无状态服务,可以在用户请求量大的情况下,采用横向扩展的方式承接
17、更多的用户请求。2基于网关链的多链模型2.1多链模型针对复杂性的业务场景,本文提出基于网关链的多链模型,从子链管理、业务分片、事务性管理、链上链下数据存储四部分进行优化整合,使得该模型具有可扩展、高性能等特点。本方案多链模型如图 3 所示,现给出如下定义。网关链(Gateway Chain):系统中生成的第一条链,负责整个区块链网络中的身份认证、请求转发和逻辑链管理,主要由联盟链或私有链构成。逻辑链(Logic Chain):部署实际业务合约,执行业务逻辑的区块链,主要由联盟链或私有链构成。链下存储模块(GSDB/TXDB):缓存链上状态与交易信息的模块,用于加快查询速度。Gateway Ch
18、ainWriteReadTransactionTableGlobalStateTableBBBBBBLogic Chain SpaceBBBBBBLogic Chain SpaceBBBBBBLogic Chain SpaceBBBBBBLogic Chain SpaceBlockchain Logic Chain MatrixSync WriteConsistencySync ReadSync ReadGSDBTXDB图 3 方案模型Figure 3 Scheme model第4期张勇,等:面向复杂应用场景的联盟链多链协同方案605模型在网关链将对请求进行认证授权与动态路由,如果认证合法,则
19、将请求动态路由到指定的业务链进行处理。逻辑链针对实际应用场景的具体业务逻辑,提供了事务性的操作接口,确保并发场景下的事务一致性,并返回确定性结果。链下存储模块采用 NOSQL 数据库对链上数据进行缓存,以加快查询速度。同时增加一致性组件进行实时的验证链上链下数据是否一致,当发现链下数据被篡改时,能够及时恢复至正常数据。2.2模型中的业务流程多链模型中的业务流程如图 4 所示。1)用户将数据上链请求发送至网关链。2)网关链根据上链请求中的签名信息进行统一身份认证,认证无误后将请求透传给路由合约;若认证失败,则返回给用户一个认证失败消息。路由合约在收到上链请求后,对请求中的业务 ID 等信息进行解
20、析,获取对应的逻辑链路由标识信息,然后按照逻辑链路由规则将请求派发给对应的逻辑链;若解析失败,则返回给用户一个拒绝消息。3)逻辑链的代理合约作为统一的数据接口,在收到上链请求后,首先对所需交互的业务合约发起事务控制,锁定需要操作的资源,然后将请求中的所需要对资源的操作发送给业务合约,若业务合约均执行成功,则解除事务控制并返回上链执行成功的消息;反之,若有一个业务合约执行失败,则执行事务回滚操作并返回上链执行失败的消息。4)当业务合约执行成功后,链下存储模块将接收到对应业务合约的状态更新事件,然后将事件中相关的状态缓存到数据库中。?1-N?图 4 业务流程Figure 4 Business fl
21、ow3多链协同方案如图 5 所示,为统一管理多链身份、保证多合约间事务性与链上链下一致性,本文提出了一个多链协同方案,该方案包括身份认证及权限控制、路由匹配、代理合约及事务性保证、链下存储及一致性保证四个模块,具体的模块详述如下。606应用科学学报第41卷?ABAC?图 5 多链协同方案Figure 5 Gateway multi-chain model3.1身份认证及权限控制在身份认证及权限控制方面,采用基于属性的访问控制的智能合约实现,替代原有基于节点证书的访问控制策略。在此基础上,仅要求用户拥有网关链节点证书以及被请求资源所拥有的属性即可进行访问,满足更细粒度场景需要,简化身份管理难度,
22、大大增加身份管理的灵活度。访问控制智能合约中的授权算法如下:Algorithm 1AuthorizationInputoperation,attributesOutputauthorization result(true/false)requiredAttrsGetRequiredAttributes(operation)for each attr in requiredAttrs doif attr not exist in attributes thenreturn falseendendreturn true3.2路由匹配路由匹配由路由智能合约实现,包括请求派发、管理逻辑链及负载均衡的功
23、能。通过路由更改接口对路由表进行动态调整,实现对逻辑链的动态分片及负载均衡。若同一个业务由多条不同分工的逻辑链协作完成,可根据分工的不同配置路由范围参数,例如将 UID 范围1100 的请求派发给逻辑链 1,将 UID 范围 101200 的请求派发给逻辑链 2,以此实现逻辑链的分片。当现有逻辑链无法承担当前业务需求时,可采用更改路由配置的方式将请求引流到新的逻辑链,减少单链压力,实现业务的动态扩展。当派发请求给逻辑链时,实际上派发的目标是逻辑链节点,而逻辑链往往由多个节点组成,每个节点的性能存在差异,为实现派发请求时逻辑链节点的负载均衡,采用加权轮询法,对节点设置权重,根据权重进行轮询派发。
24、路由智能合约中对逻辑链调用的实现依托于当前智能合约丰富的语义基础,用户将逻辑链路由的相关信息(例如逻辑链节点证书信息与路由匹配标识)注册到路由合约后,路由合约第4期张勇,等:面向复杂应用场景的联盟链多链协同方案607即可动态创建逻辑链客户端对象,实现对逻辑链的请求派发。路由合约对请求派发的过程中,并不需要对请求消息进行数据处理与存储,即该过程不需要网关链节点间的共识,以承接更大的访问量。路由智能合约中的数据结构采用前缀树实现,路由匹配算法如下:Algorithm 2Route matchingInputchainID,chaincodesOutputrouting node objecttri
25、etrieschainIDif trie not exist thenreturn error of not exist chainIDendn length(chaincodes)nodescreateNodeStore()for i 0 to n dochildtrie.findChild(chaincodesi)if child not exist thenreturn error of not exist chaincodeendnodeschildendreturn nodes路由匹配算法通过传入逻辑链标识(chainID)与智能合约集(chaincodes)两个参数,然后返回智能合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 复杂 应用 场景 联盟 链多链 协同 方案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。