区块链状态映射方法、系统、计算机设备及存储介质技术方案

技术编号:29674347 阅读:12 留言:0更新日期:2021-08-13 21:56
本发明专利技术公开了区块链状态映射方法、系统、计算机设备及存储介质,涉及区块链技术,第二区块链在接收到第二类型节点设备发送的状态变换证明数据时,调用本地已存储的智能合约,通过智能合约对所述状态变换证明数据进行验证,得到验证结果,若所述验证结果为通过验证,获取第一区块链的状态变换数据,将所述状态变换数据映射到本地,确保了第一区块链上的状态可被正确无误映射到第二区块链上,第二区块链上的任何用户和应用都可通过该智能合约访问到可信的第一区块链的状态数据,第一区块链每次都可以将多个状态变更归并到一起,提交到第二区块链上的数据只有状态数据的增量和一个零知识证明值即可,不仅降低了状态映射成本,而且提高了映射效率。

【技术实现步骤摘要】
区块链状态映射方法、系统、计算机设备及存储介质
本专利技术涉及区块链的安全机制
,尤其涉及一种区块链状态映射方法、系统、计算机设备及存储介质。
技术介绍
区块链是基于多种密码学、P2P点对点网络、共识机制等技术实现的去中心化协议系统。区块链设计了一种非中心化的信任机制,从而使其上的数据具有高度可信、不可篡改和不可伪造的特性。目前全球范围内仅公有链就已经有数千个,每个区块链相当于一个独立的系统集群,不同区块链的系统之间无法直接交互,状态数据库也是相互隔离的,就如同一个个用户和数据的孤岛。目前全球范围内有多种方案在尝试增加不同区块链的连通性。第一种是基于中间代理机制,由中间代理搭建链与链之间的链桥,通过区块链的API进行监听和状态操作实现不同链之间的状态映射。此方案有个严重的问题是它必须依赖一个可靠的中间代理人,带来了中心化的信任风险和稳定性风险,如果链桥运营者作恶、服务系统异常或被攻击等情形出现会导致桥接失败和经济上的损失。第二种是利用哈希时间锁技术或者同时修改两条链的底层进行定制绑定,实现两个区块链之间金额或交易状态映射的方案。此方案针对的场景单一(只能实现特定定制链的金额数字的映射),基础建设成本高(需要针对每个使用场景建立一个交换服务),使用成本也高(每一次账户的金额状态映射都需要一次配对、等待、交互过程)。第三种是通过让其中一条链的所有验证者在被映射链上进行投票,再由智能合约对投票进行验证。这个方案给每个验证者带来了大量的工作,同时每次链上投票需要消耗大量的链上资源,成本很高且效率低下。
技术实现思路
本专利技术实施例提供了一种区块链状态映射方法、系统、计算机设备及存储介质,旨在解决现有技术中不同区块链的进行状态映射需要可靠链桥运营者、或是将两条链的底层进行定制绑定、或是让其中一条链的所有验证者在被映射链上进行投票,再由智能合约对投票进行验证,导致实现成本高,而且映射效率低下的问题。第一方面,本专利技术实施例提供了一种区块链状态映射方法,应用于第二类型节点设备,所述第二类型节点设备为任意节点设备,其包括:接收第一区块链发送的状态变换数据,并获取所述第一区块链上的验证者签名数据和零知识电路;将所述状态变换数据通过所述零知识电路生成状态变换证明数据;以及将所述状态变换证明数据发送至第二区块链;其中,所述第二区块链与所述第一区块链为不同的区块链。第二方面,本专利技术实施例提供了一种区块链状态映射方法,应用于第二区块链,其包括:接收第二类型节点设备发送的状态变换证明数据,调用本地已存储的智能合约;其中,所述第二类型节点设备用于根据所接收的由第一区块链发送的状态变换数据和零知识电路生成状态变换证明数据并发送至第二区块链;所述第二区块链与所述第一区块链为不同的区块链;通过智能合约对所述状态变换证明数据进行验证,得到验证结果;以及若所述验证结果为通过验证,获取第一区块链的状态变换数据,将所述状态变换数据映射到本地。第三方面,本专利技术实施例提供了一种区块链状态映射方法,应用于第一类型节点设备,所述第一类型节点设备为任意节点设备且与第二类型节点设备不为同一节点设备,其包括:接收第一区块链发送的参数生成器代码数据,根据所述参数生成器代码数据对应生成随机参数,将所述随机参数发送到第一区块链;其中,所述参数生成器代码数据由第一区块链中的零知识电路生成随机数的逻辑构建;以及若接收到所述第一区块链发送与所述随机参数对应的零知识证明可信启动通知,进行第一类型验证者标记并将对应的第一类型签名数据发送至第一区块链。第四方面,本专利技术实施例提供了一种区块链状态映射方法,应用于第一区块链,其包括:将参数生成器代码数据发送至随机选中的第一类型节点设备;其中,所述第一类型节点设备用于根据第一区块链发送的参数生成器代码数据生成随机参数并发送至第一区块链以进行可信启动;若接收到第一类型节点设备发送的随机参数且所接收的随机参数的接收时间和接收总条数满足预先设置的有效数据接收条件,将与所述参数生成器代码数据对应的零知识电路进行可信启动;若检测到有数据状态变化,获取对应的状态变换数据,将所述状态变换数据发送至随机选中的第二类型节点设备;其中,所述第二类型节点设备用于根据所接收的由第一区块链发送的状态变换数据和零知识电路生成状态变换证明数据并发送至第二区块链;若检测到第二区块链发送的映射指令,将所述状态变换数据映射到第二区块链。第五方面,本专利技术实施例提供了一种区块链状态映射系统,其包括:第一类型节点设备、第二类型节点设备、第一区块链及第二区块链,所述第二类型节点设备用于执行上述第一方面所述的区块链状态映射方法,所述第二区块链用于执行上述第二方面所述的区块链状态映射方法,所述第一类型节点设备用于执行上述第三方面所述的区块链状态映射方法,所述第一区块链用于执行上述第四方面所述的区块链状态映射方法。第六方面,本专利技术实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的区块链状态映射方法,或者实现上述第二方面所述的区块链状态映射方法,或者实现上述第三方面所述的区块链状态映射方法,或者实现上述第四方面所述的区块链状态映射方法。第七方面,本专利技术实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的区块链状态映射方法,或者执行上述第二方面所述的区块链状态映射方法,或者执行上述第三方面所述的区块链状态映射方法,或者执行上述第四方面所述的区块链状态映射方法。本专利技术实施例提供了一种区块链状态映射方法、系统、计算机设备及存储介质,是第二区块链在接收到第二类型节点设备发送的状态变换证明数据时,调用本地已存储的智能合约,通过智能合约对所述状态变换证明数据进行验证,得到验证结果,若所述验证结果为通过验证,获取第一区块链的状态变换数据,将所述状态变换数据映射到本地,确保了第一区块链上的状态可以被正确无误地映射到第二区块链上,第二区块链上的任何用户和应用都可以通过该智能合约访问到可信的第一区块链的状态数据,第一区块链每次都可以将多个状态变更归并到一起,提交到第二区块链上的数据只有状态数据的增量和一个零知识证明值即可,不仅降低了状态映射的成本,而且提高了映射效率。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的区块链状态映射方法的应用场景示意图;图2为本专利技术实施例提供的区块链状态映射方法的流程示意图;图3为本专利技术实施例提供的区块链状态映射方法的另一流程示意图;图4为本专利技术实施例提本文档来自技高网
...

【技术保护点】
1.一种区块链状态映射方法,应用于第二类型节点设备,所述第二类型节点设备为任意节点设备,其特征在于,包括:/n接收第一区块链发送的状态变换数据,并获取所述第一区块链上的验证者签名数据和零知识电路;/n将所述状态变换数据通过所述零知识电路生成状态变换证明数据;以及/n将所述状态变换证明数据发送至第二区块链;其中,所述第二区块链与所述第一区块链为不同的区块链。/n

【技术特征摘要】
1.一种区块链状态映射方法,应用于第二类型节点设备,所述第二类型节点设备为任意节点设备,其特征在于,包括:
接收第一区块链发送的状态变换数据,并获取所述第一区块链上的验证者签名数据和零知识电路;
将所述状态变换数据通过所述零知识电路生成状态变换证明数据;以及
将所述状态变换证明数据发送至第二区块链;其中,所述第二区块链与所述第一区块链为不同的区块链。


2.根据权利要求1所述的区块链状态映射方法,其特征在于,所述将所述状态变换数据通过所述零知识电路生成状态变换证明数据,包括:
获取第一区块链上的所有验证者公钥构建的默克尔树根及所有验证者公钥集合,通过默克尔树根对所有验证者公钥集合进行断言,判断默克尔树根是否正确;
若默克尔树根正确,获取第一区块链上的聚合签名,判断聚合签名中签名标记对应的签名者数量占比是否超出预设的占比阈值;
若聚合签名中签名者数量占比超出所述占比阈值,将所有验证者公钥进行聚合,得到聚合公钥;
获取聚合签名,将所述聚合公钥、所述聚合签名及状态变换数据的哈希值组合后进行签名验证,得到验证结果;
若所述验证结果对应为通过签名验证,根据状态变换数据的哈希值、默克尔树根、聚合签名、聚合签名、签名标记及聚合公钥生成状态变换证明数据。


3.一种区块链状态映射方法,应用于第二区块链,其特征在于,包括:
接收第二类型节点设备发送的状态变换证明数据,调用本地已存储的智能合约;其中,所述第二类型节点设备用于根据所接收的由第一区块链发送的状态变换数据和零知识电路生成状态变换证明数据并发送至第二区块链;所述第二区块链与所述第一区块链为不同的区块链;
通过智能合约对所述状态变换证明数据进行验证,得到验证结果;以及
若所述验证结果为通过验证,获取第一区块链的状态变换数据,将所述状态变换数据映射到本地。


4.根据权利要求3所述的区块链状态映射方法,其特征在于,所述通过智能合约对所述状态变换证明数据进行验证,得到验证结果,包括:
获取所述状态变换证明数据对应的状态哈希值,判断所述状态哈希值是否通过验证;
若所述状态哈希值通过验证,获取所述状态变换证明数据对应的状态变换数据哈希值;
判断所述状态变换证明数据是否通过零知识验证;
若所述状态变换证明数据通过零知识验证,得到通过验证的验证结果;
若所述状态变换证明数据未通过零知识验证,得到未通过验证的验证结果。


5.一种区块链状态映射方法,应用于第一类型节点设备,所述第一类型节点设备为任意节点设备且与第二类型节点设备不为同一节点设备,其特征在于,包括:
接收第一区块链发送的参数生成器代码数据,根据所述参数生成器代码数据对应生成随机参数,将所述随机...

【专利技术属性】
技术研发人员:王凌斌丁雪丰李志辉
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

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

1