基于二层网络资产退出到一层的方法、设备及存储介质技术

技术编号:38822785 阅读:8 留言:0更新日期:2023-09-15 20:01
本发明专利技术公开了一种基于二层网络资产退出到一层的方法、设备及存储介质,主要解决现有技术中二层的证明验证失败时,由于二层的执行和一层的证明存在很大延迟性,用户在二层的资产无法退回到一层的技术问题,本发明专利技术通过设计了退出准备和退出清算两个退出阶段,其中证明验证失败后进入退出准备阶段,识别统计无效交易,退出准备阶段恢复一段时间后,进入退出清算阶段,通过提交零知识证明的方式在一层验证证明,保证用户有效有序退出资产。保证用户有效有序退出资产。保证用户有效有序退出资产。

【技术实现步骤摘要】
基于二层网络资产退出到一层的方法、设备及存储介质


[0001]本专利技术涉及区块链
,尤其是涉及一种基于二层网络资产退出到一层的方法、设备及存储介质。

技术介绍

[0002]基于零知识证明的二层网络,通过密码学的方法保证了二层网络的计算和一层网络具有同等的安全性,这样可以把计算放在二层,计算的结果和相应的零知识证明发到一层同步状态,可以大大节省一层的拥堵,同时对用户来说大大节省了交易费和交易速度的友好体验。
[0003]例如,申请人已申请的专利CN115309825A,一种区块零知识证明并行优化方法、设备及存储介质,该方法包括:第二层区块链网络的出块节点从第二层区块链网络中打包交易生成区块并执行区块内交易;在执行区块时,第二层区块链网络保留该区块的状态更新信息;多个见证信息生成器并发生成多个区块对应的见证信息;生成的见证信息按顺序依次写入数据库中;其中,多个见证信息生成器并发生成多个区块对应的见证信息的具体包括:各个见证信息生成器加载已完成的区块信息,获取各自需要计算见证信息的区块及其状态信息;各个见证信息生成器执行以下步骤:判断获取的区块是否为所述第二层区块链网络的首个区块,是则新建第二层区块链网络的默克尔账户树,否则加载数据库中最新的第二层区块链网络的默克尔账户树,反向获取前序区块及其状态更新信息,根据获取的前序区块及对应状态更新信息更新所加载的默克尔账户树;所述前序区块为区块高度在加载的默克尔账户树对应区块至证信息生成器需要计算见证信息的区块之间的所有区块,所述默克尔账户树为双层默克尔树架构,其第一层为用户树层,第二层为资产树层,所述用户树的叶子节点与第二层区块链网络的各个账户一一对应,所述用户树的叶子节点均配置有对应的资产树,所述资产树的叶子节点与对应的账户的各类资产信息相对应,所述用户树的根哈希根据第二层区块链网络的各个账户的根哈希生成,所述第二层区块链网络的各个账户的根哈希根据各自对应的资产树根哈希计算生成;依据新建或更新的默克尔账户树计算对应的见证信息。该专利技术提出了利用将为不同的高度生成对应的默克尔账户树,然后采用状态信息与默克尔账户树结合的方式快速地生成认证信息计算中的输入信息,从而使得认证信息的计算可以并行化,有效提升见证信息的计算效率,同时见证信息计算在链下计算,不会占用区块链Tps,生成见证信息后上链并计算零知识证明所需计算量少,有效提升区块链的处理吞吐能力。
[0004]以上类似技术中均存在以下问题:基于二层的一些需要和一层交互的证明,比如提款,存款等,需要随证明一起提交到一层完成相应操作,如果一层无法完成,二层需要回滚相应操作。比如deposit存款,用户在一层存款后,如果在二层也进行了存款,但是证明无法提交到一层完成闭环,在等待期结束后,一层用户可以回滚存款,这时候二层的存款也需要回滚。对于二层的withdraw提款,用户在二层提款后,证明无法被一层验证通过,但用户在二层的资产已经扣减掉了,也需要状态回滚回去。基于平行链的资产从二层转移到合约
的资产,也需要全部转回到二层后,提供证明退出到一层。但是因为二层的执行和一层的证明直接存在很大延迟性,尤其是在二层证明无法在一层验证,系统无法进行下去的时候,二层提款的资产已经扣减,但一层没有提款成功,用户无法证明二层的资产。

技术实现思路

[0005]本专利技术主要解决现有二层的证明验证失败时,由于二层的执行和一层的证明存在很大延迟性,用户在二层的资产无法退回到一层的技术问题,提出了一种基于二层网络资产退出到一层的方法、设备及存储介质,通过两个退出阶段,最小化对二层的用户影响,并通过二层提供零知识证明的方式在一层退出用户资产,同时通过批量退出证明的方式,可以大大节省一层gas费。
[0006]本专利技术具体通过以下技术方案解决上述技术问题,一种基于二层网络资产退出到一层的方法,所述方法适用于二层区块链网络,所述二层区块链网络包括第一层区块链网络和第二层区块链网络,所述第二层区块链网络根据交易向第一层区块链网络发送证明,所述方法包括:所述第二层区块链网络向第一层区块链网络发送的证明验证失败时,第二层区块链网络根据上一次成功验证的证明确定无效证明和第一个无效交易;平行链设置第一个无效交易和无效证明后从0高度重新同步平行链;合约处理到第一个无效交易后设置合约为退出准备状态,进入退出准备阶段,所述第二层区块链网络和第一层区块链网络交互的交易均认定为无效交易,不涉及和第一层区块链网络交互的交易正常执行;退出准备阶段恢复第一时长后,进入退出清算阶段,管理者提醒用户在指定日期或指定高度之前从合约把资产提回到第二层区块链网络的资产树上,若超过指定日期,管理员发送退出清算交易,进入退出清算阶段,禁止用户从合约提回剩余资产,禁止用户在第二层区块链网络的操作;锁定所述第二层区块链网络的资产树根,将所述资产树根更新至第一层区块链网络合约,用户或管理者构建资产退出证明,资产退出证明包括公开输入和私密输入,资产退出证明验证通过后,所述第二层区块链网络或合约将退出资产发送至第一层区块链网络。
[0007]在一层无法正确验证新的证明的状态下,二层根据一层上一次成功的证明在二层检索第一个无效交易,无效交易包括需要和一层交互的交易,比如deposit,withdraw,proxyWithdraw等,找到第一个无效交易。第一个无效交易前后可能有很多其他类型交易,比如二层的不和一层交互的转账等交易,都不认为是无效交易。根据一层最后的有效证明找到二层的下一个证明作为无效证明,比如一层证明最后一个是第100个,则二层的第101个证明是无效证明。平行链设置无效交易和无效证明后从0高度重新同步平行链,相当于回滚平行链。在合约处理到无效交易后设置合约为“退出准备”状态。在退出准备状态下,所有和一层交互的交易都认为是无效交易,但是非一层交互的交易都会得到正常执行,但是如果受到无效交易影响的交易将会执行出错,比如A存款100后转账给B100,由于存款交易为无效交易,转账交易检查A余额为0,则转账会失败。如果检查余额大于100,转账仍会成功。在“退出准备”状态下,无效交易后的曾经在链上执行过的交易会重新执行一遍,不受无效交易影响的交易仍会执行成功,对用户无影响。在无效证明后的所有证明在平行链重新执
行后也会被标记为无效证明。因为证明ID或root不连续。在“退出准备”阶段恢复一段时间后,管理者提醒用户在指定日期或指定高度之前从合约把资产提回到二层的资产树上,超过指定日期后,管理员将发送“退出清算”交易,进入退出清算阶段,在退出清算阶段,用户将无法从合约提回剩余资产,也无法执行二层的任何操作,比如转账等操作。二层资产树锁定在一个确定的root。此root更新到一层合约,以此为基准退出用户资产,用户或管理者以此构建资产退出证明,发送到一层退出资产。
[0008]本专利技术通过设计了退出准备和退出清算两个退出阶段,其中证明验证失败后进入退出准备阶段,识别统计无效交易,退出准备阶段恢复一段时间后,进入退出清算阶段,通过提交零知识证明的方式在一层验证证明,保证用户有效有序退出资产。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于二层网络资产退出到一层的方法,其特征在于,所述方法适用于二层区块链网络,所述二层区块链网络包括第一层区块链网络和第二层区块链网络,所述第二层区块链网络根据交易向第一层区块链网络发送证明,所述方法包括:所述第二层区块链网络向第一层区块链网络发送的证明验证失败时,第二层区块链网络根据上一次成功验证的证明确定无效证明和第一个无效交易;平行链设置第一个无效交易和无效证明后从0高度重新同步平行链;合约处理到第一个无效交易后设置合约为退出准备状态,进入退出准备阶段,所述第二层区块链网络和第一层区块链网络交互的交易均认定为无效交易,不涉及和第一层区块链网络交互的交易正常执行;退出准备阶段恢复第一时长后,进入退出清算阶段,管理者提醒用户在指定日期或指定高度之前从合约把资产提回到第二层区块链网络的资产树上,若超过指定日期,管理员发送退出清算交易,进入退出清算阶段,禁止用户从合约提回剩余资产,禁止用户在第二层区块链网络的操作;锁定所述第二层区块链网络的资产树根,将所述资产树根更新至第一层区块链网络合约,用户或管理者构建资产退出证明,资产退出证明包括公开输入和私密输入,资产退出证明验证通过后,所述第二层区块链网络或合约将退出资产发送至第一层区块链网络。2.根据权利要求1所述的基于二层网络资产退出到一层的方法,其特征在于,所述无效证明和第一个无效交易的确定过程具体包括:所述第二层区块链网络向第一层区块链网络发送的证明验证失败时,确定第一层区块链网络上一次...

【专利技术属性】
技术研发人员:马登极吴思进王志文
申请(专利权)人:苏州颜凰生物科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1