CN111582845A - 区块链的跨链交易方法、装置以及电子设备 - Google Patents

区块链的跨链交易方法、装置以及电子设备 Download PDF

Info

Publication number
CN111582845A
CN111582845A CN202010370352.1A CN202010370352A CN111582845A CN 111582845 A CN111582845 A CN 111582845A CN 202010370352 A CN202010370352 A CN 202010370352A CN 111582845 A CN111582845 A CN 111582845A
Authority
CN
China
Prior art keywords
chain
notarization
address
node
main
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.)
Pending
Application number
CN202010370352.1A
Other languages
English (en)
Inventor
朱江
杨彪
郝俊生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010370352.1A priority Critical patent/CN111582845A/zh
Publication of CN111582845A publication Critical patent/CN111582845A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请提供了一种区块链的跨链交易方法、装置以及电子设备,涉及区块链技术领域,缓解了公证人机制的跨链交易存在着单点故障的技术问题。该方法包括:向跨链服务器获取主公证节点的信息;基于所述主公证节点信息向所述主公证节点发送跨链交易请求,所述跨链交易请求包括目标链的标识、第一用户的地址、第二用户的地址、公证节点的第一地址以及金额;接收所述公证节点发送的第一响应,所述第一响应包括所述跨链交易请求的结果。

Description

区块链的跨链交易方法、装置以及电子设备
技术领域
本申请涉及区块链技术领域,尤其是涉及一种区块链的跨链交易方法、装置以及电子设备。
背景技术
随着信息技术的更新,区块链作为新兴的存储技术逐渐成为发展热门,区块链系统是利用密码学保证数据传输和访问的安全,生成不可篡改和不可伪造的分布式账本的数据网络系统。在区块链系统中,交易账本以块链式结构存储,每个区块链节点都会存储区块链系统完整的数据。
目前,区块链系统中两条链之间的数据是相互隔离的,在实际的业务场景中,可能会有两条链之间跨链交易的情况,例如,将第一条链的资产向第二条链进行转移。
针对跨链交易的需求,现有的跨链交易方法包括有公证人机制。但是,目前的公证人机制存在着单点故障的问题,一旦公证人出问题,整个跨链交易将会出现问题。
发明内容
本发明的目的在于提供一种区块链的跨链交易方法、装置以及电子设备,以缓解公证人机制的跨链交易存在着单点故障的技术问题。
第一方面,本申请实施例提供了一种区块链的跨链交易方法,所述方法包括:
向跨链服务器获取主公证节点的信息;
基于所述主公证节点信息向所述主公证节点发送跨链交易请求,所述跨链交易请求包括目标链的标识、第一用户的地址、第二用户的地址、主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述主公证节点的第一地址为源链中的地址,所述第二用户的地址为目标链中的地址,所述跨链交易请求用于指示在所述源链中由所述第一用户的地址向所述主公证节点的第一地址转账所述金额对应的第一数字货币,以便所述主公证节点在所述目标链中向所述第二用户的地址转账所述金额对应的第二数字货币;
接收所述主公证节点发送的第一响应,所述第一响应包括所述跨链交易请求的结果。
在一个可能的实现中,向跨链服务器获取主公证节点的信息的步骤,包括:
向跨链服务器发送获取请求,所述获取请求包括源链标识、目标链标识,所述获取请求用于获取所述源链和所述目标链对应的主公证节点的信息;
接收所述跨链服务器发送的第二响应,所述第二响应包括所述主公证节点的信息。
在一个可能的实现中,所述主公证节点的信息包括所述主公证节点的证书。
第二方面,本申请实施例提供了一种区块链的跨链交易方法,所述方法包括:
接收来自客户端的第一跨链交易请求,所述第一跨链交易请求包括第一目标链的标识、第一用户的地址、第二用户的地址、第一主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述第一主公证节点的第一地址为第一源链中的地址,所述第二用户的地址为第一目标链中的地址,所述第一跨链交易请求用于指示在所述第一源链中由所述第一用户的地址向所述第一主公证节点的第一地址转账所述金额对应的第一数字货币,其中,所述第一主公证节点为在第一源链和第一目标链之间的多个公证节点中选举得到;
将所述第一数字货币锁定;
由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币,所述第一主公证节点的第二地址为所述第一目标链中的地址;
当所述第二数字货币转账成功后,将所述第一数字货币解锁,并向所述客户端返回第一响应,所述第一响应用于指示第一跨链交易成功。
在一个可能的实现中,在由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币的步骤之前,所述方法还包括:
向第一从公证节点发送第一锁定验证请求,所述第一锁定验证请求用于请求所述第一从公证节点在所述第一源链中验证所述第一数字货币是否已锁定;
接收所述第一从公证节点发送的第一验证响应;
当所述第一验证响应指示所述第一数字货币已锁定时,执行由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币的步骤;
当所述第一验证响应指示所述第一数字货币未锁定时,向所述客户端发送第二响应,并将所述第一数字货币退回至所述第一用户的地址,所述第二响应用于指示第一跨链交易失败。
在一个可能的实现中,在接收来自客户端的第一跨链交易请求的步骤之前,所述方法还包括:
将本地节点初始化为从公证节点;
当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息;
如果接收到所述其他公证节点中大多数节点的选票,则将本地节点确定为第一主公证节点。
在一个可能的实现中,还所述预设条件包括:
接收到第二主公证节点故障的信息;或者,
到达预设的时间点,所述预设的时间点根据预设的周期确定。
在一个可能的实现中,还包括:
将本地节点初始化为从公证节点;
当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息;
如果确定所述其他公证节点中存在第三主公证节点,则将本地节点确定为从公证节点。
在一个可能的实现中,还包括:
接收第三主公证节点发送的第二锁定验证请求,所述第二锁定验证请求用于请求在第二源链中验证第二数字货币是否已锁定,其中,所述第二数字货币对应第二跨链交易请求,所述第二跨链交易请求为第二源链和第二目标链之间的交易请求;
在所述第二源链中验证第二数字货币是否已锁定,并将验证结果返回至所述第三主公证节点。
第三方面,本申请实施例提供了一种区块链的跨链交易方法,所述方法包括:
接收客户端发送的获取请求,所述获取请求包括源链标识、目标链标识,所述获取请求用于获取所述源链和所述目标链对应的公证节点的信息;
基于所述源链标识和所述目标链标识,在本地公证信息数据库中确定第一公证信息,所述第一公证信息包括第一主公证节点的证书、所述源链的标识和所述目标链的标识,所述第一主公证节点用于对所述源链与所述目标链之间的跨链交易进行公证;
将所述第一公证信息发送至所述客户端。
在一个可能的实现中,还包括:
接收第二主公证节点发送的第二公证信息,所述第二公证信息包括所述第二主公证节点的证书、第一区块链的标识和第二区块链的标识,所述第二主公证节点用于对所述第一区块链与所述第二区块链之间的跨链交易进行公证。
第四方面,提供了一种区块链的跨链交易装置,包括:
获取模块,用于向跨链服务器获取主公证节点的信息;
发送模块,用于基于所述主公证节点的信息向所述主公证节点发送跨链交易请求,所述跨链交易请求包括目标链的标识、第一用户的地址、第二用户的地址、主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述主公证节点的第一地址为源链中的地址,所述第二用户的地址为目标链中的地址,所述跨链交易请求用于指示在所述源链中由所述第一用户的地址向所述主公证节点的第一地址转账所述金额对应的第一数字货币,以便所述主公证节点在所述目标链中向所述第二用户的地址转账所述金额对应的第二数字货币;
接收模块,用于接收所述主公证节点发送的第一响应,所述第一响应包括所述跨链交易请求的结果。
第五方面,提供了一种区块链的跨链交易装置,包括:
接收单元,用于接收来自客户端的第一跨链交易请求,所述第一跨链交易请求包括第一目标链的标识、第一用户的地址、第二用户的地址、第一主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述第一主公证节点的第一地址为第一源链中的地址,所述第二用户的地址为第一目标链中的地址,所述第一跨链交易请求用于指示在所述第一源链中由所述第一用户的地址向所述第一主公证节点的第一地址转账所述金额对应的第一数字货币,其中,所述第一主公证节点为在第一源链和第一目标链之间的多个公证节点中选举得到;
锁定单元,用于将所述第一数字货币锁定;
转账单元,用于由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币,所述第一主公证节点的第二地址为所述第一目标链中的地址;
解锁单元,用于当所述第二数字货币转账成功后,将所述第一数字货币解锁,并向所述客户端返回第一响应,所述第一响应用于指示第一跨链交易成功。
第六方面,提供了一种区块链的跨链交易装置,包括:
接收部件,用于接收客户端发送的获取请求,所述获取请求包括源链标识、目标链标识,所述获取请求用于获取所述源链和所述目标链对应的公证节点的信息;
确定部件,用于基于所述源链标识和所述目标链标识,在本地公证信息数据库中确定第一公证信息,所述第一公证信息包括第一主公证节点的证书、所述源链的标识和所述目标链的标识,所述第一主公证节点用于对所述源链与所述目标链之间的跨链交易进行公证;
发送部件,用于将所述第一公证信息发送至所述客户端。
第七方面,本申请实施例又提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面或第二方面所述方法。
第八方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面或第二方面所述方法。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种区块链的跨链交易方法、装置以及电子设备,能够向跨链服务器获取主公证节点的信息,再基于主公证节点的信息向主公证节点发送跨链交易请求,用于指示在源链中由第一用户的地址向主公证节点的第一地址转账金额对应的第一数字货币,以便主公证节点在目标链中向第二用户的地址转账金额对应的第二数字货币,之后,能够接收到主公证节点发送的跨链交易请求的响应结果,本方案中,由于先从跨链服务器处获取到主公证节点的信息,才能够向这个主公证节点发送跨链交易请求,在源链中由第一用户向该主公证节点转账数字货币,使主公证节点在目标链中再向第二用户转账这些数字货币,因此能够不断的从跨链服务器处获取到当前的主公证节点,利用当前的主公证节点来实现跨链交易过程,而不是通过固定不变的公证节点执行跨链交易过程,即使当前的主公证节点出现问题,也可以从跨链服务器处获取到新的主公证节点,再由新的主公证节点进行跨链交易过程,避免由于当前主公证节点出问题而导致整个跨链交易出现问题,进而降低了单个公证节点机制存在单点故障的风险。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种区块链的跨链交易方法的流程示意图;
图2为本申请实施例提供的一种区块链的跨链交易方法的另一流程示意图;
图3为本申请实施例提供的另一种区块链的跨链交易方法中跨链交易流程的示意图;
图4为本申请实施例提供的区块链的跨链交易方法中主公证节点选举流程的示意图;
图5为本申请实施例提供的另一种区块链的跨链交易方法中跨链交易流程的示意图;
图6为本申请实施例提供的一种区块链的跨链交易装置的结构示意图;
图7为本申请实施例提供的另一种区块链的跨链交易装置的结构示意图;
图8为本申请实施例提供的另一种区块链的跨链交易装置的结构示意图;
图9为示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,Hyperledger Fabric是构建的开源、通用的区块链结构。Hyperledger Fabric是专门为企业设计的区块链平台,其设计的Channel可以对数据进行逻辑隔离,从而保护用户的隐私。
目前,在Fabric中,由于Channel可以隔离数据,导致两条链之间的数据是相互隔离的,在实际的业务场景中,可能会有将第一条链的资产向第二条链进行转移的需求。针对跨链转移资产的需求,目前有以下方案:公证人机制,侧链,哈希锁定,分布式私钥控制。
但是,公证人机制的缺点有公证人机制存在着严重的单点故障的问题,一旦公证人出问题,整个跨链交易将会出现问题。侧链机制的缺点有成本较高,效率低下。哈希锁定的缺点有只能实现资产的兑换,而非转移。分布式私钥控制的缺点有开发难度高,等待时间长,运行效率低。
基于此,本申请实施例提供了一种区块链的跨链交易方法、装置以及电子设备,通过该方法可以缓解公证人机制的跨链交易存在着单点故障的技术问题。
下面结合附图对本发明实施例进行进一步地介绍。
图1为本申请实施例提供的一种区块链的跨链交易方法的流程示意图。
如图1所示,该方法包括:
步骤S110,向跨链服务器获取主公证节点的信息。
其中,跨链服务器可以为公证信息数据库,可以用于记录每次选举出的主公证节点的信息。本步骤中,如图2所示,客户端可以向跨链服务器获取主公证节点的信息,以确定到当前选举出的主公证节点。
步骤S120,基于主公证节点的信息向主公证节点发送跨链交易请求。
其中,跨链交易请求包括目标链的标识、第一用户的地址、第二用户的地址、主公证节点的第一地址以及金额,其中,第一用户的地址和主公证节点的第一地址为源链中的地址,第二用户的地址为目标链中的地址,跨链交易请求用于指示在源链中由第一用户的地址向主公证节点的第一地址转账金额对应的第一数字货币,以便主公证节点在目标链中向第二用户的地址转账金额对应的第二数字货币。
如图2所示,客户端在从跨链服务器处获取到主公证节点的信息之后,便可以向该主公证节点发送跨链交易请求。
本申请实施例中的跨链交易可以是多种不同形式的交易,例如,跨链资产交换、跨链资产抵押以及跨链资产转移等等,最终能够使跨链的链与链之间达成共识。
步骤S130,接收主公证节点发送的第一响应。
需要说明的是,第一响应包括跨链交易请求的结果。该结果可能为括跨链交易请求成功的结果,如图2所示。当然,也可能为跨链交易请求失败的结果。
通过先从跨链服务器处获取到主公证节点的信息,才能够向这个主公证节点发送跨链交易请求,在源链中由第一用户向该主公证节点转账数字货币,使主公证节点在目标链中再向第二用户转账这些数字货币,因此能够不断的从跨链服务器处获取到当前的主公证节点,利用当前的主公证节点来实现跨链交易过程,而不是通过固定不变的公证节点执行跨链交易过程,即使当前的主公证节点出现问题,也可以从跨链服务器处获取到新的主公证节点,再由新的主公证节点进行跨链交易过程,避免由于当前主公证节点出问题而导致整个跨链交易出现问题,进而降低了单个公证节点机制存在单点故障的风险。
下面对上述步骤进行详细介绍。
在一些实施例中,上述步骤S110可以包括如下步骤:
步骤a),向跨链服务器发送获取请求。
步骤b),接收跨链服务器发送的第二响应。
对于上述步骤a),获取请求包括源链标识、目标链标识,获取请求用于获取源链和目标链对应的主公证节点的信息。
对于上述步骤b),第二响应包括主公证节点的信息。其中,主公证节点的信息可以包括主公证节点的证书。该证书一般可以包括公钥以及签名,使用公钥可以验证签名,基于公钥可以确定地址。
图3为本申请实施例提供的另一种区块链的跨链交易方法中跨链交易流程的示意图。如图3所示,该方法包括:
步骤S310,接收来自客户端的第一跨链交易请求。
第一跨链交易请求包括第一目标链的标识、第一用户的地址、第二用户的地址、第一主公证节点的第一地址以及金额,其中,第一用户的地址和第一主公证节点的第一地址为第一源链中的地址,第二用户的地址为第一目标链中的地址,第一跨链交易请求用于指示在第一源链中由第一用户的地址向第一主公证节点的第一地址转账金额对应的第一数字货币,其中,第一主公证节点为在第一源链和第一目标链之间的多个公证节点中选举得到。本步骤中,如图2所示,主公证节点可以接收客户端发送的第一跨链交易请求。
步骤S320,将第一数字货币锁定。
本步骤中,如图2所示,主公证节点可以将上述金额对应的第一数字货币进行锁定,以避免发生区块链中的双花问题。
步骤S330,由第一主公证节点的第二地址向第二用户的地址转账金额对应的第二数字货币。
需要说明的是,其中的第一主公证节点的第二地址为第一目标链中的地址。而第一主公证节点的第一地址为第一源链中的地址。本步骤中,如图2所示,由主公证节点执行向第二用户转账数字货币的过程。
步骤S340,当第二数字货币转账成功后,将第一数字货币解锁,并向客户端返回第一响应。
在实际应用中,第一响应可以用于指示第一跨链交易成功。主公证节点可以在第二数字货币转账成功完成后确定跨链交易完成并将其通知至第一用户。
例如,如图2所示,主公证节点将第二数字货币转移到目标链的第二用户之后,可以将源链中的第二数字货币标记为已转移,确定跨链交易成功完成,并向第一用户设备反馈该完成结果。
通过主公证节点在数字货币转移完成后确定跨链交易完成并将其通知至第一用户,可以对第一用户进行及时有效的通知,以使客户端能够及时有效的获取到跨链交易成功与否的结果。
下面对上述步骤进行详细介绍。
在一些实施例中,在上述步骤S330步骤之前,该方法还可以包括如下步骤:
步骤c),向第一从公证节点发送第一锁定验证请求。
步骤d),接收第一从公证节点发送的第一验证响应。
步骤e),当第一验证响应指示第一数字货币已锁定时,执行由第一主公证节点的第二地址向第二用户的地址转账金额对应的第二数字货币的步骤。
步骤f),当第一验证响应指示第一数字货币未锁定时,向客户端发送第二响应,并将第一数字货币退回至第一用户的地址,第二响应用于指示第一跨链交易失败。
对于上述步骤d),第一锁定验证请求用于请求第一从公证节点在第一源链中验证第一数字货币是否已锁定。
对于上述步骤e),示例性的,源链中的第一用户向主公证节点转移资产(如10元钱)后,如图2所示,主公证节点对这笔资产(10元钱)进行锁定。目标链中的从公证节点可以通过invoke Chaincode查询验证主公证节是否已将这笔钱锁定。如果已锁定,则主公证节点将这笔资产转移到目标链中的第二用户。其中,执行验证锁定结果的从公证节点可以是从多个从公证节点中随机选择出的,也可以是预先指定的。
对于上述步骤f),在从公证节点验证出这笔资产未被主公证节点锁定时向第一用户设备退回该这笔资产。例如,如果从公证节点验证出该笔钱未锁定,则主公证节点将该笔钱退回至源链中的第一用户,同时向第一用户返回跨链失败的结果,终止此次跨链交易。通过跟从公证节点在验证出指定资产未被领导公证节点锁定时向第一用户设备退回该指定资产,能够提高该指定资产在整个区块链系统中的安全性。
通过主公证节点对指定资产的锁定以及从公证节点对该锁定结果的验证,能够提高指定资产在主公证节点处的安全性,避免双花情况发生。
在一些实施例中,在上述步骤S310步骤之前,该方法还可以包括如下步骤:
步骤g),将本地节点初始化为从公证节点。
步骤h),当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息。
步骤i),如果接收到其他公证节点中大多数节点的选票,则将本地节点确定为第一主公证节点。
基于上述步骤h),其中的预设条件可以包括:接收到第二主公证节点故障的信息;或者,到达预设的时间点,预设的时间点根据预设的周期确定。
其中,该预设的周期与交易无关,可以仅是设置的周期,例如每5分钟以主公证节点的身份向其他公证节点发送身份确认消息,即每5分钟重新选一次主公证节点。
在实际应用中,可以通过Raft算法在源链和目标链中多个共同的公证节点之间选举出一个主公证节点。其中,Raft是一种共识算法,Raft通过当选的领导者达成共识。示例性的,集群中的服务器是领导者或跟从者,该集群中只有一个当选的领导者。领导者可以决定新条目的放置和在其与其他服务器之间建立数据流而无需咨询其他服务器。领导者领导,直到失败或断开连接,在这种情况下,新的领导者当选。例如,领导者通过发送心跳消息定期通知跟从者领导者自身的存在,跟随者期望接收到领导者的心跳,每个跟随者都有一个超时,接收到领导者的心跳时重置超时。如果跟随者没有接收到领导者的心跳,则跟随者的状态更改为候选者并开始新的领导者选举。
示例性的,下面以三方协商(三个公证节点)为例,讲解密钥协商主公证节点选举的具体过程。
通过Raft将区块链系统中节点的角色分为主公证节点、从公证节点和候选公证节点。主公证节点接受客户端请求,并向从公证节点同步请求日志,当日志同步到大多数节点上后通知从公证节点提交日志。从公证节点接受并持久化主公证节点同步的日志,在主公证节点告之日志可以提交之后,提交日志。候选公证节点为主公证节点选举过程中的临时角色。
上述三个角色之间的具体执行内容可以包括:首先,所有节点初始化为从公证节点;从公证节点过一段时间后转换为候选公证节点,然后候选公证节点认定自身是主公证节点,并且向其他节点发送消息;如果该节点收到大多数节点的选票,则成为主公证节点;如果已经有其他节点成为主公证节点,则该节点作为从公证节点;如果没有其他节点成为主公证节点,过一段时间后重新选举。
当然,主公证节点的选举可以包括有两种情况:一是每隔一段时间会重新选举主公证节点;二是目前的主公证节点无响应时会触发重新选举新的主公证节点。
假设通过Raft算法的选举过程候选的公证节点成功成为了主公证节点,则该节点作为本次的主公证节点。另外两个公证节点成为了从公证节点。通过利用Raft算法从多个公证节点中确定主公证节点的至少一个跟从公证节点,能够在确定出本次的领导公证节点的同时,更有效的确定出跟从该领导公证节点的跟从公证节点。
图4为本申请实施例提供的区块链的跨链交易方法中主公证节点选举流程的示意图。如图4所示,在开始跨链交易之前,可以先在源链和目标链中多个共同的公证节点之间选举出一个主公证节点,作为当前的主公证节点。通过这种方法,既可以很好的解决了单个公证人存在的单点故障问题,也提高了多个公证人机制的效率。
例如,源链channel1和目标链channel2中,节点A、节点B、节点C、节点D以及节点E这五个区块链节点在channel1中,节点C、节点D、节点E、节点F以及节点G这五个区块链节点在channel2中,其中,节点C、节点D以及节点E这三个区块链节点是源链channel1和目标链channel2之间共同的节点,将这三个节点作为源链channel1和目标链channel2的公证节点。将这三个公证节点结合起来共同从中选举出主公证节点,例如,节点D为这三个公证节点中的主公证节点。
通过从多个公证节点中选举出当前执行跨链交易的主公证节点,降低了单个公证节点机制存在的单点故障的风险,增加了节点之间的信任,降低了中心化公证节点机制的信任问题,再通过主公证节点节省了多个相同的区块链节点之间多重签名的低效率流程,从而提高跨链交易的效率,从而实现了既降低单点故障的风险,提高了去中心化的能力,增加了信任,同时还提高了跨链交易的效率。
在一些实施例中,该方法还可以包括如下步骤:
步骤j),将本地节点初始化为从公证节点。
步骤k),当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息。
步骤l),如果确定其他公证节点中存在第三主公证节点,则将本地节点确定为从公证节点。
示例性的,如图4所示,在源链和目标链中多个共同的公证节点中,除了选举出的一个主公证节点,其他的公证节点即为从公证节点。
通过从多个公证节点中确定主公证节点的至少一个跟从公证节点,能够在确定出本次的领导公证节点的同时,更有效的确定出跟从该领导公证节点的跟从公证节点。再者,通过从多个公证节点中确定出主公证节点和从公证节点,不仅降低了单个公证节点机制存在的单点故障的风险,增加了节点之间的信任,降低了中心化公证节点机制的信任问题,而且还通过主公证节点节省了多个相同的区块链节点之间多重签名的低效率流程,从而提高跨链交易的效率,从而实现了既降低单点故障的风险,提高了去中心化的能力,增加了信任,同时还提高了跨链交易的效率。
基于上述步骤j)、步骤k)以及步骤l),该方法还可以包括如下步骤:
步骤m),接收第三主公证节点发送的第二锁定验证请求。
步骤n),在第二源链中验证第二数字货币是否已锁定,并将验证结果返回至第三主公证节点。
对于上述步骤m),第二锁定验证请求用于请求在第二源链中验证第二数字货币是否已锁定,其中,第二数字货币对应第二跨链交易请求,第二跨链交易请求为第二源链和第二目标链之间的交易请求。
示例性的,如图2所示,如果从公证节点验证出主公证节点已锁定数字货币,则可以向该主公证节点发送数字货币已锁定的验证结果。例如,源链中的第一用户向主公证节点转移资产(如10元钱),之后,主公证节点对这笔资产进行锁定。目标链中的从公证节点可以通过invoke Chaincode查询验证主公证节是否已将这笔钱锁定。如果已锁定,则主公证节点将这笔资产转移到目标链中的第二用户。其中,执行验证锁定结果的从公证节点可以是从多个从公证节点中随机选择出的,也可以是预先指定的。
通过主公证节点对指定资产的锁定以及从公证节点对该锁定结果的验证,能够提高指定资产在主公证节点处的安全性,避免双花情况发生。
本申请实施例提供的区块链的跨链交易方法,与上述实施例提供的区块链的跨链交易方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图5为本申请实施例提供的另一种区块链的跨链交易方法中跨链交易流程的示意图。如图5所示,该方法包括:
步骤S510,接收客户端发送的获取请求。
其中,获取请求包括源链标识、目标链标识,获取请求用于获取源链和目标链对应的公证节点的信息。本步骤中,跨链服务器可以接收客户端发送的获取公证节点信息的请求。
步骤S520,基于源链标识和目标链标识,在本地公证信息数据库中确定第一公证信息。
需要说明的是,第一公证信息包括第一主公证节点的证书、源链的标识和目标链的标识,第一主公证节点用于对源链与目标链之间的跨链交易进行公证。
步骤S530,将第一公证信息发送至客户端。
通过在源链标识和目标链标识中的多个公证节点中确定主公证节点,使客户端能够请求由该主公证节点执行源链与目标链之间的跨链交易,实现了即使当前的主公证节点出现问题还可以确定出其他的公证节点为新的主公证节点,不仅降低了单个公证节点机制存在的单点故障的风险,增加了节点之间的信任,降低了中心化公证节点机制的信任问题,而且还通过主公证节点节省了多个相同的区块链节点之间多重签名的低效率流程,从而提高跨链交易的效率,从而实现了既降低单点故障的风险,提高了去中心化的能力,增加了信任,同时还提高了跨链交易的效率。
在一些实施例中,该方法还可以包括如下步骤:
步骤o),接收第二主公证节点发送的第二公证信息。
对于上述步骤o),第二公证信息包括第二主公证节点的证书、第一区块链的标识和第二区块链的标识,第二主公证节点用于对第一区块链与第二区块链之间的跨链交易进行公证。
在实际应用中,第一区块链和第二区块链中相同的公证节点选举出主公证节点后,可以向跨链服务器发送当前选举出的主公证节点信息,以使客户端能够从跨链服务器处获取到当前选举出的主公证节点信息。
本申请实施例提供的区块链的跨链交易方法,与上述实施例提供的区块链的跨链交易方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图6为本申请实施例提供的一种区块链的跨链交易装置的结构示意图。如图6所示,区块链的跨链交易装置600包括:
获取模块601,用于向跨链服务器获取主公证节点的信息;
发送模块602,用于基于主公证节点的信息向主公证节点发送跨链交易请求,跨链交易请求包括目标链的标识、第一用户的地址、第二用户的地址、主公证节点的第一地址以及金额,其中,第一用户的地址和主公证节点的第一地址为源链中的地址,第二用户的地址为目标链中的地址,跨链交易请求用于指示在源链中由第一用户的地址向主公证节点的第一地址转账金额对应的第一数字货币,以便主公证节点在目标链中向第二用户的地址转账金额对应的第二数字货币;
接收模块603,用于接收主公证节点发送的第一响应,第一响应包括跨链交易请求的结果。
在一些实施例中,获取模块601具体用于:
向跨链服务器发送获取请求,获取请求包括源链标识、目标链标识,获取请求用于获取源链和目标链对应的主公证节点的信息;
接收跨链服务器发送的第二响应,第二响应包括主公证节点的信息。
在一些实施例中,主公证节点的信息包括主公证节点的证书。
本申请实施例提供的区块链的跨链交易装置,与上述实施例提供的区块链的跨链交易方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图7为本申请实施例提供的另一种区块链的跨链交易装置的结构示意图。如图7所示,区块链的跨链交易装置700包括:
接收单元701,用于接收来自客户端的第一跨链交易请求,第一跨链交易请求包括第一目标链的标识、第一用户的地址、第二用户的地址、第一主公证节点的第一地址以及金额,其中,第一用户的地址和第一主公证节点的第一地址为第一源链中的地址,第二用户的地址为第一目标链中的地址,第一跨链交易请求用于指示在第一源链中由第一用户的地址向第一主公证节点的第一地址转账金额对应的第一数字货币,其中,第一主公证节点为在第一源链和第一目标链之间的多个公证节点中选举得到;
锁定单元702,用于将第一数字货币锁定;
转账单元703,用于由第一主公证节点的第二地址向第二用户的地址转账金额对应的第二数字货币,第一主公证节点的第二地址为第一目标链中的地址;
解锁单元704,用于当第二数字货币转账成功后,将第一数字货币解锁,并向客户端返回第一响应,第一响应用于指示第一跨链交易成功。
在一些实施例中,该装置还包括:
第一发送单元,用于向第一从公证节点发送第一锁定验证请求,第一锁定验证请求用于请求第一从公证节点在第一源链中验证第一数字货币是否已锁定;
第一接收单元,用于接收第一从公证节点发送的第一验证响应;
执行单元,用于当第一验证响应指示第一数字货币已锁定时,执行由第一主公证节点的第二地址向第二用户的地址转账金额对应的第二数字货币的步骤;
第一发送单元还用于当第一验证响应指示第一数字货币未锁定时,向客户端发送第二响应,并将第一数字货币退回至第一用户的地址,第二响应用于指示第一跨链交易失败。
在一些实施例中,该装置还包括:
初始化单元,用于将本地节点初始化为从公证节点;
第二发送单元,用于当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息;
第一确定单元,用于如果接收到其他公证节点中大多数节点的选票,则将本地节点确定为第一主公证节点。
在一些实施例中,预设条件包括:
接收到第二主公证节点故障的信息;或者,
到达预设的时间点,预设的时间点根据预设的周期确定。
在一些实施例中,该装置还包括:
初始化单元,用于将本地节点初始化为从公证节点;
第三发送单元,用于当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息;
第二确定单元,用于如果确定其他公证节点中存在第三主公证节点,则将本地节点确定为从公证节点。
在一些实施例中,该装置还包括:
第二接收单元,用于接收第三主公证节点发送的第二锁定验证请求,第二锁定验证请求用于请求在第二源链中验证第二数字货币是否已锁定,其中,第二数字货币对应第二跨链交易请求,第二跨链交易请求为第二源链和第二目标链之间的交易请求;
验证单元,用于在第二源链中验证第二数字货币是否已锁定,并将验证结果返回至第三主公证节点。
本申请实施例提供的区块链的跨链交易装置,与上述实施例提供的区块链的跨链交易方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
图8为本申请实施例提供的另一种区块链的跨链交易装置的结构示意图。如图8所示,区块链的跨链交易装置800包括:
接收部件801,用于接收客户端发送的获取请求,获取请求包括源链标识、目标链标识,获取请求用于获取源链和目标链对应的公证节点的信息;
确定部件802,用于基于源链标识和目标链标识,在本地公证信息数据库中确定第一公证信息,第一公证信息包括第一主公证节点的证书、源链的标识和目标链的标识,第一主公证节点用于对源链与目标链之间的跨链交易进行公证;
发送部件803,用于将第一公证信息发送至客户端。
在一些实施例中,接收部件801还用于:
接收第二主公证节点发送的第二公证信息,第二公证信息包括第二主公证节点的证书、第一区块链的标识和第二区块链的标识,第二主公证节点用于对第一区块链与第二区块链之间的跨链交易进行公证。
本申请实施例提供的区块链的跨链交易装置,与上述实施例提供的区块链的跨链交易方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
如图9所示,本申请实施例提供的一种电子设备900,包括:处理器901、存储器902和总线,所述存储器902存储有所述处理器901可执行的机器可读指令,当电子设备运行时,所述处理器901与所述存储器902之间通过总线通信,所述处理器901执行所述机器可读指令,以执行如上述区块链的跨链交易方法的步骤。
具体地,上述存储器902和处理器901能够为通用的存储器和处理器,这里不做具体限定,当处理器901运行存储器902存储的计算机程序时,能够执行上述区块链的跨链交易方法。
其中,处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成上述方法的步骤。
对应于上述区块链的跨链交易方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述区块链的跨链交易方法的步骤。
本申请实施例所提供的区块链的跨链交易装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
再例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述区块链的跨链交易方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种区块链的跨链交易方法,其特征在于,所述方法包括:
向跨链服务器获取主公证节点的信息;
基于所述主公证节点的信息向所述主公证节点发送跨链交易请求,所述跨链交易请求包括目标链的标识、第一用户的地址、第二用户的地址、主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述主公证节点的第一地址为源链中的地址,所述第二用户的地址为目标链中的地址,所述跨链交易请求用于指示在所述源链中由所述第一用户的地址向所述主公证节点的第一地址转账所述金额对应的第一数字货币,以便所述主公证节点在所述目标链中向所述第二用户的地址转账所述金额对应的第二数字货币;
接收所述主公证节点发送的第一响应,所述第一响应包括所述跨链交易请求的结果。
2.根据权利要求1所述的方法,其特征在于,向跨链服务器获取主公证节点的信息的步骤,包括:
向跨链服务器发送获取请求,所述获取请求包括源链标识、目标链标识,所述获取请求用于获取所述源链和所述目标链对应的主公证节点的信息;
接收所述跨链服务器发送的第二响应,所述第二响应包括所述主公证节点的信息。
3.根据权利要求1所述的方法,其特征在于,所述主公证节点的信息包括所述主公证节点的证书。
4.一种区块链的跨链交易方法,其特征在于,所述方法包括:
接收来自客户端的第一跨链交易请求,所述第一跨链交易请求包括第一目标链的标识、第一用户的地址、第二用户的地址、第一主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述第一主公证节点的第一地址为第一源链中的地址,所述第二用户的地址为第一目标链中的地址,所述第一跨链交易请求用于指示在所述第一源链中由所述第一用户的地址向所述第一主公证节点的第一地址转账所述金额对应的第一数字货币,其中,所述第一主公证节点为在第一源链和第一目标链之间的多个公证节点中选举得到;
将所述第一数字货币锁定;
由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币,所述第一主公证节点的第二地址为所述第一目标链中的地址;
当所述第二数字货币转账成功后,将所述第一数字货币解锁,并向所述客户端返回第一响应,所述第一响应用于指示第一跨链交易成功。
5.根据权利要求4所述的方法,其特征在于,在由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币的步骤之前,所述方法还包括:
向第一从公证节点发送第一锁定验证请求,所述第一锁定验证请求用于请求所述第一从公证节点在所述第一源链中验证所述第一数字货币是否已锁定;
接收所述第一从公证节点发送的第一验证响应;
当所述第一验证响应指示所述第一数字货币已锁定时,执行由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币的步骤;
当所述第一验证响应指示所述第一数字货币未锁定时,向所述客户端发送第二响应,并将所述第一数字货币退回至所述第一用户的地址,所述第二响应用于指示第一跨链交易失败。
6.根据权利要求4所述的方法,其特征在于,在接收来自客户端的第一跨链交易请求的步骤之前,所述方法还包括:
将本地节点初始化为从公证节点;
当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息;
如果接收到所述其他公证节点中大多数节点的选票,则将本地节点确定为第一主公证节点。
7.根据权利要求6所述的方法,其特征在于,所述预设条件包括:
接收到第二主公证节点故障的信息;或者,
到达预设的时间点,所述预设的时间点根据预设的周期确定。
8.根据权利要求4所述的方法,其特征在于,还包括:
将本地节点初始化为从公证节点;
当达到预设条件后,以主公证节点的身份向其他公证节点发送身份确认消息;
如果确定所述其他公证节点中存在第三主公证节点,则将本地节点确定为从公证节点。
9.根据权利要求8所述的方法,其特征在于,还包括:
接收第三主公证节点发送的第二锁定验证请求,所述第二锁定验证请求用于请求在第二源链中验证第二数字货币是否已锁定,其中,所述第二数字货币对应第二跨链交易请求,所述第二跨链交易请求为第二源链和第二目标链之间的交易请求;
在所述第二源链中验证第二数字货币是否已锁定,并将验证结果返回至所述第三主公证节点。
10.一种区块链的跨链交易方法,其特征在于,所述方法包括:
接收客户端发送的获取请求,所述获取请求包括源链标识、目标链标识,所述获取请求用于获取所述源链和所述目标链对应的公证节点的信息;
基于所述源链标识和所述目标链标识,在本地公证信息数据库中确定第一公证信息,所述第一公证信息包括第一主公证节点的证书、所述源链的标识和所述目标链的标识,所述第一主公证节点用于对所述源链与所述目标链之间的跨链交易进行公证;
将所述第一公证信息发送至所述客户端。
11.根据权利要求10所述的方法,其特征在于,还包括:
接收第二主公证节点发送的第二公证信息,所述第二公证信息包括所述第二主公证节点的证书、第一区块链的标识和第二区块链的标识,所述第二主公证节点用于对所述第一区块链与所述第二区块链之间的跨链交易进行公证。
12.一种区块链的跨链交易装置,其特征在于,包括:
获取模块,用于向跨链服务器获取主公证节点的信息;
发送模块,用于基于所述主公证节点的信息向所述主公证节点发送跨链交易请求,所述跨链交易请求包括目标链的标识、第一用户的地址、第二用户的地址、主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述主公证节点的第一地址为源链中的地址,所述第二用户的地址为目标链中的地址,所述跨链交易请求用于指示在所述源链中由所述第一用户的地址向所述主公证节点的第一地址转账所述金额对应的第一数字货币,以便所述主公证节点在所述目标链中向所述第二用户的地址转账所述金额对应的第二数字货币;
接收模块,用于接收所述主公证节点发送的第一响应,所述第一响应包括所述跨链交易请求的结果。
13.一种区块链的跨链交易装置,其特征在于,包括:
接收单元,用于接收来自客户端的第一跨链交易请求,所述第一跨链交易请求包括第一目标链的标识、第一用户的地址、第二用户的地址、第一主公证节点的第一地址以及金额,其中,所述第一用户的地址和所述第一主公证节点的第一地址为第一源链中的地址,所述第二用户的地址为第一目标链中的地址,所述第一跨链交易请求用于指示在所述第一源链中由所述第一用户的地址向所述第一主公证节点的第一地址转账所述金额对应的第一数字货币,其中,所述第一主公证节点为在第一源链和第一目标链之间的多个公证节点中选举得到;
锁定单元,用于将所述第一数字货币锁定;
转账单元,用于由所述第一主公证节点的第二地址向所述第二用户的地址转账所述金额对应的第二数字货币,所述第一主公证节点的第二地址为所述第一目标链中的地址;
解锁单元,用于当所述第二数字货币转账成功后,将所述第一数字货币解锁,并向所述客户端返回第一响应,所述第一响应用于指示第一跨链交易成功。
14.一种区块链的跨链交易装置,其特征在于,包括:
接收部件,用于接收客户端发送的获取请求,所述获取请求包括源链标识、目标链标识,所述获取请求用于获取所述源链和所述目标链对应的公证节点的信息;
确定部件,用于基于所述源链标识和所述目标链标识,在本地公证信息数据库中确定第一公证信息,所述第一公证信息包括第一主公证节点的证书、所述源链的标识和所述目标链的标识,所述第一主公证节点用于对所述源链与所述目标链之间的跨链交易进行公证;
发送部件,用于将所述第一公证信息发送至所述客户端。
15.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至11任一项所述的方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至11任一项所述的方法。
CN202010370352.1A 2020-04-30 2020-04-30 区块链的跨链交易方法、装置以及电子设备 Pending CN111582845A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010370352.1A CN111582845A (zh) 2020-04-30 2020-04-30 区块链的跨链交易方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010370352.1A CN111582845A (zh) 2020-04-30 2020-04-30 区块链的跨链交易方法、装置以及电子设备

Publications (1)

Publication Number Publication Date
CN111582845A true CN111582845A (zh) 2020-08-25

Family

ID=72126192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010370352.1A Pending CN111582845A (zh) 2020-04-30 2020-04-30 区块链的跨链交易方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN111582845A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150284A (zh) * 2020-09-22 2020-12-29 浙江数秦科技有限公司 一种区块链异构链跨链交易方法
CN112272114A (zh) * 2020-10-28 2021-01-26 成都质数斯达克科技有限公司 跨区块链网络发送信息的方法、装置、设备及存储介质
CN113052576A (zh) * 2020-11-05 2021-06-29 北京跨联元焕网络科技有限公司 跨链交换的托管方法和系统
CN115049393A (zh) * 2022-06-22 2022-09-13 北京交通大学 半中心化公证人跨链方法、系统与装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009811A (zh) * 2017-11-30 2018-05-08 中国人民解放军国防科技大学 一种面向云际计算环境价值交换的跨链通信方法
CN108288159A (zh) * 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
CN108647965A (zh) * 2018-05-07 2018-10-12 北京柏链基石科技有限公司 跨链交易方法、装置、存储介质及电子设备
CN109034813A (zh) * 2018-09-07 2018-12-18 腾讯科技(深圳)有限公司 代表节点设备选举方法、装置、计算机设备及存储介质
CN109087080A (zh) * 2018-07-13 2018-12-25 杭州复杂美科技有限公司 跨链交易方法、设备和存储介质
US20190005470A1 (en) * 2015-10-16 2019-01-03 Coinplug, Inc. Accredited certificate issuance system based on block chain and accredited certificate issuance method based on block chain using same, and accredited certificate authentication system based on block chain and accredited certificate authentication method based on block chain using same
CN109214818A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种跨链交易方法及装置
CN109359959A (zh) * 2018-09-29 2019-02-19 衢州学院 跨链资产转移方法、设备和存储介质
CN110689434A (zh) * 2019-09-26 2020-01-14 重庆邮电大学 一种基于公证人组的跨区块链交互方法
CN110889761A (zh) * 2019-11-08 2020-03-17 深圳付贝科技有限公司 一种跨链交易方法及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190005470A1 (en) * 2015-10-16 2019-01-03 Coinplug, Inc. Accredited certificate issuance system based on block chain and accredited certificate issuance method based on block chain using same, and accredited certificate authentication system based on block chain and accredited certificate authentication method based on block chain using same
CN109214818A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种跨链交易方法及装置
CN108009811A (zh) * 2017-11-30 2018-05-08 中国人民解放军国防科技大学 一种面向云际计算环境价值交换的跨链通信方法
CN108288159A (zh) * 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
CN108647965A (zh) * 2018-05-07 2018-10-12 北京柏链基石科技有限公司 跨链交易方法、装置、存储介质及电子设备
CN109087080A (zh) * 2018-07-13 2018-12-25 杭州复杂美科技有限公司 跨链交易方法、设备和存储介质
CN109034813A (zh) * 2018-09-07 2018-12-18 腾讯科技(深圳)有限公司 代表节点设备选举方法、装置、计算机设备及存储介质
CN109359959A (zh) * 2018-09-29 2019-02-19 衢州学院 跨链资产转移方法、设备和存储介质
CN110689434A (zh) * 2019-09-26 2020-01-14 重庆邮电大学 一种基于公证人组的跨区块链交互方法
CN110889761A (zh) * 2019-11-08 2020-03-17 深圳付贝科技有限公司 一种跨链交易方法及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏昂;: "一种改进的区块链跨链技术" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150284A (zh) * 2020-09-22 2020-12-29 浙江数秦科技有限公司 一种区块链异构链跨链交易方法
CN112150284B (zh) * 2020-09-22 2024-04-12 浙江数秦科技有限公司 一种区块链异构链跨链交易方法
CN112272114A (zh) * 2020-10-28 2021-01-26 成都质数斯达克科技有限公司 跨区块链网络发送信息的方法、装置、设备及存储介质
CN113052576A (zh) * 2020-11-05 2021-06-29 北京跨联元焕网络科技有限公司 跨链交换的托管方法和系统
CN113052576B (zh) * 2020-11-05 2024-02-27 北京跨联元焕网络科技有限公司 跨链交换的托管方法和系统
CN115049393A (zh) * 2022-06-22 2022-09-13 北京交通大学 半中心化公证人跨链方法、系统与装置

Similar Documents

Publication Publication Date Title
CN108111604B (zh) 区块链共识方法、装置和系统、标识信息处理方法和装置
CN111582845A (zh) 区块链的跨链交易方法、装置以及电子设备
CN110771088B (zh) 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法
CN109462587B (zh) 区块链分层共识方法、区块链网络系统及区块链节点
EP3647955B1 (en) Consensus-forming method in network, and node for configuring network
WO2021018088A1 (zh) 可信认证方法,网络设备、系统及存储介质
CN113098907B (zh) 一种区块链的群组划分方法与装置
CN108737105B (zh) 私钥的找回方法、装置、私钥设备和介质
CN112422341B (zh) 区块链网络的故障检测方法及相关设备
CN112612856B (zh) 基于区块链的数据处理方法和装置
CN110602108B (zh) 基于区块链网络的数据通信方法、装置、设备及存储介质
JP7417583B2 (ja) コンピュータネットワークの間のタスクの分配のためのアキュムレータに基づくプロトコルのためのコンピュータ実施システム及び方法
EP4032228A1 (en) Methods and devices for automated digital certificate verification
CN111046110A (zh) 用于区块链系统的节点管理的方法、节点和计算设备
CN114422155A (zh) 提案共识执行方法、区块链系统、设备和存储介质
CN111988202B (zh) 节点切换方法、装置及存储介质
CN112508703B (zh) 一种同构公有链价值交换方法
Behl et al. Trusted data notifications from private blockchains
US20240013207A1 (en) Method and system for performing electronic transactions
CN110098934B (zh) 一种电子数据存证方法、装置及终端
Bonnaire et al. A scalable architecture for highly reliable certification
CN117056131B (zh) 基于区块链网络的数据处理方法及相关设备
CN113922953B (zh) 一种数据处理方法及装置
CN109995745B (zh) 一种信息匹配方法、终端及计算机可读存储介质
US20230222509A1 (en) Method, terminal, and coin register for transmitting electronic coin data sets

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