1.一种基于区块链的跨链交易方法,其特征在于,包括:
第一区块链网络是用户发起跨链交易的源区块链,第一区块链节点获取所述第一跨链交易;当所述第一跨链交易满足合法性要求时,执行所述第一跨链交易,在所述第一跨链交易合约中对相应资产进行锁定;
第二区块链网络中的第二区块链节点获取第一跨链交易及交易证明;所述第二区块链节点将所述第一跨链交易及所述交易证明通过哈希运算生成第一种子,再将所述第一种子通过算法生成可验证随机数及随机数证明;所述第二区块链节点将所述可验证随机数、所述随机数证明、所述第一跨链交易及所述交易证明上链至第二区块链网络并生成相应的随机数跨链事件;
第三区块链网络中的第三区块链节点获取随机数跨链事件,并根据随机数公钥、所述随机数证明验证所述可验证随机数的合法性,当满足合法性要求时,第三区块链网络根据所述可验证随机数选出首要节点;
所述首要节点将所述第一跨链交易及所述交易证明分发至所有二级节点及三级节点;
所述二级节点分别获取所述第一跨链交易对应的第一区块头,并根据所述第一区块头生成二级初步验证结果签名后分发至其他所述二级节点;当所述二级节点获取到的所述二级初步验证结果为成功的数量大于所述二级节点的数量的一半时生成二级最终验证结果为成功并发送至所述首要节点;所述首要节点获取所述二级最终验证结果,当所述二级最终验证结果为成功的数量大于所述二级节点的数量的一半时确定二级验证结果为成功;所述三级节点共同更新侧链,所述三级节点通过所述侧链上的所述第一区块头、所述交易证明验证所述第一跨链交易确定三级验证结果发送至所述首要节点;所述侧链包含所述第一区块链网络中的区块头;当所述二级验证结果及所述三级验证结果为一成功和一失败时;所述首要节点获取所述第一跨链交易对应的第一区块体并与所述侧链中对应的所述第一区块头中的根哈希进行比较;相同时,确定所述三级验证结果作为所述第一跨链交易的验证结果;不同时,确定所述三级验证结果相反的结果作为所述第一跨链交易的验证结果;
当所述第一跨链交易的验证结果为成功时,所述首要节点对所述第一跨链交易进行签名并上链;
第四区块链网络是用户跨链交易的目标区块链,所述第四区块链节点将所述第一跨链交易、所述首要节点数字签名、所述可验证随机数及所述随机数证明封装为交易并调用第二跨链交易合约;所述第二跨链交易合约根据所述随机数公钥、所述随机数证明验证所述可验证随机数的合法性,当满足合法性要求时,根据可验证随机数确定首要节点公钥;再根据所述首要节点公钥、所述首要节点数字签名确定所述第一跨链交易合法性,当满足合法性要求时,执行相应的跨链业务。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第三区块链网络中预先设置所述可验证随机数与第三区块链节点标识的映射关系,所述第三区块链节点标识是所述第三区块链节点的公私钥对中的公钥地址。
3.根据权利要求1所述的方法,其特征在于,所述当所述二级验证结果及所述三级验证结果为一成功和一失败时,还包括:所述首要节点更新所述侧链;将所述第一区块体与对应的所述第一区块头设置关联关系并一同维护。
4.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1‑3中任一项所述方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1‑3任一项所述的方法。