CN117938354A - 基于中继链的跨链交易方法和装置、电子设备和存储介质 - Google Patents
基于中继链的跨链交易方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117938354A CN117938354A CN202410309649.5A CN202410309649A CN117938354A CN 117938354 A CN117938354 A CN 117938354A CN 202410309649 A CN202410309649 A CN 202410309649A CN 117938354 A CN117938354 A CN 117938354A
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- blockchain
- relay
- epoch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000012546 transfer Methods 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 34
- 230000007774 longterm Effects 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- MZWGYEJOZNRLQE-KXQOOQHDSA-N 1-stearoyl-2-myristoyl-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CCCCCCCCCCCCC MZWGYEJOZNRLQE-KXQOOQHDSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种基于中继链的跨链交易方法和装置、电子设备和存储介质,其中,方法包括:当中继链在第i纪元的主公钥生成,在第i‑1个纪元的委员会中的任一成员节点执行如下操作:从中继链和本地数据库中分别获取在第i‑1个纪元的目标跨链付款交易对应的哈希值和目标跨链付款交易;生成签名消息;利用中继链在第i‑1个纪元的门限密钥对中私钥份额对签名消息进行签名处理,得到的门限签名;当中继链的任一节点接收到的门限签名的数量大于或等于预设门限值,重构出证据签名,并构建目标跨链证据;中继链的任一节点向任一第二区块链发送目标跨链证据;当确定目标跨链证据有效,任一第二区块链的节点执行目标跨链付款交易。
Description
技术领域
本公开涉及区块链技术领域、跨链交易技术领域,尤其是一种基于中继链的跨链交易方法和装置、电子设备和存储介质。
背景技术
随着区块链技术的快速发展,各种具有不同特点的区块链大量共存。由于各个区块链独立工作,由此产生了数据孤岛的现象,使区块链之间的数据通信和资产转移面临挑战。通常采用跨链技术避免区块链之间的数据孤岛的现象。跨链技术可以建立起区块链之间沟通的桥梁,实现区块链之间的互联互通。
在相关技术中,跨链技术通常是将不同区块链直接进行两两互联,并通过重构相关的协议使不同区块链之间可以进行数据通信和资产转移。但是,通过将不同区块链直接进行两两互联的跨链方式的技术较为复杂,由于需要将每条区块链均与其他区块链互联,由此对区块链的数据线路和物理设备要求极高,且每条区块链都要与其他的各区块链之间建立相关协议,导致协议的复杂度高。
发明内容
为了解决上述技术问题,本公开实施例提供一种基于中继链的跨链交易方法和装置、电子设备和存储介质。
本公开实施例的一个方面,提供了一种基于中继链的跨链交易方法,应用于区块链系统,所述区块链系统包括至少一个第一区块链、至少一个第二区块链和所述中继链,所述中继链的诚实节点的占比大于1/2,至少一个所述第一区块链与至少一个所述第二区块链在运行中与所述中继链保持一致的纪元数,所述方法包括:响应于所述中继链在第i纪元的主公钥生成,所述中继链在第i-1个纪元的委员会中的任一成员节点执行如下操作:从所述中继链和本地数据库中分别获取在所述第i-1个纪元的目标跨链付款交易对应的哈希值和所述目标跨链付款交易;基于所述目标跨链付款交易对应的哈希值生成签名消息;利用所述中继链在所述第i-1个纪元的门限密钥对中私钥份额对所述签名消息进行签名处理,得到的门限签名,并向所述中继链的各节点广播所述门限签名,所述目标跨链付款交易用于属于至少一个所述第一区块链中的任一第一区块链的第一交易方向属于至少一个所述第二区块链中的任一第二区块链的第二交易方进行跨链转账付款,i的取值为大于或等于2的整数;响应于所述中继链的任一节点接收到的所述门限签名的数量大于或等于预设门限值,利用接收到的所述门限签名重构出证据签名,并由所述证据签名和所述目标跨链付款交易构建目标跨链证据;所述中继链的任一节点向所述任一第二区块链发送所述目标跨链证据;响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点执行所述目标跨链付款交易,以完成所述目标跨链付款交易指示的转账操作。
本公开实施例的另一个方面,提供了一种基于中继链的跨链交易装置,应用于区块链系统,所述区块链系统包括至少一个第一区块链、至少一个第二区块链和所述中继链,所述中继链的诚实节点的占比大于1/2,至少一个所述第一区块链与至少一个所述第二区块链在运行中与所述中继链保持一致的纪元数,所述装置包括:门限签名模块,用于响应于所述中继链在第i纪元的主公钥生成,所述中继链在所述第i-1个纪元的委员会中的任一成员节点执行如下操作:从所述中继链和本地数据库中分别获取在所述第i-1个纪元的目标跨链付款交易对应的哈希值和所述目标跨链付款交易;基于所述目标跨链付款交易对应的哈希值生成签名消息;利用所述中继链在所述第i-1个纪元的门限密钥对中私钥份额对所述签名消息进行签名处理,得到的门限签名,并向所述中继链的各节点广播所述门限签名,所述目标跨链付款交易用于属于至少一个所述第一区块链中的所述任一第一区块链的第一交易方向属于至少一个所述第二区块链中的任一第二区块链的第二交易方进行跨链转账付款,所述i大于或等于2;跨链证据生成模块,用于响应于所述中继链的任一节点接收到的所述门限签名的数量大于或等于预设门限值,利用接收到的所述门限签名重构出证据签名,并由所述证据签名和所述目标跨链付款交易构建目标跨链证据;证据发送模块,用于所述中继链的任一节点向所述任一第二区块链发送所述目标跨链证据;第一跨链交易模块,用于响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点执行所述目标跨链付款交易,以完成所述目标跨链付款交易指示的转账操作。
本公开实施例的又一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现基于中继链的跨链交易方法。
本公开实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现基于中继链的跨链交易方法。
在本公开实施例中,通过当中继链在第i纪元的主公钥生成时,中继链在第i-1个纪元的委员会中的任一成员节点从中继链和本地数据库中分别获取在第i-1个纪元的目标跨链付款交易对应的哈希值和所述目标跨链付款交易,之后基于目标跨链付款交易对应的哈希值生成签名消息,利用中继链在第i-1个纪元的门限密钥对中私钥份额对签名消息进行签名处理以得到的门限签名,并向中继链中的各节点广播门限签名,并由中继链的任一节点通过接收到大于或等于预设门限值的门限签名重构出证据签名,并由证据签名和目标跨链付款交易构建目标跨链证据;在当任一第二区块链的跨链网关确定目标跨链证据有效,任一第二区块链的节点执行目标跨链付款交易,以完成目标跨链付款交易指示的转账操作。由此,本公开实施例中,通过中继链作为第一区块链和任一第二区块链跨链交易的中介,通过中继链实现第一区块链与任一第二区块链之间的跨链交易,由此,使任一第一区块链和任一第二区块链只需和中继链链接即可,无需再与其他的区块链进行两两互联,由此简化了跨链交易中不同区块链之间的链接技术,因此降低了对区块链的数据线路和物理设备的要求,也降低了区块链之间的协议难度。
另外,在本公开实施例中,将目标跨链转账交易存储到中继链的节点的本地数据库中,仅将目标跨链转账交易对应的哈希值存储到中继链中,由此减小中继链的存储开销,进而降低中继链的数据负担。并且在本公开实施例中,通过门限签名的方式,由中继链中在第i-1个纪元的委员会中的各成员节点分别进行门限签名,并利用大于或等于预设门限值的门限签名重构出证据签名,使目标跨链证据中仅需包括一个证据签名即可,无需再包括委员会中的各成员节点的签名,由此极大的减小了目标跨链证据的尺寸,进而降低了跨链交易过程中的通信和存储开销。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是本公开一示例性实施例提供的区块链系统的示意图;
图2是本公开一示例性实施例提供的基于中继链的跨链交易方法的流程示意图;
图3是本公开另一示例性实施例提供的基于中继链的跨链交易方法的流程示意图;
图4是本公开又一示例性实施例提供的基于中继链的跨链交易方法的流程示意图;
图5是本公开再一示例性实施例提供的基于中继链的跨链交易方法的流程示意图;
图6是本公开再一示例性实施例提供的基于中继链的跨链交易方法的流程示意图;
图7是本公开一示例性实施例提供的步骤S140的流程示意图;
图8是本公开一示例性实施例提供的基于中继链的跨链交易装置的结构示意图;
图9为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
在本实施例中:
区块链(Block Chain)是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。区块链的节点(Node),通常指的是区块链的网络中的计算设备(例如,手机,服务器等),也就是说任何连接到区块链的网络的计算设备都可以称为节点,节点用于存储和运行区块链的数据。
中继链(Relay-Chain)又名中继器,旨在构造一个第三方公有链,通过跨链消息传递协议,连接区块链系统中的其它链。
门限签名机制(Threshold Signature Schem,TSS)是一种多方安全计算(SecureMulti-Party Computation,MPC/SMPC)技术。门限签名机制分为两部分:
门限密钥生成(Thresh-Key-Gen):基于安全参数构造分布式密钥生成协议(Distributed Key Generation,DKG),分布式密钥生成协议运行输出一个共同的公钥PK(即,主公钥)和分属不同参与方各自所有的私钥份额(即,门限密钥对中私钥份额),聚集起满足门限值的私钥份额可以构建出真正的私钥SK。真正的私钥SK和公共的公钥PK为一对密钥对,公共的公钥PK可以验证真正的私钥SK生成的签名;
门限签名(Thresh-Sig):各参与方通过自己的私钥份额对消息的进行签名,并可以基于门限签名协议,通过至少门限值的通过私钥份额签名重构出可验证的签名,这个可验证的签名与通过真正的私钥SK签名相同,可以被共同的公钥PK验证。另外,还可以通过聚集起满足门限值的公钥份额(即,门限密钥对中公钥份额)重构出公共的公钥PK。其中,门限签名协议是一种密码学协议,其中参与签名的参与方被视为理性的,并根据协议的不同运行情况赋予其不同的效用函数值。该协议在秘密共享的基础上,构造不同的门限结构,只有当私钥份额签名数量达到门限值时,才能恢复出可验证的签名。网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,用于两个协议不同的网络互连。
图1是本公开一示例性实施例提供的区块链系统的示意图。如图1所示,在本公开实施例中,区块链系统可以包括:至少一个第一区块链、至少一个第二区块链和中继链,至少一个第一区块链中的任一第一区块链和至少一个第二区块链中的任一第二区块链均与中继链通信连接,属于任一第一区块链的第一交易方与属于任一第二区块链的第二交易方可以通过中继链进行跨链转账交易。
中继链、任一第一区块链和任一第二区块链均是将时间以轮划分,即中继链、任一第一区块链和任一第二区块链均以轮为单位执行协议,每轮的时段长度可以根据实际情况设定,例如,每轮的时段长度可以为20s、40s等。每个纪元包含连续的K轮(K≥1),任一第一区块链和任一第二区块链在协议运行中均与中继链保持一致的纪元数(也称为纪元序列号)。例如,首个纪元的纪元数可以为1,当中继链在第p个(p≥1)纪元时,相应的,任一第一区块链和任一第二区块链也在第p个纪元,其中,p为纪元数。
在本实施例中,中继链的节点中被敌手控制的节点的比例小于1/2,即中继链的诚实节点占比大于或等于1/2。此处的敌手为温和自适应腐化敌手,即在中继链运行协议的过程中,敌手可以动态地腐化节点,但是从敌手开始执行腐化操作到成功腐化节点需要一段时间的延迟,并且假设腐化延迟时间为K轮。其中的诚实节点是指符合期望节点行为的节点。这意味着诚实节点不会尝试修改历史,其可以正确地服务区块和事务,正确地传输消息,正确地传输格式化的消息和数据等。这些都是正确的操作方式,诚实节点是可以正确地完成这些操作的节点。
图2是本公开一示例性实施例提供的基于中继链的跨链交易方法的流程示意图。本实施例可应用在区块链系统中,如图2所示,本实施例的基于中继链的跨链交易方法包括如下步骤:
步骤S110,响应于中继链在第i纪元的主公钥生成,中继链在第i-1个纪元的委员会中的任一成员节点执行步骤S111~步骤S113。
步骤S111,从中继链和本地数据库中分别获取在第i-1个纪元的目标跨链付款交易对应的哈希值和目标跨链付款交易。在本实施例中,可以将与任一第二区块链进行的跨链付款交易称为目标跨链付款交易。
其中,目标跨链付款交易用于属于任一第一区块链的第一交易方向属于任一第二区块链的第二交易方进行跨链转账付款,i≥2,且i为整数。中继链的委员会中包括多个成员节点,多个成员节点均属于中继链。中继链在每个纪元中的主公钥用于对由门限签名重构出证据签名进行验证,其中的门限签名,由利用中继链在该纪元中的门限私钥进行签名得到。
第一交易方为在任一第一区块链上注册的用户,第二交易方为在任一第二区块链上注册的用户。上述的用户可以为企业、个人或机构等。中继链的区块中存储有目标跨链付款交易的哈希值、第一交易方的标识和第二交易方的标识,中继链的任一节点的本地数据库中存储有目标跨链付款交易。
目标跨链付款交易可以包括:目标跨链交易在任一第一区块链上的标识、任一第一区块链的标识、任一第二区块链的标识、第一交易方的标识、第二交易方的标识、转账金额和第一交易方对交易内容的签名,该交易内容例如可以包括:目标跨链交易在任一第一区块链上的标识、任一第一区块链的标识、任一第二区块链的标识、第一交易方的标识、第二交易方的标识和转账金额。
在一个可选实施方式中,中继链在第i个纪元的主公钥可以由中继链在第i个纪元的委员会中的任一成员节点根据预设的分布式密钥生成协议生成,当中继链在第i个纪元的主公钥生成时,中继链在第i-1个纪元的委员会中的任一成员节点可以先确定中继链中在第i-1个纪元中生成区块,并从这些区块中获取全部的目标跨链付款交易对应的哈希值,从本地数据库中获取在第i-1个纪元的目标跨链付款交易。其中,目标跨链付款交易对应的哈希值可以通过对目标跨链付款交易进行哈希(Hash)运算获得。
步骤S112,基于目标跨链付款交易对应的哈希值生成签名消息。
其中,签名消息可以包括目标跨链付款交易对应的哈希值。
在一个具体实现方式中,当目标跨链付款交易为多个时,签名消息可以包括全部的目标跨链付款交易对应的哈希值。
步骤S113,利用中继链在第i-1个纪元的门限密钥对中私钥份额对签名消息进行签名处理,得到的门限签名,并向中继链的各节点广播门限签名。
其中,门限密钥对包括私钥份额和公钥份额,该私钥份额可以对消息或数据进行门限签名处理,得到门限签名,还可以通过至少预设门限值的私钥份额重构出真正的私钥,可以通过至少预设门限值的门限签名重构出可以被主公钥验证的证据签名。还可以通过至少预设门限值的公钥份额重构出主公钥。
在一个可选实施方式中,中继链在第i-1个纪元的委员会中的任一成员节点可以根据预设的分布式密钥生成协议生成中继链在第i-1个纪元的主公钥和门限密钥对。
步骤S120,响应于中继链的任一节点接收到的门限签名的数量大于或等于预设门限值,利用接收到的门限签名重构出证据签名,并由证据签名和目标跨链付款交易构建目标跨链证据。
其中,目标跨链证据可以包括:证据签名和目标跨链付款交易。中继链的任一节点可以基于预设的门限签名协议对接收到的门限签名进行签名重构,得到证据签名。可以通过中继链在第i-1个纪元的主公钥对该证据签名进行验证。在一个可选实施方式中,当目标跨链付款交易为多个时,目标跨链证据可以包括:证据签名和全部的目标跨链付款交易。
步骤S130,中继链的任一节点向任一第二区块链发送目标跨链证据。
步骤S140,响应于任一第二区块链的跨链网关确定目标跨链证据有效,任一第二区块链的节点执行目标跨链付款交易,以完成目标跨链付款交易指示的转账操作。在本实施例中,可以将用于处理跨链交易的网关称为跨链网关。
在一个可选实施方式中,可以利用中继链在第i-1个纪元的主公钥对目标跨链证据中的证据签名进行验证,并当证据签名通过验证,任一第二区块链的节点将目标跨链付款交易写入到任一第二区块链中,并执行目标跨链付款交易,以将转账金额转入第二交易方对应的账户中。其中,当目标跨链证据中包括多个目标跨链付款交易时,当确定目标跨链证据有效后,任一第二区块链的节点将每个目标跨链付款交易写入区块链中,并执行每个目标跨链付款交易,以将每个目标跨链付款交易的转账金额转入到该目标跨链付款交易对应的第二交易方的账户中。
当证据签名未通过中继链在第i-1个纪元的主公钥的验证,确定目标跨链付款交易失败。
在本公开实施例中,通过当中继链在第i纪元的主公钥生成时,中继链在第i-1个纪元的委员会中的任一成员节点从中继链和本地数据库中分别获取在第i-1个纪元的目标跨链付款交易对应的哈希值和目标跨链付款交易,之后基于目标跨链付款交易对应的哈希值生成签名消息,利用中继链在第i-1个纪元的门限密钥对中私钥份额对签名消息进行签名处理以得到的门限签名,并向中继链的各节点广播门限签名,并由中继链的任一节点通过接收到大于或等于预设门限值的门限签名重构出证据签名,并由证据签名和目标跨链付款交易构建目标跨链证据;在当任一第二区块链的跨链网关确定目标跨链证据有效,任一第二区块链的节点执行目标跨链付款交易,以完成目标跨链付款交易指示的转账操作。由此,本公开实施例中,通过中继链作为第一区块链和第二区块链跨链交易的中介,通过中继链实现第一区块链与第二区块链之间的跨链交易,由此,使第一区块链和第二区块链只需和中继链连接即可,无需再与其他的区块链进行两两互联,由此简化了跨链交易中不同区块链之间连接技术,因此降低了对区块链的数据线路和物理设备的要求,也降低了区块链之间的协议难度。
另外,在本公开实施例中,将目标跨链转账交易存储到中继链的节点的本地数据库中,仅将目标跨链转账交易对应的哈希值存储到中继链中,由此减小中继链的存储开销,进而降低中继链的数据负担。并且在本公开实施例中,通过门限签名的方式,由中继链中在第i-1个纪元的委员会中的各成员节点分别进行门限签名,并利用大于或等于预设门限值的门限签名重构出证据签名,使目标跨链证据中仅需包括一个证据签名即可,无需再包括委员会中的各成员节点的签名,由此极大的减小了目标跨链证据的尺寸,进而降低了跨链交易过程中的通信和存储开销。
在一些可选实施方式中,本公开实施例中的步骤S112还可以包括:获取中继链在第i个纪元的主公钥和中继链的纪元数;之后由目标跨链付款交易对应的哈希值、中继链在第i个纪元的主公钥和中继链的纪元数构建签名消息。
其中,签名消息可以包括:目标跨链付款交易对应的哈希值、中继链在第i个纪元的主公钥和中继链的纪元数。中继链在第i纪元中的纪元数为i。
示例性的,假设目标跨链付款交易为多个,则可以由各目标跨链付款交易对应的哈希值形成哈希值集合{H(Txj)},Txj为任一目标跨链付款交易,j≥1,H(Txj)为任一目标跨链付款交易对应的哈希值。由哈希值集合{H(Txj)}、纪元数i和中继链在第i个纪元的主公钥PKi构成签名消息m。
图3是本公开另一示例性实施例提供的基于中继链的跨链交易方法的流程示意图。如图3所示,在本公开实施例中可以通过如下方式确定目标跨链证据是否有效,具体包括如下步骤:
步骤S210,任一第二区块链的跨链网关利用中继链在第i-1个纪元的主公钥对目标跨链证据中的证据签名进行验证。
其中,签名消息包括:目标跨链付款交易对应的哈希值、中继链在第i个纪元的主公钥和中继链的纪元数。利用中继链在i-1纪元中的主公钥对目标跨链证据进行验证可以有效防止敌手通过错误的签名消息产生的目标跨链证据通过验证,确保跨链交易的安全性。
当任一第二区块链的跨链网关接收到目标跨链证据后,任一第二区块链的跨链网关可以从任一第二区块链的节点的本地数据库中获取中继链在第i-1个纪元的主公钥。
步骤S220,响应于证据签名通过验证,任一第二区块链的跨链网关确定任一第二区块链的纪元数与目标跨链证据中的中继链的纪元数是否一致。
在一个具体实现方式中,当证据签名通过中继链在第i-1个纪元的主公钥的验证,任一第二区块链的跨链网关可以先获取任一第二区块链在当前纪元的纪元数,之后将任一第二区块链的纪元数与目标跨链证据中的中继链的纪元数进行比较,确定任一第二区块链的纪元数与目标跨链证据中的中继链的纪元数是否一致。
当目标跨链证据中的证据签名未通过中继链在第i-1个纪元的主公钥的验证,确定目标跨链证据无效,结束跨链交易。
步骤S230,响应于目标跨链证据中的纪元数与任一第二区块链的纪元数一致,任一第二区块链的跨链网关基于目标跨链付款交易确定目标跨链付款交易对应的哈希值是否成立。
其中,可以利用哈希算法计算目标跨链证据中每个目标跨链付款交易的哈希值,并将计算得到的每个目标跨链付款交易的哈希值与目标跨链证据中的相应的目标跨链付款交易的哈希值进行比较,若计算得到的每个目标跨链付款交易的哈希值与目标跨链证据中的相应的目标跨链付款交易的哈希值相同,则确定目标跨链证据中的目标跨链付款交易对应的哈希值成立。
在一个具体实现方式中,当任一第二区块链的纪元数与目标跨链证据中的中继链的纪元数不一致,确定目标跨链证据无效,结束跨链交易。
步骤S240,响应于目标跨链付款交易对应的哈希值成立,任一第二区块链的跨链网关确定目标跨链证据有效,任一第二区块链的节点存储中继链在第i个纪元的主公钥。
其中,任一第二区块链的节点可以将中继链在第i个纪元的主公钥存储在节点的本地数据库中,以便后续纪元中验证跨链证据。
在一个具体实现方式中,任一第二区块链的跨链网关确定目标跨链付款交易对应的哈希值不成立,确定目标跨链证据无效,结束跨链交易。
图4是本公开又一示例性实施例提供的基于中继链的跨链交易方法的流程示意图。如图4所示,在一些可选实施方式中,在步骤S110之前还包括如下步骤:
步骤S310,响应于任一第一区块链的跨链网关监测到任一第一区块链中包括初始跨链付款交易的区块已稳定,任一第一区块链的跨链网关生成初始跨链付款交易对应的初始跨链证据,并向中继链发送初始跨链证据和初始跨链付款交易。
其中,初始跨链付款交易用于属于任一第一区块链的第一交易方向属于任一第二区块链的第二交易方进行跨链转账付款。
初始跨链付款交易可以包括:初始跨链交易在任一第一区块链上的标识、任一第一区块链的标识、任一第二区块链的标识、第一交易方的标识、第二交易方的标识、转账金额和第一交易方对交易内容的签名,其中该交易内容可以包括:目标跨链交易在任一第一区块链上的标识、任一第一区块链的标识、任一第二区块链的标识、第一交易方的标识、第二交易方的标识和转账金额。
在一个可选实施方式中,任一区块链接收到第一交易方发送的初始跨链付款交易后,将初始跨链付款交易写入到任一第一区块链中,当包括初始跨链付款交易的区块后连续链接预设个数的区块时,可以确定任一第一区块链中包括初始跨链付款交易的区块已稳定。
初始跨链证据用于证明初始跨链付款交易的有效性,任一第一区块链的跨链网关可以根据实际情况生成初始跨链证据。例如,任一第一区块链的跨链网关可以通过简单支付验证证据(Simple Payment Verification Proof,SPV Proof)、FlyClient等轻客户端验证技术生成初始跨链证据。
示例性的,以SPV Proof为例,任一第一区块链的跨链网关获取任一第一区块链的所有区块的区块头、初始跨链付款交易以及初始跨链付款交易到任一第一区块链对应的默尔克根的默克尔路径,区块头中包括任一第一区块链对应的默尔克根;之后由任一第一区块链的所有区块的区块头、初始跨链付款交易以及初始跨链付款交易到任一第一区块链对应的默尔克根的默克尔路径构建初始跨链证据。
步骤S320,响应于中继链的节点确定初始跨链证据有效,中继链的节点将初始跨链付款交易作为目标跨链付款交易,并将目标跨链付款交易的哈希值写入到中继链中,将目标跨链付款交易存储到本地数据库中。
其中,当接收到初始跨链证据,中继链的节点可以先验证初始跨链证据的有效性,当确定初始跨链证据有效,则确定初始跨链付款交易有效。当中继链的节点确定初始跨链证据无效,中继链的节点确定初始跨链付款交易无效,结束跨链交易。
验证初始跨链证据有效性的方式可以根据任一第一区块链与中继链之间预先约定的跨链证据验证协议进行。示例性的,还以步骤S310中的示例为例进行说明,中继链的节点可以先验证初始跨链证据中的初始跨链交易和各区块头是否完整,当确定均完整后,按照初始跨链付款交易到任一第一区块链对应的默尔克根的默克尔路径进行哈希运算,得到验证默克尔根,比较验证默克尔根与任一第一区块链对应的默尔克根是否一致,如果一致,确定该默克尔路径正确,当确定初始跨链交易和各区块头均完整,且该默克尔路径正确,确定初始跨链证据有效。当任一区块头不完整、初始跨链交易不完整或该默克尔路径不正确,确定初始跨链证据无效。
在本公开实施例中,当任一第一区块链中包括初始跨链付款交易的区块已稳定,才将初始跨链付款交易和初始跨链证据发送中继链,由此不仅可以保证初始跨链转账交易得到了任一第一区块链的大部分诚实节点的认可,增加了初始跨链付款交易的可信性,而且还可以保证任一第一区块链是正常稳定运行的情况下进行的本次跨链付款交易,进而提高了跨链付款交易的数据安全。
图5是本公开再一示例性实施例提供的基于中继链的跨链交易方法的流程示意图。如图5所示,在一些可选实施方式中,在步骤S310之前还包括如下步骤:
步骤S410,响应于任一第一区块链的节点接收到由第一交易方发送的初始跨链付款交易,将初始跨链付款交易写入到任一第一区块链中。
其中,第一交易方需要向第二交易方转账付款时,第一交易方可以生成初始跨链付款交易,并通过第一交易方的客户端发送给任一第一区块链,第一交易方的客户端与任一区块链连接,第一交易方的客户端可以为计算机、服务器、智能手机等。
当任一第一区块链的节点接收到初始跨链付款交易,任一第一区块链的节点将初始跨链付款交易写入到任一第一区块链中,以使初始跨链付款交易包括在任一第一区块链的区块中。
步骤S420,响应于监测到任一第一区块链中包括初始跨链付款交易的区块后连续链接大于或等于k1个区块,确定任一第一区块链中包括初始跨链付款交易的区块已稳定。
其中,k1为任一第一区块链的公共前缀参数。公共前缀(Common Prefix):对于任何两个诚实节点P1和P2,P1在第r1轮时维护的链为C1,P2在第r2轮时维护的链为C2,其中,r1小于r2,那么C1去掉尾部k个块的剩余部分是C2的前缀,其中k为公共前缀参数。
在一个可选实施方式中,当任一第一区块链的跨链网关监测到任一第一区块链中包括初始跨链付款交易的区块后已经连续链接大于或等于k1个区块时,确定任一第一区块链中包括初始跨链付款交易的区块已稳定,任一第一区块链的节点扣除第一交易方的账户中的初始跨链交易中的转账金额。
在一些可选实施方式,中继链在任一纪元的委员会可以通过如下方式获得:
将中继链在任一个纪元中产生前S个区块的节点确定为中继链在任一个纪元的委员会中的成员节点。其中,S为中继链链质量性质满足理想链质量性质的最小区间段长度。
链质量(Chain Quality):在任何一个诚实节点所维护的链中,对于任意l ≥S长的连续区块,敌手产生块的比例≤μ,其中μ为系统中敌手节点比例,l为连续区块长度。
由于中继链中诚实节点的占比大于1/2,相应的,中继链在每个纪元中的S个连续区块的段落中,由中继链中诚实节点产生的区块比例不小于中继链中诚实节点的占比。
中继链链质量S是中继链的系统安全参数,可以从中继链中获得,也可以根据式(1)确定;
S=[16log(1/δ)/( h–1/2)]+1 (1)
其中,δ表示可忽略的出错概率,h表示中继链中诚实节点的占比。
在本公开实施例中,通过将中继链在每个纪元中产生前S个区块的节点确定为中继链在该纪元的委员会中的成员节点,由于S为中继链链质量性质满足理想链质量性质的最小区间段长度,由此保证中继链在每个纪元的委员会中的诚实节点的占比大于该委员会中所有节点的1/2,进而确保了每个委员会的可靠性,另外,委员会中的成员节点的确定过程是依赖于理想链质量性质,而理想链质量性质为区块链的通用性质,因此,本实施例中的基于中继链的跨链交易方法可以适用于不同共识机制的区块链,具有较高的通用性。
图6是本公开再一示例性实施例提供的基于中继链的跨链交易方法的流程示意图。如图6所示,在一些可选实施方式中,可以通过如下方式获取中继链在每个纪元中的主公钥和门限密钥对,具体包括如下步骤:
步骤S510,中继链在任一个纪元的委员会中的各成员节点共同基于预设的分布式密钥生成协议,生成中继链在任一个纪元的初始主公钥和各节点的门限密钥对。
其中,该各成员节点共同调用中继链中预设的分布式密钥生成协议,生成中继链在任一个纪元的初始主公钥,以及每个成员节点的门限密钥对。
在一个可选实施方式中,预设的分布式密钥生成协议中还包括预设门限值,预设门限值为(1/2S)+1。
步骤S520,对于任一个纪元的委员会中的各成员节点,该成员节点利用对应的长期公私密钥对中私钥分别对初始主公钥进行签名处理,得到签名初始主公钥,并向任一个纪元的委员会中的各成员节点广播签名初始主公钥。
其中,中继链的每个节点具有一对长期公私密钥对。成员节点的长期公私密钥为该成员节点对应的长期公私密钥对。
长期公私密钥对包括公钥和私钥,长期公私密钥对中公钥用于对长期公私密钥对中私钥生成的签名进行验证,长期公私密钥对中私钥用于对数据或消息进行签名。中继链的节点可以利用国密(SM2、SM4)算法、对称加密算法或非对称加密算法的生成长期公私密钥对。
步骤S530,该成员节点对接收到的所有签名初始主公钥的签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名初始主公钥定为中继链在任一个纪元中的主公钥。
其中,该成员节点利用每个成员节点对应的长期公私密钥对中公钥对由该成员节点对应的长期公私密钥对中私钥签名的得到的签名初始主公钥的签名进行验证处理,当该签名验证通过,确定该签名初始主公钥的签名为有效签名。
预设数量可以为大于中继链在任一个纪元的委员会中的成员节点数量的一半。
在本公开实施例中,通过委员会中的各成员节点对初始主公钥进行签名处理,之后由各成员节点验证签名初始主公钥的签名的有效性,并对签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名初始主公钥确定为中继链在任一个纪元中的主公钥,由此可以有效防止敌手恶意公布错误的主公钥,确保跨链交易的安全性。
在一些可选实施方式中,本公开实施例中的基于中继链的跨链交易方法还包括:
响应于该任一个纪元为首个纪元,中继链在首个纪元的委员会中的成员节点向任一第二区块链发送目标区块和签名主公钥,之后任一第二区块链的节点验证目标区块,响应于任一第二区块链的节点确定目标区块为链接在中继链的初始区块之后的连续链接的区块,且目标区块为有效区块,任一第二区块链的节点利用对应的长期公私密钥对中公钥对对应的签名主公钥的签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名主公钥确定为中继链在首个纪元中的主公钥,并存储该中继链在首个纪元中的主公钥。
其中,目标区块为由中继链在首个纪元的委员会中的成员节点产生的除中继链的初始区块以外的其他区块,签名主公钥由中继链在首个纪元的委员会中的成员节点利用对应的长期公私密钥对中私钥对中继链在首个纪元中的主公钥进行签名得到。
在一个具体实现方式中,中继链在构建完成后会将其的初始区块(即,中继链的首个区块)同步到任一第二区块链中,中继链在首个纪元(又称为初始纪元)的委员会中的成员节点为中继链在首个纪元中产生前S个区块的节点。当中继链在首个纪元的主公钥PK1确定后,对于首个纪元中的每个成员节点,该成员节点利用其对应的长期公私密钥对中私钥对中继链在首个节点中的主公钥进行签名处理,得到对应的签名主公钥。
之后,中继链在首个纪元中的成员节点获取中继链的目标区块,其中该目标区块为在首个纪元中产生的除中继链的首个区块以外的前S-1个区块。将目标区块和由各成员节点签名生成的所有签名主公钥广播给任一第二区块链。
任一第二区块链的节点首先验证目标区块中的中继链的第二个区块是否为中继链的首个区块后链接的区块,以及验证目标区块是否为连续链接的区块。在本实施例中,区块链接是指相互链接的两个区块中后一个区块中包含的哈希指针指向前一个区块。即,可以通过验证目标区块中相互链接的两个区块中的后一个区块包含的哈希指针是否指向前一个区块,确定该第二个区块是否为该首个区块后链接的区块,以及确定目标区块是否为连续链接的区块,当确定该第二个区块为该首个区块后链接的区块,且目标区块为连续链接的区块,确定目标区块为链接在该初始区块之后的连续链接的区块。
任一第二区块链的节点可以采用中继链的共识机制验证目标区块是否完整,当确定目标区块均完整,可以确定目标区块为有效区块。
当确定目标区块为链接在该初始区块之后的连续链接的区块,且目标区块为有效区块时,可以确定中继链在首个纪元的委员会中的成员节点为有效的或真实可信的节点,之后,任一第二区块链的节点利用中继链在首个纪元的委员会中的每个成员节点的长期公私密钥对中公钥对由该成员节点签名生成的签名主公钥的签名进行验证,当该签名通过验证,确定该签名主公钥的签名为有效签名。
任一第二区块链的节点将有效签名数量大于或等于预设数量的签名主公钥确定为中继链在首个纪元中的主公钥,并存储该主公钥。
本公开实施例中,在中继链处于首个纪元时,通过任一第二区块链的节点验证中继链的目标区块的有效性,实现对中继链在首个纪元中委员会中的成员节点的有效性和可信性的验证,从而提高了跨链交易的安全性。并且通过各成员节点的长期公私密钥对对签名主公钥的签名进行验证,并将有效签名数量大于或等于预设数量的签名主公钥确定为中继链在首个纪元中的主公钥,由此保证了中继链在首个纪元中的主公钥的可信性,有效防止了敌手恶意公布错误的主公钥,确保跨链交易的安全性。
图7是本公开一示例性实施例提供的步骤S140的流程示意图。如图7所示,在一些可选实施方式中,本实施例中的步骤S140包括如下步骤:
步骤S141,响应于任一第二区块链的跨链网关确定目标跨链证据有效,任一第二区块链的节点将目标跨链付款交易写入到任一第二区块链中。
步骤S142,响应于监测到任一第二区块链中包括目标跨链付款交易的区块后连续链接大于或等于k2个区块,任一第二区块链的节点执行目标跨链付款交易。
其中,k2为任一第二区块链的公共前缀参数。
在一个可选实施方式中,当监测到任一第二区块链中包括目标跨链付款交易的区块后连续链接大于或等于k2个区块时,确定任一第二区块链中包括目标跨链付款交易的区块已稳定,当确定任一第二区块链中包括目标跨链付款交易的区块已稳定,任一第二区块链的节点将目标跨链付款交易中的转账金额转入到该目标跨链付款交易对应的第二交易方的账户中,以完成目标跨链付款交易指示的转账操作。
以下为本公开的一个应用实例。在本应用实例中,假设区块链系统包括:区块链chain1(对应任一第一区块链)、区块链chain2(对应任一第二区块链)和中继链,用户A(对应第一交易方)在chain1注册有账户,即用户A属于chain1,用户B(对应第一交易方)在chain2注册有账户,即用户B属于chain2。用户A需要向用户B转账付款。
(1)创建初始跨链付款交易:用户A创建Tx(对应初始跨链付款交易),并向第chain1广播Tx,其中,Tx=(id,chain1_ID,chain2_ID,A_ID,B_ID,c,σ),id为Tx在chain1的标识、chain1_ID为chain1的标识、chain2_ID为chain2的标识、A_ID为用户A的标识、B_ID为用户B的标识、c为转账金额和σ为用户A对交易内容的签名,该交易内容可以包括:id、chain1_ID、chain2_ID、A_ID、B_ID和c。
(2)中继链同步消息:chain1的节点将Tx写入到区块链中,当chain1的跨链网关监测到chain1中包括Tx的区块已稳定,chain1的跨链网关生成Tx的初始跨链证据,并将Tx和Tx的初始跨链证据广播到中继链中。
中继链的节点验证该初始跨链证据是否有效,当确定该初始跨链证据有效,确定Tx为一个有效的交易(此时Tx为目标跨链付款交易),将Tx对应的哈希值写入到中继链中,将Tx存储到中继链的节点的本地数据库中。
(3)选取跨链委员会:中继链在每个纪元f(f≥1)中,将中继链在纪元f中产生前S个区块的节点确定为中继链在纪元f的委员会中的成员节点。
当中继链的纪元f的委员会产生后,中继链在纪元f的委员会中的各成员节点基于预设的分布式密钥生成协议,生成中继链在该纪元的初始主公钥PKf和该纪元的委员会中的各成员节点的门限密钥对(sk,pk),sk为私钥份额,pk为公钥份额;对于纪元f的委员会中的各成员节点,该成员节点利用对应的长期公私密钥分别对中私钥对初始主公钥进行签名处理,得到签名初始主公钥,并向纪元f的委员会中的各成员节点广播签名初始主公钥;该成员节点对接收到的所有签名初始主公钥的签名的有效性进行验证,并将签名有效性数量大于或等于预设数量的签名初始主公钥对应的初始主公钥确定为中继链在纪元f中的主公钥PKf。
f为1(即中继链在首个纪元中),中继链在首个纪元的委员会中的成员节点向任一第二区块链发送目标区块和签名主公钥;当任一第二区块链的节点确定目标区块为链接在中继链的初始区块之后的连续链接的区块,且目标区块为有效区块时,任一第二区块链的节点利用对应的长期公私密钥对中公钥对对应的签名主公钥的签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名主公钥确定为中继链在首个纪元中的主公钥,并存储该中继链在首个纪元中的主公钥PK1。
(4)产生目标跨链证据:当中继链在第i纪元的主公钥PKi生成,中继链在第i-1个纪元的委员会中的每个成员节点执行如下操作:
从中继链获取在第i-1个纪元的属于chain2的所有跨链付款交易(对应目标跨链付款交易)对应的哈希值打包,形成一个哈希值集合{H(Txj)}。从本地数据跨中获取在第i-1个纪元的属于chain2的所有跨链付款交易{Txj}。由哈希值集合{H(Txj)}、纪元数i和中继链在第i个纪元的主公钥PKi构成签名消息m。
利用中继链在第i-1个纪元的门限密钥对中私钥份额对签名消息进行签名处理,得到的门限签名,并向中继链的各节点广播所述门限签名,当中继链的任一节点接收到的门限签名的数量大于或等于(1/2S)+1时,利用接收到的门限签名重构出证据签名,并由证据签名和{Txj}构建目标跨链证据。
(5)验证目标跨链证据:当chain2的跨链网关接收到目标跨链证据后,任一第二区块链的跨链网关利用中继链在第i-1个纪元的主公钥PKi-1对目标跨链证据中的证据签名进行验证;当证据签名通过验证,任一第二区块链的跨链网关确定任一第二区块链的纪元数与中继链的纪元数是否一致;当任一第二区块链的纪元数与中继链的纪元数一致,任一第二区块链的跨链网关基于Txj确定H(Txj)是否成立,即确定H(Txj)=hashj是否成立,hashj为通过对Txj进行哈希运算得到的哈希值,当H(Txj)有效,则确定任一第二区块链的跨链网关确定目标跨链证据有效,此时,任一第二区块链的节点存储中继链在第i个纪元的主公钥PKi。
当任一第二区块链的跨链网关确定目标跨链证据有效后,任一第二区块链的节点还将{ Txj}中的每个跨链付款交易Txj写入到任一第二区块链中;响应于监测到任一第二区块链中包括Txj的区块后连续链接大于或等于k2个区块,确定任一第二区块链中包括Txj的区块已稳定,任一第二区块链的节点将Txj中的转账金额转入到Txj对应的第二交易方的账户中,以完成Txj指示的转账操作。
以下为对目标跨链证据的尺寸的验证实例。
实验假设每个目标跨链付款交易的长度为250字节,使用一个输出长度为256比特的哈希函数来计算目标跨链付款交易的哈希值,中继链中每个纪元的跨链委员会包含1000个成员节点,以小于10-8的错误概率保障每个委员会中诚实成员的比例超过1/2。
在中继链中诚实节点比例h取不同值时,实现50次跨链操作所需要的跨链证据的尺寸,值得注意的是,在评估本实施例的目标跨链证据尺寸时,只评估中继链广播给其任一第二区块链的目标跨链证据的尺寸。具体的,本实验中包括对照组和实验组。对照组中目标跨链证据中的证据签名为委员会中的各成员节点分别对签名消息签名得到,其余均与本实施例相同;实验组采用本实施例中的方式构建目标跨链证据。对照组与实验组的产出的目标跨链证据的尺寸详见表1。由表1可以看出,通过本公开实施例中的方式获得的目标跨链证据的尺寸远远小于对照组,由此,通过本公开实施例的方式生成的目标跨链证据可以有效降低跨链交易过程中的通信和存储开销;
表1
图8是本公开一示例性实施例提供的基于中继链的跨链交易装置的结构示意图。如图8所示,应用于区块链系统,所述区块链系统包括至少一个第一区块链、至少一个第二区块链和所述中继链,所述中继链的诚实节点的占比大于1/2,至少一个所述第一区块链与至少一个所述第二区块链在运行中与所述中继链保持一致的纪元数,该实施例的基于中继链的跨链交易装置包括:
门限签名模块600,用于响应于所述中继链在第i纪元的主公钥生成,所述中继链在第i-1个纪元的委员会中的任一成员节点执行如下操作:从所述中继链和本地数据库中分别获取在所述第i-1个纪元的目标跨链付款交易对应的哈希值和所述目标跨链付款交易;基于所述目标跨链付款交易对应的哈希值生成签名消息;利用所述中继链在所述第i-1个纪元的门限密钥对中私钥份额对所述签名消息进行签名处理,得到的门限签名,并向所述中继链的各节点广播所述门限签名,所述目标跨链付款交易用于属于至少一个所述第一区块链中的任一第一区块链的第一交易方向属于至少一个所述第二区块链中的任一第二区块链的第二交易方进行跨链转账付款,i的取值为大于或等于2的整数;
跨链证据生成模块610,用于响应于所述中继链的任一节点接收到的所述门限签名的数量大于或等于预设门限值,利用接收到的所述门限签名重构出证据签名,并由所述证据签名和所述目标跨链付款交易构建目标跨链证据;
证据发送模块620,用于所述中继链的任一节点向所述任一第二区块链发送所述目标跨链证据;
第一跨链交易模块630,用于响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点执行所述目标跨链付款交易,以完成所述目标跨链付款交易指示的转账操作。
在一个可选实施例方式中,本公开实施例中的门限签名模块600具体用于:获取所述中继链在第i个纪元的主公钥和所述中继链的纪元数;由所述目标跨链付款交易对应的哈希值、所述中继链在第i个纪元的主公钥和所述中继链的纪元数构建所述签名消息。
在一个可选实施例方式中,本公开实施例中的所述签名消息包括:所述目标跨链付款交易对应的哈希值、所述中继链在第i个纪元的主公钥和所述中继链的纪元数;本公开实施例中的基于中继链的跨链交易装置还包括:
签名验证模块,用于所述任一第二区块链的跨链网关利用所述中继链在所述第i-1个纪元的主公钥对所述目标跨链证据中的证据签名进行验证;
纪元数验证模块,用于响应于所述证据签名通过验证,所述任一第二区块链的跨链网关确定所述目标跨链证据中的纪元数与所述任一第二区块链的纪元数是否一致;
哈希值验证模块,用于响应于所述目标跨链证据中的纪元数与所述任一第二区块链的纪元数一致,所述任一第二区块链的跨链网关基于所述目标跨链付款交易确定所述目标跨链付款交易对应的哈希值是否成立;
第一存储模块,用于响应于所述目标跨链付款交易对应的哈希值成立,所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点存储所述中继链在所述第i个纪元的主公钥。
在一个可选实施例方式中,本公开实施例中的基于中继链的跨链交易装置还包括:
第二交易模块,用于响应于所述任一第一区块链的跨链网关监测到所述任一第一区块链中包括初始跨链付款交易的区块已稳定,所述任一第一区块链的跨链网关生成所述初始跨链付款交易对应的初始跨链证据,并向所述中继链发送所述初始跨链证据和所述初始跨链付款交易,所述初始跨链付款交易用于属于所述任一第一区块链的第一交易方向属于所述任一第二区块链的第二交易方进行跨链转账付款;
交易同步模块,用于响应于所述中继链的节点确定所述初始跨链证据有效,所述中继链的节点将所述初始跨链付款交易作为目标跨链付款交易,并将所述目标跨链付款交易的哈希值写入到所述中继链中,将所述目标跨链付款交易存储到本地数据库中。
在一个可选实施例方式中,本公开实施例中的基于中继链的跨链交易装置还包括:
第一上链模块,用于响应于所述任一第一区块链的节点接收到由所述第一交易方发送的所述初始跨链付款交易,将所述初始跨链付款交易写入到所述任一第一区块链中;
第一监测模块,用于响应于监测到所述任一第一区块链中包括所述初始跨链付款交易的区块后连续链接大于或等于k1个区块,确定所述任一第一区块链中包括所述初始跨链付款交易的区块已稳定,所述k1为所述任一第一区块链的公共前缀参数。
在一个可选实施例方式中,本公开实施例中的基于中继链的跨链交易装置还包括:
委员会确定模块,用于将所述中继链在任一个纪元中产生前S个区块的节点确定为所述中继链在所述任一个纪元的委员会中的成员节点,所述S为中继链链质量性质满足理想链质量性质的最小区间段长度。
在一个可选实施例方式中,本公开实施例中的基于中继链的跨链交易装置还包括:
第一密钥生成模块,用于所述中继链在所述任一个纪元的委员会中的各成员节点基于预设的分布式密钥生成协议,生成所述中继链在所述任一个纪元的初始主公钥和所述任一个纪元的委员会中的各成员节点的门限密钥对;
第二密钥生成模块,用于对于所述任一个纪元的委员会中的各成员节点,所述成员节点利用对应的长期公私密钥分别对中私钥对所述初始主公钥进行签名处理,得到签名初始主公钥,并向所述任一个纪元的委员会中的各成员节点广播所述签名初始主公钥;
第三密钥生成模块,用于所述成员节点对接收到的所有签名初始主公钥的签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名初始主公钥确定为所述中继链在所述任一个纪元中的主公钥。
在一个可选实施例方式中,本公开实施例中的基于中继链的跨链交易装置还包括:
第一首个纪元验证模块,用于响应于所述任一个纪元为首个纪元,所述中继链在首个纪元的委员会中的成员节点向所述任一第二区块链发送目标区块和签名主公钥,所述目标区块为由所述中继链在首个纪元的委员会中的成员节点产生的除所述中继链的初始区块以外的其他区块,所述签名主公钥由所述中继链在首个纪元的委员会中的成员节点利用对应的长期公私密钥对中私钥对所述中继链在首个纪元中的主公钥进行签名得到;
第二首个纪元验证模块,用于响应于所述任一第二区块链的节点确定所述目标区块为链接在所述中继链的初始区块之后的连续链接的区块,且所述目标区块为有效区块,所述任一第二区块链的节点利用对应的长期公私密钥对中公钥对对应的所述签名主公钥的签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名主公钥确定为所述中继链在首个纪元中的主公钥,并存储所述中继链在首个纪元中的主公钥。
在一个可选实施例方式中,本公开实施例中的第一跨链交易模块630具体用于:响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点将所述目标跨链付款交易写入到所述任一第二区块链中;响应于监测到所述任一第二区块链中包括所述目标跨链付款交易的区块后连续链接大于或等于k2个区块,所述任一第二区块链的节点执行所述目标跨链付款交易,所述k2为所述任一第二区块链的公共前缀参数。
本公开实施例的基于中继链的跨链交易装置与本公开上述基于中继链的跨链交易方法的实施例之间相互对应,相关内容可以相互参考,此处不再赘述。
本公开实施例的基于中继链的跨链交易装置的示例性实施例对应的有益技术效果可以参见上述对应的示例性方法部分的相应有益技术效果,此处不再赘述。
另外,本公开实施例还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的基于中继链的跨链交易方法。
图9为本公开电子设备一个应用实施例的结构示意图。下面,参考图9来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
如图9所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于中继链的跨链交易方法以及/或者其他期望的功能。
在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入设备还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图9中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于中继链的跨链交易方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于中继链的跨链交易方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (12)
1.一种基于中继链的跨链交易方法,其特征在于,应用于区块链系统,所述区块链系统包括至少一个第一区块链、至少一个第二区块链和所述中继链,所述中继链的诚实节点的占比大于1/2,至少一个所述第一区块链与至少一个所述第二区块链在运行中与所述中继链保持一致的纪元数,所述方法包括:
响应于所述中继链在第i纪元的主公钥生成,所述中继链在第i-1个纪元的委员会中的任一成员节点执行如下操作:从所述中继链和本地数据库中分别获取在所述第i-1个纪元的目标跨链付款交易对应的哈希值和所述目标跨链付款交易;基于所述目标跨链付款交易对应的哈希值生成签名消息;利用所述中继链在所述第i-1个纪元的门限密钥对中私钥份额对所述签名消息进行签名处理,得到的门限签名,并向所述中继链的各节点广播所述门限签名,所述目标跨链付款交易用于属于至少一个所述第一区块链中的任一第一区块链的第一交易方向属于至少一个所述第二区块链中的任一第二区块链的第二交易方进行跨链转账付款,i的取值为大于或等于2的整数;
响应于所述中继链的任一节点接收到的所述门限签名的数量大于或等于预设门限值,利用接收到的所述门限签名重构出证据签名,并由所述证据签名和所述目标跨链付款交易构建目标跨链证据;
所述中继链的任一节点向所述任一第二区块链发送所述目标跨链证据;
响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点执行所述目标跨链付款交易,以完成所述目标跨链付款交易指示的转账操作。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标跨链付款交易对应的哈希值生成签名消息,包括:
获取所述中继链在第i个纪元的主公钥和所述中继链的纪元数;
由所述目标跨链付款交易对应的哈希值、所述中继链在第i个纪元的主公钥和所述中继链的纪元数构建所述签名消息。
3.根据权利要求1所述的方法,其特征在于,所述签名消息包括:所述目标跨链付款交易对应的哈希值、所述中继链在第i个纪元的主公钥和所述中继链的纪元数;
通过如下方式确定所述目标跨链证据是否有效,包括:
所述任一第二区块链的跨链网关利用所述中继链在所述第i-1个纪元的主公钥对所述目标跨链证据中的证据签名进行验证;
响应于所述证据签名通过验证,所述任一第二区块链的跨链网关确定所述目标跨链证据中的纪元数与所述任一第二区块链的纪元数是否一致;
响应于所述目标跨链证据中的纪元数与所述任一第二区块链的纪元数一致,所述任一第二区块链的跨链网关基于所述目标跨链付款交易确定所述目标跨链付款交易对应的哈希值是否成立;
响应于所述目标跨链付款交易对应的哈希值成立,所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点存储所述中继链在所述第i个纪元的主公钥。
4.根据权利要求1所述的方法,其特征在于,所述响应于所述中继链在第i纪元的主公钥生成之前,还包括:
响应于所述任一第一区块链的跨链网关监测到所述任一第一区块链中包括初始跨链付款交易的区块已稳定,所述任一第一区块链的跨链网关生成所述初始跨链付款交易对应的初始跨链证据,并向所述中继链发送所述初始跨链证据和所述初始跨链付款交易,所述初始跨链付款交易用于属于所述任一第一区块链的第一交易方向属于所述任一第二区块链的第二交易方进行跨链转账付款;
响应于所述中继链的节点确定所述初始跨链证据有效,所述中继链的节点将所述初始跨链付款交易作为目标跨链付款交易,并将所述目标跨链付款交易的哈希值写入到所述中继链中,将所述目标跨链付款交易存储到本地数据库中。
5.根据权利要求4所述的方法,其特征在于,所述响应于所述任一第一区块链的跨链网关监测到所述任一第一区块链中包括初始跨链付款交易的区块已稳定之前,还包括:
响应于所述任一第一区块链的节点接收到由所述第一交易方发送的所述初始跨链付款交易,将所述初始跨链付款交易写入到所述任一第一区块链中;
响应于监测到所述任一第一区块链中包括所述初始跨链付款交易的区块后连续链接大于或等于k1个区块,确定所述任一第一区块链中包括所述初始跨链付款交易的区块已稳定,所述k1为所述任一第一区块链的公共前缀参数。
6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:
将所述中继链在任一个纪元中产生前S个区块的节点确定为所述中继链在所述任一个纪元的委员会中的成员节点,所述S为中继链链质量性质满足理想链质量性质的最小区间段长度。
7.根据权利要求6所述的方法,其特征在于,所述将所述中继链在任一个纪元中产生前S个区块的节点确定为所述中继链在所述任一个纪元的委员会中的成员节点之后,还包括:
所述中继链在所述任一个纪元的委员会中的各成员节点基于预设的分布式密钥生成协议,生成所述中继链在所述任一个纪元的初始主公钥和所述任一个纪元的委员会中的各成员节点的门限密钥对;
对于所述任一个纪元的委员会中的各成员节点,所述成员节点利用对应的长期公私密钥对中私钥分别对所述初始主公钥进行签名处理,得到签名初始主公钥,并向所述任一个纪元的委员会中的各成员节点广播所述签名初始主公钥;
所述成员节点对接收到的所有签名初始主公钥的签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名初始主公钥确定为所述中继链在所述任一个纪元中的主公钥。
8.根据权利要求6所述的方法,其特征在于,还包括:
响应于所述任一个纪元为首个纪元,所述中继链在首个纪元的委员会中的成员节点向所述任一第二区块链发送目标区块和签名主公钥,所述目标区块为由所述中继链在首个纪元的委员会中的成员节点产生的除所述中继链的初始区块以外的其他区块,所述签名主公钥由所述中继链在首个纪元的委员会中的成员节点利用对应的长期公私密钥对中私钥对所述中继链在首个纪元中的主公钥进行签名得到;
响应于所述任一第二区块链的节点确定所述目标区块为链接在所述中继链的初始区块之后的连续链接的区块,且所述目标区块为有效区块,所述任一第二区块链的节点利用对应的长期公私密钥对中公钥对对应的所述签名主公钥的签名的有效性进行验证,并将有效签名数量大于或等于预设数量的签名主公钥确定为所述中继链在首个纪元中的主公钥,并存储所述中继链在首个纪元中的主公钥。
9.根据权利要求1所述的方法,其特征在于,所述响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点执行所述目标跨链付款交易,包括:
响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点将所述目标跨链付款交易写入到所述任一第二区块链中;
响应于监测到所述任一第二区块链中包括所述目标跨链付款交易的区块后连续链接大于或等于k2个区块,所述任一第二区块链的节点执行所述目标跨链付款交易,所述k2为所述任一第二区块链的公共前缀参数。
10.一种基于中继链的跨链交易装置,其特征在于,应用于区块链系统,所述区块链系统包括至少一个第一区块链、至少一个第二区块链和所述中继链,所述中继链的诚实节点的占比大于1/2,至少一个所述第一区块链与至少一个所述第二区块链在运行中与所述中继链保持一致的纪元数,所述装置包括:
门限签名模块,用于响应于所述中继链在第i纪元的主公钥生成,所述中继链在第i-1个纪元的委员会中的任一成员节点执行如下操作:从所述中继链和本地数据库中分别获取在所述第i-1个纪元的目标跨链付款交易对应的哈希值和所述目标跨链付款交易;基于所述目标跨链付款交易对应的哈希值生成签名消息;利用所述中继链在所述第i-1个纪元的门限密钥对中私钥份额对所述签名消息进行签名处理,得到的门限签名,并向所述中继链的各节点广播所述门限签名,所述目标跨链付款交易用于属于至少一个所述第一区块链中的任一第一区块链的第一交易方向属于至少一个所述第二区块链中的任一第二区块链的第二交易方进行跨链转账付款,所述i大于或等于2;
跨链证据生成模块,用于响应于所述中继链的任一节点接收到的所述门限签名的数量大于或等于预设门限值,利用接收到的所述门限签名重构出证据签名,并由所述证据签名和所述目标跨链付款交易构建目标跨链证据;
证据发送模块,用于所述中继链的任一节点向所述任一第二区块链发送所述目标跨链证据;
第一跨链交易模块,用于响应于所述任一第二区块链的跨链网关确定所述目标跨链证据有效,所述任一第二区块链的节点执行所述目标跨链付款交易,以完成所述目标跨链付款交易指示的转账操作。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-9任一所述的基于中继链的跨链交易方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-9任一所述的基于中继链的跨链交易方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410309649.5A CN117938354B (zh) | 2024-03-18 | 2024-03-18 | 基于中继链的跨链交易方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410309649.5A CN117938354B (zh) | 2024-03-18 | 2024-03-18 | 基于中继链的跨链交易方法和装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117938354A true CN117938354A (zh) | 2024-04-26 |
CN117938354B CN117938354B (zh) | 2024-07-05 |
Family
ID=90757786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410309649.5A Active CN117938354B (zh) | 2024-03-18 | 2024-03-18 | 基于中继链的跨链交易方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117938354B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112418860A (zh) * | 2020-12-07 | 2021-02-26 | 苏州科技大学 | 一种基于跨链技术的区块链高效管理架构及工作方法 |
CN113783698A (zh) * | 2021-08-26 | 2021-12-10 | 浙商银行股份有限公司 | 一种基于去中心化跨链的供应链金融方法 |
WO2022095244A1 (zh) * | 2020-11-06 | 2022-05-12 | 杭州趣链科技有限公司 | 跨链交易方法、系统、装置、设备和存储介质 |
CN115499129A (zh) * | 2022-06-14 | 2022-12-20 | 广州链融信息技术有限公司 | 一种多模信任跨链共识方法、系统、介质、设备及终端 |
CN115860744A (zh) * | 2023-02-20 | 2023-03-28 | 中国信息通信研究院 | 跨区块链交易的处理方法和装置、区块链系统和设备 |
WO2023088136A1 (zh) * | 2021-11-16 | 2023-05-25 | 中兴通讯股份有限公司 | 区块链跨链方法、设备及可读存储介质 |
CN116563019A (zh) * | 2023-03-13 | 2023-08-08 | 苏州国本新信息科技有限公司 | 一种跨区块链交互方法、计算机设备以及存储介质 |
-
2024
- 2024-03-18 CN CN202410309649.5A patent/CN117938354B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095244A1 (zh) * | 2020-11-06 | 2022-05-12 | 杭州趣链科技有限公司 | 跨链交易方法、系统、装置、设备和存储介质 |
CN112418860A (zh) * | 2020-12-07 | 2021-02-26 | 苏州科技大学 | 一种基于跨链技术的区块链高效管理架构及工作方法 |
CN113783698A (zh) * | 2021-08-26 | 2021-12-10 | 浙商银行股份有限公司 | 一种基于去中心化跨链的供应链金融方法 |
WO2023088136A1 (zh) * | 2021-11-16 | 2023-05-25 | 中兴通讯股份有限公司 | 区块链跨链方法、设备及可读存储介质 |
CN115499129A (zh) * | 2022-06-14 | 2022-12-20 | 广州链融信息技术有限公司 | 一种多模信任跨链共识方法、系统、介质、设备及终端 |
CN115860744A (zh) * | 2023-02-20 | 2023-03-28 | 中国信息通信研究院 | 跨区块链交易的处理方法和装置、区块链系统和设备 |
CN116563019A (zh) * | 2023-03-13 | 2023-08-08 | 苏州国本新信息科技有限公司 | 一种跨区块链交互方法、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117938354B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
CN109756582B (zh) | 区块链网络中的信息记录方法、装置、节点及存储介质 | |
US11871485B2 (en) | Verification of interactions system and method | |
CN110941859A (zh) | 用于区块链形成共识的方法、设备、计算机可读存储介质和计算机程序产品 | |
CN113055188B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112150141A (zh) | 一种区块链共识方法、装置和系统 | |
CN111478772B (zh) | 一种流水线友好的签名和验签方法、设备及存储介质 | |
CN112219371A (zh) | 双向区块链 | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享系统及方法 | |
CN108737105B (zh) | 私钥的找回方法、装置、私钥设备和介质 | |
CN113114471A (zh) | 一种报文哈希链的构建方法及装置 | |
US11271728B2 (en) | Secure key management | |
CN115941691B (zh) | 区块链上数据修改方法、装置、设备和介质 | |
CN114745140A (zh) | 基于聚合加密的城市规划领域区块链共识验证方法及系统 | |
CN111769945A (zh) | 基于区块链的拍卖处理方法和区块链节点 | |
CN116070285A (zh) | 基于拜占庭容错的异步共识方法、装置、服务器和介质 | |
Sagirlar et al. | On the design of co-operating blockchains for IoT | |
CN117938354B (zh) | 基于中继链的跨链交易方法和装置、电子设备和存储介质 | |
CN115589298A (zh) | 区块链的信息验证方法、装置和系统、设备、介质 | |
CN112104607A (zh) | 跨链通信的方法、装置、网络节点和存储介质 | |
CN112104701A (zh) | 一种跨链通信的方法、装置、网络节点和存储介质 | |
US12126732B2 (en) | Blockchain consensus method, device and system | |
CN115664861B (zh) | 基于区块链的身份信息验证方法和装置、设备和介质 | |
CN117728959B (zh) | 门限签名方法和装置、电子设备和存储介质 | |
CN117812092B (zh) | 基于谓词的区块压缩传输方法和装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |