[go: up one dir, main page]

CN113407977B - 基于聚合签名的跨链扩展方法及系统 - Google Patents

基于聚合签名的跨链扩展方法及系统 Download PDF

Info

Publication number
CN113407977B
CN113407977B CN202110826497.2A CN202110826497A CN113407977B CN 113407977 B CN113407977 B CN 113407977B CN 202110826497 A CN202110826497 A CN 202110826497A CN 113407977 B CN113407977 B CN 113407977B
Authority
CN
China
Prior art keywords
chain
cross
signature
aggregation
user client
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
CN202110826497.2A
Other languages
English (en)
Other versions
CN113407977A (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.)
Hangzhou Lianwang Technology Co ltd
Original Assignee
Hangzhou Lianwang 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 Hangzhou Lianwang Technology Co ltd filed Critical Hangzhou Lianwang Technology Co ltd
Priority to CN202110826497.2A priority Critical patent/CN113407977B/zh
Publication of CN113407977A publication Critical patent/CN113407977A/zh
Application granted granted Critical
Publication of CN113407977B publication Critical patent/CN113407977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于聚合签名的跨链扩展方法,采用聚合公钥和聚合签名执行跨链,并增加用户签名权重,实现自主可控的去中心化跨链扩展,包括如下:利用用户客户端及多个托管节点的公钥生成聚合公钥,由聚合公钥派生聚合托管地址,通过用户客户端将第一区块链数字资产转移到聚合托管地址中,同时在第二区块链的账户钱包中铸造对应映射资产,其中,所述托管节点是在第二区块链的验证节点中选取的,所述映射资产是在第二区块链中流通并与第一区块链数字资产按照固定比率换算;响应于用户客户端选择签名权重触发适配的跨链需求,验证节点在第二区块链进行共识验证,执行相应跨链交易,其中,所述供用户客户端选择的签名权重阈值设置在第一区块链中。

Description

基于聚合签名的跨链扩展方法及系统
技术领域
本发明属于区块链及跨链技术领域,具体涉及一种基于聚合签名的跨链扩展方法及系统。
背景技术
区块链作为一种分布式账本技术,可以被应用诸多领域,但是受吞吐量、网络孤立性、监管、伸缩性等因素的制约,目前各种区块链跨链项目正在飞速发展。其中轻节点结合多签托管跨链是目前主流落地跨链方式。
多重数字签名的概念首先被Okamoto和Takura等人发表并同时设计出一个具体的算法方案,多重签名可以将一个账户的权力分散在多个密钥上,防止一个密钥丢失导致整个账户失控的情况。一个账户的资产操作交易需要多个相对独立的私钥对一个消息明文进行签名,当签名数量足够多时交易才生效。因为在区块链系统的账户体现中直接支持多重签名算法需要更改整个区块链的架构设计,所以该方法的具体实现多用于智能合约中,事先规定好签名和需要的签名数量阈值。那么多重签名方法的安全性取决于智能合约的设计和实现,而且灵活性不高,因为智能合约一旦部署之后就很难更改。多重签名方法在一定的场景下能发挥其安全性,但是较低的灵活性很难得到广泛使用。
一般情况下,在跨链共识过程中,所有节点都需要对整个区块进行签名,并将相关数据,如区块数据、节点公钥、签名数据存储在区块中。随着应用使用量增加,签名相关存储数据也会不停增长。不同于传统应用,链上数据在理论上只增不减,而海量签名带来的海量数据,对于数据存储、网络传输、签名验证都是巨大负担。在保证海量签名数据可验证的前提下,对数字签名数据进行聚合压缩,其具体技术如何实现?
当前大多数联盟链共识采用ECDSA签名算法。针对区块数据,每个节点用自身私钥生成独立的数字签名,并广播给其他节点。其他节点会验证该签名,并将其写入下一区块数据中。使用这种方式,当共识节点数较多时,会导致每轮共识区块存储的签名数据不断增加,占用存储空间。每当新节点加入网络,需要同步历史区块时,大量签名数据会对网络带宽造成不小的挑战。
相比直接保存多个独立签名,使用聚合签名技术后,每个节点会收集其他节点广播的聚合签名分片,然后将签名分片聚合保存。把多个公钥或多个私钥签名聚合成一个新的公钥或一个新的签名,可以包含复杂的兑换条件和资金使用细节,再把所有这些内容作为一个新的资金使用条件(新的聚合签名锁)提供给外界使用。这样就减少在区块链上传输和存储的数据量,使得单个区块包含的成交更多,进而降低成本,起到了扩容的效果。并且当新节点加入时,同步历史区块只需下载聚合后的签名数据,大大减少对网络带宽的占用。
同时在多个托管人控制的跨链执行中,仍存在托管中心化问题,跨链控制权掌握在少量托管人手中,跨链用户无法对自己的跨链资产进行自主有效控制,并且在链外进行多次签名确认,需要披露整个脚本,如果条件复杂,数据量会很大,执行起来也贵,效率不高,此外,它也不利于隐私,因为脚本会揭示所有参与方的信息。
因此亟需一种在增加跨链性能的基础上,能够保障用户的自主可控性及跨链隐私安全的方法,进一步完善跨链技术。
发明内容
鉴于上述,本发明提供了一种基于聚合签名的跨链扩展方法,用于在多签跨链执行的基础上,对签名数据进行聚合压缩,并且保障用户自主可控性和隐私安全,增加跨链的去中心化程度。
一种基于聚合签名的跨链扩展方法,采用聚合公钥和聚合签名执行跨链,并增加用户签名权重,实现自主可控的去中心化跨链扩展,具体包括如下:
利用用户客户端及多个托管节点的公钥生成聚合公钥,由聚合公钥派生聚合托管地址,用户客户端转移第一区块链数字资产到聚合托管地址中,同时在第二区块链的账户钱包中铸造对应映射资产;其中,所述托管节点是在第二区块链的验证节点中选取的;完成第一区块链数字资产在第二区块链的映射跨链。所述映射资产是在第二区块链中流通并与第一区块链数字资产按照固定比率换算;
在传统多签跨链中,每个托管节点都包含独自的跨链资产托管地址,将跨链资产存储在多个托管人地址中,在这里生成聚合公钥并派生聚合托管地址,只需将跨链资产一次性存储在聚合托管地址中,减少存储数据量,提高托管效率;
托管节点从验证节点中通过抵押资产选取获得,即托管节点就是验证节点,提高托管节点的安全性,实现链上自主签名,改变链外多签验证。在这种思维逻辑下,托管节点越接近于无穷,越去中心化,且该跨链账户的最终决定权也都在用户自己手里。
响应于用户客户端选择签名权重触发适配的跨链需求,验证节点在第二区块链进行共识验证,执行相应跨链交易,其中,所述供用户客户端选择的签名权重阈值设置在第一区块链中。
在这里,让用户的权重可以在0到1/3之间的权重之间平滑移动来适应不同的跨链场景,在这里存在两个极端:
比如用户A去跨链,所有N个托管节点里面没有A用户,当N趋近于无穷,整个跨链系统去中心化且安全,增加了可拓展性,因为跨到第二区块链上的第一区块链数字资产是可以无限制的操作,是由固定的一群托管节点去托管,用户A在第二区块链上去怎么操作都没关系。
另外一个极端,A用户去跨链,A参与了托管节点中,且占了1/3的权重,由于POW共识,当大于2/3签名跨链资产才能转移,那这种情况下,A的账户控制权基本在A手里。A是不能去随便转移跨链资产的,因为A转移了,但跨链资产网络上的控制权还在A。
如果A只想把第一区块链的数字资产转移到第二区块链上去收益分红,而不是交易,那他想要绝对的安全,那这种1/3的权限,很适合这种场景。A的权限在这两个极端之间,也就是在区间[0,1/3]上都是有相应的应用场景的。
也就是在该跨链体系中,为用户提供了很多种0,1/3之间的权限选择,具体怎么选择,要看用户在第二区块链上选择相应的场景。
参与用户虽然可自主选择签名权重,但其无法作恶,比如用户占有1/3的私钥签名权限,那他跨到第二区块链上的跨链资产,就不能做任何的转移,因为他权重太大,第二区块链上的其他签名节点总体权重不足2/3,在本系统中跨链资产转移是转换成第二区块链内部映射资产的转移,在这里,用户不得参与签名,只有第二区块链中的参与签名的节点进行签名共识,由于此时其他签名节点的总体权重不足2/3,所以无法在第二区块链中完成映射资产的内部转移共识,进一步无法完成跨链资产的转移。
所以,用户在选择用签名权限时,可以根据他跨链过去以后的用途来选择,
如果选择错了,那做不了他所说的功能,比如用户选择了1/3的权重模式,但用户想要在第二区块链上进行跨链转移,就无法实现,此时用户智能选择小于1/3的权重或者0权重进行跨链转移。
进一步地,还包括:
第一区块链和第二区块链通过部署对方轻节点验证跨链交易信息的真实性,通过中继程序转接第一区块链和第二区块链的跨链消息通信。
所谓轻节点是只需要存储Block Header,而不存储全量的交易列表等信息。通过Merkle证明来判断一笔交易是否在现在的区块链交易列表中,本发明中采用多链轻节点验证逻辑,在有各链资产块头的情况下通过Merkle证明验证交易真实存在;
比如在第一区块链中部署第二区块链的轻节点,实时记录第二区块链区块头信息,获取用户客户端在第二区块链中产生的关联第一区块链的跨链信息,并在第一区块链中及时验证跨链信息的真实性。而设置中继程序是作为第一区块链和第二区块链的跨链转接,连接第一区块链和第二区块链的跨链通信。
进一步地,利用用户客户端和多个托管节点公钥生成聚合公钥,由聚合公钥派生聚合托管地址,具体如下:
在第二区块链中设置关联第一区块链的中继程序,在中继程序中从第二验证节点中选取多个托管节点,并为托管节点分配随机密钥;
利用统一椭圆基点依次为用户客户端和所有托管节点生成签名公钥,集合所有签名公钥生成聚合公钥,由聚合公钥进行哈希计算派生聚合托管地址。
在这里,用户客户端和托管节点均有各自的随机密钥,用于生成聚合公钥和参与聚合签名。在聚合托管地址中存放跨链资产(第一区块链数字资产),避免将跨链资产存放在多个单独的托管地址中,并且该聚合托管地址,跨链用户有所参与,减少了托管节点的把控力度,降低风险。
进一步地,所述供用户客户端选择的签名权重阈值设置在第一区块链中,具体如下:
在第一区块中设置用户客户端将第一区块链数字资产跨链至第二区块链的用户参与多重签名的签名权重,其权重阈值范围为[0,1/3];
根据用户跨链业务应用场景提出的跨链提现和跨链转移,的跨链需求,针对跨链提现和跨链转移,用户客户端在签名权重阈值范围内依次适配选择满足相应跨链POW共识验证的签名权重。
特别地,所述跨链提现实现流程如下:
响应用户客户端在第二区块链上的跨链提现请求,托管节点组建提现交易并发送到中继程序中,并发起跨链提现的多重签名交易;所述提现交易至少包括数字资产提现数量和用户账户,在第一区块链中通过轻节点方案确认提现交易有效性;
确认有效后,用户客户端选择签名权重,启动签名聚合机制,联合托管节点利用各自私钥依次对跨链提现信息进行多重签名,并将生成的多重签名进行聚合,生成聚合签名,并集合参与签名的用户客户端和托管节点公钥形成公钥列表;
在第二区块链中验证节点根据公钥列表和跨链消息对聚合签名验签,并统计用户客户端和托管节点累加签名份额,所述累加签名份额超过总体数量的2/3后,执行POW共识;
在第一区块链中通过轻节点方案确认提现交易有效性,将跨链资产从托管地址转账到用户账户,同时销毁第二区块链上的映射资产。
转出聚合托管地址的跨链资产,需要发起多重签名交易,多重签名交易的执行需要达到指定的共识阈值,一般设为总占比的2/3。采用聚合签名的形式,用户和托管节点能够共同发起一笔多重签名交易,其中若用户的签名占总权重的1/3,其他托管的签名权重接近2/3。在这种设置下,托管的跨链资产完成转账的前提是用户对这笔交易进行签名,其他托管节点的总权重小于2/3,即使全部通过也无法完成多重签名交易。因此,在用户参与聚合签名的情况下,用户自身对托管资产进行了有效控制,削减了以往方案中信托的中心化管理。
采用聚合公钥和聚合签名的方案,能有效压缩交易脚本字节数从而显著降低交易手续费,并且托管节点没有最大人数限制,随着托管节点数N的增加,跨链的去中心化程度会不断提高。
特别地,所述跨链转移实现流程如下:
响应用户客户端跨链转移请求,托管节点组建转移交易并发送到中继程序中,所述转移交易至少包括数字资产转移数量,聚合托管地址,用户客户端映射资产钱包地址,目标客户端映射资产钱包地址,在第一区块链中通过轻节点方案确认转移交易有效性;
确认有效后,在中继程序中托管节点查询聚合托管地址中数字资产余额是否达到转移金额;
未达到转移金额时,则关联用户客户端向聚合托管地址存储含转移数量的跨链数字资产,同时在绑定的映射资产钱包中铸造对应的映射资产;
若达到,用户客户端选择签名权重,并在第二区块链中发起对应映射资产转移交易,交易信息包括映射资产转移数量、用户客户端映射资产钱包地址,目标客户端映射资产钱包地址;
第二区块链验证节点对映射资产转移交易进行共识验证,验证通过后从用户客户端映射资产钱包地址转移所需的映射资产到目标客户端映射资产钱包地址;
同时销毁用户客户端在聚合托管地址中相应数量的跨链资产。
跨链提现过程需要进行多重签名来确保跨链资产在聚合托管地址和用户客户端账户地址的相互转移,而跨链转移是将跨链资产转换为第二区块链的相应的映射资产,进而在第二区块链内部进行映射资产的流转,无需进行跨链的多签托管验证。
特别地,所述签名聚合机制具体包括如下步骤:
选择统一椭圆曲线基点依次对参与签名者的随机私钥计算签名公钥;所述参与签名者包括用户客户端和托管节点;
将所有签名公钥集合后进行哈希运算,生成公钥列表;
每个参与签名者选择随机数,利用所述椭圆曲线基点计算所述随机数的派生随机数,所有派生随机数求和生成聚合随机数;
对公钥列表及签名公钥进一步哈希运算获得聚合公钥;
参与签名者利用随机数、聚合公钥、聚合随机数和参与签名者随机私钥对所述提现交易进行签名,将所有签名求和后与聚合随机数生成聚合签名;
在执行提现交易时,验证节点根据提现交易信息、公钥列表利用椭圆曲线算法对聚合签名进行验签。
在这里,签名聚合机制部署在中继程序中,关联第一区块链和第二区块链,将多个签名数据压缩合并成单个聚合签名。验证者通过所有签名相关的数据和公钥组成的列表对单个聚合签名进行验证,若验证通过,其效果等同于对所有相关签名进行独立验证且全部通过。
进一步地,其特征在于,还包括采用MAST结构加密存储签名脚本,具体如下:
在执行跨链提现和跨链转移签名过程中,将用户客户端和托管节点生成的签名脚本进行哈希处理,生成相应哈希值存储在MAST树中,并逐层向上递归,最终生成一个哈希值存储在顶端默克尔根中。
可以隐藏比特币脚本的踪迹,当验证跨链交易时就不需要暴露全部的脚本信息,只需要提供默克尔根和抵达某使用条件的默克尔路径上的数据,其他信息仍然是哈希密文状态。这些复杂的功能看上去是一次交易,其中的签名脚本可以被隐藏起来,而用户只能看到这些对等交易。这样一来,MAST脚本结构不仅通过隐藏脚本和模糊密钥提高了可扩展性和隐私性,还增加了数据处理效率。
一种基于聚合签名的跨链扩展系统,包括聚合铸造模块和验证执行模块;
所述聚合铸造模块,利用用户客户端及多个托管节点的公钥生成聚合公钥,由聚合公钥派生聚合托管地址,通过用户客户端将第一区块链数字资产转移到聚合托管地址中,同时在第二区块链的账户钱包中铸造对应映射资产,其中,所述托管节点是在第二区块链的验证节点中选取的,所述映射资产是在第二区块链中流通并与第一区块链数字资产按照固定比率换算;
所述验证执行模块,响应于用户客户端选择签名权重触发适配的跨链需求,验证节点在第二区块链进行共识验证,执行相应跨链交易,其中,所述供用户客户端选择的签名权重阈值设置在第一区块链中。
作为一种可实施方式,所述聚合铸造模块被设置为:
在第一区块中设置用户客户端将第一区块链数字资产跨链至第二区块链的用户参与多重签名的签名权重,其权重阈值范围为[0,1/3];
根据用户跨链业务应用场景提出跨链提现和跨链转移的跨链需求,针对跨链提现和跨链转移,用户客户端在签名权重阈值范围内依次适配选择满足相应跨链POW共识验证的签名权重。
本发明设计一种基于聚合签名的跨链扩展方法,具有以下优势:
(1)利用聚合签名机制压缩多签跨链存储数据,扩展跨链操作性能;
(2)托管节点来自验证节点,避免链下托管,实现链上自主签名,改变链外多签验证;
(3)增加用户签名权重,加大用户对其托管资产的可控程度,并且无限增加托管节点数量,增加去中心化程度;
(4)设置用户签名权重阈值,用户签名权重自主可选,灵活适配跨链应用场景;
(5)利用Merkel抽象语法树(MAST)加密签名脚本,进一步扩展跨链执行的隐私保护。
附图说明
图1为本发明跨链架构示意图;
图2为本发明托管跨链流程图;
图3为用户选择签名权重参与聚合签名的示意图;
图4为MAST结构加密存储签名脚本示意图;
图5为本发明轻节点验证流程图;
图6为提供默克尔树证明示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
实施例1:
本发明提出一种基于聚合签名的跨链扩展方法,采用聚合公钥和聚合签名执行跨链,并增加用户签名权重,实现自主可控的去中心化跨链扩展。
在本实施例中,设定链A为第一区块链,链B为第二区块链,链A上的数字资产M可跨链到链B,在链B中对应M的映射资产为XM,其映射比率为1:1;
在链B上存在多个验证节点用于共识验证其链上交易,按照抵押规则验证节点可通过抵押其所属数字资产成为关联A和B的托管节点,其中每个托管节点都分配有用于多签的各自独立的随机密钥和资产托管地址;同时在链A部署链B的轻节点用于获取链B中的相关跨链信息,在链B上设置中继程序关联链A,部署聚合签名机制用于管理托管节点以及向链A转接链B的跨链消息,其跨链架构如图1所示。
1、用户客户端将用户a的链A的数字资产M跨链到B链,如图2所示,具体包括如下:
(1)首先生成聚合托管地址:
从链B的验证节点中选举多个固定托管节点(1…i…n)n>=2,并分配随机密钥ski,用户客户端提供跨链用户a的密钥ska,选择统一椭圆曲线基点G依次对托管节点的随机密钥和用户a的密钥计算签名公钥PKi=ski·G,PKa=ska·G;
计算公钥列表L=hash(PK1…PKi,PKa…PKn);
对公钥列表及签名公钥进一步哈希运算获得聚合公钥:
P=hash(L,PK1)·PK1+hash(L,PKi)·PKi+hash(L,PKa)·PKa+…+hash(L,PKn)·PKn);
由聚合公钥P进一步派生聚合托管地址D:hash(P,r),r为随机数。
(2)托管跨链资产M,并生成映射资产XM:
在用户客户端从用户a的链A的账户地址中转移跨链资产M到聚合托管地址D中,同时在链B的账户钱包中铸造对应比率的映射资产XM,完成用户a的链A的数字资产M到B链的跨链。
此时用户a参与了聚合公钥和聚合托管地址的生成,用户a的权重为1/(1+n),当托管节点为50个时,用户a的权重为1/51,在该权重下用户a可以实现链A数字资产到链B的跨链以及链A数字资产的跨链提现和转移。
2、用户a从链B中将跨链资产M提现:
在链A中设置用户a可选择签名权重阈值[0,1/3],用户a选择签名权重适配其跨链需求,响应跨链需求,验证节点在链B进行共识验证,执行相应跨链交易。其中验证节点正常共识验证的阈值是2/3,也就是说发生一个交易时,至少得2/3的节点达到共识后方可执行交易。
在本实施例中,用户a选择1/3的签名权重进行资产M的跨链提现操作,图3为用户选择签名权重参与聚合签名的示意图。
跨链提现操作具体流程如下:
响应用户客户端上用户a在链B上的跨链提现请求,托管节点组建提现交易TM并发送到中继程序中,并发起跨链提现的多重签名交易;所述提现交易至少包括数字资产M提现数量和用户账户地址d;
用户a选择1/3的签名权重,启动签名聚合机制,联合托管节点利用各自私钥依次对跨链提现信息进行多重签名,并将生成的多重签名进行聚合,生成聚合签名:
每个托管节点和用户a选择随机数ki/ka,利用上文中椭圆曲线基点G计算随机数的派生随机数Ri/Ra,所有派生随机数求和生成聚合随机数R=(R1+…+Ri+Ra+…Rn);
参与签名者利用随机数、聚合公钥、聚合随机数和参与签名者随机私钥对所述提现交易进行签名:
Si=ki+hash(P,R,TM)·ski;Sa=ka+hash(P,R,TM)·ska
将所有签名求和S=(S1+…+Si+Sa+…Sn);
与聚合随机数生成聚合签名(R,S)。
在执行提现交易时,在链B中验证节点根据公钥列表L和跨链信息TM对聚合签名验签(R,S):
验证是否存在S·G=R+hash(P,R,TM)·P,若存在,则验证成功,若不存在,则验证失败。
并统计用户a和托管节点累加签名份额=签名权重·签名数量,所述累加签名份额超过总体数量的2/3后,进行POW共识;
在这里同时需要在链A中通过轻节点验证确认链B中发生的跨链提现信息的真实性,确认提现交易有效性,将跨链资产M从托管地址转账到用户a账户,同时销毁链B上的映射资产XM。
3、用户a跨链转移托管资产M到用户b,实现流程如下:
响应用户客户端用户a跨链转移请求,托管节点组建转移交易tx并发送到中继程序中,转移交易tx至少包括M转移数量NUM,聚合托管地址D,用户客户端映射资产钱包地址da,目标客户端映射资产钱包地址db;在链A中通过轻节点方案确认转移交易有效性;
确认有效后,在中继程序中托管节点查询聚合托管地址D中M余额是否达到NUM;
未达到转移金额时,则关联用户客户端通知用户a向聚合托管地址存储满足转移数量的M,同时在绑定的映射资产钱包中铸造对应的映射资产XM;
若达到,用户客户端用户a选择签名权重(假定是0,因为此事其权重越小,其共识通过的几率越大),并在链B中发起对应映射资产XM转移交易tx’,交易信息包括映射资产转移数量NUM、用户客户端映射资产钱包地址da,目标客户端映射资产钱包地址db
链B验证节点对映射资产转移交易tx’进行共识验证,当由2/3的验证节点对其交易达成共识后,验证通过,从da转移所需的NUM个XM到db
同时销毁用户a在聚合托管地址D中相应数量的跨链资产M。
此时用户b可通过跨链提现操作将相应的XM转换为其对应的数字资产M,完成跨链转移。
整个过程中签名聚合机制具体实施如下:
选择统一椭圆曲线基点依次对参与签名者的随机私钥计算签名公钥;所述参与签名者包括用户客户端用户和托管节点;
将所有签名公钥集合后进行哈希运算,生成公钥列表;
每个参与签名者选择随机数,利用所述椭圆曲线基点计算所述随机数的派生随机数,所有派生随机数求和生成聚合随机数;
对公钥列表及签名公钥进一步哈希运算获得聚合公钥;
参与签名者利用随机数、聚合公钥、聚合随机数和参与签名者随机私钥对所述提现交易进行签名,将所有签名求和后与聚合随机数生成聚合签名;
在执行提现交易时,验证节点根据提现交易信息、公钥列表利用椭圆曲线算法对聚合签名进行验签。
实施例2:
在执行跨链提现和跨链转移签名过程中,采用MAST结构加密存储签名脚本,具体如下:
将用户客户端和托管节点生成的签名脚本进行哈希处理,生成相应哈希值存储在MAST树中,并逐层向上递归,最终生成一个哈希值存储在顶端默克尔根中。
如图4所示为MAST结构加密存储签名脚本示意图:
在跨链提现过程中由托管节点和用户多重签名产生的签名脚本3,和在跨链转移过程中由验证节点1和验证节点2产生的签名脚本1和签名脚本2,经过哈希运算并存储在MAST树中,最终计算出该MAST树的默克尔根Hash(1,2&3)。也就是说在输出签名脚本时,只需要提供MAST树中默克尔根和默克尔路径上该签名相关数据,其他签名信息仍然是哈希密文状态输出。
实施例3:
链A和链B通过部署对方轻节点验证跨链交易信息的真实性,通过中继程序转接链A和链B的跨链消息通信。
1)响应用户a跨链交易请求,链A的轻节点监听到包含跨链交易链B的区块头,轻节点验证逻辑如下:
轻节点包含区块链的区块头信息,只需要维护所有交易经过merkle tree计算而得的roothash值,即根据跨链交易请求确认包含跨链交易的当前区块头。
如图5中的区块头2,通过对比轻节点中区块头2中保存的默克尔树根(MerkleRoot)和链A提供的默克尔树证明(Merkle Proof)获得的root hash值,如图6所示为链A提供的默克尔树证明(Merkle Proof)获取的跨链交易(跨链提现或跨链转移)TX3,若一致,则区块2包含特定的交易;若不一致则不包括;
设定验证阈值为6,包含交易的区块2后面的6个区块均进行的POW共识,即该区块2在第一区块链中进行了6次共识验证,则确认该跨链交易真实存在。
实施例2:
一种基于聚合签名的跨链扩展系统,包括聚合铸造模块和验证执行模块;
所述聚合铸造模块,利用用户客户端及多个托管节点的公钥生成聚合公钥,由聚合公钥派生聚合托管地址,通过用户客户端将第一区块链数字资产转移到聚合托管地址中,同时在第二区块链的账户钱包中铸造对应映射资产,其中,所述托管节点是在第二区块链的验证节点中选取的,所述映射资产是在第二区块链中流通并与第一区块链数字资产按照固定比率换算;
所述验证执行模块,响应于用户客户端选择签名权重触发适配的跨链需求,验证节点在第二区块链进行共识验证,执行相应跨链交易,其中,所述供用户客户端选择的签名权重阈值设置在第一区块链中。
更加具体地,所述聚合铸造模块被设置为:
在第一区块中设置用户客户端将第一区块链数字资产跨链至第二区块链的用户参与多重签名的签名权重,其权重阈值范围为[0,1/3];
根据用户跨链业务应用场景提出跨链提现和跨链转移的跨链需求,针对跨链提现和跨链转移,用户客户端在签名权重阈值范围内依次适配选择满足相应跨链POW共识验证的签名权重。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

Claims (10)

1.一种基于聚合签名的跨链扩展方法,其特征在于,采用聚合公钥和聚合签名执行跨链,并增加用户签名权重,实现自主可控的去中心化跨链扩展,具体包括如下:
利用用户客户端及多个托管节点的公钥生成聚合公钥,由聚合公钥派生聚合托管地址,通过用户客户端将第一区块链数字资产转移到聚合托管地址中,同时在第二区块链的账户钱包中铸造对应映射资产,其中,所述托管节点是在第二区块链的验证节点中选取的,所述映射资产是在第二区块链中流通并与第一区块链数字资产按照固定比率换算;
响应于用户客户端选择签名权重触发适配的跨链需求,验证节点在第二区块链进行共识验证,执行相应跨链交易,其中,供用户客户端选择的签名权重阈值设置在第一区块链中。
2.根据权利要求1所述的基于聚合签名的跨链扩展方法,其特征在于,还包括:
第一区块链和第二区块链通过部署对方轻节点验证跨链交易信息的真实性,通过中继程序转接第一区块链和第二区块链的跨链消息通信。
3.根据权利要求1或2所述的基于聚合签名的跨链扩展方法,其特征在于,利用用户客户端和多个托管节点公钥生成聚合公钥,由聚合公钥派生聚合托管地址,具体如下:
在第二区块链中设置关联第一区块链的中继程序,在中继程序中从第二验证节点中选取多个托管节点,并为托管节点分配随机密钥;
利用统一椭圆基点依次为用户客户端和所有托管节点生成签名公钥,集合所有签名公钥生成聚合公钥,由聚合公钥进行哈希计算派生聚合托管地址。
4.根据权利要求1所述的基于聚合签名的跨链扩展方法,其特征在于,所述供用户客户端选择的签名权重阈值设置在第一区块链中,具体为:
在第一区块中设置用户客户端将第一区块链数字资产跨链至第二区块链的用户参与多重签名的签名权重,其权重阈值范围为[0,1/3];
根据用户跨链业务应用场景提出跨链提现和跨链转移的跨链需求,针对跨链提现和跨链转移,用户客户端在签名权重阈值范围内依次适配选择满足相应跨链POW共识验证的签名权重。
5.根据权利要求4所述的基于聚合签名的跨链扩展方法,其特征在于,所述跨链提现实现流程如下:
响应用户客户端跨链提现请求,托管节点组建提现交易并发送到中继程序中,并发起跨链提现的多重签名交易;所述提现交易至少包括数字资产提现数量和用户账户,在第一区块链中通过轻节点方案确认提现交易有效性;
确认有效后,用户客户端选择签名权重,启动签名聚合机制,联合托管节点利用各自私钥依次对跨链提现信息进行多重签名,并将生成的多重签名进行聚合,生成聚合签名,并集合参与签名的用户客户端和托管节点公钥形成公钥列表;
在第二区块链中验证节点根据公钥列表和跨链消息对聚合签名验签,并统计用户客户端和托管节点累加签名份额,所述累加签名份额超过总体数量的2/3后,执行POW共识;
将跨链资产从托管地址转账到用户账户,同时销毁第二区块链上的映射资产。
6.根据权利要求4所述的基于聚合签名的跨链扩展方法,其特征在于,所述跨链转移实现流程如下:
响应用户客户端跨链转移请求,托管节点组建转移交易并发送到中继程序中,所述转移交易至少包括数字资产转移数量,聚合托管地址,用户客户端映射资产钱包地址,目标客户端映射资产钱包地址,在第一区块链中通过轻节点方案确认转移交易有效性;
确认有效后,在中继程序中托管节点查询聚合托管地址中数字资产余额是否达到转移金额;
未达到转移金额时,则关联用户客户端向聚合托管地址存储含转移数量的跨链数字资产,同时在绑定的映射资产钱包中铸造对应的映射资产;
若达到,用户客户端选择签名权重,并在第二区块链中发起对应映射资产转移交易,交易信息包括映射资产转移数量、用户客户端映射资产钱包地址,目标客户端映射资产钱包地址;
第二区块链验证节点对映射资产转移交易进行共识验证,验证通过后从用户客户端映射资产钱包地址转移所需的映射资产到目标客户端映射资产钱包地址;
同时销毁用户客户端在聚合托管地址中相应数量的跨链资产。
7.根据权利要求5所述的基于聚合签名的跨链扩展方法,其特征在于,所述签名聚合机制,包括以下步骤:
选择统一椭圆曲线基点依次对参与签名者的随机私钥计算签名公钥,其中,所述参与签名者包括用户客户端和托管节点;
将所有签名公钥集合后进行哈希运算,生成公钥列表;
每个参与签名者选择随机数,利用所述椭圆曲线基点计算所述随机数的派生随机数,所有派生随机数求和生成聚合随机数;
对公钥列表及签名公钥进一步哈希运算获得聚合公钥;
参与签名者利用随机数、聚合公钥、聚合随机数和参与签名者随机私钥对所述提现交易进行签名,将所有签名求和后与聚合随机数生成聚合签名;
在执行提现交易时,验证节点根据提现交易信息、公钥列表利用椭圆曲线算法对聚合签名进行验签。
8.根据权利要求1所述的基于聚合签名的跨链扩展方法,其特征在于,还包括采用MAST结构加密存储签名脚本的步骤,具体为,在执行跨链提现和跨链转移签名过程中,将用户客户端和托管节点生成的签名脚本进行哈希处理,生成相应哈希值存储在MAST树中,并逐层向上递归,最终生成哈希值存储在顶端默克尔根中。
9.一种基于聚合签名的跨链扩展系统,其特征在于,包括聚合铸造模块和验证执行模块;
所述聚合铸造模块,利用用户客户端及多个托管节点的公钥生成聚合公钥,由聚合公钥派生聚合托管地址,通过用户客户端将第一区块链数字资产转移到聚合托管地址中,同时在第二区块链的账户钱包中铸造对应映射资产,其中,所述托管节点是在第二区块链的验证节点中选取的,所述映射资产是在第二区块链中流通并与第一区块链数字资产按照固定比率换算;
所述验证执行模块,响应于用户客户端选择签名权重触发适配的跨链需求,验证节点在第二区块链进行共识验证,执行相应跨链交易,其中,供用户客户端选择的签名权重阈值设置在第一区块链中。
10.根据权利要求9所述的基于聚合签名的跨链扩展系统,其特征在于,所述聚合铸造模块被设置为:
在第一区块中设置用户客户端将第一区块链数字资产跨链至第二区块链的用户参与多重签名的签名权重,其权重阈值范围为[0,1/3];
根据用户跨链业务应用场景提出跨链提现和跨链转移的跨链需求,针对跨链提现和跨链转移,用户客户端在签名权重阈值范围内依次适配选择满足相应跨链POW共识验证的签名权重。
CN202110826497.2A 2021-07-21 2021-07-21 基于聚合签名的跨链扩展方法及系统 Active CN113407977B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110826497.2A CN113407977B (zh) 2021-07-21 2021-07-21 基于聚合签名的跨链扩展方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110826497.2A CN113407977B (zh) 2021-07-21 2021-07-21 基于聚合签名的跨链扩展方法及系统

Publications (2)

Publication Number Publication Date
CN113407977A CN113407977A (zh) 2021-09-17
CN113407977B true CN113407977B (zh) 2022-06-10

Family

ID=77687336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110826497.2A Active CN113407977B (zh) 2021-07-21 2021-07-21 基于聚合签名的跨链扩展方法及系统

Country Status (1)

Country Link
CN (1) CN113407977B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113962693B (zh) * 2021-09-18 2025-03-21 中国科学院信息工程研究所 一种用于区块链系统的私钥托管、恢复方法及系统
CN113988831B (zh) * 2021-10-08 2025-05-02 深圳前海微众银行股份有限公司 一种基于联盟链的转账方法
CN114037449A (zh) * 2021-11-02 2022-02-11 杭州复杂美科技有限公司 跨链资产转移方法、计算机设备和存储介质
CN114172661B (zh) * 2021-12-03 2023-12-08 杭州链网科技有限公司 一种数字资产的双向跨链方法、系统及装置
CN114726548B (zh) * 2022-05-19 2022-11-11 国网数字科技控股有限公司 一种支持跨链的绿电溯源方法及系统
CN115439110B (zh) * 2022-08-15 2025-08-15 上海万向区块链股份公司 基于Raft共识的多重签名跨链方法及系统
CN117917681B (zh) * 2022-10-20 2026-01-09 腾讯科技(深圳)有限公司 基于多区块链的资产转移方法、装置、设备、介质及产品
CN116346357A (zh) * 2023-03-26 2023-06-27 天津大学 一种基于区块链的跨队列数据访问的身份认证方法
CN116483918A (zh) * 2023-04-15 2023-07-25 复旦大学 基于区块链的小说接龙系统
CN117745283B (zh) * 2023-12-29 2025-11-28 蚂蚁区块链科技(上海)有限公司 区块链系统的资源管理方法、区块链节点和区块链系统
CN117592991B (zh) * 2024-01-18 2024-04-26 暨南大学 一种基于门限签名的高效区块链跨链数据交换方法
CN119515385B (zh) * 2024-11-06 2025-12-12 上海交通大学 支持隐形地址和签名聚合的全功能分层确定性钱包模型

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685486A (zh) * 2018-11-28 2019-04-26 杭州云象网络技术有限公司 一种基于区块链技术的聚合链架构
CN111769948A (zh) * 2020-06-15 2020-10-13 布比(北京)网络技术有限公司 基于区块链的链间交互方法、系统、装置和计算机设备
CN112184228A (zh) * 2020-09-30 2021-01-05 杭州复杂美科技有限公司 资产交换方法、设备和存储介质
CN113032482A (zh) * 2021-03-10 2021-06-25 杭州链网科技有限公司 一种跨链转接桥的构建方法及系统
CN113114759A (zh) * 2021-04-09 2021-07-13 杭州链网科技有限公司 一种实现多链互通的跨链方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210049600A1 (en) * 2018-05-18 2021-02-18 Qredo Ltd. Digital Asset Delivery Network
MX2022002685A (es) * 2019-09-06 2022-06-02 Bosonic Inc Sistema y método para proporcionar un proceso de registro basado en una cadena de bloques.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685486A (zh) * 2018-11-28 2019-04-26 杭州云象网络技术有限公司 一种基于区块链技术的聚合链架构
CN111769948A (zh) * 2020-06-15 2020-10-13 布比(北京)网络技术有限公司 基于区块链的链间交互方法、系统、装置和计算机设备
CN112184228A (zh) * 2020-09-30 2021-01-05 杭州复杂美科技有限公司 资产交换方法、设备和存储介质
CN113032482A (zh) * 2021-03-10 2021-06-25 杭州链网科技有限公司 一种跨链转接桥的构建方法及系统
CN113114759A (zh) * 2021-04-09 2021-07-13 杭州链网科技有限公司 一种实现多链互通的跨链方法及系统

Also Published As

Publication number Publication date
CN113407977A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
CN113407977B (zh) 基于聚合签名的跨链扩展方法及系统
US11257077B2 (en) Blockchain system for confidential and anonymous smart contracts
CN106899698B (zh) 一种区块链之间的跨链互操作方法
CN109858281B (zh) 一种基于零知识证明的区块链账户模型隐私保护方法
Ruffing et al. Liar, liar, coins on fire! Penalizing equivocation by loss of bitcoins
Tomescu et al. Utt: Decentralized ecash with accountable privacy
CN109741068B (zh) 网银跨行签约方法、装置及系统
CN113556237B (zh) 基于聚合多签的阈值签名方法、系统、装置及存储介质
Asfia et al. Energy trading of electric vehicles using blockchain and smart contracts
CN109743182B (zh) 基于区块链的智能合约核准方法及系统
Wadhwa et al. He-htlc: Revisiting incentives in htlc
CN109245894B (zh) 一种基于智能合约的分布式云存储系统
CN114553604B (zh) 一种物联网终端节点访问控制方法
CN115801260B (zh) 一种不可信网络环境下区块链辅助的协作式攻防博弈方法
Ye et al. Garou: An efficient and secure off-blockchain multi-party payment hub
Khalil et al. Fakey: Fake hashed key attack on payment channel networks
Bugday et al. Securing blockchain shards by using learning based reputation and verifiable random functions
Ning et al. Keeping time-release secrets through smart contracts
Dorsala et al. Fair protocols for verifiable computations using bitcoin and ethereum
CN120602083A (zh) 一种基于零知识证明的自随机跨链动态协同监管方法
CN112583598A (zh) 一种复杂物联网联盟链系统通信机制
CN111815329A (zh) 一种基于跨链技术实现高性能区块链网络的方法
Li et al. SP-Chain: Boosting intra-shard and cross-shard security and performance in blockchain sharding
CN112669159A (zh) 一种在不同区块链系统基于信任的价值流通方法
CN111598556A (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