一种基于双向合约协同的侧链扩容方法

文档序号:35704377发布日期:2023-10-12 04:14阅读:20来源:国知局
一种基于双向合约协同的侧链扩容方法

本发明属于区块链,尤其是涉及一种基于双向合约协同的侧链扩容方法。


背景技术:

1、区块链作为去中心化分布式系统,融入了分布式计算、加密算法、共识算法、p2p网络。市面上主要用的两种区块链类型分别是公有链和联盟链,不管是公有链还是联盟链,最终进行交易的数据都是需要上链。公链由于需要保证每个节点的安全性较高,防止遭遇双花攻击等具有毁灭性的攻击行为,所以公链不得不使用更加安全的共识算法和加密算法,这也导致了区块链公链在数据上链的同时,在这两种算法花费了大量的时间,在性能上受到了限制。另外不管是比特币还是以太坊,每次上链产生的交易手续费都是巨大的,对于小额交易并不友好,因此诞生了链下扩容,一方面是为了提高数据处理的吞吐量,另一方面是为了更好支持小额支付。联盟链的吞吐量较高,但联盟链对数据隐私要求更高,所以基于联盟链的扩容技术主要侧重于加强数据隐私保护,保证交易数据安全。

2、链下扩容是在不改变区块链底层结构的情况下,采用一些链下的技术手段,来提升区块链网络的交易吞吐量,从而解决因交易量过大而导致的拥堵和交易延迟等问题,以及区块链链上数据公开等问题。

3、当前区块链更多聚焦支付功能,扩容技术主要针对单一的支付场景,本发明通过侧链合约和主链合约的协同,支持多种交易类型,通过主链的共识算法为侧链的安全背书,并在侧链采用高性能低通信复杂度的共识算法,可以有效提升区块链系统的处理效率,把链上的处理转移到链下,减轻链上大规模的交易负担,提供隐私安全的功能扩容需求。


技术实现思路

1、本发明的目的是提供一种基于双向合约协同的侧链扩容方法,解决上述技术存在的因交易量过大而导致拥堵和交易延迟以及区块链上数据公开的问题。

2、为实现上述目的,本发明提供一种基于双向合约协同的侧链扩容方法,包括以下步骤:

3、步骤1、通过部署的智能合约申请创建侧链,所述智能合约包括主链合约和侧链合约;

4、步骤2、在链下初始化侧链资源,初始化节点集群加入侧链并在区块链上支付相关的挑战金,侧链合约通过随机选举的方式选出第一任领导者;

5、步骤3、主链上未加入侧链的节点向主链合约发起加入侧链的申请,在侧链集群节点审核通过后加入侧链;

6、步骤4、用户在侧链进行实时交易,领导者节点定时定量将交易打包为默克尔树根,由侧链合约向主链合约发起上链请求,主链合约收到请求后将数据上链;

7、步骤5、侧链合约根据侧链节点的行为,定时变更侧链集群内的领导者;

8、步骤6、侧链节点在完成交易之后申请退出侧链,侧链合约根据侧链节点的交易量设置挑战时间,在挑战时间内接受集群节点的审计;

9、步骤7、侧链节点退出侧链,并在区块链上进行结算。

10、优选的,所述步骤1的具体步骤为:

11、s101、链上节点在区块链智能合约上申请部署侧链;

12、s102、智能合约审核申请创建侧链节点的信用值以及资产;

13、s103、审核通过之后将申请审核的结果上链,同时为链上节点分配相对应的侧链节点。

14、优选的,所述步骤2的具体步骤为:

15、s201、链上节点相对应的侧链节点向侧链合约申请创建侧链;

16、s202、侧链合约向主链合约发起校验请求;

17、s203、侧链合约校验通过之后在链下分配侧链资源;

18、s204、侧链的相关信息通过侧链合约和主链合约协同的方式被登记在区块链上。

19、优选的,所述步骤3的具体步骤为:

20、s301、主链上未加入侧链的节点向主链合约发起加入某条侧链的申请;

21、s302、主链合约将申请登记在区块链上,通过侧链合约与主链合约协同将申请信息返回给侧链;

22、s303、侧链合约收到加入侧链的申请之后在侧链集群内发起投票,链上节点被允许加入侧链之后,侧链合约向主链合约发起同意回复;

23、s304、主链合约收到回复之后,将信息登记在区块链上,并通过主链合约为链上的节点生成相应的侧链节点。

24、优选的,所述步骤4的具体步骤为:

25、s401、主链节点将资产在区块链上进行锁定;

26、s402、链上智能合约对申请锁定资产的节点进行验证,验证通过后锁定链上的资产;

27、s403、链上节点对应的侧链节点在侧链里请求创建虚拟资产;

28、s404、校验通过后,侧链合约在侧链为节点生成虚拟资产;

29、s405、若干个节点在侧链内进行资产交易;

30、s406、领导者节点定时定量将交易记录通过生成默克尔树打包到区块链上。

31、优选的,所述步骤5的具体步骤为:

32、s501、侧链合约记录领导者节点的性能并同步到侧链上,同时记录侧链内节点的信用分值,根据这种评分规则率先计算下一个周期的领导者节点;

33、s502、在当前领导者节点任期结束之后,将领导者角色切换到下一任;

34、s503、在上一任领导者任期结束之后,计算出节点担任领导者时的性能,并在集群内共识同步到各个节点。

35、优选的,所述步骤6的具体步骤为:

36、s601、侧链节点向侧链合约发起退出侧链的申请,侧链合约对该节点进行校验;

37、s602、退出侧链的节点验证通过之后开启挑战期,在挑战期内同一侧链内的节点能够对退出节点的交易提出挑战,由链上审计委员会对所述挑战内容进行评定。

38、优选的,所述步骤7的具体步骤为:

39、s701、在所述挑战期过后,如果退出侧链的节点不存在作假的情况,侧链合约将转移资产的签名通过双向合约协同的方式登记在区块链上;

40、s702、主链节点根据节点自身的标识在智能合约上申请资产提现,链上智能合约验证之后变更资产的所有者。

41、因此,本发明采用上述一种基于双向合约协同的侧链扩容方法,具有以下有益效果:

42、(1)通过侧链合约和主链合约的协同,让主链的共识算法为侧链的安全背书,并在侧链采用高性能低通信复杂度的共识算法,把链上的处理转移到链下,减轻链上大规模的交易负担,有效提升区块链系统的处理效率;

43、(2)通过基于双向合约协同的双向锚定机制,提升资产跨链的效率,以此提升链下扩容的效率。

44、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。



技术特征:

1.一种基于双向合约协同的侧链扩容方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于双向合约协同的侧链扩容方法,其特征在于,所述步骤1的具体步骤为:

3.根据权利要求1所述的一种基于双向合约协同的侧链扩容方法,其特征在于,所述步骤2的具体步骤为:

4.根据权利要求1所述的一种基于双向合约协同的侧链扩容方法,其特征在于,所述步骤3的具体步骤为:

5.根据权利要求1所述的一种基于双向合约协同的侧链扩容方法,其特征在于,所述步骤4的具体步骤为:

6.根据权利要求1所述的一种基于双向合约协同的侧链扩容方法,其特征在于,所述步骤5的具体步骤为:

7.根据权利要求1所述的一种基于双向合约协同的侧链扩容方法,其特征在于,所述步骤6的具体步骤为:

8.根据权利要求1所述的一种基于双向合约协同的侧链扩容方法,其特征在于,所述步骤7的具体步骤为:


技术总结
本发明公开了一种基于双向合约协同的侧链扩容方法,属于区块链技术领域,包括以下步骤:链上节点通过部署的智能合约申请创建侧链;在链下创建侧链并在区块链上支付挑战金,侧链合约选出第一任领导者;主链上其他节点向主链合约发起加入侧链的申请,侧链集群审核通过后加入侧链;链上用户将资产锁定在链上,在侧链生成虚拟资产并在侧链进行实时交易,领导者节点将交易打包为默克尔树根,并通过侧链合约向主链合约提交上链;侧链合约根据侧链节点的行为,定时变更侧链集群内的领导者;侧链节点在完成交易之后申请退出侧链,侧链合约设置挑战时间,在挑战时间内申请退出节点接受集群其他节点的审计;侧链节点退出侧链,并在区块链上进行结算。

技术研发人员:许家林,邱望洁,郑志明,卓胜达
受保护的技术使用者:广州大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1