CN113179168A - 一种区块链的跨链交互方法 - Google Patents

一种区块链的跨链交互方法 Download PDF

Info

Publication number
CN113179168A
CN113179168A CN202110438931.XA CN202110438931A CN113179168A CN 113179168 A CN113179168 A CN 113179168A CN 202110438931 A CN202110438931 A CN 202110438931A CN 113179168 A CN113179168 A CN 113179168A
Authority
CN
China
Prior art keywords
chain
notary
transaction
cross
intelligent contract
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
Application number
CN202110438931.XA
Other languages
English (en)
Other versions
CN113179168B (zh
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.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN202110438931.XA priority Critical patent/CN113179168B/zh
Publication of CN113179168A publication Critical patent/CN113179168A/zh
Application granted granted Critical
Publication of CN113179168B publication Critical patent/CN113179168B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种区块链的跨链交互方法,包括发送链发起跨链交易,调用智能合约中的send策略,在所述发送链生成锁定资产交易TX1;公证人组对所述锁定资产交易TX1进行签名处理,在交易人的签名比例达到预期且未超过交易失效时间,公证人调用智能合约中的receive策略,生成与TX1对应的跨链交易TX2,发送给接收链。本发明利用公证人组机制并结合智能合约实现跨链交互,实现不同区块链之间进行跨链交易。相比较于传统的公证人机制,智能合约的使用能够保证跨链交易按照既定规则程序化进行,多个公证人的参与也在一定程度上提升跨链交易的可靠性;相比较于传统的只利用智能合约实现跨链的哈希锁定,公证人的协调能够更加高效,不受时间限制。

Description

一种区块链的跨链交互方法
技术领域
本发明涉及区块链跨链技术领域,尤其是一种区块链的跨链交互方法。
背景技术
区块链作为一种去中心化的分布式账本,因其去中心化、不可篡改、匿名性、可追溯等特点,被广泛用于金融、医疗、政务等领域。然而,不同应用的底层区块链是相互独立的,其架构、共识等都互不相同,造成链间的可信交互十分困难。随着区块链技术的不断发展,链间交互的需求不断提高,亟需建立一种高效的跨链交互方式以打破区块链信息孤岛的局面,实现不同区块链之间信息共享和价值互通。
现有的跨链机制有公证人机制、侧链/中继链机制和哈希锁定技术。公证人机制作为一种常用的跨链机制,相比较于其余两种方式,具有简单高效的特性,通常以交易所的形式被广泛应用。该机制使用一个或一组受信任的节点作为中介人协调跨链交互过程,公证人通常在参与跨链交易的各方都有相关的账户/地址信息,通过收集各方的交易需求执行对应的资产交换,并从其中得到报酬。该种方式下跨链交易过程简单,不涉及复杂的工作证明,能够灵活地实现各种结构区块链的交互,并且交互过程依赖于中心化的公证人,能够得到更高的跨链交易处理效率。但是跨链交互的各方必须给予公证人非常大的信任,并且交互过程完全受制于公证人,没有设计一方跨链交易失败时的自动回滚机制。
值得注意的是,近年来利用智能合约实现跨链交互的解决方案也越来越多。例如,在BTC-Relay中,比特币的区块头信息存储在智能合约中,以太坊通过查询智能合约中的比特币的信息就能完成相关的业务操作。智能合约作为一种部署在区块链上的程序,能够在没有第三方参与的情况下执行可信的交易,并且交易能够追踪不可逆转,在跨链交互方面具有极大的应用价值。然而,现有的基于公证人的跨链解决方案中,对于智能合约应用非常有限,通常只实现了简单的交易有效性确认功能,或者借助于哈希锁等技术实现跨链交互。
因此,面对迫切的跨链交互需求,跨链交互方式一方面要具有公证机制下的简单高效性,但能在一定程度上削弱对中心化公证人的信任问题;另一方面能够借助智能合约将交互过程程序化,弥补公证人机制下自动回滚机制的缺失,实现跨链交互的完整性和原子性。
发明内容
本发明提供了一种区块链的跨链交互方法,用于解决现有跨链交互没有将公证人机制和智能合约进行充分结合应用的问题。
为实现上述目的,本发明采用下述技术方案:
本发明提供了一种区块链的跨链交互方法,所述方法包括以下步骤:
发送链发起跨链交易,调用智能合约中的send策略,在所述发送链生成锁定资产交易TX1;
公证人组对所述锁定资产交易TX1进行签名处理,在交易人的签名比例达到预期且未超过交易失效时间,公证人调用智能合约中的receive策略,生成与TX1对应的跨链交易TX2,发送给接收链。
进一步地,所述公证人组对所述锁定资产交易TX1进行签名处理的具体过程为:
公证人组中每个节点生成一个message并在公证人组中相互广播,所述message包括跨链交易字段和回执字段,所述跨链交易字段中包括所述交易失效时间;
当前公证人收到异地message后,在对该message验证合法且信任生成该message的公证人时,对该message的回执字段签名并广播;
公证人在本地message收到回执签名的个数达到预期后,对本地message中的跨链交易字段进行签名。
进一步地,在所述对本地message中的跨链交易字段进行签名后,当前公证人请求所有的公证人对本地跨链交易字段进行签名。
进一步地,所述方法还包括:
公证人在所述跨链交易TX2发生经过m个区块后,将所述回执字段签名发送给发送链上的交易人,并将带有本地签名的回执存入发送链的智能合约中。
进一步地,所述方法还包括,发送链检测到跨链交易在接收链未成功时,调用智能合约的back策略,请求退款。
进一步地,所述调用智能合约的back策略,请求退款的具体过程为:
判断当前时间是否满足退款时间要求,若否,则驳回退款请求;
若是,则检查当前交易在智能合约中是否存入回执;
若存入,则驳回退款请求,若未存入,则将当前交易对应的资产退还。
进一步地,所述方法还包括发送链调用back策略退款被驳回后,调用judge策略请求退款,具体过程为:
在当前时间符合审议时间且发送链具有签名的回执时,执行下一步,否则驳回退款申请;
公证人基于当前交易发生的真实性,对当前审议进行投票;
投票结果中的同意票或反对票之一符合预期数量时,结束投票;
若同意票符合预期数量,则同意退款申请,并处罚发送签名回执的公证人;
若反对票符合预期数量,则驳回退款申请。
进一步地,所述方法还包括调用智能合约的enter策略,加入公证人系统,具体过程为:
申请人向公证人系统传入押金及本地的公钥,生成申请事件通知公证人组;
所述公证人组内的公证人捕获所述申请事件,判断申请人的押金是否存入智能合约,且申请人公钥是否在恶意节点列表中;
若申请人押金存入智能合约,且申请人的公钥不在恶意节点列表中,则对申请投赞同票,否则投反对票,且公证人对自己的投票结果进行全网发送并记录在智能合约中;
收集投票结果,在单一投票数量符合预期时,对申请人反馈信息。
进一步地,所述在单一投票数量符合预期时,对申请人反馈信息具体包括:
若赞同票数量符合预期,则将申请人的公钥信息记录到公证人列表中,并将成功加入的信息反馈给申请人;
若反对票数量符合预期,则反馈申请人拒绝加入的信息,并将押金分给投反对票的公证人。
进一步地,所述方法还包括公证人调用智能合约的exit策略,退出公证人系统,具体过程为:
申请人向公证人系统发出退出系统的请求,请求中包括在各区块链智能合约中的公钥信息;
公证人基于上述请求,通过本地消息列表判断申请人当前是否参与跨链交易予以投票,在当前申请人节点参加未完成的跨链交易时,投反对票,否则投赞同票,并将投票结果发布至全网;
收集投票信息,在单一投票数量符合预期时,对申请人反馈信息。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、本发明利用公证人组机制并结合智能合约实现跨链交互,实现不同区块链之间进行跨链交易。相比较于传统的公证人机制,智能合约的使用能够保证跨链交易按照既定规则程序化进行,多个公证人的参与也在一定程度上提升跨链交易的可靠性;相比较于传统的只利用智能合约实现跨链的哈希锁定,公证人的协调能够更加高效,不受时间限制;相比较于中继/侧链的方式,使用公证人实现应用也更简单。
2、本发明中的回执审议程序,能够保证一方跨链交易失败时,另一方能够赎回对应的资产,保证跨链交易的原子性;同时,惩罚给予不正确跨链交易结果的公证人,促使公证人按照正确的既定交易结果诚实工作,保证跨链交易的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述方法的流程示意图;
图2是本发明的跨链交互模型图;
图3是公证人部署的跨链智能合约在交易链上各时期工作流程图。
图4是本发明发送链发起跨链交易的方法流程图;
图5是本发明公证人对跨链交易进行投票的方法流程图;
图6是本发明接收链接收资产的方法流程图;
图7是本发明交易链退款操作的方法流程图;
图8是本发明交易链发起回执审议程序的方法流程图
图9是本发明中节点加入公证人系统的方法流程图;
图10是本发明中节点退出公证人系统的方法流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,本发明区块链的跨链交互方法包括以下步骤:
S1,发送链发起跨链交易,调用智能合约中的send策略,在所述发送链生成锁定资产交易TX1;
S2,公证人组对所述锁定资产交易TX1进行签名处理,在交易人的签名比例达到预期且未超过交易失效时间,公证人调用智能合约中的receive策略,生成与TX1对应的跨链交易TX2,发送给接收链。
步骤S1中,智能合约中记录有接收交易代币的策略send、发送代币到交易人的策略receive、退款策略back和回执审议策略judge,公证人加入系统的策略enter和退出策略exit。
如图2所示,该模型主要包含两种角色,公证人系统和单个交易链。每个交易链作为一种区块链能够处理本链的链内交易,并对交易达成共识,支持智能合约的部署。除此之外,交易链也能够通过智能合约支持跨链交易功能,包括接收其他链的资产,发送本链资产到其他链,回执审议退款和智能合约自动退款等。公证人具有严格的加入和退出机制,每个公证人都能够通过监听交易链上的特定事件,处理交易链上发起的跨链交易和回执审议等请求,并对每个请求发起投票。
如图3所示,跨链交互模型主要通过每个链上的跨链智能合约完成实际的资产流转,而公证人、交易人是驱动智能合约执行的关键。按照跨链智能合约的工作流程经历时期,分为智能合约编写期、编译、部署和执行,每个时期的开始依赖于上个时期的结束。在编写期,公证人之一编写跨链智能合约的业务逻辑,包含资产发送、退回、回执审议等功能,然后各个公证人对该跨链智能合约投票,通过审核就利用自己的公钥签名;当超过2/3的公证人对跨链智能合约达成同意共识时,智能合约就可以进入编译期,公证人组之一将源代码发送到智能合约编译器,检查智能合约中的语法等错误,编译成功后即可以生成智能合约特有的ABI和可部署的字节码;当得到智能合约的部署字节码之后,公证人就可以将该字节码部署到每个要进行跨链交易的区块链上,智能合约的部署作为一种特殊的交易被区块链的节点所共识,每个节点都会保存一份跨链智能合约的实例,在本地账本存储代码的哈希值、存储哈希值、智能合约参数等信息;智能合约成功在区块链部署之后,交易人和公证人就能够调用智能合约完成跨链交易对应的操作,智能合约的调用以交易的形式被区块链网络共识,每个节点都会执行对应的智能合约方法,根据智能合约的业务逻辑更改智能合约的状态,并将更改写入本地存储。
如图4所示,步骤S1中发送链发起跨链交易在率先发起跨链交易的区块链中,具体包括:
S31:发送人调用跨链智能合约中的send策略,传入接受链ID、接收人地址、发送金额、佣金等参数信息,通过调用该方法在本链生成一个子交易TX1,发起跨链交易,将资金锁定在本链智能合约中;
S32:发送链中的矿工检查TX1交易的合法性,例如判断发送人金额是否足够,传入参数是否合法等信息;若合法则执行步骤S33,否则执行步骤S34;
S33:TX1成功上链,就返回给发送人一个时间点backTime,规定在该时间点之后如果发现跨链交易失败才能申请退款,并触发对应的事件通知公证人。
S34:TX1交易不合法,交易失败,跨链交易终止。
如图5所示,步骤S2中,公证人组对所述锁定资产交易TX1进行签名处理,应用在公证人系统中,具体过程为:
S41:每个公证人监听到TX1生成的事件后,都会生成一条信息message{跨链交易{from,receiver,value,ineffectTime},回执{effectTime}},跨链交易描述了在接收链上将要进行的转账操作信息和交易处理失效时间,超过交易处理时间,接收链将不处理该笔跨链交易,防止发送链在退款后,接收链仍继续处理对应的跨链交易;回执用于证明转账交易成功,每个诚实的公证人节点在跨链交易的接收链成功之后,才会将该回执发送出去。
在进入能够发起退款的时间点backTime之后,如果用户手里没有回执,发送链的智能合约就直接退款给交易发起人;反之,如果有回执,就拒绝退款,但发起人坚持退款的话,就要启动回执审议程序退款。
S42:公证人之间相互传播自己生成的message(本地message)和收到的message信息(异地message),并在自己生成的message信息附件签名广播。
S43:公证人收到message后,解析对应的跨链交易和回执信息,验证其合法性,若通过检验并且信任生成该message的公证人,就会对其中的回执字段签署自己的签名,随后将该条信息广播给其他人。
S44:公证人检查自己生成的message中的回执信息是否已经有大于等于2f+1(f为恶意节点的个数)个签名,若数量达到,则进行S45,否则继续进行S42。回执多于2f+1个签名意味着至少有一个诚实的公证人节点预通过跨链交易,跨链交易能够成功执行。
S45:公证人预通过跨链交易之后,检查发送链的TX1是否已经经过N个区块使得TX1回滚的概率可以忽略不计(例如比特币中N=6),若通过则执行S47步骤,否则执行S46步骤。
S46:公证人继续等待。
S47:公证人对message中的跨链交易签名。
在所述对message中的跨链交易字段进行签名后,公证人请求所有的公证人对本地跨链交易字段进行签名。具体过程如图6所示:
S51:公证人对自己生成的message中的跨链交易收集签名,请求所有公证人对其签名。
S52:公证人检查自己的跨链交易签名在数量上是否大于等于2f+1,若是则进行S53步骤,否则执行S51步骤。
S53:公证人检查当前时间是否已经超过TX1设定的交易失效时间,若是,则执行S54,否则执行S55。
S54:接收链已经不再处理该次跨链交易,交易失败结束。
S55:跨链交易已经通过大部分认证通过时,公证人调用接收链中智能合约中的receive方法,输入接收人地址、发送金额等参数信息,由此生成与TX1对应的跨链交易TX2。
S56:公证人在TX2发生经过m个区块后(例如比特币中m=6),即TX2发生回滚的概率很低时,将生成的签名回执发送给发送链上的交易人,同时将带有自己签名的回执存入发送链的智能合约中。
如图7所示,发送链检测到跨链交易在接收链未成功时,调用智能合约的back策略,请求退款,应用在发送人所在的区块链中,具体过程为:
S61:发送人调用智能合约中的back方法,输入TX1的哈希值等参数信息,请求智能合约将先前跨链转账的资产赎回。
S62:查询当前时间是否已经大于TX1对应的可退款时间backTime,若大于则执行S63步骤,否则执行S65步骤。
S63:查询交易TX1在智能合约中是否已经存入回执,若已经存入没有存,则执行S64步骤,否则执行S65步骤。
S64:智能合约满足退款条件,直接通过智能合约将TX1对应的资产退还给发送人。
S65:判断请求不满足退款条件,将该请求予以驳回,不发起退款给发送人。
如图8所示,发送链调用back策略退款被驳回后,调用judge策略请求退款,应用在发送人所在区块链和公证人系统中,具体过程为:
S71:发送人调用本区块链中的judge策略,传入TX1的哈希值、回执保证金等参数信息。回执保证金用于确保请求人是出于真实的客观现状才发起回执审议程序,而不是出于恶意企图双花的目的。
S72:智能合约首先判断当前回执审议时间大于TX1的可退款时间backTime,同时确保关于TX1具有回执。如果上述两个条件都成立,则生成对应的回执审议事件通知给公证人系统,执行S73步骤,否则执行S79步骤。
S73:接收到事件通知的公证人对回执审议发起投票,通过查询TX1对应的接收链交易是否真实发生,若接收交易真实正确发生,则拒绝回执审议;如果接收链没有发生TX1对应的跨链交易,就同意本次的回执审议程序。每个公证人节点都投出自己的同意或否定票,附属自己的签名后广播给其他人。
S74:公证人节点统计自己收到的投票数量和投票签名,若总票数不足2f+1,则继续执行S73,;否则,若否定票数大于等于2f+1,则执行S55,若同意票数大于等于2f+1,则执行S77。
S75:公证人对回执审议的请求给出驳回的结果,审议投票结束。
S76:智能合约将发送人的保证金从发送人的账户中扣除,并分摊给投出否定票的公证人,以奖励他们诚实地工作。
S77:智能合约将公证人的TX1中对应的资产退还给申请人,同时退还给申请人为调用judge方法而压付的保证金。
S78:智能合约扣除发了回执的公证人的回执金,给申请人发送回执的公证人不是出于接收链真实发生了TX1所对应的跨链交易,扣除其回执金以惩戒其不诚实行为。
S79:智能合约给出现阶段拒绝回执请求的结果,申请人可以晚点再次发出请求,但是由于时间不够或者无可用的回执会一直被拒绝处理。
本发明的公证人系统中,每个公证人节点都会在本地存储所有公证人的公钥信息,以便后续检查投票签名的有效性。单个节点加入时,需要向公证人系统申请,并在智能合约中存储一定金额的押金;当单个公证人想要退出时,需要请求公证人系统,当没有承担正在进行的跨链任务时,该公证人才能退出。同时,根据Lamport提出的拜占庭容错性理论,当恶意节点个数小于全部公证人节点的三分之一时,该公证人系统就能够保证一致性和正确性。每个节点作为两个链的记账节点,能够验证每个链上交易的有效性,并且能够就跨链交易和回执审议进行投票。
如图9所示,本发明还包括调用智能合约的enter策略,加入公证人系统,由发起加入请求的节点调用,并在公证人所在的区块链中应用,具体过程为:
S11:申请人节点调用智能合约中的enter方法,传入一定金额的押金,自己的公钥等参数信息,然后生成对应的事件通知公证人。
S12:公证人节点捕获申请人的申请事件,判断押金数量是否存入智能合约成功,申请人公钥是否在恶意节点列表中,通过检查则投赞同票,否则反对,并将自己的投票结果发送给全网的其他节点,并将投票结果记录在智能合约中。
S13:每个公证人收集其他人的投票信息,若单一投票数量大于2/3,则根据投票种类执行S14或者S15,否则执行S12。
S14:公证人将申请人的公钥信息记录到本地的公证人列表中,并将成功加入的信息反馈给申请人。
S15:公证人反馈给申请人拒绝加入信息。此时,申请人存入各个区块链的智能合约的押金被均分给发起反对投票的各个公证人。
如图10所示,本发明还包括公证人调用智能合约的exit策略,退出公证人系统,该过程由发起退出请求的节点调用,并在公证人所在的区块链中应用,具体过程为:
S21:申请人向公证人系统中的其他节点发出一条退出系统的请求,赋予自己在各个区块链智能合约中的公钥信息。
S22:公证人通过自己本地的消息列表判断该公证人是否参与跨链交易予以投票,当该节点参加未完成的跨链交易时,予以反对票,否则通过,并将自己的投票信息发送给其他人。
S23:公证人不断收集其他人的投票信息,若单一的投票个数大于2/3,则根据投票的结果执行S24或S25,否则执行S22。
S24:申请人接收到多个同意投票的签名后,签名的投票、自己的公钥、地址等信息作为参数,调用部署在各个区块链智能合约中的exit方法,由该方法将加入系统时的押金予以退还。
S25:公证人通知申请人以拒绝的申请结果。申请人暂时不能退出系统。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.一种区块链的跨链交互方法,其特征是,所述方法包括以下步骤:
发送链发起跨链交易,调用智能合约中的send策略,在所述发送链生成锁定资产交易TX1;
公证人组对所述锁定资产交易TX1进行签名处理,在交易人的签名比例达到预期且未超过交易失效时间,公证人调用智能合约中的receive策略,生成与TX1对应的跨链交易TX2,发送给接收链。
2.根据权利要求1所述区块链的跨链交互方法,其特征是,所述公证人组对所述锁定资产交易TX1进行签名处理的具体过程为:
公证人组中每个节点生成一个message并在公证人组中相互广播,所述message包括跨链交易字段和回执字段,所述跨链交易字段中包括所述交易失效时间;
当前公证人收到异地message后,在对该message验证合法且信任生成该message的公证人时,对该message的回执字段签名并广播;
公证人在本地message收到回执签名的个数达到预期后,对本地message中的跨链交易字段进行签名。
3.根据权利要求2所述区块链的跨链交互方法,其特征是,在所述对本地message中的跨链交易字段进行签名后,当前公证人请求所有的公证人对本地跨链交易字段进行签名。
4.根据权利要求2所述区块链的跨链交互方法,其特征是,所述方法还包括:
公证人在所述跨链交易TX2发生经过m个区块后,将所述回执字段签名发送给发送链上的交易人,并将带有本地签名的回执存入发送链的智能合约中。
5.根据权利要求4所述区块链的跨链交互方法,其特征是,所述方法还包括,发送链检测到跨链交易在接收链未成功时,调用智能合约的back策略,请求退款。
6.根据权利要求5所述区块链的跨链交互方法,其特征是,所述调用智能合约的back策略,请求退款的具体过程为:
判断当前时间是否满足退款时间要求,若否,则驳回退款请求;
若是,则检查当前交易在智能合约中是否存入回执;
若存入,则驳回退款请求,若未存入,则将当前交易对应的资产退还。
7.根据权利要求5所述区块链的跨链交互方法,其特征是,所述方法还包括发送链调用back策略退款被驳回后,调用judge策略请求退款,具体过程为:
在当前时间符合审议时间且发送链具有签名的回执时,执行下一步,否则驳回退款申请;
公证人基于当前交易发生的真实性,对当前审议进行投票;
投票结果中的同意票或反对票之一符合预期数量时,结束投票;
若同意票符合预期数量,则同意退款申请,并处罚发送签名回执的公证人;
若反对票符合预期数量,则驳回退款申请。
8.根据权利要求1-7任一项所述区块链的跨链交互方法,其特征是,所述方法还包括调用智能合约的enter策略,加入公证人系统,具体过程为:
申请人向公证人系统传入押金及本地的公钥,生成申请事件通知公证人组;
所述公证人组内的公证人捕获所述申请事件,判断申请人的押金是否存入智能合约,且申请人公钥是否在恶意节点列表中;
若申请人押金存入智能合约,且申请人的公钥不在恶意节点列表中,则对申请投赞同票,否则投反对票,且公证人对自己的投票结果进行全网发送并记录在智能合约中;
收集投票结果,在单一投票数量符合预期时,对申请人反馈信息。
9.根据权利要求8所述区块链的跨链交互方法,其特征是,所述在单一投票数量符合预期时,对申请人反馈信息具体包括:
若赞同票数量符合预期,则将申请人的公钥信息记录到公证人列表中,并将成功加入的信息反馈给申请人;
若反对票数量符合预期,则反馈申请人拒绝加入的信息,并将押金分给投反对票的公证人。
10.根据权利要求1-7任一项所述区块链的跨链交互方法,其特征是,所述方法还包括公证人调用智能合约的exit策略,退出公证人系统,具体过程为:
申请人向公证人系统发出退出系统的请求,请求中包括在各区块链智能合约中的公钥信息;
公证人基于上述请求,通过本地消息列表判断申请人当前是否参与跨链交易予以投票,在当前申请人节点参加未完成的跨链交易时,投反对票,否则投赞同票,并将投票结果发布至全网;
收集投票信息,在单一投票数量符合预期时,对申请人反馈信息。
CN202110438931.XA 2021-04-22 2021-04-22 一种区块链的跨链交互方法 Active CN113179168B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110438931.XA CN113179168B (zh) 2021-04-22 2021-04-22 一种区块链的跨链交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110438931.XA CN113179168B (zh) 2021-04-22 2021-04-22 一种区块链的跨链交互方法

Publications (2)

Publication Number Publication Date
CN113179168A true CN113179168A (zh) 2021-07-27
CN113179168B CN113179168B (zh) 2022-07-08

Family

ID=76924195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110438931.XA Active CN113179168B (zh) 2021-04-22 2021-04-22 一种区块链的跨链交互方法

Country Status (1)

Country Link
CN (1) CN113179168B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689216A (zh) * 2021-10-26 2021-11-23 腾讯科技(深圳)有限公司 跨链事务处理方法及装置、设备、存储介质、程序产品
CN114172730A (zh) * 2021-12-08 2022-03-11 成都信息工程大学 面向链上链下结合文件区块链的跨链方法及中间系统
CN114363050A (zh) * 2021-12-31 2022-04-15 北京交通大学 基于公证人和哈希锁定的去中心化跨链协议通信方法
CN114760288A (zh) * 2022-03-18 2022-07-15 国网四川省电力公司天府新区供电公司 一种基于区块链的文件跨链传输方法
WO2023088136A1 (zh) * 2021-11-16 2023-05-25 中兴通讯股份有限公司 区块链跨链方法、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110689434A (zh) * 2019-09-26 2020-01-14 重庆邮电大学 一种基于公证人组的跨区块链交互方法
CN111130808A (zh) * 2020-03-26 2020-05-08 杭州智块网络科技有限公司 一种用于区块链的跨链资产映射方法及系统
CN112116472A (zh) * 2020-09-18 2020-12-22 上海计算机软件技术开发中心 区块链跨链交易模型、方法
CN112508703A (zh) * 2020-12-10 2021-03-16 浙商银行股份有限公司 一种同构公有链价值交换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110689434A (zh) * 2019-09-26 2020-01-14 重庆邮电大学 一种基于公证人组的跨区块链交互方法
CN111130808A (zh) * 2020-03-26 2020-05-08 杭州智块网络科技有限公司 一种用于区块链的跨链资产映射方法及系统
CN112116472A (zh) * 2020-09-18 2020-12-22 上海计算机软件技术开发中心 区块链跨链交易模型、方法
CN112508703A (zh) * 2020-12-10 2021-03-16 浙商银行股份有限公司 一种同构公有链价值交换方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689216A (zh) * 2021-10-26 2021-11-23 腾讯科技(深圳)有限公司 跨链事务处理方法及装置、设备、存储介质、程序产品
WO2023088136A1 (zh) * 2021-11-16 2023-05-25 中兴通讯股份有限公司 区块链跨链方法、设备及可读存储介质
CN114172730A (zh) * 2021-12-08 2022-03-11 成都信息工程大学 面向链上链下结合文件区块链的跨链方法及中间系统
CN114172730B (zh) * 2021-12-08 2023-05-26 成都信息工程大学 面向链上链下结合文件区块链的跨链方法及中间系统
CN114363050A (zh) * 2021-12-31 2022-04-15 北京交通大学 基于公证人和哈希锁定的去中心化跨链协议通信方法
CN114760288A (zh) * 2022-03-18 2022-07-15 国网四川省电力公司天府新区供电公司 一种基于区块链的文件跨链传输方法
CN114760288B (zh) * 2022-03-18 2024-02-06 国网四川省电力公司天府新区供电公司 一种基于区块链的文件跨链传输方法

Also Published As

Publication number Publication date
CN113179168B (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
CN113179168B (zh) 一种区块链的跨链交互方法
CN109685489B (zh) 一种区块链之间的资产跨链交易方法
US11669811B2 (en) Blockchain-based digital token utilization
CN107301600B (zh) 一种跨链交易的区块链互联网模型的核心构建方法
CN110351133A (zh) 用于区块链系统中的主节点切换处理的方法及装置
CN112541758A (zh) 基于区块链的多轮投票式容错排序共识机制与方法
CN107464106A (zh) 区块链主链与侧链间交易的方法及系统
CN112907252B (zh) 一种基于多人链下通道的区块链交易方法及系统
Lin et al. Research on cross-chain technology of blockchain
CN108881187A (zh) 一种适用于许可链场景的跨链数据传递方法及设备
CN110866753B (zh) 一种第三方结算的控制方法、装置、电子设备和存储介质
CN110610421B (zh) 分片框架下的保证金管理方法及装置
CN111461889A (zh) 一种用于联盟区块链的跨链交易系统、方法及存储介质
CN112488682B (zh) 一种区块链的三方转账方法及装置
CN111340628A (zh) 基于区块链的资产信息管理方法和装置
KR20200042149A (ko) 블록체인 기반의 기업투자 시스템 및 그 제어방법
CN110659993A (zh) 一种基于区块链网络的资源管理方法及装置
US11461861B1 (en) Net settlement of subrogation claims using a distributed ledger
Niu et al. NFT cross-chain transfer method under the notary group scheme
CN117812084A (zh) 一种基于UTXO的Raft共识算法改进方法
Ge et al. Magma: Robust and flexible multi-party payment channel
CN111698254B (zh) 一种基于共享组织的联盟链Baas平台搭建方法
CN113706302A (zh) 基于跨链的区块链金融数据的生成方法及系统
CN112950180A (zh) 一种基于联盟链的通证方法、系统、电子设备及存储介质
CN116415955A (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