二层网络资产高效退出到一层的方法、设备及存储介质与流程

文档序号:35377278发布日期:2023-09-08 19:56阅读:54来源:国知局
二层网络资产高效退出到一层的方法、设备及存储介质与流程

本发明涉及区块链,尤其是涉及一种二层网络资产高效退出到一层的方法、设备及存储介质。


背景技术:

1、基于零知识证明的二层网络,通过密码学的方法保证了二层网络的计算和一层网络具有同等的安全性,这样可以把计算放在二层,计算的结果和相应的零知识证明发到一层同步状态,可以大大节省一层的拥堵,同时对用户来说大大节省了交易费和交易速度的友好体验。

2、例如,申请人已申请的专利cn115309825a,一种区块零知识证明并行优化方法、设备及存储介质,该方法包括:第二层区块链网络的出块节点从第二层区块链网络中打包交易生成区块并执行区块内交易;在执行区块时,第二层区块链网络保留该区块的状态更新信息;多个见证信息生成器并发生成多个区块对应的见证信息;生成的见证信息按顺序依次写入数据库中;其中,多个见证信息生成器并发生成多个区块对应的见证信息的具体包括:各个见证信息生成器加载已完成的区块信息,获取各自需要计算见证信息的区块及其状态信息;各个见证信息生成器执行以下步骤:判断获取的区块是否为所述第二层区块链网络的首个区块,是则新建第二层区块链网络的默克尔账户树,否则加载数据库中最新的第二层区块链网络的默克尔账户树,反向获取前序区块及其状态更新信息,根据获取的前序区块及对应状态更新信息更新所加载的默克尔账户树;所述前序区块为区块高度在加载的默克尔账户树对应区块至证信息生成器需要计算见证信息的区块之间的所有区块,所述默克尔账户树为双层默克尔树架构,其第一层为用户树层,第二层为资产树层,所述用户树的叶子节点与第二层区块链网络的各个账户一一对应,所述用户树的叶子节点均配置有对应的资产树,所述资产树的叶子节点与对应的账户的各类资产信息相对应,所述用户树的根哈希根据第二层区块链网络的各个账户的根哈希生成,所述第二层区块链网络的各个账户的根哈希根据各自对应的资产树根哈希计算生成;依据新建或更新的默克尔账户树计算对应的见证信息。该发明提出了利用将为不同的高度生成对应的默克尔账户树,然后采用状态信息与默克尔账户树结合的方式快速地生成认证信息计算中的输入信息,从而使得认证信息的计算可以并行化,有效提升见证信息的计算效率,同时见证信息计算在链下计算,不会占用区块链tps,生成见证信息后上链并计算零知识证明所需计算量少,有效提升区块链的处理吞吐能力。

3、以上类似技术中均存在以下问题:基于二层的一些需要和一层交互的证明,比如提款,存款等,需要随证明一起提交到一层完成相应操作,如果一层无法完成,二层需要回滚相应操作。比如deposit存款,用户在一层存款后,如果在二层也进行了存款,但是证明无法提交到一层完成闭环,在等待期结束后,一层用户可以回滚存款,这时候二层的存款也需要回滚。对于二层的withdraw提款,用户在二层提款后,证明无法被一层验证通过,但用户在二层的资产已经扣减掉了,也需要状态回滚回去。基于平行链的资产从二层转移到合约的资产,也需要全部转回到二层后,提供证明退出到一层。但是因为二层的执行和一层的证明直接存在很大延迟性,尤其是在二层证明无法在一层验证,系统无法进行下去的时候,二层提款的资产已经扣减,但一层没有提款成功,用户无法证明二层的资产。

4、虽然申请人已经提出了二层资产退出到一层的方案,但是该方案基于平行链从头重新同步到无效证明,该方案在平行链高度很大时候耗时太长。


技术实现思路

1、本发明主要解决现有二层的证明验证失败时,由于二层的执行和一层的证明存在很大延迟性,用户在二层的资产无法退回到一层以及现有解决方案效率较低的技术问题,提出了一种二层网络资产高效退出到一层的方法、设备及存储介质,考虑到平行链从头同步到设置的无效证明而回滚一些提款交易的方案耗时可能比较长,而往往无效交易就是最后几笔,而提出了通过生成交易队列,从而记录每个验证成功的证明和起止的队列数据的绑定关系,设置最后有效证明而回滚证明后的提款和存款交易的方案。

2、本发明具体通过以下技术方案解决上述技术问题,一种二层网络资产高效退出到一层的方法,所述方法适用于二层区块链网络,所述二层区块链网络包括第一层区块链网络和第二层区块链网络,所述第二层区块链网络根据交易向第一层区块链网络发送证明,所述第二层区块链网络按照交易顺序生成记录每一笔交易元数据的队列,所述方法包括:

3、所述第二层区块链网络对所有的证明和附带的与证明绑定的元数据进行验证,并记录每个验证成功的证明和起止的队列数据的绑定关系;

4、所述第一层区块链网络在限制时间内无法验证第二层区块链网络发送的证明时,用户在第二层区块链网络提交最后一个验证成功的证明id;

5、根据最后一个验证成功的证明id定位该笔有效交易在队列数据中的起止位置,根据定位结果统计队列上该笔有效交易之后的所有存款和提款交易元数据,存款和提款交易元数据统计完成后执行一次性回滚操作。

6、本发明中首先二层链设计了依次记录所有交易的queue队列,这个队列记录了每一笔交易的元数据,比如1存款,2转账,3提款等,按顺序记录,二层会验证所有的证明和附带的和证明绑定的元数据,比如proof1+1存款,proof2+(2转账和3提款);这样二层会记录每个成功的proof和起止的queue数据的绑定关系;当提供一个proofid时候就可以确定它对应的最后一个queue,比如proof1对应1存款,proof2对应3提款;在l1层因为某种原因无法验证更新新的l2的证明超过限制时间的时候,就允许用户从l1层根据最后一个成功的proof在l2构建最后的treeroot来构建证明提款;用户需要在二层提交最后一个成功的proofid,比如proofid=100,此id对应的最后一个queueid为200,而queue=200后还有201deposit1000token,205withdraw300token,那么可以根据定位到queue的200后的所有queue操作而回滚deposit和withdraw的操作,其他操作不处理。需要说明的是,考虑到交易执行顺序问题,deposit和withdraw的回滚操作统计完成后所有执行。比如201deposit后有202transfer等,这里的transfer仍旧认为有效,只是在认为所有操作有效的基础上回滚deposit和withdraw的操作,所以是最后做回滚,因为所有交易的回滚太复杂;考虑到可能deposit后transfer给其他用户而本用户扣减deposit的余额不够的场景,需要从手续费账户扣除,如果手续费仍不够,考虑从l1管理员增加余额来保证从l1合约提款成功。withdraw的回滚是给用户增加相应余额没有余额不够的问题。

7、本发明设计了基于二层区块链网络的交易队列结合交易证明来给二层回滚冲提款的操作的方案,因为是在最后成功的证明的基础上查询遍历操作,需要遍历的充提款操作数据较少,可以高效完成回滚的操作。

8、作为优选,执行回滚操作时,若存款后转账给其他用户而本用户扣减存款的余额不足时,费用从手续费账户扣除,若手续费仍不够,第一层区块链网络管理员增加余额来保证从第一层区块链网络合约提款成功。

9、作为优选,每个验证成功的证明所绑定的起止队列数据包括一笔第二层区块链网络和第一层区块链网络交互的交易。

10、作为优选,每个验证成功的证明所绑定的起止队列数据仅包括一笔第二层区块链网络和第一层区块链网络交互的交易,或每个验证成功的证明所绑定的起止队列数据包括一笔第二层区块链网络和第一层区块链网络交互的交易和若干笔不涉及和第一层区块链网络交互的交易。

11、一种计算机设备,包括:一个或多个处理器;

12、存储器,用于存储一个或多个程序;

13、当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的二层网络资产高效退出到一层的方法。

14、一种存储有计算机程序的存储介质,该程序被处理器执行时实现上述的二层网络资产高效退出到一层的方法。

15、本发明具有以下有益效果:通过提交零知识证明的方式在一层验证证明,保证用户有效有序退出资产;对二层的用户影响较小因为是在最后成功的证明的基础上查询遍历操作,需要遍历的充提款操作数据较少,可以高效完成回滚的操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1