技术新讯 > 电子通信装置的制造及其应用技术 > 基于分片的实现区块链可扩展性和安全性的混合状态通道方法  >  正文

基于分片的实现区块链可扩展性和安全性的混合状态通道方法

  • 国知局
  • 2024-08-02 14:12:30

本发明属于信息安全,具体涉及一种基于分片的实现区块链可扩展性和安全性的混合状态通道方法。

背景技术:

1、区块链是一种去中心化的分布式数据库技术,其核心是一个不断增长的记录列表,也称为“区块”,它可以记录所有的交易和事件,并将其存储在全局所有节点上,通过密码学技术来确保数据的不可篡改性、可追溯性、透明性。除了加密货币之外,区块链技术还可以应用于许多其他领域,例如金融、物流、医疗等,许多新的区块链项目正在涌现,并且不断推出新的创新性应用程序和解决方案。

2、传统区块链通过全体节点运行共识算法和对数据进行全量计算和存储保障了安全性和去中性化,但是可扩展性受到严重制约。visa是目前世界上广泛使用的信用卡品牌,根据visa在2015年的记录,全年共产生92064百万笔交易,平均2920tps(transactions persecond,每秒交易量),而目前主流区块链性能情况是:比特币每秒只能进行大约7笔交易;以太坊每秒10-20笔。目前这些区块链平台的交易性能都无法与visa相比,所以当前的区块链加密数字货币体系显然无法满足现今数字支付的场景。事实证明,可扩展性是阻碍当今区块链技术被广泛使用的最大障碍。

3、状态通道是针对区块链可扩展性问题的一种重要解决方案,通过状态通道将交易转移至链下,让参与者在链下进行多次交易,而只需要向区块链提交两次交易——分别在打开和关闭通道时提交,这使区块链摆脱了验证许多事务的负担,因此,状态通道可以最小化链上的交易数量。利用状态通道的安全性与实际的链上交易相当,因为参与者可以在任何需要的时候将交易上链。状态通道技术作为区块链的一个补充协议有非常好的发展前景,目前比特币的闪电网络(lightning network)、以太坊的雷电网络(raiden network)和celer network都使用了状态通道技术。众多节点互相建立链下状态通道就形成了状态通道网络,两个未直接建立状态通道的节点间可以通过状态通道网络进行资金路由从而完成链下交易,当前主流的资金路由技术有传统的哈希时间锁合约(hash time lockcontract,htlc)和新提出的虚拟通道(virtual channel,vc)技术。但是当前的状态通道网络任然存在以下3个严重问题:

4、第一,状态通道网络的拓扑结构复杂且混乱。节点可以与任何其他节点建立通道,并且节点可建立的通道的数量没有限制。随着节点数量的增加,网络结构的复杂性急剧提高。一方面,可能导致大量冗余通道;另一方面,每个节点的通道状态存储成本增加。

5、第二,现有的状态通道无法承受针对单个节点的拒绝服务(dos)和日蚀攻击。当状态通道关闭时,如果双方对通道资金的分配意见不一致,就会产生争议。如果被请求的节点在规定时间内未能提供正确的证据,将被视为恶意,其资产将被转移到另一个节点作为惩罚。恶意节点可以通过发起拒绝服务或日蚀攻击来阻止其他节点将状态证书上传到智能合约,从而获得更多资产。

6、延迟高且隐私性差。htlc解决方案是一个简单的线性结构。其中,跨n个节点的交易需要传输n个串行交易消息和n个串行通道结算消息。此外,在逐层递归地构造的虚拟通道路由算法中,随着路由路径的延长,通道创建的复杂性和争议解决时的开销迅速增加。随着层数的增长,锁定资金量的迅速增加成为底层节点的负担和瓶颈。

技术实现思路

1、有鉴于此,本发明的目的在于提供一种基于分片的实现区块链可扩展性和安全性的混合状态通道方法。

2、为达到上述目的,本发明提供如下技术方案:

3、一种基于分片的实现区块链可扩展性和安全性的混合状态通道方法,提出基于分片的混合状态通道sharhsc,本方法包括sharhsc通道开启阶段、sharhsc通道状态更新阶段、sharhsc通道关闭阶段、远程链上资产转移协议以及分片监管委员会介入争议处理协议;

4、在sharhsc通道开启阶段,包括以下步骤:

5、s1:交易双方完成信息协商;

6、s2:通过寻路算法在骨干网中为哈希时间锁合约htlc搜索从代理节点b到代理节点e的最短路径;

7、s3:交易节点(a,e)和代理节点(b,d)互相交换通道开启证书。

8、在sharhsc通道状态更新阶段,假设a向e提出通道状态更新,包括以下步骤:

9、s4:a向e发送通道状态更新请求;

10、s5:如果e同意更新请求,则向a发送响应信息,执行步骤s6,否则不予回应;

11、s6:e向ssc发布通道状态更新信息;a收到e的回应后向ssc发布通道最新状态;

12、在sharhsc通道关闭阶段,包括以下步骤:

13、s7:交易节点和代理节点交换最新通道状态;

14、s8:交易节点和代理节点确认最新通道状态;

15、s9:账本通道完成资金结算和资金路由;

16、远程链上资产转移协议包括以下步骤:

17、假设ssc需要从代理节点b到代理节点d进行资金转移;

18、s10:ssc核验d对于秘密原像的签名;

19、s11:ssc核验通道最新资金分配状态,核验通过执行步骤s12,否则执行步骤s13;

20、s12:ssc根据其记录的通道最新资金分配状态完成强制资产转移,关闭通道;

21、s13:ssc修错误的资金分配状态,完成强制资金转移,并关闭通道;

22、分片监管委员会介入争议处理协议具有以下四种情况:

23、情况1:片内lc;

24、情况2:跨片lc;

25、情况3:片内混合通道sharhsc;

26、情况4:跨片混合通道sharhsc。

27、进一步,sharhsc通道开启阶段的步骤s1-s3具体包括:

28、s1:假设欲建立通道的节点为a和e;a和e协商确定sharhsc通道δae中初始资金分配状态[a→xa|e→xe]和通道有效期;xa和xe分别表示a和e节点在δae中可用的资金数额,通道最终在a到e方向的交易额度不能高于xa,在e到a方向的交易额度不能高于xe;设置通道有效期,有效期到期后,自动进入sharhsc通道关闭阶段;

29、s2:通过寻路算法在骨干网中为哈希时间锁合约htlc搜索从代理节点b到代理节点e的最短路径;

30、s3:交易节点(a,e)和代理节点(b,d)交换通道开启证书,记为ocp,ocp=(ocp,σp)。其中,p∈{a,b,d,e},ocp表示“以初始余额[a→xa|e→xe]打开通道δae,其有效期为v″,σp表示使用p的私钥对ocp进行的签名;ocp包含通道终端节点、代理节点、初始资金分配、有效期等信息。

31、进一步,步骤s3具体包括以下步骤:

32、s31:a签署并将自己的开启证书oca发送给b和d,同时e节点签署并将自己的开启证书oce发送给d和b;

33、s32:b收到oca和oce后进行核验,如果,签名合法且内容一致,则核验通过,b签署ocb并将其发送给a和d;d在收到oca和oce之后,如果核验通过,d签署ocd并将其发送给b和e;

34、s33:收到ocb后a和d互相转发,a核验两份ocb与oca是否一致,d核验两份ocb与oce是否一致;当收到ocd后b和e进行互相转发,e验证两份ocd与oce是否一致,b验证两份ocd与oca是否一致;若b和d都验证正确,两者将认为通道δae已成功开启,b向分片监管委员会发送证书sigb(oca,ocd,oce,ocb),d向分片监管委员会发送证书sigd(oca,ocd,ocb,oce);

35、s34:a将ocb和oca转发给e,e将ocd和oce转发给a;a在收到ocd和oce后验证ocd、oce和oca是否一致,如果验证通过,则a认为通道δae已成功开启,并向ssc广播siga(ocb,ocd,oce,oca);e在收到ocb和oca后核验ocb、oca和oce是否一致,如果一致,则认为通道δae已成功开启,并向ssc广播siga(oca,ocb,ocd,oce);

36、如果所有交易节点和代理节点都认为通道δae已经成功开启,则δae被开启;否则,如果任何节点的任何验证失败,则该节点停止运行并认为通道δae未能成功开启。

37、进一步,在sharhsc通道状态更新阶段,sharhsc的更新过程由一个交易节点发起,该事务节点被称为发起者(initiator),另一个事务节点被称为确认者(confirmer);假设a是发起者,e是确认者,为更新通道状态为[a→xa1|e→xe1],a需要向e发送更新信息ma=其中表示“更新通道δae的状态为[a→xa1|e→xe1],其版本号为w”,σa代表a的签名;假设a提出更新状态,则该阶段的整个过程如下:

38、s4:a向e发送更新信息

39、s5:如果e同意更新那么他就回复否则什么都不做;

40、s6:e向ssc发送a收到me后,向ssc发送siga(me)。

41、进一步,当通道δae到期或者一方欲关闭通道,则进入通道关闭阶段,具体包括以下步骤:

42、s7:交易节点和代理节点交换最新通道状态:

43、a向b发送siga(me),同时e向d发送sige(ma);

44、s8:交易节点和代理节点确认最新通道状态:

45、代理节点b和d互相转发sigq(mp),其中q,p∈{a,e},同时也向ssc发送此消息;之后,b和d比较收到的两个sigq(mp),选择其中版本号最高的作为通道δae的最终资金分配状态;

46、s9:账本通道完成资金结算和资金路由:

47、根据最新的通道状态sigq(mp),账本通道βab和βde开始更新进程,同时环境运行htlc协议进行资金路由进程;

48、假设最终的交易结果是a向e支付q个币;通道βab和βde的更新进程整体过程如下:

49、(1)b依据最新的sigq(mp)向a发送其关闭证书ccb,同时d向e发送ccd;

50、其中ccb包含对应lc为完成通道关闭流程而更新后的资金分配状态,ccb=(ccb,σb),ccb表示“以余额[a→(ya-xa+xa1)|b→(yb-xe+xei)]更新账本通道βab以关闭通道δae,其版本号为wab″。其满足xa-xa1=q,xe1-xe=q,ya和yb是当前βab内a和b的资金分配状态,xa和xe是混合通道δae初始资金状态,xa1和xe1是混合通道δae最终资金分配状态;σb是b用自己的私钥对ccb的签名;

51、(2)a和e在收到ccb和ccd之后,如果验证ccb和ccd通过,a和e将自己的关闭证书cca和cce分别发送给b和d,同时a将siga(ccb)广播到ssc,e将sige(ccd)广播到ssc;

52、(3)b和d在收到cca和cce并且验证通过后,分别将sigb(cca)和sigd(cce)广播到ssc,至此βab和βde结算进程完成。

53、进一步,htlc资金路由的整体过程如下:

54、(1)秘密原像构建,对htlc的秘密原像进行规定,秘密原像r内容全局公开可知,d对r进行签名以创建秘密值sigd(r),其可被验证但不可伪造,并发送哈希值h(sigd(r))到b,其中,r=″d has receivedq coins from b forδae″;

55、(2)htlc构建,代理节点使用h(sigd(r))构建htlc以锁定交易,在限定时间t内如果q∈{c,d}能够提供h,使其满足h(h)=h(sigd(r)),则通过验证,p∈{b,c}向q支付资金;

56、(3)资金转移,当所有htlc构建完成后,d公开揭露哈希原像sigd(r),每一个接收方(d,c)都可以利用sigd(r)解锁自己的资金;

57、(4)ssc取证,当b收到sigd(r),将其发送至ssc,ssc认为htlc资金路由程序已经完成,同时通道δae已成功关闭;如果发生争议,sigd(r)作为证据用以证明b已经向d完成了资金转移。

58、进一步,所述远程链上资产转移协议具体包括:

59、s10:ssc收到d关于b没有进行htlc资金路由的申诉后,通知b要求出示d的秘密sigd(r),如果b无法在规定时间内出示sigd(r),ssc继续执行步骤s11;如果b在规定时间出示了sigd(r)并且核验通过,那么ssc忽略d的申诉;

60、s11:如果ssc在步骤s10收到了b节点发送的siga(me),ssc检查该siga(me)与ssc记录的δae的最新资金分配状态是否一致;如果ssc在步骤s10没有收到b节点发送的任何消息,那么ssc检查ssc记录的关闭流程中代理节点b收到的siga(me)与ssc记录的δae的最新资金分配状态是否一致,如果一致或者ssc没有记录关闭流程中代理节点b收到的siga(me)则继续执行步骤s12;如果不一致则跳转到步骤s13;

61、s12:根据ssc记录的βab的最新资金分配状态关闭βab,如果βab中b有充足的币,就将b的q个币链上转移给d,剩余的归还b;如果βab中b的币少于q,就视为a没有起到监督作用,不够的资产用a的资产补足,作为对a的惩罚;

62、s13:不一致则说明交易节点a在通道关闭时发布了过时的siga(me),则根据ssc记录的δae最新的资金分配状态和代理节点b在通道关闭时收到的过时的资金分配状态,修正ssc记录的βab目前错误的资金分配状态;并根据修正后的资金分配状态关闭βab并将βab中代理节点b的q个币链上转移给d。

63、进一步,所述分片监管委员会介入争议处理协议为:当通道结算出现争议时,ssc根据自己记录的最新通道资金分配情况,运行共识以关闭通道并进行结算,具体有以下四种情况:

64、情况1:片内lc:

65、lc产生争议发生在通道关闭进行资金结算时,例如,一方给出最新资金分配状态证明后另一方不做反应,此时由ssc运行共识给出该lc的最新资金分配状态证明,同时通知智能合约实例按此证明进行资金结算并关闭该lc。

66、情况2:跨片lc:发生在跨片lc上的争议设计两个ssc,该两个ssc运行两轮共识,即给出最新资金分配状态证明的交易节点的ssc通知另一个交易节点的ssc,两个ssc运行一轮共识给出各自记录的该通道最新交易状态并互相发送,然后两个ssc运行第二轮共识给出最新的资金分配状态证明,并通知各自的智能合约实例关闭该lc;

67、情况3:片内混合通道sharhsc:对于sharhsc而言,ssc记录该通道的最新资金分配状态,并记录该通道的开启证书oc和关闭证书cc;可能的争议有3种情况:

68、(1)当恶意交易节点a想要关闭lc,但δae建立在其上时,ssc运行共识算法以提供oca;a和b之间的智能合约实例cab验证δae仍处于有效期,并忽视a的请求;

69、(2)当恶意交易节点e向d和e之间的智能合约实例cde申请关闭此前已关闭的δae以获取非法利益时,ssc提供关闭证书cce;

70、(3)对于通道关闭步骤,在遭受dos攻击或者在反常情况下,某些节点不能给出通道关闭的回应,此时需要ssc介入,执行远程链上资产转移协议;

71、情况4:跨片混合通道sharhsc:跨片sharhsc中ssc运作流程与片内sharhsc一致,ssc每次运行共识,都要和另一交易节点所对应ssc进行一轮共识结果的交换和对交换后信息再进行一轮共识。

72、本发明的有益效果在于:1)基于分片的混合状态通道改善了传统状态通道网络拓扑结构复杂且混乱的情况。本发明将所有链下节点分配到不同的网络分片,网络分片结构的设计充分考虑到了精简冗余通道数量、缩短全局交易路径距离、中间节点性能负载均衡、简化状态通道网络结构、跨分片交易高效性等方面,相对于以往用户随意组网的方式,实现了全局网络构建和运行的简洁性、高效性、低成本性。2)基于分片的混合状态通道解决了有状态通道协议的低隐私性和高时延性问题。本发明结合虚拟通道协议和htlc协议,对两端的交易节点来说,将所有中间节点视为一个整体节点,将跨多节点支付模型简化为了跨单节点虚拟通道支付模型,对所有的中间节点来说,将中间整体内最两端的节点作为中间节点和交易节点的接口,可以进行同步快速的交易结算,在中间整体内部,基于htlc协议确保结算时各个节点的资金平衡。3)基于分片的混合状态通道克服了传统状态网络无法抵御日蚀攻击和dos攻击的弱点。考虑到第三方托管可能易被腐化、可信性低,本发明借鉴委员会类型共识机制在确保安全性的同时可以提高效率的优点,为每个链下状态通道网络分片设立监管委员以实时记录并更新最新交易状态,并在争议解决过程提供最新交易状态证明,以此在交易节点受到攻击无法正常运行出示合法证据时维护交易节点的合法资产。4)基于分片的混合状态通道降低了已有状态通道由于需要一个状态通道维护所有通道的状态所造成的计算资源和存储资源的冗余。本发明为每个状态通道网络分片设置了对应的分片区块链,由对应的监管委员会运行共识维护该分片区块链,保证片内交易只需要本网络分片中所有节点达成共识即可。

73、本发明的其他优点、目标和特征将在随后的说明书中进行阐述,并且在某种程度上对本领域技术人员而言是显而易见的,或者本领域技术人员可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

本文地址:https://www.jishuxx.com/zhuanli/20240801/242028.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。