1.一种平行链仲裁共识方法,其特征在于,适用于共识节点,所述方法包括:响应于获得第一高度的第一平行链区块的第一共识交易发送权,生成第一随机数;
生成包括所述第一随机数的第一哈希值的所述第一平行链区块的第一共识交易;
将所述第一共识交易发送至主链,以供当前平行链的各所述共识节点:执行所述第一共识交易以获得第一执行结果,并判断与本地所生成的所述第一高度的第二执行结果是否相同:
是,则记录所述第一哈希值;
否,则生成所述第一高度的第一仲裁交易并发送至主链以供存证;
执行所述第一高度的各仲裁交易,在各所述仲裁交易通过共识时,将当前节点确定为非法节点;
判断本地是否已保存有所述第一高度的执行结果:是,则回滚所述第一高度的执行结果,并根据所述第一高度减一的第三平行链区块对应的第一主链区块的第一区块数据、发送正确的所述第三平行链区块的第三共识交易的共识节点所广播的第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定将要发送所述第一共识交易的第二共识节点;
否,则根据所述第一区块数据、所述第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点;
在所述第一共识交易未被仲裁成功时,根据所述第一平行链区块对应的第二主链区块的第二区块数据、所述第一随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点;以及,向各所述共识节点广播所述第一随机数,以供各所述共识节点根据所述第二区块数据、所述第一随机数、各所述节点ID确定所述第一共识节点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二区块数据、所述第一随机数、各所述节点ID确定所述第一共识节点包括:对所述第一随机数进行哈希运算以获得第二哈希值;
在所述第二哈希值与所述第一哈希值相同时,根据所述第二区块数据、所述第一随机数、各所述节点ID确定所述第一共识节点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一高度减一的第三平行链区块对应的第一主链区块的第一区块数据、发送正确的所述第三平行链区块的第三共识交易的共识节点所广播的第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定将要发送所述第一共识交易的第二共识节点,以及,所述根据所述第一区块数据、所述第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点包括:
根据所述第一区块数据、所述第二随机数生成第一数据;
分别根据所述第一数据和当前平行链的除去非法节点的各共识节点的节点ID计算第一异或值;
将所述第一异或值最小的共识节点重新确定为所述第二共识节点;
所述根据所述第一平行链区块对应的第二主链区块的第二区块数据、所述第一随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点,以及,根据所述点根据所述第二区块数据、所述第一随机数、各所述节点ID确定所述第一共识节包括:根据所述第二区块数据、所述第一随机数生成第二数据;
分别根据所述第二数据和当前平行链的除去非法节点的各共识节点的节点ID计算第二异或值;
将所述第二异或值最小的共识节点确定为所述第一共识节点。
4.根据权利要求1‑3任一项所述的方法,其特征在于,主链上记录有各平行链节点的节点ID,所述根据所述第一高度减一的第三平行链区块对应的第一主链区块的第一区块数据、发送正确的所述第三平行链区块的第三共识交易的共识节点所广播的第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定将要发送所述第一共识交易的第二共识节点,以及,根据所述第一区块数据、所述第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点包括:从主链获取当前平行链的各共识节点的节点ID;
根据所述第一区块数据、所述第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点。
所述根据所述第一平行链区块对应的第二主链区块的第二区块数据、所述第一随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点,以及,根据所述点根据所述第二区块数据、所述第一随机数、各所述节点ID确定所述第一共识节包括:从主链获取当前平行链的各共识节点的节点ID;
根据所述点根据所述第二区块数据、所述第一随机数、各所述节点ID确定所述第一共识节。
5.根据权利要求1所述的方法,其特征在于,所述生成包括所述第一随机数的第一哈希值的所述第一平行链区块的第一共识交易前,还包括:接收第一数量个第三共识节点分别生成并向主链广播的第三随机数;其中,所述第一数量个第三共识节点根据预配置的随机节点确定规则、所述第一高度所确定;
所述生成包括所述第一随机数的第一哈希值的所述第一平行链区块的第一共识交易包括:
生成包括所述第一哈希值、各所述第三随机数的第三哈希值的所述第一平行链区块的第一共识交易;
所述根据所述第一高度减一的第三平行链区块对应的第一主链区块的第一区块数据、发送正确的所述第三平行链区块的第三共识交易的共识节点所广播的第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定将要发送所述第一共识交易的第二共识节点,以及,所述根据所述第一区块数据、所述第二随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点包括:根据所述第一区块数据、所述第二数量个第四随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点;其中,所述第二数量个第四随机数由所述第二数量个第四共识节点分别生成,所述第二数量个第四共识节点根据所述随机节点确定规则、所述第一高度减一所确定,所述第二随机数包括于所述第一数量个第四随机数,所述第二数量等于所述第一数量加一;
所述根据所述第一平行链区块对应的第二主链区块的第二区块数据、所述第一随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点、以及,所述根据所述第二区块数据、所述第一随机数、各所述节点ID确定所述第一共识节点包括:根据所述第二区块数据、所述第一随机数、各所述第三随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点。
6.根据权利要求4所述的方法,其特征在于,所述根根据所述第一区块数据、所述第二数量个第四随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点包括:
根据所述第一区块数据、所述第二数量个第四随机数生成第三数据;
分别根据所述第三数据和当前平行链的除去非法节点的各共识节点的节点ID计算第三异或值;
将所述第三异或值最小的共识节点重新确定为所述第二共识节点;
根据所述第三异或值由小到大的顺序选取第二数量个共识节点为用于生成和广播所述第四随机数的共识节点;
所述根据所述第二区块数据、所述第一随机数、各所述第三随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点包括:根据所述第二区块数据、所述第一随机数、各所述第三随机数生成第四数据;
分别根据所述第四数据和当前平行链的除去非法节点的各共识节点的节点ID计算第四异或值;
将所述第四异或值最小的共识节点重新确定为所述第一共识节点;
从所述第四异或值次小开始,根据所述第四异或值由小到大的顺序选取第一数量个共识节点为用于生成和广播所述第三随机数的共识节点。
7.根据权利要求5或6所述的方法,其特征在于,主链上记录有各平行链节点的节点ID,所述根据所述第一区块数据、所述第二数量个第四随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点包括:从主链获取当前平行链的各共识节点的节点ID;
根据所述第一区块数据、所述第二数量个第四随机数、当前平行链的除去非法节点的各共识节点的节点ID重新确定所述第二共识节点;
所述根据所述第二区块数据、所述第一随机数、各所述第三随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点包括:从主链获取当前平行链的各共识节点的节点ID;
根据所述第二区块数据、所述第一随机数、各所述第三随机数、当前平行链的除去非法节点的各共识节点的节点ID确定将要发送所述第一高度加一的第二平行链区块的第二共识交易的第一共识节点。
8.一种计算机设备,其特征在于,所述设备包括:一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1‑7中任一项所述的方法。
9.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1‑7中任一项所述的方法。