System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书实施例属于区块链,尤其涉及一种实现二层网络卷叠的方法及二层网络。
技术介绍
1、分布式系统中存在经典的cap定理——consistency(一致性)、availability(可用性)、partition tolerance(分区容错性),三者不可兼得,简称“不可能三角”问题。区块链中也存在一个不可能三角:效率、去中心化、安全。尽管这里的区块链“不可能三角”还没有明确的理论论证,但是是对现有区块链的总结。这里的效率、去中心化和安全,分别定义如下:
2、效率:每秒处理交易的数量,即tps(transaction per second)。
3、去中心化:参与节点门槛足够低,保证系统中有大量分布式的节点。
4、安全:对区块链发动攻击的难度足够大。
5、针对上述区块链“不可能三角”的问题,ethereum(也就是以太坊,也称为“主网”或“一层”,mainnet或layer1;此外,目前较为流行的还有币安的bsc、波场tron等的公链项目,也是layer1/主网的范畴)选择了安全性和去中心化,牺牲了效率,目前只有大约12~15tps。当有大量交易需要处理时,尤其是很多操作复杂的交易时,layer1就会拥堵。除了普通的转账交易外,layer1还作为defi(去中心化金融)和nft(非同质化代币)等火爆应用的主要平台,在交易盛行时,layer1拥堵的问题就变得十分严重,带来较大的交易延迟,以致于影响到用户的使用。
6、此外,高昂的gas fee(汽油费,或交易费)很多时候成为
7、layer 2技术是构建在layer1之上的扩展性解决方案,旨在解决layer1的效率低和交易费用高的问题。如图1所示,交易可以在layer2上快速执行,layer2按照一定的时机将最终状态同步回layer1。layer2用于专门提供高速的交易处理,而安全性和去中心化交由layer1去保障。这样,减轻layer1压力的同时,layer2上执行交易的gas费可以大幅下降,将layer2上交易执行的最终状态(而不是layer2上所有的状态)同步回layer1所需的gas费也可以大幅下降。在layer1之上架构layer 2的技术,实际上是将交易或合约的执行过程与最终状态的保存分离开,执行过程放到了layer2,layer1只需要保存最终的状态。这个设计中,需要保证layer2上交易或合约的执行过程的正确性,并且写入layer1的状态与layer2上正确执行的结果是一致的。
8、ethereum的layer2包括一种称为rollup的机制。rollup的核心思路如图1所示,是在layer1上保存能够验证交易过程的凭证,而将交易过程(计算过程)还有状态存储运行在layer2中。所谓交易过程的凭证,包括一组交易执行前的状态(pre-state)和该组交易执行后的状态(post-state)以及该组交易,可以用于验证这组交易对应的状态转移是否正确,还可以用于还原出layer2上所有交易的执行过程和所有账户的状态,从而消除layer2上由于数据可用性带来的安全风险。
技术实现思路
1、本说明书在于提供一种实现二层网络卷叠的方法及二层网络,通过以下方式实现:
2、一种实现二层网络卷叠的方法,包括:
3、二层网络的排序器从交易池中拉取交易,对所述拉取的交易排序并打包,生成打包交易的第一交易根,基于所述打包交易执行前的初始状态按序执行所述打包的交易并生成第一后状态根;
4、所述排序器发送打包的交易、第一交易根、所述打包交易执行前读集的spv证明以及第一前状态根和第一后状态根至二层网络的证明器;所述证明器采用可信执行环境实现;
5、所述证明器验证第一交易根,并在打包交易读集的spv证明基础上验证第一前状态根;两个验证通过后,按序执行所述打包交易并生成第二后状态根;验证第二后状态根与第一后状态根相等后,采用可信执行环境中的私钥对所述打包交易的信息签名,将签名作为证明并通过第二主网交易发送至主网的区块链账本。
6、一种实现二层网络卷叠的方法,包括:
7、二层网络的排序器从交易池中拉取交易,对所述拉取的交易排序并打包后发送至执行器;
8、执行器和证明器并行执行s1和s2:
9、s1:所述执行器生成后序打包交易的第一交易根,基于所述后序打包交易执行前的初始状态按序执行所述后序打包的交易并生成第一后状态根;所述执行器发送后序打包交易、第一交易根、所述后序打包交易执行前的初始状态以及初始状态对应的第一前状态根和第一后状态根至二层网络的证明器;所述证明器采用可信执行环境实现;
10、s2:所述证明器验证前序打包交易的第一交易根与第一前状态根;两个验证通过后,基于所述初始状态按序执行所述前序打包交易,生成第二后状态根,验证第二后状态根与第一后状态根相等后,采用可信执行环境中的私钥对所述前序打包交易的信息签名,将签名作为证明并通过第二主网交易发送至主网的区块链账本。
11、一种实现二层网络卷叠的方法,包括:
12、二层网络的排序器从交易池中拉取交易,对所述拉取的交易排序并打包后发送至执行器;
13、执行器和证明器并行执行s3和s4:
14、s3:所述执行器生成后序打包交易的第一交易根,基于所述后序打包交易执行前的初始状态按序执行所述后序打包交易并生成第一后状态根;所述执行器发送后序打包交易、第一交易根、所述第n+1个包中交易执行前读集的spv证明以及第一前状态根和第一后状态根至二层网络的证明器;所述证明器采用可信执行环境实现;
15、s4:所述证明器验证前序打包交易的第一交易根,并在前序打包交易读集的spv证明基础上验证第一前状态根;两个验证通过后,按序执行所述前序打包交易并生成第二后状态根;验证第二后状态根与第一后状态根相等后,采用可信执行环境中的私钥对所述打包交易的信息签名,将签名作为证明并通过第二主网交易发送至主网的区块链账本。
16、一种实现二层网络卷叠的方法,包括:
17、二层网络的排序器从交易池中拉取交易,对所述拉取的交易排序并打包后,将不具有依赖关系的交易分组并将不同分组发送至执行器参与方;
18、所述执行器参与方采用一执行器生成所述打包交易的第一交易根;所述至少两个执行器各自基于所述打包交易执行前的初始状态按序执行所述打包交易中的不同交易分组,由所述一执行器合并所述所有交易分组的执行结果并生成第一后状态根;所述执行本文档来自技高网...
【技术保护点】
1.一种实现二层网络卷叠的方法,包括:
2.如权利要求1所述的方法,所述证明器在所述SPV证明基础上验证第一前状态根,包括:所述证明器基于SPV证明的读集以及Merkle路径计算Merkle根,得到第二前状态根,验证第二前状态根是否与第一前状态根相等。
3.如权利要求1所述的方法,所述按序执行所述打包交易并生成第二后状态根,包括:
4.一种实现二层网络卷叠的方法,包括:
5.一种实现二层网络卷叠的方法,包括:
6.一种实现二层网络卷叠的方法,包括:
7.一种实现二层网络卷叠的方法,包括:
8.一种实现二层网络卷叠的方法,包括:
9.一种实现二层网络卷叠的方法,包括:
10.如权利要求1-9中任一项所述的方法,所述证明器为至少两个且并行执行。
11.一种二层网络,包括交易池、排序器、证明器,其中:
12.一种二层网络,包括交易池、排序器、证明器,其中:
13.一种二层网络,包括交易池、排序器、证明器,其中:
14.一种二层网络,
15.一种二层网络,包括交易池、排序器、证明器,其中:
16.一种二层网络,包括交易池、排序器、证明器,其中:
17.一种二层网络,包括交易池、排序器、证明器,其中:
...【技术特征摘要】
1.一种实现二层网络卷叠的方法,包括:
2.如权利要求1所述的方法,所述证明器在所述spv证明基础上验证第一前状态根,包括:所述证明器基于spv证明的读集以及merkle路径计算merkle根,得到第二前状态根,验证第二前状态根是否与第一前状态根相等。
3.如权利要求1所述的方法,所述按序执行所述打包交易并生成第二后状态根,包括:
4.一种实现二层网络卷叠的方法,包括:
5.一种实现二层网络卷叠的方法,包括:
6.一种实现二层网络卷叠的方法,包括:
7.一种实现二层网络卷叠的方法,包括:
8.一种实现二层网络卷叠的方法,包括:...
【专利技术属性】
技术研发人员:胡文博,周晨辉,李育文,卓海振,魏长征,闫莺,蒋国飞,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。