1.一种预言机多主链跨链方法,其特征在于,二层网络上有分别对应于各主链的状态树,各所述状态树的初始根哈希相同,各主链配置有跨链验证合约和预言机合约,所述跨链验证合约中部署有验证交易信息的零知识证明电路,所述方法适用于二层网络的节点,所述方法包括:
在监测到第一主链生成了第一主链区块时,按序同步所述第一主链区块中的各需要调用第一类合约的第一交易;其中,所述第一类合约包括存款合约、取款合约;各所述第一交易在所述第一主链被存证,所述第一主链区块还用于供预言机:将按序的各所述第一交易的第一交易信息发送给其它各主链,以供其它各主链的主链节点通过所述预言机合约存证各所述第一交易信息;
执行各所述第一交易以更新二层网络上所述第一主链的第一状态树;
响应于触发结算条件,按序根据各第二交易的第二交易信息生成零知识证明证据,根据按序的各所述第二交易、所述零知识证明证据生成第一证明数据;
将所述第一证明数据发送给各主链,以供各主链的主链节点:通过所述跨链验证合约判断所述第一证明数据中的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确:
顺序正确,则将所述零知识证明证据输入所述零知识证明电路以验证各所述第二交易信息是否正确:
验证正确,则结束;
其中,所述第一交易信息和所述第二交易信息包括操作类型、用户地址、通证数量。
2.根据权利要求1所述的方法,其特征在于,还包括:在监测到顺序不正确,或,验证不正确时,在二层网络上回滚各主链的状态树至未执行各所述第二交易时的状态;
返回所述按序根据各第二交易的第二交易信息生成零知识证明证据步骤,以重新生成所述零知识证明证据和所述第一证明数据。
3.根据权利要求1所述的方法,其特征在于,所述按序根据各第二交易的第二交易信息生成零知识证明证据前,还包括:接收若干客户端生成的需要调用第二类合约的第三交易;其中,所述第二类合约包括转账合约、跨链转账合约;
对各所述第三交易执行如下操作:执行所述第三交易以更新二层网络上所述第三交易指定的需跨链的第二主链的第二状态树,和,所述第三交易指定的待跨链的第三主链的第三状态树;
所述通过所述跨链验证合约判断所述第一证明数据中的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确包括:
通过所述跨链验证合约判断所述第一证明数据中的除去所述第三交易的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确。
4.根据权利要求1所述的方法,其特征在于,所述根据按序的各所述第二交易、所述零知识证明证据生成第一证明数据包括:根据按序的各所述第二交易、第一树根、所述零知识证明证据生成第一证明数据;其中,所述第一树根根据各所述状态树的默克尔树根生成;
所述通过所述跨链验证合约判断所述第一证明数据中的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确包括:
通过所述跨链验证合约根据各所述第二交易、所存储的第二树根计算第三树根,在所述第三树根与所述第一树根相同时,将所述第二树根的值更新为所述第一树根的值;以及,通过所述跨链验证合约判断所述第一证明数据中的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确。
5.根据权利要求1所述的方法,其特征在于,所述将按序的各所述第一交易的第一交易信息发送给其它各主链,以供其它各主链的主链节点通过所述预言机合约存证各所述第一交易信息包括:
按序存储各所述第一交易的第一交易信息,根据各所述第一交易信息生成第四交易,将所述第四交易发送给其它各主链,以供其它各主链的主链节点通过所述预言机合约执行所述第四交易,在执行所述第四交易成功时存证各所述第一交易信息。
6.根据权利要求5所述的方法,其特征在于,所述通过所述预言机合约存证各所述第一交易信息包括:
将各所述第一交易信息存证到所述预言机合约中;
所述通过所述跨链验证合约判断所述第一证明数据中的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确包括:
通过所述跨链验证合约向所述预言机合约请求各所述第二交易信息;
判断所述第一证明数据中的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确。
7.根据权利要求1所述的方法,其特征在于,所述根据按序的各所述第二交易、所述零知识证明证据生成第一证明数据包括:根据各所述第二交易信息、所述零知识证明证据生成第一证明数据;
所述通过所述跨链验证合约判断所述第一证明数据中的各所述第二交易的顺序与所存证的各所述第二交易信息是否匹配以验证所述第一证明数据中的各所述第二交易的顺序是否正确包括:
通过所述跨链验证合约判断所述第一证明数据中的各所述第二交易信息与所存证的各所述第二交易信息是否相同以验证所述第一证明数据中的各所述第二交易信息的顺序是否正确。
8.根据权利要求1所述的方法,其特征在于,所述将按序的各所述第一交易的第一交易信息发送给其它各主链包括:
按序存储各所述第一交易的第一交易信息,并将各所述第一交易信息发送给其它各主链;各所述第一交易信息还用于供预言机在监测到初入网的第一主链节点时,将各所述第一交易信息发送给所述第一主链节点,以供所述第一主链节点通过所述预言机合约存证各所述第一交易信息。
9.一种计算机设备,其特征在于,所述设备包括:一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1‑8中任一项所述的方法。
10.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1‑8中任一项所述的方法。