1.一种支持跨区块链交易的数据验证方法,其特征在于,其步骤为:步骤1)通过源链中的节点验证跨区块链交易数据的有效性,并将有效交易数据发送至目标链;
步骤2)目标链中的节点验证该笔交易数据的正确性;
步骤3)源链与目标链同时将该笔交易的元数据发送至虚拟链;
步骤4)虚拟链根据元数据中的区块头信息,计算该笔交易数据的哈希值,确认交易资产的状态;虚拟链:虚拟链是按照时间顺序将交易数据的元数据以区块的形式顺序相连的链式数据结构,并以密码学的方法保证其不可篡改性;
步骤5)解析元数据中的签名数据,确认双方是否将该笔交易数据存储到各自链上;
5.1)根据签名数据,查询到跨区块链交易数据存储在双方链的位置;
5.2)若在源链与目标链中同时查询到该笔交易记录;则跨区块链交易成功;
5.3)若在源链或目标链中没有查询到该笔交易记录,则跨区块链交易失败;
步骤6)节点验证成功,将元数据存储到虚拟链上。
2.根据权利要求1所述的一种支持跨区块链交易的数据验证方法,其特征在于:所述的步骤1)中,具体方法如下:源链:跨链交易信息发起方所在的区块链定义为源链;
1.1)根据跨区块链交易数据中的签名信息,源链中验证节点可查询到交易数据的资产所有者的地址Add(i);
1.2)源链节点验证地址为Add(i)的用户状态,确认该用户的资产是否已被转移;
1.3)若资产没有被转移,则该笔交易数据有效,将其发送至目标链;
1.4)若资产已被转移,则该笔交易数据无效。
3.根据权利要求1所述的一种支持跨区块链交易的数据验证方法,其特征在于:所述的步骤2)中,具体方法如下:目标链:跨链交易信息接收者所在的区块链定义为目标链;
2.1)根据接收的跨区块链交易数据中的签名信息,目标链中验证节点可查询到该资产接收者的地址Add(j);
2.2)目标连节点验证地址为Add(j)的用户状态,确认该地址是否正确;
2.3)若地址正确,则该笔交易数据正确;
2.4)若地址错误,则该笔交易数据无效。
4.根据权利要求1所述的一种支持跨区块链交易的数据验证方法,其特征在于:所述的步骤3)中,具体方法如下:元数据:由源链区块头数据、双方对跨链交易数据及该数据存储位置的签名、目标链区块头数据组成的数据定义为元数据;
虚拟链:虚拟链是按照时间顺序将交易数据的元数据以区块的形式顺序相连的链式数据结构,并以密码学方式保证其不可篡改性;
3.1)验证成功之后,源链与目标链分别将跨区块链交易数据存储到各自账本;
3.2)源链与目标链分别将相关元数据发送至虚拟链。
5.根据权利要求1所述的一种支持跨区块链交易的数据验证方法,其特征在于:所述的步骤4)中,具体方法如下:
4.1)虚拟链中验证节点根据元数据中的区块头数据,计算该笔交易数据的哈希值,确认交易资产的状态;
4.2)若源链中资产已被转移且目标链成功接收该笔资产,则执行下一步骤;
4.3)若源链中资产没有被转移或目标链中没有接收到该笔资产,则该笔跨区块链数据交易无效。
6.根据权利要求1所述的一种支持跨区块链交易的数据验证方法,其特征在于:所述的步骤6)中,具体方法如下:
6.1)根据虚拟链验证成功的顺序,计算相邻两个元数据的哈希值;
6.2)向上推进时,逐层迭代执行6.1)操作,直至形成一颗倒挂的Merkle树;
6.3)将Merkle树根存储在虚拟链区块头中;
6.4)元数据以树的形式存储在虚拟链区块体中;
6.5)以时间戳为纽带将区块链接到虚拟链末端。