CN106899698B - 一种区块链之间的跨链互操作方法 - Google Patents

一种区块链之间的跨链互操作方法 Download PDF

Info

Publication number
CN106899698B
CN106899698B CN201710232528.5A CN201710232528A CN106899698B CN 106899698 B CN106899698 B CN 106899698B CN 201710232528 A CN201710232528 A CN 201710232528A CN 106899698 B CN106899698 B CN 106899698B
Authority
CN
China
Prior art keywords
secret random
cross
chain
assets
random numbers
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.)
Active
Application number
CN201710232528.5A
Other languages
English (en)
Other versions
CN106899698A (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.)
Shanghai Distributed Technologies Co ltd
Original Assignee
Shanghai Distributed Technologies 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 Shanghai Distributed Technologies Co ltd filed Critical Shanghai Distributed Technologies Co ltd
Priority to CN201710232528.5A priority Critical patent/CN106899698B/zh
Publication of CN106899698A publication Critical patent/CN106899698A/zh
Application granted granted Critical
Publication of CN106899698B publication Critical patent/CN106899698B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

本发明公开了一种区块链之间的跨链互操作方法,使各种不同的区块链之间能够互联互通。其技术方案为:跨链互操作的本质就是在不同的区块链上进行一系列相关的操作,并保证这些操作的事务一致性。这些操作可以是任意的,本发明根据不同的应用场景,将跨链操作协议分为跨链资产交换协议和跨链分布式事务协议。前者适用于数字资产的交换,实现简单且无需对区块链进行改造即可使用;后者适用于智能合约的跨链执行,需要虚拟机提供状态锁的功能。

Description

一种区块链之间的跨链互操作方法
技术领域
本发明涉及区块链技术,尤其涉及区块链之间的互操作方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,本质上是一个去中心化的体系结构。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
区块链技术具有去中心化、开放性、自治性、信息不可篡改、匿名性等几个特征。去中心化是由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。开放性是指系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。自治性是区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。信息不可篡改是一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。匿名性是指由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
目前,区块链技术正处于百花齐放、百家争鸣的时代,各种不同区块链纷纷涌现出来,区块链之间的互操作成为了一个非常重要而又迫切的需求。企业用户可能需要在不同的链之间进行业务迁移;普通用户可能需要在不同的链之间进行资产交换;央行的数字法币可能会需要在各个区块链上流通等。
为了满足这些实际的市场需求,要设计一种跨链互操作协议,使得各不同的区块链之间能够互联互通。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种区块链之间的跨链互操作方法,使各种不同的区块链之间能够互联互通。
本发明的技术方案为:本发明揭示了一种区块链之间的跨链互操作方法,应用于跨链资产交换,在一场跨链交易中存在至少一个发送者S和至少一个接收者R,其中|S|>0,|R|>0,且|S∪R|≥2,方法包括:
每一个接收者Rx都生成自己的秘密随机数,并公开Nx=nx·G,其中G是椭圆曲线上的基点;
得到每一个Nx后,对其求和计算出:
Figure GDA0002635609060000021
为每一对发送者和接收者生成一个合约账户
Figure GDA0002635609060000022
其中Si为发送者的公钥,Rj为接收者的公钥,t为超时时间;
每一个发送者Si都将自己的资产发送到对应的合约账户C(i,j)中;
当所有资产都发送完毕后,每一个接收者Rj都公开自己的秘密随机数nj
在所有秘密随机数都被公开之前,任何人都无法转移资产,当所有秘密随机数都公开后,每一个接收者都可以计算出
Figure GDA0002635609060000031
并转移资产,如果在超时时间t到达后仍无法计算出
Figure GDA0002635609060000032
则交易可以被撤销。
根据本发明的区块链之间的跨链互操作方法的一实施例,合约账户
Figure GDA0002635609060000033
表示接收者可以用自己的签名和所有人的秘密随机数之和
Figure GDA0002635609060000034
来提取账户中的资产,而发送者可以用自己的前面在超时时间t到达后提取账户中的资产。
根据本发明的区块链之间的跨链互操作方法的一实施例,对于最后一个公开秘密随机数的接收者,在转移资产的同时会自动公开秘密随机数,以使任何其他接收者也可以转移账户中的资产。
本发明还揭示了一种区块链之间的跨链互操作方法,应用于跨链资产交换,在一场跨链交易中存在至少一个发送者S和至少一个接收者R,其中|S|>0,|R|>0,且|S∪R|≥2,方法包括:
每一个接收者Rx都生成自己的秘密随机数,并公开Nx=nx·G,其中G是椭圆曲线上的基点;
得到每一个Nx后,对其求和计算出:
Figure GDA0002635609060000035
为每一对发送者和接收者生成一个合约账户
Figure GDA0002635609060000036
其中Si为发送者的公钥,Rj为接收者的公钥,t为超时时间,0<m<|R|,m是可配置的参数;
每一个发送者Si都将自己的资产发送到对应的合约账户C(i,j)中;
当所有资产都发送完毕后,每一个接收者Rj都公开自己的秘密随机数nj
在所有秘密随机数都被公开之前,任何人都无法转移资产,当所有秘密随机数都公开后,每一个接收者都可以计算出
Figure GDA0002635609060000037
并由超过m个参与者签名之后才能够转移资产,如果在超时时间t到达后仍无法计算出
Figure GDA0002635609060000038
则交易可以被撤销。
根据本发明的区块链之间的跨链互操作方法的一实施例,合约账户
Figure GDA0002635609060000039
表示接收者可以用自己的签名、所有人的秘密随机数之和
Figure GDA00026356090600000310
以及至少m份不同接收者对秘密随机数之和
Figure GDA00026356090600000311
的签名,来提取账户中的资产,而发送者可以用自己的签名在超时时间t到达后提取账户中的资产。
根据本发明的区块链之间的跨链互操作方法的一实施例,k<m≤|R|-k且k<|R|/2,表示攻击者数量k必须少于总人数的一半,在攻击者人数k可预估的情况下确定m值。
本发明还揭示了一种区块链之间的跨链互操作方法,应用于跨链分布式事务交换,分布式事务的多个步骤分散在不同的区块链上执行且保证整个事务的一致性,方法包括:
将分布式事务T的每一个步骤Fi部署在各个区块链上,其中T={F1,F2,…,Fn},步骤Fi∈T;
为每一个步骤Fi创建一个秘密随机数ni,并公开Ni=ni·G,其中G是椭圆曲线上的基点,为每一个步骤Fi创建一个密钥对{Ki,ki},并公开公钥Ki
得到每一个Ni后,对其求和计算出
Figure GDA0002635609060000041
执行每一个步骤的准备阶段Pi,得到
Figure GDA0002635609060000042
其中把每一个步骤Fi拆分成三个阶段Fi={Pi,Ci,Ri},其中Pi为准备阶段,Ci为提交阶段,Ri为回滚阶段;
当所有的准备阶段Pi都执行成功后,每一个步骤Fi都公开自己的秘密随机数ni
当所有的秘密随机数都公开后,计算出
Figure GDA0002635609060000043
每一个步骤Fi都用自己的私钥ki对秘密随机数之和进行签名,得到ei并公开;
当收集到预设数量的签名后,执行每一个步骤的提交阶段Ci,得到
Figure GDA0002635609060000044
Figure GDA0002635609060000045
其中签名数量m是可配置的参数;
如果在超时时间t到达后,仍无法收集到足够签名,则进入回滚阶段将状态从S”还原为原始状态S:S=R(S”)。
根据本发明的区块链之间的跨链互操作方法的一实施例,
Figure GDA0002635609060000046
Figure GDA0002635609060000047
是相互匹配的状态锁和密钥,通过对应的
Figure GDA0002635609060000048
来锁定的状态需要使用相应的
Figure GDA0002635609060000049
来提交,基于区块链虚拟机提供的状态锁的功能,将状态S”锁定一段时间。
本发明对比现有技术有如下的有益效果:跨链互操作的本质就是在不同的区块链上进行一系列相关的操作,并保证这些操作的事务一致性。这些操作可以是任意的,本发明根据不同的应用场景,将跨链操作协议分为跨链资产交换协议和跨链分布式事务协议。前者适用于数字资产的交换,实现简单且无需对区块链进行改造即可使用;后者适用于智能合约的跨链执行,需要虚拟机提供状态锁的功能。本发明中所涉及的各链是各自拥有完整的共识机制、账户体系、分布式网络和智能合约等功能的私有链、联盟链或公有链中的一种或多种,也就是说它们都是各自具有独立功能的完整链,跨链的互操作是通过不同的用户发送交易调用各自链上的智能合约或者合约脚本来实现,链本身的共识机制保证了链的安全性和不可篡改性,本发明并不需要各链之间有直接的数据交互也同样可以实现在不用链之间的不同用户间的状态转换,也就是跨链的互操作。
附图说明
图1示出了本发明的支持两个参与者进行资产交易的跨链互操作的方法的实施例的流程图。
图2示出了本发明的支持多个参与者进行资产交易的跨链互操作的方法的实施例的流程图。
图3示出了本发明的经过改进的支持多个参与者进行资产交易的跨链互操作的方法的实施例的流程图。
图4示出了本发明的支持多个参与者进行分布式事务的跨链互操作的方法的实施例的流程图。
具体实施方式
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
所有的跨链互操作都有一个大前提,即使用者必须同时信任所有参与跨链的区块链,这种信任包括相信区块链不会发生回滚、分叉、篡改等事故。因为一旦发生这些事故,跨链的事务一致性将被破坏。
跨链资产交换协议可以让多个参与者在不同的区块链上进行资产交换,并保证整个交易过程中的所有步骤全都成功或全都失败。为了实现这一功能,需要利用区块链的智能合约功能,为每一个参与者创建一个合约账户。智能合约是区块链最重要的特征,相当于赋予资产的一些代码,决定了网络中相关资产运作的地点和方式。在区块链中,只有合约双方才能动用资金,一旦合约确定了,其中的资金就由区块链按照合约条款来分配,并且只有合约到期才可以使用这笔资金。对智能合约的定义就是:一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。
本发明首先公开了一种支持两个参与者进行资产交易的方案,如图1所示,假设用户A和用户B进行跨链资产交换,方案的实施步骤如下。
步骤S11:用户A生成一个秘密随机数n,并公开它的散列值hash(n)。
步骤S12:得到散列值hash(n)后,双方可以生成各自的合约账户CA={KA,KB,hash(n),tA},CB={KB,KA,hash(n),tB},其中KA和KB为双方的公钥,t为超时时间,且tA>tB
合约的内容可以表述为:接收者可以用自己的签名和秘密随机数n来提取账户中的资产,而发送者可以用自己的签名在超时时间t到达后提取账户中的资产。
步骤S13:生成合约账户后,用户A首先将资产发送到账户CA中,随后用户B将资产发送到账户CB中。
步骤S14:用户A基于拥有的秘密随机数n,可以从账户CB中将资产转走。
步骤S15:用户A在转移资产的同时必须公开秘密随机数n,用户B也可以将账户CA中的资产转走。
步骤S16:如果用户A不公开秘密随机数n,则双方都将无法转移对方的资产,在超时时间到达后交易可以被撤销。
由于tA>tB,所以即使用户A在tB即将到达时才公开秘密随机数n,此时用户B依然有(tA-tB)的时间来处理自己的交易。所以只要让(tA-tB)的时间足够长,交易就是公平的。
本发明将交易参与者的数量扩展到更多的情况,假设在一场跨链交易中,存在至少一个发送者S和至少一个接收者R,其中|S|>0,|R|>0,且|S∪R|≥2。由于参与者的数量可能会超过2人,所以由其中一方事先生成秘密随机数的方案将变得不可行,因为无法保证所有人都同时发送各自的资产。在所有人发送完资产之前,任何人都不应该得知秘密随机数。
这一实施例请参见图2,下面是对该方法的实施步骤的详细描述。
步骤S21:每一个接收者Rx都生成自己的秘密随机数,并公开Nx=nx·G,其中G是椭圆曲线上的基点。
椭圆曲线是指椭圆曲线密码学(ECC)中的任意曲线,或者国家标准的SM2算法中的椭圆曲线。
步骤S22:得到每一个Nx后,对其求和计算出:
Figure GDA0002635609060000071
步骤S23:为每一对发送者和接收者生成一个合约账户
Figure GDA0002635609060000072
其中Si为发送者的公钥,Rj为接收者的公钥,t为超时时间。
合约账户
Figure GDA0002635609060000073
表示接收者可以用自己的签名和所有人的秘密随机数之和
Figure GDA0002635609060000074
来提取账户中的资产,而发送者可以用自己的前面在超时时间t到达后提取账户中的资产。
步骤S24:每一个发送者Si都将自己的资产发送到对应的合约账户C(i,j)中。
步骤S25:当所有资产都发送完毕后,每一个接收者Rj都公开自己的秘密随机数nj
步骤S26:在所有秘密随机数都被公开之前,任何人都无法转移资产,当所有秘密随机数都公开后,每一个接收者都可以计算出
Figure GDA0002635609060000075
并转移资产,如果在超时时间t到达后仍无法计算出
Figure GDA0002635609060000076
则交易可以被撤销。
在所有秘密随机数都被公开之前,任何人都无法转移资产,除了最后一个公开的人之外,而对于最后一个公开秘密随机数的接收者,在转移资产的同时会自动公开秘密随机数,从而使任何其他接收者也可以转移账户中的资产。
上述方案可以很好解决多方资产交换的问题,而且没有发起人,完全去中心化。但是有一个缺陷,即最后一个公开秘密随机数的人可以在超时时间即将到达前将资产转移,同时抢先将自己发送资产的交易撤销。在双方交易的方案中,可以通过设置两个不同的超时时间来解决问题,但在本实施例的多方交易的方案中很难做到这一点。
为了解决这一问题,本发明对合约C(i,j)进行了改进。如图3所示,改进了合约C(i,j)的实施例的细化步骤如下。
在这一场跨链交易中存在至少一个发送者S和至少一个接收者R,其中|S|>0,|R|>0,且|S∪R|≥2,由于参与者的数量可能会超过2人,所以由其中一方事先生成秘密随机数的方案将变得不可行,因为无法保证所有人都同时发送各自的资产。在所有人发送完资产之前,任何人都不应该得知秘密随机数。
步骤S31:每一个接收者Rx都生成自己的秘密随机数,并公开Nx=nx·G,其中G是椭圆曲线上的基点。
椭圆曲线是指椭圆曲线密码学(ECC)中的任意曲线,或者国家标准的SM2算法中的椭圆曲线。
步骤S32:得到每一个Nx后,对其求和计算出:
Figure GDA0002635609060000081
步骤S33:为每一对发送者和接收者生成一个合约账户
Figure GDA0002635609060000082
其中Si为发送者的公钥,Rj为接收者的公钥,t为超时时间,0<m<|R|,m是可配置的参数。
合约账户
Figure GDA0002635609060000083
表示接收者可以用自己的签名、所有人的秘密随机数之和
Figure GDA0002635609060000084
以及至少m份不同接收者对秘密随机数之和
Figure GDA0002635609060000085
的签名,来提取账户中的资产,而发送者可以用自己的签名在超时时间t到达后提取账户中的资产。
假设在一次交易中,存在恶意攻击者的数量为k。当k≥m时,攻击者可以在最后一刻公开自己的秘密随机数和签名,从而实施“最后一人”攻击,因此系统安全的必要条件是k<m。在k<m的情况下,攻击者有两种选择:
选择一:攻击者不公开自己的秘密随机数,此时由于无法计算出
Figure GDA0002635609060000091
没有人会公开自己的签名,攻击者自己也无法凑出m个签名,交易最终超时回滚,此时系统安全。
选择二:攻击者公开自己的秘密随机数,此时所有的非攻击者会公开自己的签名。如果非攻击者的数量|R|-k<m,那么必须等一部分攻击者放出签名,交易才能成功,此时攻击者仍可以实施“最后一人”攻击。因此系统安全的第二个必要条件是|R|-k≥m。
将以上两个必要条件连列计算得出:k<m≤|R|-k且k<|R|/2,表示攻击者数量k必须少于总人数的一半,在攻击者人数k可预估的情况下确定m值。
以|R|=3为例,此时k<3/2,取最大值kmax=1,带入上式可得m=2。所以,当交易人数为3人时,协议可以容忍最多一名攻击者,此时将参数设置为m=2即可保证系统安全。
以|R|=5为例,此时k<5/2,取最大值kmax=2,带入上式可得m=3。所以,当交易人数为5人时,协议可以容忍最多2名攻击者,此时将参数设置为m=3即可保证系统安全。如果已知k<kmax,则m可在更灵活的范围内配置,例如本例中,若k=1,则1<m≤4,此时m可取2、3、4。
步骤S34:每一个发送者Si都将自己的资产发送到对应的合约账户C(i,j)中。
步骤S35:当所有资产都发送完毕后,每一个接收者Rj都公开自己的秘密随机数nj
步骤S36:在所有秘密随机数都被公开之前,任何人都无法转移资产,当所有秘密随机数都公开后,每一个接收者都可以计算出
Figure GDA0002635609060000092
并由超过m个参与者签名之后才能够转移资产,如果在超时时间t到达后仍无法计算出
Figure GDA0002635609060000093
则交易可以被撤销。
跨链分布式事务是指事务的多个步骤分散在不同的区块链上执行,保证整个事务的一致性。这是对跨链资产交换的一种扩展,将资产交换的行为扩展成为任何行为。
考虑一个分布式事务T={F1,F2,…,Fn},其中F是事务T的多个步骤,每个步骤可以看做在区块链上执行的状态转换函数S’=F(S),S表示原始状态,S’表示经过F转换后的状态。
若要保证事务T的一致性,则需要保证所有的Fi∈T都执行成功或失败。把每一个状态转换函数Fi拆分成Fi={Pi,Ci,Ri},其中Pi为准备阶段,Ci为提交阶段,Ri为回滚阶段。定义它们的行为如下:S”=P(S,L,t),S’=C(S”,K),S=R(S”),其中L和K是相互匹配的状态锁和密钥,通过对应的L来锁定的状态需要使用相应的K来提交。t表示超时时间,只有在超时时间到达后才可以进入回滚阶段R来将状态从S”还原为原始状态S。
如图4所示,跨链分布式事务的跨链互操作方法的实施步骤如下。
步骤S41:将分布式事务T的每一个步骤Fi部署在各个区块链上,其中T={F1,F2,…,Fn},步骤Fi∈T。
步骤S42:为每一个步骤Fi创建一个秘密随机数ni,并公开Ni=ni·G,其中G是椭圆曲线上的基点,为每一个步骤Fi创建一个密钥对{Ki,ki},并公开公钥Ki
椭圆曲线是指椭圆曲线密码学(ECC)中的任意曲线,或者国家标准的SM2算法中的椭圆曲线。
步骤S43:得到每一个Ni后,对其求和计算出
Figure GDA0002635609060000101
步骤S44:执行每一个步骤的准备阶段Pi,得到
Figure GDA0002635609060000102
其中把每一个步骤Fi拆分成三个阶段Fi={Pi,Ci,Ri},其中Pi为准备阶段,Ci为提交阶段,Ri为回滚阶段。
步骤S45:当所有的准备阶段Pi都执行成功后,每一个步骤Fi都公开自己的秘密随机数ni
步骤S46:当所有的秘密随机数都公开后,计算出
Figure GDA0002635609060000103
每一个步骤Fi都用自己的私钥ki对秘密随机数之和进行签名,得到ei并公开。
步骤S47:当收集到预设数量的签名后,执行每一个步骤的提交阶段Ci,得到
Figure GDA0002635609060000111
其中签名数量m是可配置的参数。
Figure GDA0002635609060000112
Figure GDA0002635609060000113
是相互匹配的状态锁和密钥,通过对应的
Figure GDA0002635609060000114
来锁定的状态需要使用相应的
Figure GDA0002635609060000115
来提交,基于区块链虚拟机提供的状态锁的功能,将状态S”锁定一段时间。
步骤S48:如果在超时时间t到达后,仍无法收集到足够签名,则进入回滚阶段R将状态从S”还原为原始状态S:S=R(S”)。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

Claims (8)

1.一种区块链之间的跨链互操作方法,其特征在于,应用于跨链资产交换,在一场跨链交易中存在至少一个发送者S和至少一个接收者R,其中|𝑆|>0,|𝑅|>0,且|𝑆∪𝑅|≥2,方法包括:
每一个接收者𝑅𝑥都生成自己的秘密随机数𝑛𝑥,计算椭圆曲线上的点
Figure DEST_PATH_IMAGE002
并公开𝑁𝑥,其中𝐺是椭圆曲线上的基点;
得到每一个𝑁𝑥后,对其求和计算出:
Figure DEST_PATH_IMAGE004
为每一对发送者和接收者生成一个合约账户
Figure DEST_PATH_IMAGE006
,其中𝑆𝑖为发送者的公钥,𝑅𝑗为接收者的公钥,t为超时时间;
每一个发送者𝑆𝑖都将自己的资产发送到对应的合约账户𝐶(𝑖,𝑗)中;
当所有资产都发送完毕后,每一个接收者𝑅𝑗都公开自己的秘密随机数𝑛𝑗
在所有秘密随机数都被公开之前,任何人都无法转移资产,当所有秘密随机数都公开后,每一个接收者都可以计算出
Figure DEST_PATH_IMAGE008
并转移资产,如果在超时时间t到达后仍无法计算出
Figure DEST_PATH_IMAGE008A
,则交易可以被撤销。
2.根据权利要求1所述的区块链之间的跨链互操作方法,其特征在于,合约账户
Figure DEST_PATH_IMAGE006A
表示接收者可以用自己的签名和所有人的秘密随机数之和
Figure DEST_PATH_IMAGE008AA
来提取账户中的资产,而发送者可以用自己的前面在超时时间t到达后提取账户中的资产。
3.根据权利要求1所述的区块链之间的跨链互操作方法,其特征在于,对于最后一个公开秘密随机数的接收者,在转移资产的同时会自动公开秘密随机数,以使任何其他接收者也可以转移账户中的资产。
4.一种区块链之间的跨链互操作方法,其特征在于,应用于跨链资产交换,在一场跨链交易中存在至少一个发送者S和至少一个接收者R,其中|𝑆|>0,|𝑅|>0,且|𝑆∪𝑅|≥2,方法包括:
每一个接收者𝑅𝑥都生成自己的秘密随机数𝑛𝑥,计算椭圆曲线上的点
Figure DEST_PATH_IMAGE009
并公开𝑁𝑥,其中𝐺是椭圆曲线上的基点;
得到每一个𝑁𝑥后,对其求和计算出:
Figure DEST_PATH_IMAGE004A
为每一对发送者和接收者生成一个合约账户
Figure DEST_PATH_IMAGE011
,其中𝑆𝑖为发送者的公钥,𝑅𝑗为接收者的公钥,t为超时时间,0<m<|𝑅|,m是接收者签名数量,为可配置的参数;
每一个发送者𝑆𝑖都将自己的资产发送到对应的合约账户𝐶(𝑖,𝑗)中;
当所有资产都发送完毕后,每一个接收者𝑅𝑗都公开自己的秘密随机数𝑛𝑗
在所有秘密随机数都被公开之前,任何人都无法转移资产,当所有秘密随机数都公开后,每一个接收者都可以计算出
Figure DEST_PATH_IMAGE008AAA
并由超过m个参与者签名之后才能够转移资产,如果在超时时间t到达后仍无法计算出
Figure DEST_PATH_IMAGE008AAAA
,则交易可以被撤销。
5.根据权利要求4所述的区块链之间的跨链互操作方法,其特征在于,合约账户
Figure 62405DEST_PATH_IMAGE011
表示接收者可以用自己的签名、所有人的秘密随机数之和
Figure DEST_PATH_IMAGE008AAAAA
、以及至少m份不同接收者对秘密随机数之和
Figure DEST_PATH_IMAGE008AAAAAA
的签名,来提取账户中的资产,而发送者可以用自己的签名在超时时间t到达后提取账户中的资产。
6.根据权利要求4所述的区块链之间的跨链互操作方法,其特征在于, 𝑘<𝑚≤|𝑅|−𝑘且𝑘<|𝑅|/2,表示攻击者数量𝑘必须少于总人数的一半,在攻击者人数𝑘可预估的情况下确定𝑚值。
7.一种区块链之间的跨链互操作方法,应用于跨链分布式事务交换,分布式事务的多个步骤分散在不同的区块链上执行且保证整个事务的一致性,其特征在于,方法包括:
将分布式事务T的每一个步骤𝐹𝑖部署在各个区块链上,其中T={𝐹1,𝐹2,…,𝐹𝑛},步骤𝐹𝑖∈T;
为每一个步骤𝐹𝑖创建一个秘密随机数𝑛𝑖,计算椭圆曲线上的点
Figure DEST_PATH_IMAGE013
并公开𝑁𝑖,其中𝐺是椭圆曲线上的基点,为每一个步骤𝐹𝑖创建一个密钥对{𝐾𝑖,𝑘𝑖},并公开公钥𝐾𝑖
得到每一个𝑁𝑖后,对其求和计算出
Figure DEST_PATH_IMAGE015
执行每一个步骤的准备阶段𝑃𝑖,得到
Figure DEST_PATH_IMAGE017
,其中把每一个步骤𝐹𝑖拆分成三个阶段𝐹𝑖={𝑃𝑖,𝐶𝑖,𝑅𝑖},其中𝑃𝑖为准备阶段,𝐶𝑖为提交阶段,𝑅𝑖为回滚阶段;
当所有的准备阶段𝑃𝑖都执行成功后,每一个步骤𝐹𝑖都公开自己的秘密随机数𝑛𝑖
当所有的秘密随机数都公开后,计算出
Figure DEST_PATH_IMAGE019
,每一个步骤𝐹𝑖都用自己的私钥𝑘𝑖对秘密随机数之和进行签名,得到𝑒𝑖并公开;
当收集到预设数量的签名后,执行每一个步骤的提交阶段𝐶𝑖,得到
Figure DEST_PATH_IMAGE021
Figure DEST_PATH_IMAGE023
,其中签名数量m是可配置的参数;
如果在超时时间t到达后,仍无法收集到足够签名,则进入回滚阶段将状态从𝑆’’还原为原始状态S:𝑆=𝑅(𝑆’’)。
8.根据权利要求7所述的区块链之间的跨链互操作方法,其特征在于,
Figure DEST_PATH_IMAGE025
Figure DEST_PATH_IMAGE027
是相互匹配的状态锁和密钥,通过对应的
Figure DEST_PATH_IMAGE025A
来锁定的状态需要使用相应的
Figure DEST_PATH_IMAGE027A
来提交,基于区块链虚拟机提供的状态锁的功能,将状态𝑆’’锁定一段时间。
CN201710232528.5A 2017-04-11 2017-04-11 一种区块链之间的跨链互操作方法 Active CN106899698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710232528.5A CN106899698B (zh) 2017-04-11 2017-04-11 一种区块链之间的跨链互操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710232528.5A CN106899698B (zh) 2017-04-11 2017-04-11 一种区块链之间的跨链互操作方法

Publications (2)

Publication Number Publication Date
CN106899698A CN106899698A (zh) 2017-06-27
CN106899698B true CN106899698B (zh) 2020-12-18

Family

ID=59196312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710232528.5A Active CN106899698B (zh) 2017-04-11 2017-04-11 一种区块链之间的跨链互操作方法

Country Status (1)

Country Link
CN (1) CN106899698B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214818B (zh) * 2017-06-30 2021-06-15 华为技术有限公司 一种跨链交易方法及装置
CN107424073A (zh) * 2017-07-17 2017-12-01 杭州复杂美科技有限公司 一种跨链数字债权交易的方法
CN107909475B (zh) * 2017-07-17 2020-08-14 杭州复杂美科技有限公司 一种不同许可链之间的跨链交易
US11416832B2 (en) * 2017-07-18 2022-08-16 nChain Holdings Limited Systems and methods for blockchain-dependent operation sets
CN109426949B (zh) 2017-08-29 2021-02-09 华为技术有限公司 一种跨链交易方法及装置
CN109818993B (zh) * 2017-11-20 2021-08-24 西南交通大学 一种高效的区块链共识与交换系统
CN108269190A (zh) * 2018-01-17 2018-07-10 深圳四方精创资讯股份有限公司 基于跨链中继平台的跨链方法及其系统
CN108282474B (zh) * 2018-01-18 2020-04-17 山东大学 基于区块链的数字资产交易一致性的维护方法
US10298585B1 (en) * 2018-01-26 2019-05-21 Accenture Global Solutions Limited Blockchain interoperability
CN108418795B (zh) 2018-01-30 2019-05-28 百度在线网络技术(北京)有限公司 跨区块链的数据访问方法、装置、系统及计算机可读介质
CN108389047B (zh) * 2018-02-12 2021-07-09 南京思利华信息科技有限公司 区块链中母链与子链交易的方法及区块链网络
CN108683630B (zh) * 2018-04-03 2020-05-29 阿里巴巴集团控股有限公司 跨区块链的认证方法及装置、电子设备
CN108712257B (zh) * 2018-04-03 2020-04-17 阿里巴巴集团控股有限公司 跨区块链的认证方法及装置、电子设备
CN108629583A (zh) * 2018-04-16 2018-10-09 上海分赋信息科技有限公司 基于分布式技术实现数字资产在映射链上的映射系统及相应方法
CN108924175A (zh) * 2018-05-02 2018-11-30 北京链链信息技术有限公司 一种区块链间的通信方法和装置
CN108876618A (zh) * 2018-06-15 2018-11-23 浙江华信区块链科技服务有限公司 一种交换区块链系统及相应的通用区块链互操作方法和网络
CN108900585A (zh) * 2018-06-15 2018-11-27 浙江华信区块链科技服务有限公司 跨链事务一致性实现方法
GB201811672D0 (en) * 2018-07-17 2018-08-29 Nchain Holdings Ltd Computer-implemented system and method
CN109063049B (zh) 2018-07-18 2020-12-08 百度在线网络技术(北京)有限公司 一种区块链网络的账号处理方法、装置、设备及存储介质
CN109410045B (zh) * 2018-08-30 2020-08-14 杭州复杂美科技有限公司 一种平行链共识方法、设备和存储介质
CN109257342B (zh) * 2018-09-04 2020-05-26 阿里巴巴集团控股有限公司 区块链跨链的认证方法、系统、服务器及可读存储介质
CN109088881B (zh) * 2018-09-12 2020-11-03 杭州趣链科技有限公司 一种实现跨平台数据交换的共享链平台及数据交换方法
CN109347838A (zh) * 2018-10-25 2019-02-15 深圳市圆世科技有限责任公司 一种分布式计算平台跨链交互方法
CN110046990A (zh) * 2018-11-05 2019-07-23 阿里巴巴集团控股有限公司 基于区块链的数据处理方法、装置和服务器
CN109726251B (zh) * 2018-12-28 2022-04-05 苏州鸿链信息科技有限公司 一种基于区块链开展的跨链分布式业务系统及方法
CN109685489B (zh) * 2018-12-28 2021-06-01 杭州云象网络技术有限公司 一种区块链之间的资产跨链交易方法
CN109831298B (zh) * 2019-01-31 2020-05-15 阿里巴巴集团控股有限公司 区块链中安全更新密钥的方法及节点、存储介质
CN110098938B (zh) * 2019-04-17 2022-05-20 上海寅坤科技发展有限公司 一种可信任委托式链下加速解决方法及系统
WO2021022369A1 (en) * 2019-08-06 2021-02-11 Zeu Crypto Networks Inc. Distributed blockchain transaction system
SG10201907333RA (en) * 2019-08-08 2020-01-30 Alibaba Group Holding Ltd Methods And Devices For Executing Cross-Chain Anonymous Multi-Swap Contracts
CN111339114B (zh) * 2020-02-28 2023-05-09 百度在线网络技术(北京)有限公司 一种数据访问方法、装置、设备及存储介质
CN112016921B (zh) * 2020-03-03 2022-08-19 支付宝(杭州)信息技术有限公司 交易处理方法、装置及设备
CN111464536B (zh) * 2020-03-31 2022-06-07 中国联合网络通信集团有限公司 一种区块链跨链方法及装置
CN111741026B (zh) * 2020-08-07 2020-12-01 百度在线网络技术(北京)有限公司 一种跨链事务请求处理方法、装置、设备以及存储介质
CN112965985B (zh) * 2021-02-04 2022-04-12 复旦大学 一种实现跨链互操作的数据一致性维护方法
CN112927073A (zh) * 2021-02-23 2021-06-08 网易(杭州)网络有限公司 跨链数据互换方法、系统、装置、电子设备
CN113283985A (zh) * 2021-04-27 2021-08-20 上海添玑网络服务有限公司 基于htlc的跨链交易方法
CN113592476A (zh) * 2021-08-02 2021-11-02 杭州复杂美科技有限公司 跨链资产转移方法、计算机设备和存储介质
CN113744055B (zh) * 2021-09-03 2023-05-30 杭州复杂美科技有限公司 一种跨链消息传输方法、设备及储存介质
CN114331718A (zh) * 2021-12-21 2022-04-12 弥达斯科技(深圳)有限公司 跨链交易方法、装置、设备、存储介质及计算机程序产品
CN114185996B (zh) * 2022-02-15 2022-05-13 北京溪塔科技有限公司 一种跨链事务处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812369A (zh) * 2016-03-15 2016-07-27 广东石油化工学院 一种基于椭圆曲线的可追踪的匿名认证方法
CN106447309A (zh) * 2016-11-13 2017-02-22 杭州复杂美科技有限公司 源链侧链跨链交易

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812369A (zh) * 2016-03-15 2016-07-27 广东石油化工学院 一种基于椭圆曲线的可追踪的匿名认证方法
CN106447309A (zh) * 2016-11-13 2017-02-22 杭州复杂美科技有限公司 源链侧链跨链交易

Also Published As

Publication number Publication date
CN106899698A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
CN106899698B (zh) 一种区块链之间的跨链互操作方法
AU2018347195B2 (en) System and method for information protection
Deshpande et al. Privacy-preserving cross-chain atomic swaps
JP7395701B2 (ja) ブロックチェーン上でトランザクション・ミキシングを行うためのコンピュータで実施されるシステム及び方法
CN114282926A (zh) 用于从区块链中安全提取数据的密码方法和系统
US11265162B2 (en) System and method for providing privacy and security protection in blockchain-based private transactions
JP7414795B2 (ja) アセット混合のための、コンピュータにより実施されるシステム及び方法
CN111738857B (zh) 应用于区块链的隐匿支付证明的生成与验证方法及装置
US20240163098A1 (en) Computer-implemented methods and systems for controlling tasks implemented by a cyclically-ordered set of nodes participating in a blockchain network
EP3750129A1 (en) System and method for transferring resources using a blockchain
US20240179211A1 (en) Computer-implemented system and method for controlling processing steps of a distributed system
You et al. A Multi-Party, Multi-Blockchain Atomic Swap Protocol with Universal Adaptor Secret
CN118316925A (zh) 基于分布式节点的数据处理方法、装置、可读介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant