CN112184228B - 资产交换方法、设备和存储介质 - Google Patents
资产交换方法、设备和存储介质 Download PDFInfo
- Publication number
- CN112184228B CN112184228B CN202011062209.2A CN202011062209A CN112184228B CN 112184228 B CN112184228 B CN 112184228B CN 202011062209 A CN202011062209 A CN 202011062209A CN 112184228 B CN112184228 B CN 112184228B
- Authority
- CN
- China
- Prior art keywords
- transaction
- aggregate
- asset exchange
- signature
- signature data
- 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
Links
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/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
-
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种资产交换方法、设备和存储介质,涉及区块链等技术领域,该方法包括:生成第一交易内容集合;根据当前用户所持有的聚合签名私钥对第一交易集合进行签名以生成第一签名数据,将第一交易集合、第一签名数据发送给第二用户的第二客户端;接收第二签名数据;根据第一签名数据、第二签名数据聚合生成第一资产交换聚合交易;其中,第一资产交换聚合交易包括各第一平行链和各第二平行链的第一标识;将第一资产交换聚合交易发送至主链,在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时,生成包括第一资产交换聚合交易的交易哈希的第一确认交易并发送至主链。本申请节省实现不同链上资产交换所需的时间,并节省了手续费。
Description
技术领域
本申请涉及平行链技术领域,具体涉及一种资产交换方法、设备和存储介质。
背景技术
在现有区块链技术中,现有的跨链资产交换方案通常采用侧链/中继、哈希锁定、多方计算锁定等方式。上述方式完成跨链资产交换需要花费较长的时间,且需要耗费较多的手续费。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种节省实现不同链上资产交换所需的时间,并节省手续费的资产交换方法、设备和存储介质。
第一方面,本发明提供一种适用于客户端的资产交换方法、设备和存储介质,上述方法包括:
响应于当前用户想用若干条第一平行链上所持有的资产与第二用户在若干条第二平行链上所持有的对应的资产进行资产交换,生成第一交易内容集合,其中,第一交易内容集合包括各第一平行链的各平行链节点和各第二平行链的各平行链节点分别对应执行的各第一交易内容;
根据当前用户所持有的聚合签名私钥对第一交易集合进行签名以生成第一签名数据,将第一交易集合、第一签名数据发送给第二用户的第二客户端,以供第二客户端根据第二用户所持有的聚合签名私钥对第一交易集合进行签名以生成第二签名数据;
接收第二签名数据;
响应于第一签名数据和第二签名数据由当前客户端聚合,根据第一签名数据、第二签名数据聚合生成第一资产交换聚合交易;其中,第一资产交换聚合交易包括各第一平行链和各第二平行链的第一标识;
将第一资产交换聚合交易发送至主链,以供各平行链的各平行链节点:
判断第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则在第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时,生成包括第一资产交换聚合交易的交易哈希的第一确认交易并发送至主链,以供各平行链的各平行链节点:
根据交易哈希判断所属平行链上是否包括第一资产交换聚合交易:
是,则执行第一确认交易:从主链获取各共识成功的第一资产交换聚合交易的执行结果;
判断各执行结果是否均为执行成功:
是,则将所冻结的若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的若干资产解冻。
第二方面,本发明提供一种适用于主链节点的资产交换方法、设备和存储介质,上述方法包括:
接收第一资产交换聚合交易;其中,第一资产交换聚合交易由第一用户的第一客户端或第二用户的第二客户端根据第一签名数据、第二签名数据聚合生成,第一签名数据由第一客户端根据第一用户所持有的聚合签名私钥对第一交易集合进行签名生成,第二签名数据由第二客户端根据第二用户所持有的聚合签名私钥对第一交易集合进行签名生成,第一交易集合由第一客户端或第二客户端响应于第一用户想用若干条第一平行链上所持有的资产与第二用户在若干条第二平行链上所持有的对应的资产进行资产交换生成,第一交易内容集合包括各第一平行链的各平行链节点和各第二平行链的各平行链节点分别对应执行的各第一交易内容;第一资产交换聚合交易还用于供各平行链的平行链节点:
判断第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则在第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
接收包括第一资产交换聚合交易的交易哈希的第一确认交易;其中,第一确认交易由第一客户端或第二客户端在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时生成;第一确认交易还用于供各平行链的平行链节点:
根据交易哈希判断所属平行链上是否包括第一资产交换聚合交易:
是,则执行第一确认交易:从主链获取各共识成功的第一资产交换聚合交易的执行结果;
判断各执行结果是否均为执行成功:
是,则将所冻结的若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的若干资产解冻。
第三方面,本发明提供一种适用于平行链节点的资产交换方法、设备和存储介质,上述方法包括:
从主链获取第一资产交换聚合交易;其中,第一资产交换聚合交易由第一用户的第一客户端或第二用户的第二客户端根据第一签名数据、第二签名数据聚合生成并发送至主链,第一签名数据由第一客户端根据第一用户所持有的聚合签名私钥对第一交易集合进行签名生成,第二签名数据由第二客户端根据第二用户所持有的聚合签名私钥对第一交易集合进行签名生成,第一交易集合由第一客户端或第二客户端响应于第一用户想用若干条第一平行链上所持有的资产与第二用户在若干条第二平行链上所持有的对应的资产进行资产交换生成,第一交易内容集合包括各第一平行链的各平行链节点和各第二平行链的各平行链节点分别对应执行的各第一交易内容;
判断第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则在第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
从主链获取第一确认交易;其中,第一确认交易由第一客户端或第二客户端在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时生成;
根据交易哈希判断所属平行链上是否包括第一资产交换聚合交易:
是,则执行第一确认交易:从主链获取各共识成功的第一资产交换聚合交易的执行结果;
判断各执行结果是否均为执行成功:
是,则将所冻结的若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的若干资产解冻。
第四方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的资产交换方法。
第五方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的资产交换方法。
本发明诸多实施例提供的资产交换方法、设备和存储介质通过生成第一交易内容集合;根据当前用户所持有的聚合签名私钥对第一交易集合进行签名以生成第一签名数据,将第一交易集合、第一签名数据发送给第二用户的第二客户端;接收第二签名数据;根据第一签名数据、第二签名数据聚合生成第一资产交换聚合交易;其中,第一资产交换聚合交易包括各第一平行链和各第二平行链的第一标识;将第一资产交换聚合交易发送至主链,在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时,生成包括第一资产交换聚合交易的交易哈希的第一确认交易并发送至主链的方法,节省实现不同链上资产交换所需的时间,并节省了手续费。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种资产交换方法的流程图。
图2为本发明一实施例提供的另一种资产交换方法的流程图。
图3为本发明一实施例提供的另一种资产交换方法的流程图。
图4为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种资产交换方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于客户端的资产交换方法、设备和存储介质,上述方法包括:
S12:响应于当前用户想用若干条第一平行链上所持有的资产与第二用户在若干条第二平行链上所持有的对应的资产进行资产交换,生成第一交易内容集合;其中,第一交易内容集合包括各第一平行链的各平行链节点和各第二平行链的各平行链节点分别对应执行的各第一交易内容;
S13:根据当前用户所持有的聚合签名私钥对第一交易集合进行签名以生成第一签名数据,将第一交易集合、第一签名数据发送给第二用户的第二客户端,以供第二客户端根据第二用户所持有的聚合签名私钥对第一交易集合进行签名以生成第二签名数据;
S14:接收第二签名数据;
S15:响应于第一签名数据和第二签名数据由当前客户端聚合,根据第一签名数据、第二签名数据聚合生成第一资产交换聚合交易;其中,第一资产交换聚合交易包括各第一平行链和各第二平行链的第一标识;
S16:将第一资产交换聚合交易发送至主链,以供各平行链的各平行链节点:
判断第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则在第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
S17:在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时,生成包括第一资产交换聚合交易的交易哈希的第一确认交易并发送至主链,以供各平行链的各平行链节点:
根据交易哈希判断所属平行链上是否包括第一资产交换聚合交易:
是,则执行第一确认交易:从主链获取各共识成功的第一资产交换聚合交易的执行结果;
判断各执行结果是否均为执行成功:
是,则将所冻结的若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的若干资产解冻。
具体地,以预配置的聚合签名算法为bls聚合签名算法,聚合签名算法为bls聚合签名算法,根据当前用户所持有的聚合签名私钥对第一交易集合进行签名以生成第一签名数据包括“根据当前用户所持有的bls聚合签名私钥对第一交易集合进行签名以生成第一签名数据;”根据第一签名数据、第二签名数据聚合生成第一资产交换聚合交易包括“根据第一签名数据、第二签名数据聚合生成第一聚合签名数据;其中,第二签名数据是由第二客户端根据第二用户所持有的bls聚合签名私钥对第一交易集合进行签名生成;根据第一聚合签名数据、第一交易集合、当前用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成第一资产交换聚合交易;”在第一资产交换聚合交易验证通过时包括“根据当前用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成第一聚合公钥信息;结合第一交易集合、根据双线性映射加密算法判断第一聚合签名数据和第一聚合公钥信息是否相匹配:是,则认为第一资产交换聚合交易验证通过。”为例;并以生成资产交换聚合交易的客户端生成相应的确认交易;以标识(包括第一标识和第二标识)为平行链名称;以用户A想将其在parachain1上所持有的10pc1_coin、在parachain2上所持有的20pc2_coin与用户B在parachain3上所持有的30pc3_coin、在parachain4上所持有的40pc4_coin进行资产交换为例;
假设区块链网络中有主链mainchain和十条平行链parachain1~parachain10(其名称为pc1~pc10)。
用户A的客户端响应于用户A想将其在parachain1上所持有的10pc1_coin、在parachain2上所持有的20pc2_coin与用户B在parachain3上所持有的30pc3_coin、在parachain4上所持有的40pc4_coin进行资产交换,执行步骤S12,生成交易内容集合{content1,content2,content3,content4},parachain1的各平行链节点执行交易内容content1(account(A)_pc1,account(B)_pc1,10pc1_coin),parachain2的各平行链节点执行交易内容content2(account(A)_pc2,account(B)_pc2,20pc2_coin);parachain3的各平行链节点执行交易内容content3(account(B)_pc3,account(A)_pc3,30pc3_coin),parachain4的各平行链节点执行交易内容content4(account(B)_pc4,account(A)_pc4,40pc4_coin);
用户A的客户端执行步骤S13,根据bls_A对{content1,content2,content3,content4}进行签名以生成签名数据{content1,content2,content3,content4}bls_A,将{content1,content2,content3,content4}、{content1,content2,content3,content4}bls_A发送给用户B的客户端;
用户B的客户端根据bls_B对{content1,content2,content3,content4}进行签名以生成签名数据{content1,content2,content3,content4}bls_B,将{content1,content2,content3,content4}bls_B发回给用户A的客户端;
用户A的客户端执行步骤S14,接收{content1,content2,content3,content4}bls_B;
响应于{content1,content2,content3,content4}bls_A、{content1,content2,content3,content4}bls_B由用户A的客户端聚合,用户A的客户端执行步骤S15,根据{content1,content2,content3,content4}bls_A、{content1,content2,content3,content4}bls_B聚合生成聚合签名数据{content1,content2,content3,content4}bls_AB;根据{content1,content2,content3,content4}bls_AB、{content1,content2,content3,content4}、pub(bls_A)、pub(bls_B)生成资产交换聚合交易tx1,tx1中还包括pc1、pc2、pc3、pc4;
用户A的客户端执行步骤S16,将tx1发送至主链;
各主链节点存证tx1;在更多实施例中,各主链节点也可以执行tx1,将第一标识和各交易内容记录到主链上;
parachain1~parachain10的各平行链节点判断tx1中的标识pc1、pc2、pc3、pc4是否包括所属平行链的标识:
tx1包括pc1,则parachain1的各平行链节点根据pub(bls_A)、pub(bls_B)生成聚合公钥信息pub(bls_AB);结合content1~content4、根据双线性映射加密算法判断{content1,content2,content3,content4}bls_AB和pub(bls_AB)是否相匹配:是,则验证通过,执行content1,冻结parachain1上的account(A)的10pc1_coin;
tx1包括pc2,则parachain2的各平行链节点在tx1验证通过时执行content2,冻结parachain2上的account(A)的20pc1_coin;
tx1包括pc3,则parachain3的各平行链节点在tx1验证通过时执行content3,冻结parachain3上的account(B)中的30pc3_coin;
tx1包括pc4,则parachain4的各平行链节点在tx1验证通过时执行content4,冻结parachain4上的account(B)中的40pc4_coin(其中,parachain2、parachain3、parachain4的各平行链节点验证tx1的方法与parachain1的各平行链节点相同,不再赘述);
tx1不包括pc5~pc10,则parachain5~parachain10的各平行链节点不执行tx1;
由于假设生成资产交换聚合交易的客户端生成相应的确认交易,用户A的客户端执行步骤S17,在各包括tx1的平行链区块在主链均共识成功时,生成包括hash(tx1)的确认交易tx2并发送至主链;
主链节点存证tx2;在更多实施例中,主链节点也可以执行tx2,将hash(tx1)记录到主链上;
parachain1~parachain10的各平行链节点根据hash(tx1)判断所属平行链上是否包括tx1:
由于parachain1~parachain4上包括tx1,则parachain1~parachain4的各平行链节点执行tx2:从主链获取各共识成功的tx1的执行结果;
若各执行结果均为执行成功,则parachain1上的各平行链节点将parachain1上的account(A)中所冻结的10pc1_coin解冻并划转至parachain1上的account(B);parachain2上的各平行链节点将parachain2上的account(A)中所冻结的20pc2_coin解冻并划转至parachain2上的account(B);parachain3上的各平行链节点将parachain3上的account(B)中所冻结的30pc3_coin解冻并划转至parachain3上的account(A);parachain4上的各平行链节点将parachain4上的account(B)中所冻结的40pc4_coin解冻并划转至parachain4上的account(A);
若各执行结果不是均为执行成功,则parachain1上的各平行链节点将parachain1上的account(A)中所冻结的10pc1_coin解冻;parachain2上的各平行链节点将parachain2上的account(A)中所冻结的20pc2_coin解冻;parachain3上的各平行链节点将parachain3上的account(B)中所冻结的30pc3_coin解冻;parachain4上的各平行链节点将parachain4上的account(B)中所冻结的40pc4_coin解冻。
在更多实施例中,预配置的聚合签名算法还可以根据实际需求配置为其它聚合签名算法,例如配置为schnorr聚合签名算法,可实现相同的技术效果。
在更多实施例中,标识还可以根据实际需求配置为其它参数,例如,假设游戏类的平行链配置有标识M,且parachain1~parachain4均为游戏类的平行链,则第一资产转移交易中的第一标识为M,parachain1~parachain4的第二标识也为M,parachain1~parachain4的各平行链节点会执行tx1中对应的交易内容,可实现相同的技术效果。
在更多实施例中,生成确认交易的客户端还可以根据实际需求进行配置,例如,用户A的客户端生成资产交换聚合交易,则必须由其它客户端生成相应的确认交易,可实现相同的技术效果。
需要说明的是,本领域技术人员应当理解,“响应于第一签名数据和第二签名数据由当前客户端聚合”可以配置为实际的选择方法,例如配置为“计算第一签名数据的第一哈希值,计算第二签名数据的第二哈希值,若第一哈希值小于第二哈希值,则第一签名数据和第二签名数据由当前客户端聚合,反之,则第一签名数据和第二签名数据由第二客户端聚合”。本申请不作具体的限定。
需要说明的是,本申请中的各平行链的平行链节点主动从主链获取第一资产转移交易,本领域技术人员应当可以联想,在主链节点可以执行第一资产转移交易和第一确认交易的情况下,主链节点可以识别出第一资产交换聚合交易和第一确认交易所包括的平行链parachain1~parachain4,并将第一资产交换聚合交易和第一确认交易推送给所连接的parachain1~parachain4的平行链节点。
需要说明的是,本领域技术人员应当可以联想本方法的一些简单变形,例如,本方法同样适用于主链-平行链间的资产交换。在适用于主链-平行链间的资产交换时,第一资产交换聚合交易应当包括主链的标识。
上述实施例节省实现不同链上资产交换所需的时间,并节省了手续费。
优选地,聚合签名算法为bls聚合签名算法,根据当前用户所持有的聚合签名私钥对第一交易集合进行签名以生成第一签名数据包括:
根据当前用户所持有的bls聚合签名私钥对第一交易集合进行签名以生成第一签名数据;
根据第一签名数据、第二签名数据聚合生成第一资产交换聚合交易包括:
根据第一签名数据、第二签名数据聚合生成第一聚合签名数据;其中,第二签名数据是由第二客户端根据第二用户所持有的bls聚合签名私钥对第一交易集合进行签名生成;
根据第一聚合签名数据、第一交易集合、当前用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成第一资产交换聚合交易;
在第一资产交换聚合交易验证通过时包括:
根据当前用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成第一聚合公钥信息;
结合第一交易集合、根据双线性映射加密算法判断第一聚合签名数据和第一聚合公钥信息是否相匹配:
是,则认为第一资产交换聚合交易验证通过。
上述实施例的资产交换原理可参考图1所示的方法,此处不再赘述。
图2为本发明一实施例提供的另一种资产交换方法的流程图。如图2所示,在本实施例中,本发明提供一种适用于主链节点的资产交换方法、设备和存储介质,上述方法包括:
S22:接收第一资产交换聚合交易;其中,第一资产交换聚合交易由第一用户的第一客户端或第二用户的第二客户端根据第一签名数据、第二签名数据聚合生成,第一签名数据由第一客户端根据第一用户所持有的聚合签名私钥对第一交易集合进行签名生成,第二签名数据由第二客户端根据第二用户所持有的聚合签名私钥对第一交易集合进行签名生成,第一交易集合由第一客户端或第二客户端响应于第一用户想用若干条第一平行链上所持有的资产与第二用户在若干条第二平行链上所持有的对应的资产进行资产交换生成,第一交易内容集合包括各第一平行链的各平行链节点和各第二平行链的各平行链节点分别对应执行的各第一交易内容;第一资产交换聚合交易还用于供各平行链的平行链节点:
判断第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则在第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
S24:接收包括第一资产交换聚合交易的交易哈希的第一确认交易;其中,第一确认交易由第一客户端或第二客户端在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时生成;第一确认交易还用于供各平行链的平行链节点:
根据交易哈希判断所属平行链上是否包括第一资产交换聚合交易:
是,则执行第一确认交易:从主链获取各共识成功的第一资产交换聚合交易的执行结果;
判断各执行结果是否均为执行成功:
是,则将所冻结的若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的若干资产解冻。
上述实施例的资产交换原理可参考图1所示的方法,此处不再赘述。
优选地,聚合签名算法为bls聚合签名算法;第一签名数据由第一客户端根据第一用户所持有的bls聚合签名私钥对第一交易集合进行签名生成;第二签名数据由第二客户端根据第二用户所持有的bls聚合签名私钥对第一交易集合进行签名生成;第一资产交换聚合交易由第一聚合签名数据、第一交易集合、第一用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成,第一聚合签名数据由第一客户端或第二客户端根据第一签名数据、第二签名数据聚合生成生成;
在第一资产交换聚合交易验证通过时包括:
根据第一用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成第一聚合公钥信息;
结合第一交易集合、根据双线性映射加密算法判断第一聚合签名数据和第一聚合公钥信息是否相匹配:
是,则认为第一资产交换聚合交易验证通过。
上述实施例的资产交换原理可参考图1所示的方法,此处不再赘述。
图3为本发明一实施例提供的另一种资产交换方法的流程图。如图3所示,在本实施例中,本发明提供一种适用于平行链节点的资产交换方法、设备和存储介质,上述方法包括:
S32:从主链获取第一资产交换聚合交易;其中,第一资产交换聚合交易由第一用户的第一客户端或第二用户的第二客户端根据第一签名数据、第二签名数据聚合生成并发送至主链,第一签名数据由第一客户端根据第一用户所持有的聚合签名私钥对第一交易集合进行签名生成,第二签名数据由第二客户端根据第二用户所持有的聚合签名私钥对第一交易集合进行签名生成,第一交易集合由第一客户端或第二客户端响应于第一用户想用若干条第一平行链上所持有的资产与第二用户在若干条第二平行链上所持有的对应的资产进行资产交换生成,第一交易内容集合包括各第一平行链的各平行链节点和各第二平行链的各平行链节点分别对应执行的各第一交易内容;
S331:判断第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则执行步骤S332:在第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
S333:生成包括第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
S34:从主链获取第一确认交易;其中,第一确认交易由第一客户端或第二客户端在各包括第一资产交换聚合交易的平行链区块在主链均共识成功时生成;
S351:根据交易哈希判断所属平行链上是否包括第一资产交换聚合交易:
是,则执行步骤S352:执行第一确认交易:从主链获取各共识成功的第一资产交换聚合交易的执行结果;
S361:判断各执行结果是否均为执行成功:
是,则执行步骤S362:将所冻结的若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则执行步骤S363:将所冻结的若干资产解冻。
上述实施例的资产交换原理可参考图1所示的方法,此处不再赘述。
优选地,聚合签名算法为bls聚合签名算法;第一签名数据由第一客户端根据第一用户所持有的bls聚合签名私钥对第一交易集合进行签名生成;第二签名数据由第二客户端根据第二用户所持有的bls聚合签名私钥对第一交易集合进行签名生成;第一资产交换聚合交易由第一聚合签名数据、第一交易集合、第一用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成,第一聚合签名数据由第一客户端或第二客户端根据第一签名数据、第二签名数据聚合生成生成;
在第一资产交换聚合交易验证通过时包括:
根据第一用户所持有的bls聚合签名公钥、第二用户所持有的bls聚合签名公钥生成第一聚合公钥信息;
结合第一交易集合、根据双线性映射加密算法判断第一聚合签名数据和第一聚合公钥信息是否相匹配:
是,则认为第一资产交换聚合交易验证通过。
上述实施例的资产交换原理可参考图1所示的方法,此处不再赘述。
图4为本发明一实施例提供的一种设备的结构示意图。如图4所示,作为另一方面,本申请还提供了一种设备,包括一个或多个中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有设备400操作所需的各种程序和数据。CPU401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (8)
1.一种资产交换方法,其特征在于,适用于客户端,所述方法包括:
响应于当前用户想用若干条第一平行链上所持有的资产与第二用户在若干条第二平行链上所持有的对应的资产进行资产交换,生成第一交易内容集合;其中,所述第一交易内容集合包括各所述第一平行链的各平行链节点和各所述第二平行链的各平行链节点分别对应执行的各第一交易内容;
根据当前用户所持有的聚合签名私钥对所述第一交易集合进行签名以生成第一签名数据,将所述第一交易集合、所述第一签名数据发送给所述第二用户的第二客户端,以供所述第二客户端根据所述第二用户所持有的聚合签名私钥对所述第一交易集合进行签名以生成第二签名数据;
接收第二签名数据;
响应于所述第一签名数据和所述第二签名数据由当前客户端聚合,根据所述第一签名数据、所述第二签名数据聚合生成第一资产交换聚合交易;其中,所述第一资产交换聚合交易包括各所述第一平行链和各所述第二平行链的第一标识;
将所述第一资产交换聚合交易发送至主链,以供各平行链的各平行链节点:
判断所述第一资产交换聚合交易中的所述第一标识中是否包括所属平行链的第二标识:
是,则在所述第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括所述第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
在各包括所述第一资产交换聚合交易的平行链区块在主链均共识成功时,生成包括所述第一资产交换聚合交易的交易哈希的第一确认交易并发送至主链,以供各平行链的各平行链节点:
根据所述交易哈希判断所属平行链上是否包括所述第一资产交换聚合交易:
是,则执行所述第一确认交易:从主链获取各共识成功的所述第一资产交换聚合交易的执行结果;
判断各所述执行结果是否均为执行成功:
是,则将所冻结的所述若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的所述若干资产解冻。
2.根据权利要求1所述的方法,其特征在于,所述聚合签名算法为bls聚合签名算法,所述根据当前用户所持有的聚合签名私钥对所述第一交易集合进行签名以生成第一签名数据包括:
根据当前用户所持有的bls聚合签名私钥对所述第一交易集合进行签名以生成第一签名数据;
所述根据所述第一签名数据、所述第二签名数据聚合生成第一资产交换聚合交易包括:
根据所述第一签名数据、所述第二签名数据聚合生成第一聚合签名数据;其中,所述第二签名数据是由所述第二客户端根据所述第二用户所持有的bls聚合签名私钥对所述第一交易集合进行签名生成;
根据所述第一聚合签名数据、所述第一交易集合、当前用户所持有的bls聚合签名公钥、所述第二用户所持有的bls聚合签名公钥生成第一资产交换聚合交易;
所述在所述第一资产交换聚合交易验证通过时包括:
根据当前用户所持有的bls聚合签名公钥、所述第二用户所持有的bls聚合签名公钥生成第一聚合公钥信息;
结合所述第一交易集合、根据双线性映射加密算法判断所述第一聚合签名数据和所述第一聚合公钥信息是否相匹配:
是,则认为所述第一资产交换聚合交易验证通过。
3.一种资产交换方法,其特征在于,适用于主链节点,所述方法包括:
接收第一资产交换聚合交易;其中,所述第一资产交换聚合交易由第一用户的第一客户端或第二用户的第二客户端根据第一签名数据、第二签名数据聚合生成,所述第一签名数据由所述第一客户端根据所述第一用户所持有的聚合签名私钥对第一交易集合进行签名生成,所述第二签名数据由所述第二客户端根据所述第二用户所持有的聚合签名私钥对所述第一交易集合进行签名生成,所述第一交易集合由所述第一客户端或第二客户端响应于所述第一用户想用若干条第一平行链上所持有的资产与所述第二用户在若干条第二平行链上所持有的对应的资产进行资产交换生成,所述第一交易内容集合包括各所述第一平行链的各平行链节点和各所述第二平行链的各平行链节点分别对应执行的各第一交易内容;所述第一资产交换聚合交易还用于供各平行链的平行链节点:
判断所述第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则在所述第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括所述第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
接收包括所述第一资产交换聚合交易的交易哈希的第一确认交易;其中,所述第一确认交易由所述第一客户端或所述第二客户端在各包括所述第一资产交换聚合交易的平行链区块在主链均共识成功时生成;所述第一确认交易还用于供各平行链的平行链节点:
根据所述交易哈希判断所属平行链上是否包括所述第一资产交换聚合交易:
是,则执行所述第一确认交易:从主链获取各共识成功的所述第一资产交换聚合交易的执行结果;
判断各所述执行结果是否均为执行成功:
是,则将所冻结的所述若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的所述若干资产解冻。
4.根据权利要求3所述的方法,其特征在于,所述聚合签名算法为bls聚合签名算法;所述第一签名数据由所述第一客户端根据所述第一用户所持有的bls聚合签名私钥对所述第一交易集合进行签名生成;所述第二签名数据由所述第二客户端根据所述第二用户所持有的bls聚合签名私钥对所述第一交易集合进行签名生成;所述第一资产交换聚合交易由第一聚合签名数据、所述第一交易集合、所述第一用户所持有的bls聚合签名公钥、所述第二用户所持有的bls聚合签名公钥生成,所述第一聚合签名数据由所述第一客户端或所述第二客户端根据所述第一签名数据、所述第二签名数据聚合生成生成;
所述在所述第一资产交换聚合交易验证通过时包括:
根据所述第一用户所持有的bls聚合签名公钥、所述第二用户所持有的bls聚合签名公钥生成第一聚合公钥信息;
结合所述第一交易集合、根据双线性映射加密算法判断所述第一聚合签名数据和所述第一聚合公钥信息是否相匹配:
是,则认为所述第一资产交换聚合交易验证通过。
5.一种资产交换方法,其特征在于,适用于平行链节点,所述方法包括:
从主链获取第一资产交换聚合交易;其中,所述第一资产交换聚合交易由第一用户的第一客户端或第二用户的第二客户端根据第一签名数据、第二签名数据聚合生成并发送至主链,所述第一签名数据由所述第一客户端根据所述第一用户所持有的聚合签名私钥对第一交易集合进行签名生成,所述第二签名数据由所述第二客户端根据所述第二用户所持有的聚合签名私钥对所述第一交易集合进行签名生成,所述第一交易集合由所述第一客户端或第二客户端响应于所述第一用户想用若干条第一平行链上所持有的资产与所述第二用户在若干条第二平行链上所持有的对应的资产进行资产交换生成,所述第一交易内容集合包括各所述第一平行链的各平行链节点和各所述第二平行链的各平行链节点分别对应执行的各第一交易内容;
判断所述第一资产交换聚合交易中的第一标识中是否包括所属平行链的第二标识:
是,则在所述第一资产交换聚合交易验证通过时,执行对应的第一交易内容:冻结对应的第一交易内容中的交易发送方账户的若干资产;以及,
生成包括所述第一资产交换聚合交易的平行链区块的共识交易并发送至主链;
从主链获取第一确认交易;其中,所述第一确认交易由所述第一客户端或所述第二客户端在各包括所述第一资产交换聚合交易的平行链区块在主链均共识成功时生成;
根据所述交易哈希判断所属平行链上是否包括所述第一资产交换聚合交易:
是,则执行所述第一确认交易:从主链获取各共识成功的所述第一资产交换聚合交易的执行结果;
判断各所述执行结果是否均为执行成功:
是,则将所冻结的所述若干资产解冻,并划转至对应的第一交易内容的交易接收方账户;
否,则将所冻结的所述若干资产解冻。
6.根据权利要求5所述的方法,其特征在于,所述聚合签名算法为bls聚合签名算法;所述第一签名数据由所述第一客户端根据所述第一用户所持有的bls聚合签名私钥对所述第一交易集合进行签名生成;所述第二签名数据由所述第二客户端根据所述第二用户所持有的bls聚合签名私钥对所述第一交易集合进行签名生成;所述第一资产交换聚合交易由第一聚合签名数据、所述第一交易集合、所述第一用户所持有的bls聚合签名公钥、所述第二用户所持有的bls聚合签名公钥生成,所述第一聚合签名数据由所述第一客户端或所述第二客户端根据所述第一签名数据、所述第二签名数据聚合生成生成;
所述在所述第一资产交换聚合交易验证通过时包括:
根据所述第一用户所持有的bls聚合签名公钥、所述第二用户所持有的bls聚合签名公钥生成第一聚合公钥信息;
结合所述第一交易集合、根据双线性映射加密算法判断所述第一聚合签名数据和所述第一聚合公钥信息是否相匹配:
是,则认为所述第一资产交换聚合交易验证通过。
7.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-6中任一项所述的方法。
8.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062209.2A CN112184228B (zh) | 2020-09-30 | 2020-09-30 | 资产交换方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011062209.2A CN112184228B (zh) | 2020-09-30 | 2020-09-30 | 资产交换方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112184228A CN112184228A (zh) | 2021-01-05 |
CN112184228B true CN112184228B (zh) | 2023-05-30 |
Family
ID=73947657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011062209.2A Active CN112184228B (zh) | 2020-09-30 | 2020-09-30 | 资产交换方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184228B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113222576B (zh) * | 2021-05-25 | 2022-09-16 | 杭州复杂美科技有限公司 | 延时转账方法、计算机设备和存储介质 |
CN113407977B (zh) * | 2021-07-21 | 2022-06-10 | 杭州链网科技有限公司 | 基于聚合签名的跨链扩展方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110428332A (zh) * | 2019-07-29 | 2019-11-08 | 杭州复杂美科技有限公司 | 一种平行链跨链交易方法、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200162263A1 (en) * | 2018-11-15 | 2020-05-21 | Eleven01 International Limited | System and method of validation of block chain by secondary chain having incentivization and insurance coverage powered by proof of work |
-
2020
- 2020-09-30 CN CN202011062209.2A patent/CN112184228B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110428332A (zh) * | 2019-07-29 | 2019-11-08 | 杭州复杂美科技有限公司 | 一种平行链跨链交易方法、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
BitXHub:基于侧链中继的异构区块链互操作平台;叶少杰;汪小益;徐才巢;孙建伶;;计算机科学(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112184228A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438002B (zh) | 基于区块链的系统以及系统中的电子设备和方法 | |
WO2020024995A1 (zh) | 一种隐私交易方法、系统及设备 | |
CN112184228B (zh) | 资产交换方法、设备和存储介质 | |
EP3763078B1 (en) | Methods of electing leader nodes in a blockchain network using a role-based consensus protocol | |
JP2022536115A (ja) | ブロックの迅速な生成用の分散コンセンサスのアルゴリズム、デバイス及びコンピュータ可読記憶媒体 | |
CN111798238B (zh) | 平行链共识方法、设备和存储介质 | |
CN111478772B (zh) | 一种流水线友好的签名和验签方法、设备及存储介质 | |
CN108876538B (zh) | 一种订单信息处理方法 | |
CN113194146B (zh) | 领导节点确定方法、计算机设备和存储介质 | |
CN112749968B (zh) | 基于区块链的业务数据记录方法及装置 | |
EP3779932A1 (en) | Blockchain network and establishment method therefor | |
CN112184219A (zh) | 安全多方计算方法、电子设备及存储介质 | |
CN115244526A (zh) | 用于去中心化事务通信协议的方法和系统 | |
CN116032937A (zh) | 一种边缘计算设备算力交易方法及系统 | |
Baniata et al. | Prifob: a privacy-aware fog-enhanced blockchain-based system for global accreditation and credential verification | |
EP4131112A1 (en) | Electronic wallet and method for atomic swapping of two different blockchain tokens by using electronic wallet | |
KR20210122292A (ko) | 위치를 결정하거나 또는 검증하기 위한 컴퓨터-구현된 시스템 및 방법 | |
CN113112269B (zh) | 多重签名方法、计算机设备和存储介质 | |
EP4163855A1 (en) | Electronic wallet, server for executing same, and atomic exchange method of blockchain tokens by using same server | |
CN111798239B (zh) | 平行链共识方法、设备和存储介质 | |
Nguyen | Blockchain for internet of things: Data markets, learning, and sustainability | |
CN109615513B (zh) | 用于区块链内待交换价值或物品公平交换的方法和系统 | |
CN113627911A (zh) | 一种基于区块链匿名收发红包的方法、设备及储存介质 | |
CN113592643B (zh) | 资产定期解冻方法、计算机设备和存储介质 | |
CN112272208B (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 |