版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(19)世界知识产权组织(51)国际专利分类号:H04L9/32(2006.01)(21)国际申请号:PCT/CN2024/1(22)国际申请日:2024年10月31日(31.10.2024)(25)申请语言:中文(26)公布语言:中文(30)优先权:618号8层803室200010(CN)。区外马路618号8层803室200010(CN)。黄祖路618号8层803室200010(CN)。王尧(WANG,Yao);中国上海市黄浦区外马路618号8层803浦区外马路618号8层803室200010(CN)。魏马路618号8层803室200010(CN)。(74)代理人:北京亿腾知识产权代理事务所(普通合(GENERALPARTNERSHIP);中国北京市海淀区中关村紫金数码园3号楼707100190(CN)。(81)指定国(除另有指明,要求每一种可提供的国家(54)发明名称:证书颁发方法、系统和区块链节点C监理贸设备培产重务力S803ExecutethetransactioSB07AcquireanapprovalS809SendatransactionTxS811Executethetransactapproved.generateacertificatewithofthecertificatewithoutasignaturetoaSB15Inresponsetothesigningpassed,returnthesignaturSB21issuethecertificablockchainsystem.Themethodcomprises:ablockchainsys(57)摘要:一种基于区块链系统的证书颁发方法,所述区块链系统中部署有CA合约和签名合约,所述方法包括:所述区块链系统接收调用CA合约的第一交易,第一交易中包括用户证书颁发请求;将用户证书颁发请求对应的用户证书内容的摘要提供给签名合约,指示n个服务方中的至少t+1个服务方生成签名;至少t+1个服务方生成对所述用户证书内容的第一签名;向所述区块链系统发送调用所述签名合约的第二交易,第二交易中包括所述CA合约的合约账户和所述第一签名;区块链系统根据第二交易将第一签名返回给CA合约,基于第一签名颁发用户证书。BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CCV,CZ,DE,DJ,DK,DM,DO,DZ,EC,EEGB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IR,IS,IT,JM,JO,JP,KE,KG,KH,KN,KP,KLA,LC,LK,LR,LS,LU,LY,MA,MD,MGMU,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SASE,SG,SK,SL,ST,SV,SY,TH,TJ,UA,UG,US,UZ,VC,VN,WS,ZA,ZM(84)指定国(除另有指明,要求每一种可提供的地区保护):ARIPO(BW,CV,GH,GM,NA,RW,SC,SD,SL,ST,SZ,TZ,UG,ZM,ZW),欧亚(AM,AZ,BY,KG,KZ,RU,TJ,TM),欧洲(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GBHU,IE,IS,IT,LT,LU,LV,MC,ME,MK,MT,PL,PT,RO,RS,SE,SI,SK,SM,TR),OAPI(BFCG,CI,CM,GA,GN,GQ,GW,KM,ML本国际公布:一包括国际检索报告(条约第21条(3))。15WO2025/139338PCT/C证书颁发方法、系统和区块链节点本申请要求于2023年12月29日提交中国国家知识产权局、申请号为2023118699522、申请名称为“证书颁发方法、系统和区块链节点”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。技术领域本说明书实施例属于区块链技术领域,尤其涉及一种证书颁发方法、系统和区块链节点。背景技术区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。在密码学中,公开钥匙密码学,简称公钥密码学,又称非对称密码学,是使用一对公钥和私钥(公钥-私钥记为pk-sk,其中pk表示publickey,sk表示secretkey)的密码学,与只用一个私钥密码学相对应。公钥密码学包括加密算法和数字签名算法。公钥-私钥密码对是现代密码学安全的基石,很多的应用都是基于pk-sk,例如基于https (HypertextTransferProtocolSecure,安全的超文本传输协议)应用层加密传输协议以及区块链等。私钥通常代表拥有该私钥的一方的身份,其只能由私钥的拥有者持有,不能公开,而对应的公钥可以公开出去。使用私钥进行的签名可以表示私钥拥有者对数字世界的某种信息进行的认可,签名的信息在协议的消息中也可以表示私钥拥有者的某种行为。一般的,一个拥有者单独拥有一个私钥,则这个拥有者可以采用自身私钥对某个信息进行签名后发给其它方。接收方收到这个签名后,可以采用对应的公钥对该签名进行验证。验证通过,则接收方可以确认是拥有者对该信息进行了签名,且所签名的信息没有被篡改。用户可从证书认证机构(CertificateAuthority,CA)获取其公私钥对和CA证书(即数字证书),CA证书中包含证书拥有者的信息、公钥、有效期信息、和CA机构对上述信息的签名。验证者可使用CA机构的公钥验证CA证书的真实性和完整性,在验证通过的情况下,该CA证书可证明其拥有者的实体身份与其公钥的匹配关系。发明内容本发明的目的在于提供一种基于区块链系统的证书颁发方法,以使得可在区块链系统中通过合约进行CA证书颁发,保证了CA证书的正确性,同时提供了面向区块链系统的CA证书体系。本说明书第一方面提供一种基于区块链系统的证书颁发方法,所述区块链系统中2部署有CA合约和签名合约,所述CA合约中包括对所述签名合约的调用,所述签名合约的合约状态中与所述CA合约的账户关联地存储有签名公钥、以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议生成,所述方法包括:所述区块链系统接收调用所述CA合约的第一交易,所述第一交易中包括用户证5书颁发请求;将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名合约;根据所述签名合约,指示所述n个服务方中的至少t+1个服务方生成与所述签名所述至少t+1个服务方基于与所述签名公钥对应的私钥分片生成对所述用户证书内容的第一签名;向所述区块链系统发送调用所述签名合约的第二交易,所述第二交10易中包括所述CA合约的合约账户和所述第一签名;所述区块链系统根据所述第二交易将所述第一签名返回给所述CA合约,通过执本说明书第二方明提供一种基于区块链系统的证书颁发方法,由区块链系统中的节点执行,所述区块链系统中部署有CA合约和签名合约,所述CA合约中包括对所15述签名合约的调用,所述签名合约的合约状态中与所述CA合约的账户关联地存储有签名公钥、以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名合约;20根据所述签名合约,指示所述n个服务方中的至少t+1个服务方基于与所述签名从所述至少t+1个服务方接收调用所述签名合约的第二交易,所述第二交易中包括所述CA合约的合约账户和所述第一签名;25基于所述第一签名颁发用户证书。本说明书第三发明提供一种证书颁发系统,包括区块链系统和多所述区块链系统中部署有CA合约和签名合约,所述CA合约中包括对所述签名合约的调用,所述签名合约的合约状态中与所述CA合约的账户关联地存储以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议生成,30所述区块链系统用于:接收调用所述CA合约的第一交易,所述第一交易中包括用户证书颁发请求;将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名合约;根据所述签名合约,指示所述n个服务方中的至少t+1个服务方的服务方所述至少t+1个服务方设备用于:基于与所述签名公钥对应的私钥分片生成对所35述用户证书内容的第一签名;向所述区块链系统发送调用所述签名合约的第二交易,本说明书第四方面提供一种区块链系统的节点,所述区块链系统中部署有CA合35WO2025/139338PCT/C约和签名合约,所述CA合约中包括对所述签名合约的调用,所述签名合约的合约状态中与所述CA合约的账户关联地存储有签名公钥、以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议生成,所述节点包括:接收单元,用于接收调用所述CA合约的第一交易,所述第一交易中包括用户证提供单元,用于将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名单元,用于根据所述签名合约,指示所述n个服务方中的至少t+1个服务方基于与所述签名公钥对应的私钥分片生成对所述用户证书内容的第一签名;所述接收单元还用于,从所述至少t+1个服务方接收调用所述签名合约的第二交易,所述第二交易中包括所述CA合约的合约账户和所述第一签名;颁发单元,用于根据所述第二交易将所述第一签名返回给所述CA合约,通过执本说明书第五方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。本说明书第六方面提供一种区块链节点,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。在本说明书实施例提供的方案中,由区块链系统中的CA合约调用基于分布式(门限)签名技术的签名合约来生成CA证书的证书签名,整个过程不存在完整的私钥,并能够容忍一定程度的私钥分片泄漏与丢失,从而有效避免不当的私钥管理带来的安全有效避免误发证书;通过区块链系统将证书生命周期管理过程透明化,有效避免滥发附图说明为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以图1为本说明书一实施例中的系统架构图;图2为本说明书一实施例的门限签名实现方法中密钥生成阶段的流程图;图3为本说明书一实施例中的分布式门限签名中的预处理阶段的流程图;图5为本说明书另一实施例中的分布式门限签名图9为本说明书实施例中的一种区块链系统中的节点的架构4具体实施方式为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,5所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实包括:CA机构本身可能作恶,恶意颁发不实证书;CA机构可能操作不当,错误颁发一致性存在矛盾。例如,在区块链系统中新加入节点的情况中,新加入的节点需要从其他节点拉取已经执行完成的区块,对这些区块中的交易进行重新执行,如果区块链系统中的账户的密钥的生命周期与自然时间对应,在重新执行过去区块中的交易时,15如果账户的密钥在当前已经失效,则该新加入的节点对该过去交易的验证不能通过,从而导致该新加入的节点的状态与其他节点不一致。因此,需要一种面向区块链系统的CA证书体系,能够将CA证书与链上时间进行绑定,以提供CA证书在区块链系统中的可确定性和有效性。为此,本说明书实施例由区块链系统中的CA合约调用基于分布式(门限)签名技20术的签名合约来生成CA证书的证书签名,整个过程不存在完整定程度的私钥分片泄漏与丢失,从而有效避免不当的私钥管理带来的安全风险;通过基于CA合约的去中心化的管理模型,提高证书操作门槛,降低误操作风险,有效避免误发证书;通过区块链系统将证书生命周期管理过程透明化,有效避免滥发证书。同时通过CA合约基于当前区块确定证书生效时间(例如区块时间戳),通过如此,即使25重新执行过去的区块的交易,该交易的账户密钥在执行该区块时总是一致性地有效,图1示出了本说明书实施例中的系统架构图。该系统中包括区块链系统100和链下30间的连线示意性的表示节点与节点之间的连接,用于在节点之间传输数据。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链系统中的每个节点可通过执行相同的交易而产生区块链系统中的相同的状态,区块链系统中的每区块链领域中的交易可以指在区块链系统中执行并记录在区块链系统中的任务单在交易为转账交易的情况中,From字段表示发起该交易(即发起对另一个账户的转账任务)的账户地址,To字段表示接收该交易(即接收转账)的账户地址,Data字段中区块链系统中包括智能合约的功能。区块链系统上的智能合约是在区块链系统上5WO2025/139338可以被交易触发执行的合约。智能合约可以通过代码的形式定义。在区块链系统中调用智能合约,是发起一笔指向智能合约地址的交易,使得区块链系统中的每个节点分布式地运行智能合约代码。在部署合约的场景中,例如,Bob将一个包含创建智能合约信息(即部署合约)5的交易发送到如图1所示的区块链系统100中,该交易的data字段包括待创建的合约的代码(如字节码或者机器码),交易的to字段为空,以表示该交易用于部署合约。态数据库中添加与该智能合约的合约地址对应的合约账户,分配与该合约账户对应的状态存储,并存储合约代码,将合约代码的哈希值保存在该合约的状态存储中,从而10合约创建成功。在调用合约的场景中,例如,Bob将一个用于调用智能合约的交易发送到如图1所示的区块链系统100中,该交易的from字段是交易发起方(即Bob)的账户的地址,to字段为上述“0x6f8ae93...”,即被调用的智能合约的地址,交易的data字段包括调用智能合约的方法和参数。在区块链系统中对该交易进行共识之后,区块链系统中的各15个节点可分别执行该交易,从而分别执行该合约,基于该合约的执行更新状态数据库。如图1所示,在区块链系统中部署有CA合约和签名合约,其中,CA合约预先在签名合约中申请了分布式密钥,CA合约可通过调用签名合约,借助于链下服务系统中的服务方生成对证书内容的分布式签名,从而提供CA证书。为了便于对本说明书实施例的理解,下文中首先介绍密码学中的一些概念。20DKG(DistributedKeyGeneration)协议,即分布式密钥生成协议,指在参与协议协议,即可验证秘密分享协议,是DKG协议的重要理论基础。VSS是指在多个参与方之间进行一个秘密数据的分享时,可以在不泄露秘密数据本身的前提下,将秘密数据拆分成多个分片,交由多个参与方分别保管一个分片。之25后,当需要还原秘密数据时,需要收集所有的分片才能成功还原完整的秘密数据。VSS协议最早由Shamir于1979年提出,是一个基于多项式的秘密分享协议。VSS协议由Shamir秘密分享(Shamir'sSecretSharing,SSS)发展得来,因此先介绍Shamir秘密分享。Shamir秘密分享,包括秘密分享(或秘密分发)和秘密重构两个阶段,并首先需30要由一个Dealer构造一个多项式:f(x)=ao+a₁x+a₂x²+…+anxn多项式(*)其中,a₀为要分享的秘密数据。这个n次多项式由一组系数(ao,a₁,a₂,…,an)唯一确定,这一组系数包括n+1个值。这样,如果已知该n次多项式对应的曲线通过平面上的n+1个不同的点,即得到35n+1个不同的点的坐标(x₁,y₁),(x₂,y₂),…,(xn,Yn),(xn+1,Yn+1),则可以得到n+1个方程的(n+1)元一次方程组,从而由该方程组可以确定该n+1个系数ao,a₁,a₂,…,an的取值,进而确定该多项式(*),最终也就可以获得秘密数据a₀的值。上述n+1个不同的点的坐标(x₁,y₁),(x₂,y₂),…,(xn,Yn),(xn+1,Yn+1)即为n+1个秘密分片。关于根据已有的若干点,求出通过这些点的曲线,这个求解过程称为多项式插值。6WO2025/139338实现多项式插值有多种方法,以下介绍一种常见的拉格朗日插值法。给定一个n次多项式*,已知该多项式对应曲线通过平面上的n+1个点(x₁,y₁),(x₂,y₂),…,(xn,Yn),(xn+1,Yn+1)的坐标,则通过拉格朗日插值法可以得到该n次曲线的多项式如下:多项式(**)多项式(**)与多项式(*)实际上是等价的。多项式(*)中设x=0,则f(0)=ao,即可以得到秘密数据a₀的值。因此,多项式(**)中设x=0,也可以得到秘密数据a₀的值,即对于n+1个点(x₁,y1),…(xn,yYn),(xn+1,Yn+1),上述多项式(**)也可以表达成:其中,同样的,对于常数项或秘密值,有综上,可以任取该多项式上的n+1个点,并将这n+1个点在n+1个参与方之间进行分15享,例如每个参与方获得一个点的坐标。收集齐任何少于n+1个点的坐标都无法推断出原始的秘密数据a₀,只有获得全部n+1个点后才能通过重构多项式系数的方式还原秘密数据a₀的值。另外,即使收集齐任何少于n+1个点的坐标,例如是n个点的坐标,则由于过这n个点的n次曲线有无数条,因此从概率上讲也不会泄露秘密数据a₀的值。这里的次数n也称为多项式的度。20在此基础上,可以实现门限Shamir秘密分享。例如t-of-n秘密分享,是在n个参与方之间分享秘密,并规定恢复时需要的最少的秘密分片的阈值为大于t,即大于等于t+1。例如在4方参与的交易中,约定阈值为3,即n=4,t=2,则大于等于t+1=3个参与方提供自身的秘密分片时才能还原出秘密,否则无法还原出秘密。具体的,可以构造一个t=2度的多项式:25f(x)=ao+a₁x+a₂x²可以得到该2度多项式对应的曲线通过平面上的4个不同的点,即得到4个不同的点的坐标(x₁,y₁),(x₂,y₂),(x₃,y₃),(x₄,y4),并在秘密分享阶段将该4个点的坐标分别分发至片(x₁,y1),Party₂具有分片(x₂,y₂),Party₃具有分片(x₃,y₃),Party₄具有分片(x₄,y4)。30由于多项式(**)可以由对应曲线上任3个点来确定,因此,Party;(i∈{1,2,3,4})中,任意三个参与方都提供自身的秘密分片时,在秘密重构阶段可以还原出多项式(***),从而可以得到秘密值a₀。任意少于三个参与方提供自身的秘密分片时,都无法还原出多项式(***),也就无法得到秘密值a₀。上述的t也称为门限。上述Shamir秘密分享和门限Shamir秘密分享,需要一个生成多项式和分发秘密分35片的角色,这个角色可以称之为Dealer。这个Dealer是一个知道秘密的实体,需要是各参与方可信的第三方。此外还需要一个用于汇总至少t+1个分片并得到秘密的实体,例7WO2025/139338如是Dealer或某个参与方,也可以是其它实体。工程实践中,多项式常常定义在有限域(基于椭圆曲线或离散对数)或素数域(基于RSA),而不是实数域或自然数域。5经典的Shamir秘密分享方案中,假设参与方是诚实的。但是实际上有可能有不诚实的行为,或称作恶行为,例如Dealer欺骗某个或某些参与方,将错误的秘密分片发给该参与方等。5在秘密分享中,为了验证作恶问题,如参与方验证Dealer是否欺骗自己(如上所述验证Dealer发送的是否是错误的秘密分片),提出了可验证的秘密分享(VerifiableSecretSharing,VSS)。FeldmanVSS是一种基于Shamir秘密分享构造的实用的VSS方案,包Dealer具有一个秘密并分发这个秘密的n个分片给n个参与方,其中t+1个参与方可以重构该秘密,可以采用类似上述门限Shamir秘密分享方案,构造一个t度多项式:f(x)=ao+a₁x+a₂x²+…+atxt多项式(****)Dealer为每一个参与方Party;任意选择一个非0的xi,计算Si=f(xi),并将子秘密si加密发送给参与方者Partyi。同时,Dealer计算Aj=gai,其中j=0,1,2,…,t,并公开A;,即公开{Ao,A₁,A₂,…,At}。A;也称为公共验证参数。这里A;的生成方法与椭圆曲线上基于私钥生成公钥的方法相同,因此,A;也可以称为公钥分片或公钥分享(share)。对于选定的多项式是对应椭圆曲线的情形,公开A;是安全的,因为根据椭圆曲线的性质,无法根据A;反推得到a;。公共验证参数{Ao,A₁,A₂,…,At}也称为承诺(commitment)。该承诺由于绑定了多项式的系数,因此可以用于验证多项式的一个取值是否正确。基于离散对数的实现中,g为有限域上循环群的生成元(generator),g可以为在Dealer和Party;上预先配置好的。上述子秘密也可称为秘密分片。参与方收到子秘密s;后,可以采用公共验证参数来验证s的有效性。可以通过验证以下等式是否成立来验证s;是否有效:多项式(*****)的右侧可以如下推导:多项式(*****)多项式(*****)的右侧也可以写为:可见,对于Party;,Dealer为其选择的一个非0的xi,xi例如为i,则Party;可以采用i和公共验证参数{Ao,A₁,A₂,…,At}计算多项式(*****)的右边,并采用生成元g和子秘密si来计算多项式(*****)的左边,从而可以通过判断多项式(*****)的左、右两边是否相等来判断(xi,gSi)是否是{Ao,A₁,A₂,…,At}对应曲线上的一个点。这个验证,属于秘密分WO2025/13933885发阶段的验证。为了简单,通常可以取xi=i。工程中一般都基于离散对数实现,对上面各式都采用取模运算,如modp,其中p为一个大素数,p也是Dealer和Party;预先配置好的。modp在以下类似处也有所省略。在秘密重构阶段,例如至少t+1个参与方分别将自身的秘密分片发送至Dealer,则Dealer可以采用对应该多项式的公共验证参数对每一个秘密分片进行验证。验证不通过的,还可以证明发送该秘密分片的参与方作恶;验证通过的秘密分片可以作为重构秘密的依据。在秘密重构阶段,收集齐至少t+1个参与方的秘密分片后,可以通过拉格朗日插值法重构多项式f(x),从而得到f(O)的值,即得到秘密值。此外,通过公共验证参数{Ao,A₁,A₂,…,At}也可以对秘密a₀的合法性进行验证,即可以验证(0,a₀)是否为曲线上的点,因为存在以下关系:也就是说,对秘密a₀的合法性进行验证,可以化简为通过公共验证参数A₀实现。上面推导中,定义0⁰=1,而0k=0,k≠0。以上方案中,需要一个Dealer,而这个Dealer是中心化的,是一个知道秘密的实体,如前所述需要是个可信的第三方,或者说要求参与方都信任这个Dealer。在分布式场景中,需要既能实现分布式的秘密分发,也能实现分布式的秘密重构,这就需要去掉中心化的Dealer,这样也就实现了去信任。针对这个问题,1999年由Rabin等提出一个称为Joint-Feldman的改进协议。该协议的基本思想是并行执行n次FeldmanVSS协议,其中每一位参与者都在本地产生一个随机的多项式,然后把随机选择的秘密值在所有参与者中分享。由于分享的是秘密的一个承诺而不是秘密本身,因此只要不发生超过阈值t的多人共谋作弊,就不能恢复得到秘密。这样的去掉可信第三方的分布式VSS协议也称为DVSS协议(DistributedVSS)。具体的,以4个参与方为例,假设门限t=2,则多项式的度也为2,去中心化门限秘密分享,也就是Joint-Feldman的实现方案,包括如下:每一个P(Party;简写为P₁,i∈{1,2,3,4})设置要分享的秘密Sio,并随机选择其他参数以生成t度多项式:参与方P₁生成2度多项式:f₁(z)=a₁0+a₁1Z+a₁2z²,其中a₁0是P₁设置的秘密S₁;参与方P₂生成2度多项式:f₂(Z)=a₂0+a21Z+a₂2z²,其中a₂0是P₂设置的秘密S₂;参与方P₃生成2度多项式:9WO2025/139338f₃(Z)=a₃0+a₃1Z+a₃2z²,其中a₃0是P₃设置的秘密s₃;参与方P₄生成2度多项式:f4(z)=a40+a₄1Z+a₄2z²,其中a₄0是P₄设置的秘密s4。接着,每个参与方P生成自身t度多项式对应的曲线上的n个值并分发,这里仍然设参与方P₁生成S₁1=f₁(1)、S₁2=f₁(2)、S13=f₁(3)、S14=f₁(4),自己保留S₁1,并分别加密发送S₁2至P₂,加密发送s₁3至P₃,加密发送S₁4至P₄;参与方P₂生成S₂1=f₂(1)、S₂2=f₂(2)、S₂3=f₂(3)、S₂4=f₂(4),自己保留S₂2,并分别加密发送S₂1至P₁,加密发送s₂3至P₃,加密发送S₂4至P₄;10参与方P₃生成S₃1=f₃(1)、S₃2=f₃(2)、S₃3=f₃(3)、S₃4=f₃(4),自己保留S₃3,并分别加密发送S₃1至P₁,加密发送s₃2至P₂,加密发送S₃4至P₄;参与方P₄生成S41=f₄(1)、S42=f₄(2)、S43=f₄(3)、S44=f₄(4),自己保留S44,并分别加密发送S41至P₁,加密发送s₄2至P₂,加密发送S₄3至P₃。而且,每个参与方P还生成自身t度多项式对应的公共验证参数Aik=gaik,其中15k=0,1,…,t,并公布给每一参与方,具体的:参与方P₁生成A₁k=ga1k,k=0,1,…,t,包括A₁0=ga10,A₁1=ga11,A₁2=ga12,广播{A₁0,A₁1,A₁2}至P₂、P₃和P₄;参与方P₂生成A₂k=ga2k,k=0,1,…,t,包括A₂0=ga20,A21=ga21,A₂2=ga22,广播{A₂0,A21,A₂2}至P₁、P₃和P₄;20参与方P₃生成A₃k=ga3k,k=0,1,…,t,包括A₃0=ga30,A₃1=ga31,A₃2=ga32,广播{A₃0,A₃1,A₃2}至P₁、P₂和P₄;参与方P₄生成A4k=ga4k,k=0,1,…,t,包括A₄0=gQ40,A₄1=ga41,A₄2=ga42,广播{A₄0,A41,A₄2}至P₁、P₂和P₃。这样,P₁接收到S21后,可以用{A₂0,A21,A₂2}进行验证;P₁接收到S₃1后,可以用25{A₃0,A₃1,A₃2}进行验证;P₁接收到S41后,可以用{A₄0,A41,A₄2}进行验证;验证方式类似上述,不再赘述。类似的,P₂接收到S₁2后,可以用{A₁0,A₁1,A₁2}进行验证;P₂接收到S₃2后,可以用{A₃0,A31,A₃2}进行验证;P₂接收到S₄2后,可以用{A₄0,A41,A₄2}进行验证;类似的,P₃接收到S₁3后,可以用{A₁0,A₁1,A₁2}进行验证;P₃接收到S₂3后,可以30用{A₂0,A21,A₂2}进行验证;P₃接收到S₄3后,可以用{A₄0,A41,A₄2}进行验证;类似的,P₄接收到S14后,可以用{A₁0,A₁1,A₁2}进行验证;P₄接收到S₂4后,可以用{A₂0,A21,A₂2}进行验证;P₄接收到S₃4后,可以用{A₃0,A₃1,A₃2}进行验证。假设各参与方验证后得到通过验证的参与方集合设为Qual,设Qual={P₁,P₂,P₃,35P₁本地具有不同参与方生成的秘密分片S11、S21、S₃1、S41,以及公共验证参数{A₁0,A₁1,A₁2},{A₂0,A21,A₂2},{A₃0,A₃1,A₃2},{A₄0,A4P₂本地具有不同参与方生成的秘密分片S₁2、S₂2、S₃2、S42,以及公共验证参数{A₁0,A11,A₁2},{A₂0,A21,A₂2},{A₃0,A₃1,A₃2},{A₄0,A₄P₃本地具有不同参与方生成的秘密分片S₁3、S₂3、S₃3、S43,以及公共验证参数{A₁0,WO2025/139338A11,A₁2},{A₂0,A21,A₂2},{A₃0,A₃1,A₃2},{A₄0,A₄P₄本地具有不同参与方生成的秘密分片S14、S24、S₃4、S44,以及公共验证参数{A₁0,A11,A₁2},{A₂0,A21,A₂2},{A₃30,A₃1,A₃2},{A₄0,A45参与方P₁可以计算得到秘密分片s₁为:S₁=S₁1+S21+S₃1+S₄1;参与方P₂可以计算得到秘密分片s₂为:S₂=S₁2+S₂2+S₃2+S₄2;参与方P₃可以计算得到秘密分片s₃为:S₃=S₁3+S₂3+S₃3+S₄3;参与方P₄可以计算得到秘密分片s₄为:S₄=S14+S₂4+S₃4+S₄4;每一参与方P都可以将自身计算得到的秘密分片s;广播给其它参与方。则每一参与10方P收集齐{S₁,S₂,S₃,S4}中至少门限t+1个秘密分片后,都可以重构出秘密so。这里,对于t=2,每一参与方P收集齐至少门限t+1=2+1=3个秘密分片后,也都可以重构出秘密s₀。这是因为,可以汇总各参与方的曲线之和,得到总曲线:f(z)=(a₁0+a₁1Z+a₁2z²)+(a₂0+a21Z+α22z²f(z)=(a₁0+a₂0+a₃0+a40)+(a₁1+a₂1+a₃1+a₄1)z+多项式(I)15S₁=S11+S21+S₃S₂=S₁2+S₂2+S₃2+S₄2=f₁(S₃=S₁3+S₂3+S₃3+S43=f₁(3S₄=S14+S₂4+S₃4+S44=f₁(4对于总曲线f(z)来说,存在关系:20S₁=f₁(1)+f₂(1)+f₃(1)+f₄S₃=f₁(3)+f₂(3)+f₃(3)+f₄(3)=f(3);S₄=f₁(4)+f₂(4)+f₃(4)+f₄(4)=f(4);秘密为So=a₁0+a₂0+a₃0+a₄0。25这样,任一参与方P收集齐秘密分片s₁、S₂、S₃、s₄中的至少3个后,相当于得到多项式(I)对应曲线上的至少3个点,即得到(x₁=1,y₁=S₁),(x₂=2,y₂=S₂),(x₃=3,y₃=S₃),(x₄=4,y4=S₄)这4个坐标中的至少3个坐标,从而可以恢复出总曲线f(z)。进而,可以计算f(0)=a₁0+a₂0+a₃0+a₄0=So,从而可以得到秘密s₀。而且,通过验证参数{A₁0,A₁1,A₁2},{A₂0,A21,A₂230A₄2}也可以对秘密si的合法性进行验证,即可以验证(0,s;)是否为总曲线上的点。具体的,通过验证以下等式是否成立来判断合法性:多项式(II)这是因为,存在以下关系:WO2025/139338=g(a10x⁹+a11x+…+ta1rx)+(a²ox+21×x+…+aztx)+…+(anox+=g(410x2+a20x+…+anox9)+(a11x²+az1x²+…anx2)+…+(1rxt+通常也设多项式(II)等号右边为公钥分片,记为pubi,i=1,2,…,n,以用于验证对应的私钥分片。如前所述,一般可以取xi=iforeachi=1,2,…,n。这样,i可以作为5的编号。对于秘密s₀的验证,即xi=0,上式可以进一步推导为如下:=(A₁0·A₂0·.·Ano)°·(A₁1·A₂1….An1)⁰¹·(A₁t·Az定义0⁰=1,而0k=0,k≠0,所以上式可以进一步推导:多项式(III)10可见,基于该多项式(III),可以验证s₀的合法性。多项式(IV)WO2025/139338通常也设多项式(IV)等号右边为总公钥,记为pub。上述Joint-Feldman协议可以实现分布式的分享秘密,即完成了DKG的主要内容。上述从Shamir开始到门限Shamir,FeldmanVSS协议,再到Joint-FeldmanDVSS协议,5是一系列的秘密分享实现方案。实际上,除了Shamir秘密分享为起点的这一系列方案外,还有基于加性秘密分享(AdditiveSecretShare)、SPDZ(多方安全计算中一个重要协议,最早在2012年提出)、或中国剩余定理的方案等,最终也可以实现DKG,这里省略,不再赘述。10通过上述DKG协议的实现,可以克服由单个实体生成密钥而带来单点故障导致整体不可用的问题,以及需要信任生成密钥的单点的问题。但是,由于各个参与方P广播生成的秘密分片Sij,i,j∈(1,2,…,n),n为参与方数量,且每一参与方P都可以将自身计算得到的秘密分片s;广播给其它参与方,这样每一参与方P收集齐{S₁,S₂,S₃,S₄}中至少门限t+1个秘密分片后,都可以重构出秘密so,这样,导致至少t+1个参与方将获得最终15重构出的秘密so,即会暴露秘密so,总曲线也将变得不再可用。如果下一次要再次产生一个新的秘密so,需要重复执行该DKG协议的过程。DKG协议在阈值与秘密承诺等方面的性质,结合与之相匹配的门限签名算法,就可以用于构造分布式的门限签名协议。区块链作为分布式系统,大量的使用签名算法。这样,区块链中的节点通过DKG分布式地产生秘密分片,并由至少t+1个区块链节点采20用秘密分片作为私钥分片对待签名信息进行签名并广播后,任一收集齐至少t+1个签名分片的区块链节点可以恢复出总签名,并可以由上述方式恢复出总公钥,且这个恢复出的总签名可以由该总公钥进行验证,从而实现门限签名。而且,这样的好处在于,每个区块链节点自己持有的秘密分片不需要广播给其它节点,从而不会暴露自身的秘密分片,也就不会暴露私钥,因此一次DKG产生的秘密分片可以重复使用多次,而不25用为了每次的门限签名都进行一次DKG协议。基础的椭圆曲线签名算法(ECDSA)可包括以下过程:签名方Alice选择选一条椭圆曲线E₄(a,b)和基点g,并共享这些信息至验证方Bob,其中q为模数;Alice在有限域Zq上选择一个私钥x∈Zq,并根据该私钥生成公钥X=gˣ(或者x·g);30Alice在有限域Zq上选择一个随机数k∈Zq,并计算R=gk⁻¹=(a₁,b₁),a₁、b₁分别为椭圆曲线上K点的横坐标和纵坐标,设r=a₁;Alice将待签名的消息message通过hash计算得到摘要值m=H(message),并计算:s=k·(m+r·x)modq;式(a)Alice生成签名σ=(r,s),发送消息、签名σ、公钥X至签名方Bob。35Bob用基点g、签名σ、公钥X计算点K'的坐标:Bob比较a₁是否等于r,如果相等,则签名有效;否则,签名无效。上述的基本ECDSA签名算法,可以扩展为门限签名算法。例如经过上述DKG过程,使得n个签名方P₁,P₂,…Pn各自具有自身的秘密分片,且有一个总公钥,其中门WO2025/139338限值为t,且t<n。n个参与方中的至少t+1个签名方各自分别采用自身秘密分片分别作为私钥分片,对同一待签名信息进行签名并广播后,任一收集齐至少t+1个签名分片的验证方可以恢复出总签名,并可以采用所述总公钥对该总签名进行验证,从而实5本说明书实施例中的证书颁发方案包括初始化阶段、证书申请阶段、及证书签发段。下文中首先通过参考图2-图7描述本说明书实施例中的初始化阶段,通过参考图8描述本说明书实施例中的证书申请阶段和证书签发阶段。本说明书实施例以ECDSA10签名算法为例进行描述。可以理解,本说明书实施例中的方案可类似地使用其他签名图2为本说明书实施例的门限签名实现方法中密钥申请阶段的流程图。其中,如上文所述,区块链系统中预先部署了签名合约,链下服务系统中可包括大于或者等于15n的服务方的设备,图2中示出n个服务方中的一个服务方作为示例,可以理解,n个服务方中的其他服务方都与图2中的链下服务方相同地进行操作。如图2所示,首先在步骤S201,管理员设备向区块链系统发送调用签名合约的交易Tx1,请求生成密钥。所述管理员设备为区块链系统的管理员的设备,管理员具有一定的权限,例如可20部署CA合约。管理员通过请求密钥,后续可将该请求的密钥转移给CA合约使用。交易Tx1的发送账户(sender)为管理员账户(例如Account1)。在交易Tx1中包括用于进行分布式签名的参数,其中可包括:指定的n个服务方的账户、签名的门限t等参数。在一些实施方式中,所述参数中还可以包括预处理阶段中的服务门限k,其中25n>k>t,也就是说,在预处理阶段,当服务方的数目满足大于或等于门限k的情况下,在一些实施方式中,所述参数中还可以包括若干备用服务方,其参与分布式密钥生成阶段,获得私钥分片,但是其通常不参与预处理阶段和签名阶段,仅在有其他服在一些实施方式中,所述参数中还可以包括用于预处理阶段的最小数目min和最大数目max,该最小数据和最大数目用于限定执行预处理过程的次数,从而通过多次预处理过程产生多组中间数据,供CA证书签发阶段使用,即,如果一组中间数据失35其中,以参数组(2,5,7,9)为例,2为签名门限t,即任意t+1=3个私钥分片即可完成分布式签名;5为服务门限k,即在预处理阶段至少保证5个服务方参与,那么可以保障在签名过程中允许2个服务方在签名阶段失败;“7”表示,在密钥生成阶段至少保证7个服务方参与,这样允许存在2个服务方在预处理阶段失败;9-7=2为备用服务方的数目。WO2025/139338步骤S203,区块链系统执行交易Tx1,在区块链中存储请求相关的数据。区块链系统中的各个节点在执行交易Tx1之后,根据交易Tx1,在签名合约的合约状态中关联存储账户Accoun1及其对应的参数。所述参数例如包括上述指定的n个5具体是,在签名合约的合约状态中可以维护有与分布式门限签名对应的数据表(例如Table1),区块链节点根据交易Tx1,可在Table1添加与账户Account1对应的行,并该在该行中的一个字段中添加账户Account1、指定的n个服务方的账户、k、t、max、min等参数。该行中的“账户Account1”用于指示账户Account1拥有获得签名的权限。同时,区块链节点根据交易Tx1还生成交易Tx1的收据,在该收据中包括设置为10预设主题(topic)的第一开始事件k1,所述预设主题例如为包括“初始化阶段”等关键词,在此不作限定。该第一开始事件k1中可包括账户Account1、参数n、k、t、max、min等,用于指示n个服务方的各方进入与账户Account1对应的密钥生成阶段。在步骤S205,区块链系统向n个服务方的每个推送第一开始事件k1。区块链系统中的n个服务方可预先向区块链系统中的某个区块链节点订阅具有上15述预设主题的事件。例如服务方P₁预先向区块链系统中的节点1订阅了具有上述主题的事件,节点1在生成第一开始事件k1之后,根据服务方P₁的订阅,将第一开始事件k1发送给服务方P₁。可以理解,本说明书实施例中不限于由区块链系统向n个服务方推送事件k1。在一种实施方式中,各个服务方可通过从区块链系统中拉取各个交易收据,从而从交易20Tx1的收据中获取到事件k1。在步骤S207,链下服务方生成同态公私钥对。假设所述n个服务方分别是P₁,P₂,..,Pn。每个服务方Pi响应于接收到的事件k1生成用于进行同态加密的Paillier公私钥对(pki,ski)。其中sk;为私钥,pki为对应公钥。同态加密技术可以将明文数据进行“同态”处理,即过同态公钥pki将明文数据映射25到一个新的、保密的状态,从而使得只有拥有同态私钥sk;的接收者才能获取明文数据。Paillier同态加法是一种在密码学中广泛使用的公钥加密系统,由帕斯卡·佩利埃(PascalPaillier)在1999年提出。它的主要特点是具有加法同态性质,这意味着给定两个密文,可以在不解密的情况下计算出它们对应明文之和的密文。具体来说,假设有两个明文m1和m2,它们的Paillier加密密文分别为c1和c2。Paillier的加法同态性质可以实现30计算c1和c2的乘积得到的一个新的密文c,它正好是m1和m2的和的密文。加法同态性质是Paillier加密算法的一个重要特性,简单表示即:E(m₁)·E(m₂)=E(m₁+m₂),这里的点乘.即后续的同态加田。这种同态性质可以在不泄露原始数据的情况下完成对加密数据进行某种形式的计算。在步骤S209,各个服务方向区块链系统发送调用签名合约的交易Tx2,以上传同35态公钥pki。可以理解,交易Tx2用于指示n个服务方中各个服务方向区块链系统发送的用于上传同态公钥pk;的交易,而不是指某一个服务方向区块链系统发送的一个交易。该交易Tx2由该服务方的区块链账户发送,交易Tx2中包括账户Account1和pki。在步骤S211,区块链系统执行交易Tx2,将同态公钥pk;推送给其他服务方。WO2025/139338区块链系统中的各个节点在接收到交易Tx2并完成对交易Tx2的共识通过之后,执行交易Tx2,根据交易Tx2,确定交易Tx2的发送账户是否为该账户Account1对应的n个服务方账户中的一个账户,在确定结果为是的情况中,生成与交易Tx2对应的收据,在该收据中以事件的形式存储与发送交易Tx2的服务方账户对应地存储其同5态公钥,以用于将服务方的同态公钥推送给其他服务方。在上述确定结果为否的情况中,结束对该交易的执行。同时,区块链系统还在合约C1的合约状态中与账户Account1关联地维护了接收的交易Tx2的个数,区块链系统中在每执行一个交易Tx2时,在合约C1的合约状态中将接收的交易Tx2的个数加1。10在步骤S213,区块链系统在每次执行完成一个交易Tx2时,根据合约C1中的合约状态中的Table1中的数据,判断是否已经从所述n个服务方接收到交易Tx2,在判断结果为“是”的情况下,执行步骤S215,生成第二开始事件k2,以向n个服务方推送第二开始事件k2,指示各个服务方进入密钥生成阶段中的第二轮交互。其中,所述第二开始事件k2可包括n个服务方各自的同态公钥pki,以使得各个15服务方获取到其他n-1个服务方的同态公钥pki。在步骤S217,n个服务方分别生成随机的秘密值xi、公钥分片Xi=gxi、随机的t次多项式fi(z)和fi(j)。设各服务方Pi各自产生的秘密值xi之和为x,即,且各个服务方各自生成的多项式之和为f(z),20具体是,fi(z)=aio+ai₁Z+αi₂z²+…+αitZ,其中αio是P设置的秘密值,这里设为xi。这里的门限为t,这样多项式的度也为t。i分别取值1到n。设门限为2,设服务方总数为7,即t=2,n=7,则共有7个服务方P₁,P₂,P₃,P₄,P₅,P₆,P₇,分别采用各自产生的秘密值x₁、x₂、x₃、x₄、X₅、x6、x₇构造多项式,其中:P₁生成一个2度(t=2)多项式:f₁(z)=a₁0+a₁1Z+a₁2z²,其中a₁0是P₁设置的秘25密x₁;P₂生成一个2度(t=2)多项式:f₂(z)=a₂0+a₂1Z+a₂2z²,其中a₂0是P₂设置的秘密x₂;P₃生成一个2度(t=2)多项式:f₃(z)=a₃0+a₃1Z+a₃2z²,其中a₃0是P₃设置的秘密x₃;30P₄生成一个2度(t=2)多项式:f₄(z)=ao+a₄1Z+a₄2z²,其中a₄0是P₄设置的秘密x₄;P₅生成一个2度(t=2)多项式:f₅(z)=a50+a51Z+a52z²,其中a₅0是P₅设置的秘密x₅;P₆生成一个2度(t=2)多项式:f₆(Z)=a60+a61Z+a62z²,其中a₆0是P₆设置的秘P₇生成一个2度(t=2)多项式:f₇(z)=a70+a₇1z+a₇2z²,其中a₇0是P₇设置的秘密x₇;进而,每个服务方P可以生成n个秘密分片fi(),j分别取值1到n。例如,服务方P生成自身多项式对应曲线上的n个点的坐标作为n个秘密分片。WO2025/139338具体的,例如:在步骤S219,各个服务方发送调用签名合约的交易Tx3,向区块链系统上传公钥分片和f:(j),其中j≠i。其中,交易Tx3中可包括账户Account1和服务方的公钥分片和fi(j)。具体是,P₁自己保留S11,通过交易Tx3向区块链系统上传S₁2、S₁3、S14、S₁5、S17、20S₁7和X₁,其中,P₁可使用P₂的同态公钥对S₁2加密之后再上传至区块链系统,以用于提供给P₂,可使用P₃的同态公钥对S₁3加密之后再上传至区块链系统,以用于提供给P₃,可使用P₄的同态公钥对S14加密之后再上传至区块链系统,以用于提供给P₄,可使用P₅的同态公钥对S₁5加密之后再上传至区块链系统,以用于提供给P₅,可使用P₆的同态公钥对S₁6加密之后再上传至区块链系统,以用于提供给P₆,可使用P₇的同态公钥对S₁7加密25之后再上传至区块链系统,以用于提供给P₇。P₂自己保留S₂2,向区块链系统上传S21、S₂3、S24、S25、S26、S₂7和X₂。P₃自己保留S₃3,向区块链系统上传S₃1、S₃2、S₃4、S₃5、S₃6、S₃7和X₃。P₄自己保留S₄4,向区块链系统上传S41、S₄2、S43、S45、S46、S₄7和X₄。P₅自己保留S55,向区块链系统上传S51、S52、S53、S54、S56、S₅7和X₅。30P₆自己保留S66,向区块链系统上传S61、S62、S₆3、S64、S65、S67和X₆。P₇自己保留S₇7,向区块链系统上传S71、S₇2、S73、S74、S75、S76和X₇。在步骤S221,区块链系统执行交易Tx3,将服务方的公钥分片和f:()推送给其他服务方。区块链系统中在执行交易Tx3时,首先判断交易Tx3的sen35Account1对应的n个服务方账户中的一个,在确定结果为是的情况中,生成交易Tx3的收据,该收据中包括事件,在该事件中与交易Tx3的send同时,区块链系统在每次执行交易Tx3中,在合约C1的合约状态中维护区块链中已经接收的交易Tx3的个数。WO2025/139338在步骤S223,区块链系统在每次执行完成一个交易Tx3之后,根据在合约C1的合约状态中维护区块链中已经接收的交易Tx3的个数,判断是否已经从n个服务方接收到在判断结果为是的情况中,执行步骤S225,向n个服务方分别发送第三开始事件k3,5以指示密钥生成阶段中的第三轮交互,事件k3中可包括Account1、n个服务方各自的公钥分片和f;(j),其中j≠i。在步骤S227,所述n个服务方分别生成签名公钥和私钥分片Wi。各个服务方在接收到事件k3之后,每个服务方P可以基于各个服务方对应公钥集合{Xi}ie[1n]计算得到总公钥X(即签名公钥),例如通过下面公式:10同时,各个服务方P;可从事件k3中获取f:(),这样,P₂本地具有不同服务方生成的秘密分片S₁2、S₂2、S₃2、S₄2、S52、S62、S72;P₃本地具有不同服务方生成的秘密分片S₁3、S₂3、S₃3、S₄3、S53、S63、S73;P₄本地具有不同服务方生成的秘密分片S14、S₂4、S₃4、S44、S54、S64、P₇本地具有不同服务方生成的秘密分片S₁7、S₂7、S₃7、S₄7、S₅7、S67、S77。接着,每一服务方P可以将自身保留的一个秘密分片Si和从其它服务方P;得到的秘密分片sj汇总后得到秘密分片之和作为自身的私钥分片,汇总方式例如是求和,如服20务方P₂的秘密分片之和wi=∑=1Sji。具体例如:服务方P₁可以计算得到私钥分片w₁为:W₁=S11+S21+S₃1+S41+S51+S61+S71;服务方P₂可以计算得到私钥分片w₂为:W₂=S₁2+S₂2+S₃2+S₄2+S₅2+S62+S72;服务方P₃可以计算得到私钥分片w₃为:W₃=S₁3+S₂3+S₃3+S43+S₅3+S63+S7;服务方P₄可以计算得到私钥分片w₄为:W₄=S14+S24+S₃4+S44+S₅4+S64+S74;25服务方P₅可以计算得到私钥分片w₅为:W₅=S₁5+S₂5+S₃5+S₄5+S55+S65+S75;服务方P₆可以计算得到私钥分片w₆为:W₆=S16+S₂6+S₃6+S46+S₅6+S66+S76;服务方P₇可以计算得到私钥分片w₇为:W₇=S可以理解,从步骤S207-S227,n个服务方基于区块链系统进行信息的交换,本说明书实施例不限于此。例如,n个服务方也可以通过链下广播的方式,进行与其他服务30方之间的信息交换。在一种实施方式中,n个服务方之间还可以交换各自t度多项式对应的公共验证参数Aik=aikG,其中k=0,1,…,t,并公布给每一服务方,具体的:服务方P₁生成A₁k=a₁kG,k=0,1,…,t=2,包括A₁0=a₁0G=S₁0G,A₁1=a₁1G,服务方P₂生成A₂k=a₂kG,k=0,1,…,t=2,包括A₂0=a₂0G=S₂0G,A21=a21G,服务方P₃生成A₃k=a₃kG,k=0,1,…,t=2,包括A₃0=a₃0G=S₃0G,A₃1=a₃1G,WO2025/139338服务方P₄生成A4k=a₄kG,k=0,1,…,t=2,包括A₄0=a₄0G=S₄0G,A41=a41G,A₄2=a₄2G,广播{服务方P₅生成A₅k=a₅kG,k=0,1,…,t=2,包括A50=a₅0G=S₅₀G,A51=a51G,A52=a₅2G,广播{A50,A51,A52}至P₁、P25服务方P₆生成A₆k=a₆kG,k=0,1,…,t=2,包括A₆0=a60G=s₆0G,A61=a61G,A62=a62G,广播{A₆0,A61,A62}至P₁、P服务方P₇生成A₇k=a₇kG,k=0,1,…,t=2,包括A₇0=a₇0G=S₇0G,A71=a₇1G,每个服务方P还可以根据P;的公共验证参数{Ajo,Aj₁…,Ajt}验证P;发来的秘密分10片Sji,例如通过下面公式验证:具体的:服务方P₁通过S₂1G=A₂0+A₂1+A₂2验证S₂1,通过S₃1G=A₃0+A₃1+A₃2验证S₃1,通过S41G=A₄40+A₂1+A₄2验证S41,通过S₅1G=A₅0+A₅1+A₅2验证S₅1,通过S61G=A₆0+A61+A₆2验证S61,通过S₇1G=A₇0+A71+A₇2验证S71;15服务方P₂通过S₁2G=A₁0+2A₁1+2²A₁2验证S₁2,通过S₃2G=A₃0+2A₃1+2²A₃2验通过s62G=A60+2A61+2²A62验证s₆2,通过S₇2G=A₇0+2A₇1+2²A₇2验证S₇2;服务方P₃通过S₁3G=A₁0+3A₁1+3²A₁2验证S₁3,通过S₂3G=A₃0+3A₃1+3²A₃2验20通过S63G=A60+3A61+3²A62验证S63,通过S₇3G=A₇0+3A₇1+3²A₇2验证S₇3;服务方P₄通过S₁4G=A₁0+4A₁1+4²A₁2验证S14,通过S₂4G=A₂0+4A₂1+4²A₂2验通过S₆4G=A₆0+4A61+4²A62验证S64,通过s₇4G=A₇0+4A71+4²A₇2验证S74;服务方P₅通过S₁5G=A₁0+5A₁1+5²A₁2验证S₁5,通过S₂5G=A₂o+5A₂1+5²A₂2验25证S₂5,通过s₃5G=A₃0+5A₃1+通过S₆5G=A₆0+5A61+5²A62验证S65,通过s₇5G=A₇0+5A₇1+5²A₇2验证S75;服务方P₆通过S16G=A₁0+6A₁1+6²A₁2验证S16,通过S₂6G=A₂0+6A₂1+6²A₂2验通过S56G=A₅0+6A51+6²A52验证S56,通过s₇6G=A₆0+6A71+6²A₇2验证S76;30服务方P₇通过S₁₇G=A₁0+7A₁1+7²A₁2验证S₁7,通过S₂₇G=A₂0+7A₂1+7²A₂2验证S₂7,通过s₃7G=A₃0+7A₃1+7²A₃2验证S₃7,通过s₄7G=A₄0+7A₄1+7²A₄2通过S₅₇G=A₅0+7A51+7²A52验证S₅7,通过s₆7G=A₆0+7A61+7²A₆2验证S67。任一方如果验证不通过,可以终止协议。在步骤S229,各个服务方向区块链系统发送调用签名合约的交易Tx4,以上传签35名公钥。交易Tx4中可包括账户Account1和该服务方生成的签名公钥。在步骤S231,区块链系统中执行交易Tx4,在区块链系统中,在签名合约的合约状态中的Table1中的账户Account1的行中,与各个服务方账户关联地存储该服务方WO2025/139338计算的签名公钥。在步骤S233,区块链系统在每次执行交易Tx4时,判断是否已经接收到与n个服务方账户分别对应的n个签名公钥,如果判断结果为是,判断这n个签名公钥是否一致,如果一致则执行步骤S235。5在步骤S235,在判断n个签名公钥一致的情况中,在Table1中的账户Account1的行中的签名公钥字段中存储该签名公钥,并确定密钥生成阶段完成。在如上所述进行密钥生成阶段之后,在签名合约的合约状态中,与账户Account1关联地存储了签名公钥,且账户Account1对应的n个服务方分别存储了其私钥分片Wi。可以理解,图2中的步骤S203-S235(即图2中的虚线框中包括的步骤)示出区10块链系统通过与n个服务方根据DKG协议进行交互生成分布式密钥的过程示例。本说明书实施例中不限于通过图2中的步骤S203-S235来生成分布式密钥,例如,n个服务方还可以通过链下的交互来交换数据(如同态公钥、公钥分片等),对此不作限定。图3为本说明书一实施例中的分布式门限签名中的预处理阶段的流程图。15在步骤S301,区块链系统响应于账户Account1对应的密钥生成阶段的完成,向n个链下服务方分别推送预处理事件,该预处理事件中包括账户A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年崖州湾国家实验室科研助理(劳务派遣)招聘备考题库及参考答案详解1套
- 2026年宜昌市教育局所属三峡旅游职业技术学院“招才兴业”人才引进公开招聘备考题库·武汉大学站及1套完整答案详解
- 2026年广州南沙人力资源发展有限公司招聘公办幼儿园编外工作人员备考题库含答案详解
- 2026年中建材(浙江)材料科技有限公司招聘备考题库及参考答案详解一套
- 2026年天津静慧投资服务有限公司公开招聘19人备考题库完整答案详解
- 水管所内控制度
- 医院药库内控制度
- 规范内控制度
- 学校扶贫内控制度
- 如何编写内控制度汇编
- 小学STEM综合活动教学设计方案
- 2025年11月5日更新的REACH第35批251项高度关注物质SVHC清单
- 2023年和田地区直遴选考试真题汇编附答案解析
- 《5G无线网络规划部署》课件-17、5G RF优化流程
- 机械加工质量检测标准
- 屋顶彩钢瓦施工安装合同
- 四川省广安市岳池县2024-2025学年六年级上学期期末英语试题
- 电子厂安全生产检查表及规范
- 设备管理安全风险辨识
- 新疆赛乃姆舞蹈课件
- 3.提高多标高深基坑支护施工验收一次合格率-飞扬QC小组
评论
0/150
提交评论