CN113657900A - 一种跨链交易验证方法、系统以及跨链交易系统 - Google Patents
一种跨链交易验证方法、系统以及跨链交易系统 Download PDFInfo
- Publication number
- CN113657900A CN113657900A CN202110790234.0A CN202110790234A CN113657900A CN 113657900 A CN113657900 A CN 113657900A CN 202110790234 A CN202110790234 A CN 202110790234A CN 113657900 A CN113657900 A CN 113657900A
- Authority
- CN
- China
- Prior art keywords
- chain
- verification
- transaction
- cross
- information
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 352
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 33
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000003860 storage Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 abstract description 14
- 238000004364 calculation method Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 19
- 238000012546 transfer Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000408529 Libra Species 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种跨链交易验证方法、系统以及跨链交易系统,涉及计算机技术领域。该方法的一具体实施方式包括:验证节点群中的多个验证节点接收源链客户端广播的跨链交易请求;多个验证节点分别根据跨链交易请求对当前的跨链交易执行交易验证,交易验证包括:验证第一简易支付验证证明是否已被源链的共识算法验证通过;每个验证节点在对交易验证通过后,对目标链交易信息签名,得到签名后的目标链交易信息,在签名后的目标链交易信息的数量达到门限值的情况下,验证节点群对当前的跨链交易验证通过。该实施方式能提高跨链过程的安全性,节省区块链节点的存储、计算及验证资源,无需消耗目标链的计算资源和共识时间,提高跨链交易执行速度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种跨链交易验证方法、系统以及跨链交易系统。
背景技术
当区块链系统作为记账系统时,存在两种模型,账户模型和UTXO(UnspentTransaction Outputs,未花费的交易输出)模型。UTXO由交易构成了一组链式结构,所有合法的交易都可以追溯到前向一个或多个交易的输出,这些链条的源头都是被兑出的币串(在比特币中是挖矿的补偿),末尾则是当前未花费的交易输出。相比于UTXO模型记录了交易的状态,Account(账户)模型则是保存了区块链的世界状态,链的状态一般在区块中以StateRoot和ReceiptRoot等形式进行共识。交易只是事件本身,不包含结果,交易的共识和状态的共识本质上可以隔离的。账户模型和UTXO模型的区块链系统之间存在着明显的异构问题,这两种平台上的数据和信息的共享及流通需要通过跨链技术来实现。UTXO模型不利于图灵完备的智能合约系统的实现,仅起到控制UTXO或UTXO中数据的作用。目前为解决账户模型和UTXO模型之间的资产流转问题采用了基于中心化服务节点的方式。即,构建一个可信的第三方服务节点来传递两个区块链系统之间的跨链交易信息。这种方式有中心化风险,跨链过程中的安全性完全依赖第三方服务节点,一旦第三方服务节点出现安全漏洞,将给这两个区块链系统都带来不可逆的安全风险。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
跨链过程安全性低,消息验证时区块链节点需要保存对方链的区块头信息,占用节点存储资源,对于源链的交易,目标链所有节点都需要进行SPV验证(简易支付验证)并通过共识后才能上链,非常消耗目标链的计算资源和共识时间,导致跨链交易执行速度慢。
发明内容
有鉴于此,本发明实施例提供一种跨链交易验证方法、系统以及跨链交易系统,能够提高跨链过程的安全性,区块链节点无需保存对方链的区块头信息,节省了区块链节点的存储、计算及验证资源,对于源链的交易,验证节点群验证通过后目标链即可对交易上链,无需消耗目标链的计算资源和共识时间,提高了跨链交易执行速度。
为实现上述目的,根据本发明实施例的一个方面,提供了一种跨链交易验证方法。
一种跨链交易验证方法,包括:验证节点群中的多个验证节点接收源链客户端广播的跨链交易请求,所述跨链交易请求包括目标链交易信息、第一简易支付验证证明;所述多个验证节点分别根据所述跨链交易请求对当前的跨链交易执行交易验证,所述交易验证包括:验证所述第一简易支付验证证明是否已被源链的共识算法验证通过;每个所述验证节点在对所述交易验证通过后,对所述目标链交易信息签名,得到签名后的目标链交易信息,在所述签名后的目标链交易信息的数量达到门限值的情况下,所述验证节点群对所述当前的跨链交易验证通过。
可选地,所述跨链交易请求还包括所述源链的区块链标识、源链交易信息、源链当前的区块高度,所述交易验证还包括:验证所述源链的区块链标识是否存在,验证所述源链的区块链标识对应的区块高度是否大于或等于所述源链当前的区块高度,以及,验证所述源链交易信息中的交易金额与所述目标链交易信息中的交易金额是否一致。
可选地,所述验证所述第一简易支付验证证明是否已被源链的共识算法验证通过,包括:根据所述第一简易支付验证证明中所包括的所述源链的新状态信息、路径信息,计算第一默克尔根,其中,所述路径信息为默克尔树中所述新状态信息的节点到根节点的路径;判断所述第一默克尔根与数据库中存储的所述源链的最新默克尔根是否一致,若一致,则所述第一简易支付验证证明被所述源链的共识算法验证通过。
可选地,还包括:所述验证节点从所述验证节点群中的状态同步节点得到所述源链的新的区块头、简易支付验证证明集合,所述简易支付验证证明集合包括多个第二简易支付验证证明,所述第二简易支付验证证明是所述状态同步节点根据监听到的所述源链的区块更新信息构造的;所述验证节点利用所述简易支付验证证明集合中的所述第二简易支付验证证明,以及所述数据库中所述源链的已存默克尔根,计算出第二默克尔根,若所述第二默克尔根与所述新的区块头中的默克尔根一致,则将所述新的区块头中的默克尔根作为所述源链的最新默克尔根,并更新到所述数据库中。
可选地,所述源链的新的区块头、简易支付验证证明集合,是所述状态同步节点在监听到所述源链的区块更新信息后同步给所述验证节点的,或者,是所述验证节点在达到预设时间阈值后仍未收到所述状态同步节点同步的信息时,主动向所述状态同步节点请求得到的,所述同步的信息包括所述源链的新的区块头、所述简易支付验证证明集合。
可选地,所述数据库为键值数据库,其中,键为区块链标识,值为区块链的区块高度与区块链的最新默克尔根组成的元组。
根据本发明实施例的另一方面,提供了一种跨链交易验证系统。
一种跨链交易验证系统,包括:验证节点群,所述验证节点群包括多个验证节点,每一所述验证节点包括请求接收模块、交易验证模块、签名模块;所述请求接收模块,用于接收源链客户端广播的跨链交易请求,所述跨链交易请求包括目标链交易信息、第一简易支付验证证明;所述交易验证模块,用于根据所述跨链交易请求对当前的跨链交易执行交易验证,所述交易验证包括:验证所述第一简易支付验证证明是否已被源链的共识算法验证通过;所述签名模块,用于在对所述交易验证通过后,对所述目标链交易信息签名,得到签名后的目标链交易信息;在所述验证节点群中通过各所述验证节点得到的所述签名后的目标链交易信息的数量达到门限值的情况下,所述验证节点群对所述当前的跨链交易验证通过。
可选地,所述跨链交易请求还包括所述源链的区块链标识、源链交易信息、源链当前的区块高度,所述交易验证模块还用于:验证所述源链的区块链标识是否存在,验证所述源链的区块链标识对应的区块高度是否大于或等于所述源链当前的区块高度,以及,验证所述源链交易信息中的交易金额与所述目标链交易信息中的交易金额是否一致。
可选地,所述交易验证模块还用于:根据所述第一简易支付验证证明中所包括的所述源链的新状态信息、路径信息,计算第一默克尔根,其中,所述路径信息为默克尔树中所述新状态信息的节点到根节点的路径;判断所述第一默克尔根与数据库中存储的所述源链的最新默克尔根是否一致,若一致,则所述第一简易支付验证证明被所述源链的共识算法验证通过。
可选地,所述验证节点群还包括状态同步节点;所述验证节点还包括数据同步模块,用于从所述状态同步节点得到所述源链的新的区块头、简易支付验证证明集合,所述简易支付验证证明集合包括多个第二简易支付验证证明,所述第二简易支付验证证明是所述状态同步节点根据监听到的所述源链的区块更新信息构造的;所述验证节点还包括更新模块,用于利用所述简易支付验证证明集合中的所述第二简易支付验证证明,以及所述数据库中所述源链的已存默克尔根,计算出第二默克尔根,若所述第二默克尔根与所述新的区块头中的默克尔根一致,则将所述新的区块头中的默克尔根作为所述源链的最新默克尔根,并更新到所述数据库中。
可选地,所述源链的新的区块头、简易支付验证证明集合,是所述状态同步节点在监听到所述源链的区块更新信息后同步给所述验证节点的数据同步模块的,或者,是所述验证节点的数据同步模块在达到预设时间阈值后仍未收到所述状态同步节点同步的信息时,主动向所述状态同步节点请求得到的,所述同步的信息包括所述源链的新的区块头、所述简易支付验证证明集合。
可选地,所述数据库为键值数据库,其中,键为区块链标识,值为区块链的区块高度与区块链的最新默克尔根组成的元组。
根据本发明实施例的又一方面,提供了一种跨链交易系统。
一种跨链交易系统,包括:本发明实施例提供的跨链交易验证系统、交易机构系统、交易客户端,所述交易客户端包括源链客户端、目标链客户端,其中:所述交易机构系统用于按照资源平衡算法部署所述源链客户端、目标链客户端的交易账户中的交易资源;所述源链客户端用于向所述跨链交易验证系统的验证节点群广播跨链交易请求,以由所述验证节点群的多个验证节点对当前的跨链交易执行交易验证,接收交易验证通过后由所述验证节点返回的签名后的目标链交易信息,在接收到的所述签名后的目标链交易信息的数量达到门限值的情况下,根据接收到的所述签名后的目标链交易信息生成新的目标链交易信息,并将所述新的目标链交易信息发送到所述目标链客户端;所述目标链客户端用于对所述新的目标链交易信息上链,以完成所述当前的跨链交易。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明实施例所提供的跨链交易验证方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的跨链交易验证方法。
上述发明中的一个实施例具有如下优点或有益效果:验证节点群中的多个验证节点接收源链客户端广播的跨链交易请求,跨链交易请求包括目标链交易信息、第一简易支付验证证明;多个验证节点分别根据跨链交易请求对当前的跨链交易执行交易验证,交易验证包括验证第一简易支付验证证明是否已被源链的共识算法验证通过;每个验证节点在对交易验证通过后,对目标链交易信息签名,得到签名后的目标链交易信息,在签名后的目标链交易信息的数量达到门限值的情况下,验证节点群对当前的跨链交易验证通过。能够提高跨链过程的安全性,区块链节点无需保存对方链的区块头信息,节省了区块链节点的存储、计算及验证资源,对于源链的交易,验证节点群验证通过后目标链即可对交易上链,无需消耗目标链的计算资源和共识时间,提高了跨链交易执行速度。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一个实施例的跨链交易验证方法的主要步骤示意图;
图2是根据本发明一个实施例的验证节点对当前的跨链交易执行交易验证的流程示意图;
图3是根据本发明一个实施例的验证节点同步区块状态的流程示意图;
图4是根据本发明一个实施例的跨链交易的流程示意图;
图5是根据本发明一个实施例的跨链交易验证系统的构成示意图;
图6是根据本发明一个实施例的跨链交易系统的构成示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明一个实施例的跨链交易验证方法的主要步骤示意图,如图1所示,本发明一个实施例的跨链交易验证方法主要包括如下的步骤S101至步骤S103。
步骤S101:验证节点群中的多个验证节点接收源链客户端广播的跨链交易请求,跨链交易请求包括目标链交易信息、第一简易支付验证证明;
步骤S102:多个验证节点分别根据跨链交易请求对当前的跨链交易执行交易验证,交易验证包括:验证第一简易支付验证证明是否已被源链的共识算法验证通过;
步骤S103:每个验证节点在对交易验证通过后,对目标链交易信息签名,得到签名后的目标链交易信息,在签名后的目标链交易信息的数量达到门限值的情况下,验证节点群对当前的跨链交易验证通过。
源链和目标链为跨链交易所涉及的两个区块链,交易方向为源链到目标链。源链交易信息包括源链资金账户地址、交易金额,目标链交易信息包括目标链的资金账户地址、交易金额。
跨链交易请求还包括源链的区块链标识、源链交易信息、源链当前的区块高度。
在一个实施例中,验证节点执行的交易验证还可包括:验证源链的区块链标识是否存在,验证源链的区块链标识对应的区块高度是否大于或等于源链当前的区块高度,以及,验证源链交易信息中的交易金额与目标链交易信息中的交易金额是否一致。
每个验证节点在对交易验证通过,具体可以包括:确定第一简易支付验证证明已被源链的共识算法验证通过、确定源链的区块链标识存在、确定源链的区块链标识对应的区块高度大于或等于源链当前的区块高度、确定源链交易信息中的交易金额与目标链交易信息中的交易金额一致。
验证第一简易支付验证证明是否已被源链的共识算法验证通过,具体可以包括:根据第一简易支付验证证明中所包括的源链的新状态信息、路径信息,计算第一默克尔根;判断第一默克尔根与数据库中存储的源链的最新默克尔根是否一致,若一致,则第一简易支付验证证明被源链的共识算法验证通过。
源链的新状态信息包括源链中新的交易和默克尔树中与该新的交易相关的所有新的节点。路径信息为默克尔树中新状态信息的节点到根节点的路径,路径上的节点包括新状态信息的节点和用于与新状态信息的节点一起计算默克尔根的各节点。
默克尔树是存贮哈希值的树,每条交易信息都具有哈希值,每两笔交易用哈希函数计算出一个哈希值,两个哈希值再继续计算出新的哈希值,以此类推,最终计算得到一个唯一的哈希值即默克尔根。
本发明实施例利用源链的新状态信息、路径信息,通过逐层哈希运算最终可以计算得到一个默克尔根,即第一默克尔根。
验证节点可以从验证节点群中的状态同步节点得到源链的新的区块头、简易支付验证证明集合,简易支付验证证明集合包括多个第二简易支付验证证明,第二简易支付验证证明是状态同步节点根据监听到的源链的区块更新信息构造的,其中包括源链的新状态信息、路径信息。
验证节点可利用简易支付验证证明集合中的第二简易支付验证证明,以及数据库中源链的已存默克尔根,计算出第二默克尔根,若第二默克尔根与新的区块头中的默克尔根一致,则将新的区块头中的默克尔根作为源链的最新默克尔根,并更新到数据库中。
源链的新的区块头、简易支付验证证明集合,是状态同步节点在监听到源链的区块更新信息后同步给验证节点的,或者,是验证节点在达到预设时间阈值后仍未收到状态同步节点同步的信息时,主动向状态同步节点请求得到的,同步的信息包括源链的新的区块头、简易支付验证证明集合。
数据库为键值数据库,其中,键为区块链标识,值为区块链的区块高度与区块链的最新默克尔根组成的元组。
图2是根据本发明一个实施例的验证节点对当前的跨链交易执行交易验证的流程示意图。
如图2所示,源链客户端广播跨链交易请求(S201);验证节点解析跨链交易请求(S202);验证通过后,对跨链交易请求中的目标链交易信息进行签名(S203);将签名后的目标链交易信息点对点返回源链客户端(S204)。
本发明实施例的验证节点可以为FastPay验证节点,FastPay是Facebook公司所领导的跨境支付项目Libra的最新扩容方案,它支持高效的分布式记账。源链客户端向FastPay验证节点广播发送跨链交易请求,请求格式为<Chain_ID,源链交易信息,目标链交易信息,SPV(简易支付验证)证明,源链当前的区块高度>。Chain_ID即区块链标识。
FastPay验证节点收到跨链交易请求后,解析跨链交易请求并进行以下验证:验证Chain_ID是否存在;验证Chain_ID所对应的区块高度是否大于或等于当前源链的区块高度;验证源链交易和目标链交易中的金额是否一致;验证SPV证明以判断交易信息是否被区块链系统的共识算法所验证通过。
SPV证明包括源链新状态的信息和源链的默克尔树中新状态信息的节点到根节点的路径。具体验证方法可以为:一个交易被纳入到最新的区块并被区块链接收,则表示共识完成,通过SPV证明,验证最新的root节点(默克尔根),来验证该交易是否被源链的共识算法验证通过。其中,新状态的信息包括新的交易和默克尔树中与该新的交易相关的所有新的节点。
FastPay验证节点对交易验证通过后,对目标链的交易信息签名并返回给源链的客户端。
图3是根据本发明一个实施例的验证节点同步区块状态的流程示意图。
如图3所示,状态同步节点收到区块状态更新请求(S301);状态同步节点生成SPV证明协议,其中包括所有新状态的SPV证明(S302);验证节点根据源root信息验证新区块信息(S303);验证节点更新键值数据库中的键值信息(S304)。
具体地,状态同步节点监听到区块链系统区块信息更新(即收到区块状态更新请求)后,构造区块中信息的SPV证明,将新的区块头和SPV证明集合(即简易支付验证证明集合)广播给所有验证节点。状态同步节点构造区块中信息的SPV证明,具体是对新区块中每一新交易(状态)构造一个SPV证明,其中包括新状态的信息和默克尔树中该新状态信息的节点到根节点的路径,因为SVP是默克尔树的路径,构造计算消耗很小。
当源链区块信息更新时,状态同步节点监听到该区块信息更新,并按照上述方法生成SVP证明集合(即简易支付验证证明集合),其中包括根据监听到的源链的区块更新信息构造的SVP证明(即第二简易支付验证证明),第二简易支付验证证明包括源链的新区块的新状态(交易)的信息和默克尔树中该新状态信息的节点到根节点的路径。状态同步节点广播的源链的新的区块头信息中包括该新的区块的默克尔根、区块高度。
验证节点收到状态同步节点发送的新的区块头信息后,判断收到的区块高度是否等于当前区块高度加1,如果等于,则进行下一步;如果大于,则放入缓存中等待;如果小于,则丢弃状态同步节点发送的该信息。
验证节点在确定收到的区块高度等于当前区块高度加1后,验证区块头信息,以判断父hash(即前一个区块的哈希)是否正确,根据SPV证明集合判断区块头中的默克尔根是否正确,具体地,根据旧的root(即数据库中源链的已存默克尔根)和SPV证明集合中SPV证明(即第二简易支付验证证明)的路径进行计算出一个新的默克尔根,即第二默克尔根,判断该第二默克尔根是否等于区块头中的默克尔根,若等于,则区块头中的默克尔根正确,更新数据库中的root信息,即,将新的区块头中的默克尔根作为源链的最新默克尔根并更新到数据库中。数据库中只保留最新区块的默克尔根,而之前区块的默克尔根被丢弃。上述旧的root即源root信息,上述过程即根据源root信息验证新区块信息的过程。
如果验证节点等待某一个高度区块信息的时间超过一个阈值(即预设时间阈值)后,验证节点会主动向状态同步节点发送同步该区块信息的请求。该主动请求的机制可以防止因网络问题出现一些丢包现象,而无法及时收到状态同步节点同步的信息。
每个验证节点本地维护着一个键值数据库,键为区块链标识,其具体采用创世块的hash(哈希值)作为唯一标识。值为对应链的块高和状态root(区块链的最新默克尔根)组成的元组,更新键值数据库中的键值信息即更新上述的键和值。
源链用户可以预先向状态同步节点提交注册信息<Chain_ID(初始区块的hash),交易的格式,high(当前的块高),root(当前状态的默克尔根),采用的hash算法>,状态同步节点判断该Chain_ID是否已经注册,如没有注册,则广播注册信息,验证节点更新本地数据库中的注册信息。
本发明实施例采用验证节点群代替智能合约来验证跨链消息的真实性和存在性,节省了区块链节点的计算资源和验证资源。利用验证节点群技术和门限签名技术来解决单点问题,进一步保证了跨链消息验证过程的安全性。通过验证区块头中的hash指针(父hash)和块高来保证各验证节点间状态的一致性。由于不需要在区块链系统上部署智能合约,因此在基于Account模型和UTXO模型的区块链系统之间的跨链交易场景下有着良好的应用前景。
图4是根据本发明一个实施例的跨链交易的流程示意图。
如图4所示,跨链交易的流程包括以下步骤:
1、源链客户端锁定资金,具体地,源链用户通过客户端发送资产跨链交易,将需要跨链的资产锁定在源链的资金账户中。
2、源链生成SPV证明(第一简易支付验证证明),具体地,源链的交易信息被源链的共识算法认证后,生成该交易的SPV证明,并返回给源链客户端。
3、源链客户端向验证节点群广播资金转移请求(即跨链交易请求),具体地,源链客户端构造资金转移请求,并广播给所有FastPay验证节点,请求格式为<Chain_ID,源链交易信息,目标链交易信息,SPV证明,当前源链的区块高度>,其中源链交易信息中的to字段是源链资金账户地址,目标链交易信息中的from字段是目标链的资金账户地址。
4、验证节点群验证资金转移请求,验证通过后,对目标链的交易信息进行签名。验证资金转移请求包括验证SPV证明(第一简易支付验证证明),即验证SPV证明是否已被源链的共识算法验证通过,验证节点群具体可根据自身数据库中保存的root节点的信息(即数据库中存储的源链的最新默克尔根)验证该SPV证明,验证方法为:根据该SPV证明中所包括的源链的新状态信息、路径信息,计算第一默克尔根,若第一默克尔根与数据库中存储的源链的最新默克尔一致,则SPV证明被源链的共识算法验证通过。当2n/3(门限值,其n为验证节点群中验证节点的总数)或超过2n/3个验证节点对资金转移请求验证通过,则验证节点群对资金转移请求验证通过。
5.1、源链客户端聚合签名,生成交易;具体地,源链客户端对目标链的交易信息的签名进行聚合(例如拼接),生成目标链的交易(即新的目标链交易信息)。
5.2、源链客户端将生成的交易(上述聚合所生成的交易)发送到对方的客户端,即目标链客户端;
6、目标链客户端对交易上链(存储到目标链),完成交易,即完成资金转移。
图5是根据本发明一个实施例的跨链交易验证系统的构成示意图。
如图5所示,本发明一个实施例的跨链交易验证系统500包括验证节点群501,验证节点群501包括多个验证节点502(图5中示例性地示出了其中一个验证节点),每一验证节点502包括请求接收模块5021、交易验证模块5022、签名模块5023。
请求接收模块5021,用于接收源链客户端广播的跨链交易请求,跨链交易请求包括目标链交易信息、第一简易支付验证证明;
交易验证模块5022,用于根据跨链交易请求对当前的跨链交易执行交易验证,交易验证包括:验证第一简易支付验证证明是否已被源链的共识算法验证通过;
签名模块5023,用于在对交易验证通过后,对目标链交易信息签名,得到签名后的目标链交易信息;
在验证节点群501中通过各验证节点502得到的签名后的目标链交易信息的数量达到门限值的情况下,验证节点群501对当前的跨链交易验证通过。
跨链交易请求还包括源链的区块链标识、源链交易信息、源链当前的区块高度。
交易验证模块5022还用于:验证源链的区块链标识是否存在,验证源链的区块链标识对应的区块高度是否大于或等于源链当前的区块高度,以及,验证源链交易信息中的交易金额与目标链交易信息中的交易金额是否一致。
交易验证模块5022具体还用于:根据第一简易支付验证证明中所包括的源链的新状态信息、路径信息,计算第一默克尔根,其中,路径信息为默克尔树中新状态信息的节点到根节点的路径;判断第一默克尔根与数据库中存储的源链的最新默克尔根是否一致,若一致,则第一简易支付验证证明被源链的共识算法验证通过。
验证节点群501还包括状态同步节点503,用于监听源链的区块更新信息,并根据监听到的源链的区块更新信息构造简易支付验证证明集合。
验证节点502还包括数据同步模块,用于从状态同步节点得到源链的新的区块头、简易支付验证证明集合,简易支付验证证明集合包括多个第二简易支付验证证明,第二简易支付验证证明是状态同步节点根据监听到的源链的区块更新信息构造的。
验证节点502还包括更新模块,用于利用简易支付验证证明集合中的第二简易支付验证证明,以及数据库中源链的已存默克尔根,计算出第二默克尔根,若第二默克尔根与新的区块头中的默克尔根一致,则将新的区块头中的默克尔根作为源链的最新默克尔根,并更新到数据库中。
源链的新的区块头、简易支付验证证明集合,是状态同步节点在监听到源链的区块更新信息后同步给验证节点的数据同步模块的,或者,是验证节点的数据同步模块在达到预设时间阈值后仍未收到状态同步节点同步的信息时,主动向状态同步节点请求得到的,同步的信息包括源链的新的区块头、简易支付验证证明集合。
数据库为键值数据库,其中,键为区块链标识,值为区块链的区块高度与区块链的最新默克尔根组成的元组。
图6是根据本发明一个实施例的跨链交易系统的构成示意图。
如图6所示,本发明一个实施例的跨链交易系统600主要包括跨链交易验证系统601、交易机构系统602、交易客户端603,交易客户端603包括源链客户端6031、目标链客户端6032,其中:
交易机构系统602用于按照资源平衡算法部署源链客户端、目标链客户端的交易账户中的交易资源;
源链客户端6031用于向跨链交易验证系统601的验证节点群广播跨链交易请求,以由验证节点群的多个验证节点对当前的跨链交易执行交易验证,接收交易验证通过后由验证节点返回的签名后的目标链交易信息,在接收到的签名后的目标链交易信息的数量达到门限值的情况下,根据接收到的签名后的目标链交易信息生成新的目标链交易信息,并将新的目标链交易信息发送到目标链客户端6032;
目标链客户端6032用于对新的目标链交易信息上链,以完成当前的跨链交易。
跨链交易验证系统601与上文实施例介绍的跨链交易验证系统500功能相同,具体参见对跨链交易验证系统500的介绍。
本发明实施例的交易资源具体可以为交易资金,交易机构系统602具体可以是金融机构系统。
资源平衡算法主要是根据交易金额为两个链的账户分配资金,以使交易后的两个链的账户余额相同。例如,当两个资金账户中的资金金额达到一个阈值时,部署资金账户的金融机构系统会平衡两个账户中的资金,防止某个账户中的流动性枯竭。为方便描述,以下简称A链和B链,A链资金账户余额(记作a)大于B链资金账户余额(记作b),通过本发明实施例的跨链交易流程完成跨链交易,交易方向为A链账户(即源链)到B链账户(即目标链),交易金额为(a-b)/2。交易完成后A链资金账户的余额为(a+b)/2,B链资金账户的余额(a+b)/2,A链资金合约和B链资金合约完成平衡。
本发明实施例基于上述跨链交易系统实现了一种支持异构区块链系统之间的资产互换协议,采用多节点验证来辅助区块链进行SPV验证(简易支付验证)。协议包括3个组件,包括客户端、资金合约或账户、验证节点群。其中验证节点群包括若干个验证节点以及一个区块链状态同步节点(即状态同步节点)。客户端是用户进行跨链交易的接口,负责跨链请求的生成和签名的收集,在签名收集阶段,收集2n/3(n为验证节点数量)个验证节点签名后,聚合签名并生成对应链的交易;资金账户为跨链交易提供流动性,由金融机构系统进行设置,并准备足够的资金用于跨链交易。账户由门限签名控制,签名的私钥保存在验证节点中;除私钥外,验证节点还会同步各区块链系统最新的默克尔树的root(最新默克尔根)和区块链高度。每个验证节点本地维护着一个键值(key-value)数据库,key(键)为区块链的ID(即区块链标识),其具体采用创世块的hash作为唯一标识。value(值)为对应链的块高(区块高度)和状态root(即区块链的默克尔的root(根哈希),为区块链的最新默克尔根)组成的元组。验证节点具有以下三个功能:一是验证节点通过保存在本地的root根(数据库中存储的区块链的最新默克尔根)来判断交易是否被纳入共识;二是验证节点对验证通过的交易签名后,点对点发送给对应链的跨链服务节点,签名算法具体可采用门限签名算法(即通过门限签名算法将收集到的2n/3(n为验证节点数量)个签名聚合成一个签名);三是当区块链系统更新自身的区块状态时,验证节点会从状态同步节点处同步更新键值数据库。
本发明实施例采用验证节点群进行跨链消息的验证,解决了由于现有技术中UTXO模型的区块链大多不支持图灵完备的智能合约,因此目前Account模型和UTXO模型之间资金的跨链流转主要采用中间人模式,跨链过程的安全性极度依赖中间节点的安全性的问题。本发明实施例采用验证节点群进行跨链消息的验证,克服了现有技术中消息验证时区块链节点需保存对方链的区块头信息而占用节点存储资源的缺陷。此外,现有技术中对于源链的交易,目标链的所有节点都需要进行SPV验证并通过共识后才能上链,非常消耗目标链的计算资源和共识时间,导致跨链交易执行速度慢,而本发明实施例利用验证节点群技术和门限签名技术,源链客户端对验证节点群返回的超过三分之二数量的验证节点签名的目标链交易信息,即可聚合生成交易并发给目标链进行上链,无需目标链的所有节点都要进行SPV验证并通过共识后才能上链,从而节省了目标链的计算资源和共识时间,提高了跨链交易执行速度。
图7示出了可以应用本发明实施例的跨链交易验证方法或跨链交易验证系统的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的跨链交易请求等数据进行解析等处理,并将处理结果(例如跨链交易验证结果)反馈给终端设备。
需要说明的是,本发明实施例所提供的跨链交易验证方法一般由服务器705执行,相应地,跨链交易验证系统一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统800的结构示意图。图8示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括请求接收模块、交易验证模块、签名模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,请求接收模块还可以被描述为“用于接收源链客户端广播的跨链交易请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:验证节点群中的多个验证节点接收源链客户端广播的跨链交易请求,所述跨链交易请求包括目标链交易信息、第一简易支付验证证明;所述多个验证节点分别根据所述跨链交易请求对当前的跨链交易执行交易验证,所述交易验证包括:验证所述第一简易支付验证证明是否已被源链的共识算法验证通过;每个所述验证节点在对所述交易验证通过后,对所述目标链交易信息签名,得到签名后的目标链交易信息,在所述签名后的目标链交易信息的数量达到门限值的情况下,所述验证节点群对所述当前的跨链交易验证通过。
根据本发明实施例的技术方案,验证节点群中的多个验证节点接收源链客户端广播的跨链交易请求,跨链交易请求包括目标链交易信息、第一简易支付验证证明;多个验证节点分别根据跨链交易请求对当前的跨链交易执行交易验证,交易验证包括:验证第一简易支付验证证明是否已被源链的共识算法验证通过;每个验证节点在对交易验证通过后,对目标链交易信息签名,得到签名后的目标链交易信息,在签名后的目标链交易信息的数量达到门限值的情况下,验证节点群对当前的跨链交易验证通过。能够提高跨链过程的安全性,区块链节点无需保存对方链的区块头信息,节省了区块链节点的存储、计算及验证资源,对于源链的交易,验证节点群验证通过后目标链即可对交易上链,无需消耗目标链的计算资源和共识时间,提高了跨链交易执行速度。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种跨链交易验证方法,其特征在于,包括:
验证节点群中的多个验证节点接收源链客户端广播的跨链交易请求,所述跨链交易请求包括目标链交易信息、第一简易支付验证证明;
所述多个验证节点分别根据所述跨链交易请求对当前的跨链交易执行交易验证,所述交易验证包括:验证所述第一简易支付验证证明是否已被源链的共识算法验证通过;
每个所述验证节点在对所述交易验证通过后,对所述目标链交易信息签名,得到签名后的目标链交易信息,在所述签名后的目标链交易信息的数量达到门限值的情况下,所述验证节点群对所述当前的跨链交易验证通过。
2.根据权利要求1所述的方法,其特征在于,所述跨链交易请求还包括所述源链的区块链标识、源链交易信息、源链当前的区块高度,所述交易验证还包括:验证所述源链的区块链标识是否存在,验证所述源链的区块链标识对应的区块高度是否大于或等于所述源链当前的区块高度,以及,验证所述源链交易信息中的交易金额与所述目标链交易信息中的交易金额是否一致。
3.根据权利要求1所述的方法,其特征在于,所述验证所述第一简易支付验证证明是否已被源链的共识算法验证通过,包括:
根据所述第一简易支付验证证明中所包括的所述源链的新状态信息、路径信息,计算第一默克尔根,其中,所述路径信息为默克尔树中所述新状态信息的节点到根节点的路径;
判断所述第一默克尔根与数据库中存储的所述源链的最新默克尔根是否一致,若一致,则所述第一简易支付验证证明被所述源链的共识算法验证通过。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述验证节点从所述验证节点群中的状态同步节点得到所述源链的新的区块头、简易支付验证证明集合,所述简易支付验证证明集合包括多个第二简易支付验证证明,所述第二简易支付验证证明是所述状态同步节点根据监听到的所述源链的区块更新信息构造的;
所述验证节点利用所述简易支付验证证明集合中的所述第二简易支付验证证明,以及所述数据库中所述源链的已存默克尔根,计算出第二默克尔根,若所述第二默克尔根与所述新的区块头中的默克尔根一致,则将所述新的区块头中的默克尔根作为所述源链的最新默克尔根,并更新到所述数据库中。
5.根据权利要求4所述的方法,其特征在于,所述源链的新的区块头、简易支付验证证明集合,是所述状态同步节点在监听到所述源链的区块更新信息后同步给所述验证节点的,或者,是所述验证节点在达到预设时间阈值后仍未收到所述状态同步节点同步的信息时,主动向所述状态同步节点请求得到的,所述同步的信息包括所述源链的新的区块头、所述简易支付验证证明集合。
6.根据权利要求4所述的方法,其特征在于,所述数据库为键值数据库,其中,键为区块链标识,值为区块链的区块高度与区块链的最新默克尔根组成的元组。
7.一种跨链交易验证系统,其特征在于,包括:验证节点群,所述验证节点群包括多个验证节点,每一所述验证节点包括请求接收模块、交易验证模块、签名模块;
所述请求接收模块,用于接收源链客户端广播的跨链交易请求,所述跨链交易请求包括目标链交易信息、第一简易支付验证证明;
所述交易验证模块,用于根据所述跨链交易请求对当前的跨链交易执行交易验证,所述交易验证包括:验证所述第一简易支付验证证明是否已被源链的共识算法验证通过;
所述签名模块,用于在对所述交易验证通过后,对所述目标链交易信息签名,得到签名后的目标链交易信息;
在所述验证节点群中通过各所述验证节点得到的所述签名后的目标链交易信息的数量达到门限值的情况下,所述验证节点群对所述当前的跨链交易验证通过。
8.根据权利要求7所述的系统,其特征在于,所述跨链交易请求还包括所述源链的区块链标识、源链交易信息、源链当前的区块高度,所述交易验证模块还用于:验证所述源链的区块链标识是否存在,验证所述源链的区块链标识对应的区块高度是否大于或等于所述源链当前的区块高度,以及,验证所述源链交易信息中的交易金额与所述目标链交易信息中的交易金额是否一致。
9.根据权利要求7所述的系统,其特征在于,所述交易验证模块还用于:
根据所述第一简易支付验证证明中所包括的所述源链的新状态信息、路径信息,计算第一默克尔根,其中,所述路径信息为默克尔树中所述新状态信息的节点到根节点的路径;
判断所述第一默克尔根与数据库中存储的所述源链的最新默克尔根是否一致,若一致,则所述第一简易支付验证证明被所述源链的共识算法验证通过。
10.根据权利要求9所述的系统,其特征在于,所述验证节点群还包括状态同步节点;
所述验证节点还包括数据同步模块,用于从所述状态同步节点得到所述源链的新的区块头、简易支付验证证明集合,所述简易支付验证证明集合包括多个第二简易支付验证证明,所述第二简易支付验证证明是所述状态同步节点根据监听到的所述源链的区块更新信息构造的;
所述验证节点还包括更新模块,用于利用所述简易支付验证证明集合中的所述第二简易支付验证证明,以及所述数据库中所述源链的已存默克尔根,计算出第二默克尔根,若所述第二默克尔根与所述新的区块头中的默克尔根一致,则将所述新的区块头中的默克尔根作为所述源链的最新默克尔根,并更新到所述数据库中。
11.根据权利要求10所述的系统,其特征在于,所述源链的新的区块头、简易支付验证证明集合,是所述状态同步节点在监听到所述源链的区块更新信息后同步给所述验证节点的数据同步模块的,或者,是所述验证节点的数据同步模块在达到预设时间阈值后仍未收到所述状态同步节点同步的信息时,主动向所述状态同步节点请求得到的,所述同步的信息包括所述源链的新的区块头、所述简易支付验证证明集合。
12.根据权利要求10所述的系统,其特征在于,所述数据库为键值数据库,其中,键为区块链标识,值为区块链的区块高度与区块链的最新默克尔根组成的元组。
13.一种跨链交易系统,其特征在于,包括:如权利要求7至12中任一项所述的跨链交易验证系统、交易机构系统、交易客户端,所述交易客户端包括源链客户端、目标链客户端,其中:
所述交易机构系统用于按照资源平衡算法部署所述源链客户端、目标链客户端的交易账户中的交易资源;
所述源链客户端用于向所述跨链交易验证系统的验证节点群广播跨链交易请求,以由所述验证节点群的多个验证节点对当前的跨链交易执行交易验证,接收交易验证通过后由所述验证节点返回的签名后的目标链交易信息,在接收到的所述签名后的目标链交易信息的数量达到门限值的情况下,根据接收到的所述签名后的目标链交易信息生成新的目标链交易信息,并将所述新的目标链交易信息发送到所述目标链客户端;
所述目标链客户端用于对所述新的目标链交易信息上链,以完成所述当前的跨链交易。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110790234.0A CN113657900B (zh) | 2021-07-13 | 2021-07-13 | 一种跨链交易验证方法、系统以及跨链交易系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110790234.0A CN113657900B (zh) | 2021-07-13 | 2021-07-13 | 一种跨链交易验证方法、系统以及跨链交易系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113657900A true CN113657900A (zh) | 2021-11-16 |
CN113657900B CN113657900B (zh) | 2024-03-22 |
Family
ID=78490039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110790234.0A Active CN113657900B (zh) | 2021-07-13 | 2021-07-13 | 一种跨链交易验证方法、系统以及跨链交易系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113657900B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114219649A (zh) * | 2022-01-04 | 2022-03-22 | 杭州复杂美科技有限公司 | 跨链资产转移方法、计算机设备和存储介质 |
CN114283010A (zh) * | 2021-12-31 | 2022-04-05 | 杭州复杂美科技有限公司 | 基于多主链二层网络状态树的多主链跨链方法 |
CN114338666A (zh) * | 2021-12-03 | 2022-04-12 | 杭州趣链科技有限公司 | 对Fabric区块链跨链交易的验证方法、装置、设备及介质 |
CN114844904A (zh) * | 2022-04-29 | 2022-08-02 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的系统及方法 |
CN115049402A (zh) * | 2022-08-17 | 2022-09-13 | 国网区块链科技(北京)有限公司 | 一种交易风险参数计算方法、区块链验证节点及存储介质 |
CN115187251A (zh) * | 2022-09-13 | 2022-10-14 | 国网数字科技控股有限公司 | 一种融合公证人模式的中继链跨链交易方法和装置 |
CN115766037A (zh) * | 2022-11-28 | 2023-03-07 | 周加华 | 基于区块链的跨链交易方法 |
CN115860744A (zh) * | 2023-02-20 | 2023-03-28 | 中国信息通信研究院 | 跨区块链交易的处理方法和装置、区块链系统和设备 |
CN116308368A (zh) * | 2023-05-24 | 2023-06-23 | 国网区块链科技(北京)有限公司 | 一种中继区块链跨链数据安全存储方法、装置及相关设备 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503981A (zh) * | 2016-10-19 | 2017-03-15 | 江苏通付盾科技有限公司 | 简单支付验证节点交易查询方法及系统 |
CN108711052A (zh) * | 2018-05-18 | 2018-10-26 | 电子科技大学 | 一种基于区块链的信息验证系统 |
CN110008233A (zh) * | 2019-03-31 | 2019-07-12 | 杭州复杂美科技有限公司 | 一种信息查询和共识方法、系统、设备及存储介质 |
KR20190104793A (ko) * | 2018-03-02 | 2019-09-11 | 주식회사 아이콘루프 | 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법 |
CN110347744A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 多层块链式账本的数据存储方法、装置及设备 |
CN110400142A (zh) * | 2018-06-01 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN110602239A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链信息存储方法及相关设备 |
WO2020057196A1 (zh) * | 2018-09-20 | 2020-03-26 | 百度在线网络技术(北京)有限公司 | 区块链智能合约验证方法、装置及存储介质 |
CN111159293A (zh) * | 2019-12-25 | 2020-05-15 | 杭州加密矩阵科技有限公司 | 一种基于轻节点技术的跨链信息验证方法 |
WO2020158973A1 (ko) * | 2019-01-30 | 2020-08-06 | 주식회사 아티프렌즈 | 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법 |
CN111915301A (zh) * | 2020-08-05 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、电子设备及可读介质 |
CN111914021A (zh) * | 2020-07-02 | 2020-11-10 | 连连智能科技有限公司 | 一种跨区块链的交互方法、系统、计算机设备及存储介质 |
CN112200682A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
WO2021023200A1 (zh) * | 2019-08-07 | 2021-02-11 | 阿里巴巴集团控股有限公司 | 跨链交易方法、装置、多区块链系统及计算设备 |
CN112508566A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 基于联盟链的跨链隐私交易方法及设备 |
CN112508563A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 跨链交易可信验证方法、装置及计算机设备 |
CN112667749A (zh) * | 2021-03-16 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
-
2021
- 2021-07-13 CN CN202110790234.0A patent/CN113657900B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503981A (zh) * | 2016-10-19 | 2017-03-15 | 江苏通付盾科技有限公司 | 简单支付验证节点交易查询方法及系统 |
KR20190104793A (ko) * | 2018-03-02 | 2019-09-11 | 주식회사 아이콘루프 | 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법 |
CN108711052A (zh) * | 2018-05-18 | 2018-10-26 | 电子科技大学 | 一种基于区块链的信息验证系统 |
CN110400142A (zh) * | 2018-06-01 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
WO2020057196A1 (zh) * | 2018-09-20 | 2020-03-26 | 百度在线网络技术(北京)有限公司 | 区块链智能合约验证方法、装置及存储介质 |
EP3678346A1 (en) * | 2018-09-20 | 2020-07-08 | Baidu Online Network Technology (Beijing) Co., Ltd. | Blockchain smart contract verification method and apparatus, and storage medium |
WO2020158973A1 (ko) * | 2019-01-30 | 2020-08-06 | 주식회사 아티프렌즈 | 가설 수락 프로토콜-2 방식의 블록체인 합의 시스템 및 방법 |
CN110008233A (zh) * | 2019-03-31 | 2019-07-12 | 杭州复杂美科技有限公司 | 一种信息查询和共识方法、系统、设备及存储介质 |
CN110347744A (zh) * | 2019-06-03 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 多层块链式账本的数据存储方法、装置及设备 |
WO2021023200A1 (zh) * | 2019-08-07 | 2021-02-11 | 阿里巴巴集团控股有限公司 | 跨链交易方法、装置、多区块链系统及计算设备 |
CN110602239A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链信息存储方法及相关设备 |
CN111159293A (zh) * | 2019-12-25 | 2020-05-15 | 杭州加密矩阵科技有限公司 | 一种基于轻节点技术的跨链信息验证方法 |
CN111914021A (zh) * | 2020-07-02 | 2020-11-10 | 连连智能科技有限公司 | 一种跨区块链的交互方法、系统、计算机设备及存储介质 |
CN111915301A (zh) * | 2020-08-05 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、电子设备及可读介质 |
CN112508566A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 基于联盟链的跨链隐私交易方法及设备 |
CN112508563A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 跨链交易可信验证方法、装置及计算机设备 |
CN112200682A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN112667749A (zh) * | 2021-03-16 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338666A (zh) * | 2021-12-03 | 2022-04-12 | 杭州趣链科技有限公司 | 对Fabric区块链跨链交易的验证方法、装置、设备及介质 |
CN114283010A (zh) * | 2021-12-31 | 2022-04-05 | 杭州复杂美科技有限公司 | 基于多主链二层网络状态树的多主链跨链方法 |
CN114283010B (zh) * | 2021-12-31 | 2024-05-24 | 杭州复杂美科技有限公司 | 基于多主链二层网络状态树的多主链跨链方法 |
CN114219649A (zh) * | 2022-01-04 | 2022-03-22 | 杭州复杂美科技有限公司 | 跨链资产转移方法、计算机设备和存储介质 |
CN114844904B (zh) * | 2022-04-29 | 2024-03-29 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的系统及方法 |
CN114844904A (zh) * | 2022-04-29 | 2022-08-02 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的系统及方法 |
CN115049402A (zh) * | 2022-08-17 | 2022-09-13 | 国网区块链科技(北京)有限公司 | 一种交易风险参数计算方法、区块链验证节点及存储介质 |
CN115187251A (zh) * | 2022-09-13 | 2022-10-14 | 国网数字科技控股有限公司 | 一种融合公证人模式的中继链跨链交易方法和装置 |
CN115766037A (zh) * | 2022-11-28 | 2023-03-07 | 周加华 | 基于区块链的跨链交易方法 |
CN115766037B (zh) * | 2022-11-28 | 2024-03-15 | 恒道礼创(深圳)发展合伙企业(有限合伙) | 基于区块链的跨链交易方法 |
CN115860744A (zh) * | 2023-02-20 | 2023-03-28 | 中国信息通信研究院 | 跨区块链交易的处理方法和装置、区块链系统和设备 |
CN116308368B (zh) * | 2023-05-24 | 2023-07-18 | 国网区块链科技(北京)有限公司 | 一种中继区块链跨链数据安全存储方法、装置及相关设备 |
CN116308368A (zh) * | 2023-05-24 | 2023-06-23 | 国网区块链科技(北京)有限公司 | 一种中继区块链跨链数据安全存储方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113657900B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113657900B (zh) | 一种跨链交易验证方法、系统以及跨链交易系统 | |
US20220239496A1 (en) | Blockchain consensus method, device and system | |
JP7362654B2 (ja) | 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理 | |
US9967334B2 (en) | Computing device configuration and management using a secure decentralized transaction ledger | |
US20210304201A1 (en) | Transaction verification method and apparatus, storage medium, and electronic device | |
CN112000976B (zh) | 区块链系统的认证管理方法、装置、介质及电子设备 | |
US20240232223A1 (en) | Data synchronization method and system based on blockchain, and related device | |
CN109146490A (zh) | 区块生成方法、装置和系统 | |
CN112291372B (zh) | 区块链的异步落账方法、装置、介质及电子设备 | |
US11038685B1 (en) | Correcting blockchain transactions with cryptocurrency type mistakes | |
CN112101942A (zh) | 基于区块链的交易请求处理方法、系统、装置及设备 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN115021929B (zh) | 算力网络的信任管理方法及装置、存储介质、电子设备 | |
CN112231741A (zh) | 基于区块链系统的数据处理方法、装置、介质及电子设备 | |
CN112287031A (zh) | 区块链系统的数据同步方法、装置、可读介质及电子设备 | |
WO2024140258A1 (zh) | 基于区块链的交易监管方法、系统、装置和电子设备 | |
CN113873004A (zh) | 一种任务执行方法和装置以及分布式计算系统 | |
CN113179324A (zh) | 一种区块链节点及其执行的业务处理方法 | |
EP4180985A1 (en) | File sharing method, apparatus, and system | |
CN112565104B (zh) | 区块链系统的流量控制方法、装置、介质及电子设备 | |
CN112231415B (zh) | 区块链网络的数据同步方法、系统、电子设备及可读介质 | |
CN112988738A (zh) | 用于区块链的数据分片方法和装置 | |
CN113206738B (zh) | 一种数字证书管理方法和装置 | |
EP4365808A1 (en) | Data verification method and apparatus | |
US20240160505A1 (en) | Method of processing agreement task |
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 |