[go: up one dir, main page]

CN113067707B - 基于区块链的数据处理方法、装置、设备及可读存储介质 - Google Patents

基于区块链的数据处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113067707B
CN113067707B CN202110616371.2A CN202110616371A CN113067707B CN 113067707 B CN113067707 B CN 113067707B CN 202110616371 A CN202110616371 A CN 202110616371A CN 113067707 B CN113067707 B CN 113067707B
Authority
CN
China
Prior art keywords
consensus
block
node
signature
common
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
CN202110616371.2A
Other languages
English (en)
Other versions
CN113067707A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110616371.2A priority Critical patent/CN113067707B/zh
Priority to CN202111021548.0A priority patent/CN113783699B/zh
Publication of CN113067707A publication Critical patent/CN113067707A/zh
Application granted granted Critical
Publication of CN113067707B publication Critical patent/CN113067707B/zh
Priority to EP22814988.6A priority patent/EP4274155A4/en
Priority to PCT/CN2022/092177 priority patent/WO2022252941A1/zh
Priority to JP2023566965A priority patent/JP7589886B2/ja
Priority to US18/303,560 priority patent/US12184726B2/en
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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/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
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开一种基于区块链的数据处理方法、装置、设备及可读存储介质,其中,方法包括:将第二共识节点集合对应的集合信息添加至第一区块高度对应的区块中,生成第一区块,以使第二共识节点集合中的共识节点在过渡共识时间段内,根据集合信息生成与第二共识周期相关的私钥片段;获取第二共识节点集合中的共识节点发送的私钥片段生成通知,私钥片段生成通知携带通知签名,通知签名是由第二共识节点集合中的共识节点根据与第二共识周期相关的私钥片段,对私钥片段生成通知进行签名所生成的;根据通知签名确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。采用本申请,不仅可以提高区块链业务服务的连贯性和时效性,还可以提高安全性。

Description

基于区块链的数据处理方法、装置、设备及可读存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备以及计算机可读存储介质。
背景技术
随着网络技术的快速发展以及政府和企业对数据安全的重视,区块链得到了极大的应用。区块链网络中的节点可以包括共识节点以及同步节点,其中,共识节点参与记账共识,同步节点主要进行业务执行,不参与记账共识,通过身份认证的方式从共识节点中同步区块数据。
当前区块链的共识节点采用传统的公钥基础设施(Public Key Infrastructure,PKI)体系进行数据签名,也就是每个共识节点自己生成公私钥对,私钥自己保护,公钥对外公开,当对某个区块达成共识后,共识节点会附上自己的私钥签名数据。明显地,每个共识节点对应的公私钥对仅与自身相关联,且在任何时候均相同,所以不法分子可以较容易地利用该共识节点的节点信息获取到其对应的私钥,此时,区块链业务服务的安全性就得不到保障。
此外,共识节点以及同步节点不是固定的,共识节点是以任期为周期,每当任期结束时,区块链共识委员会需要从区块链节点中重新选举新的共识节点,例如第一任区块链共识委员会中的共识节点,对第一共识周期中的区块高度为1、区块高度为2、…、区块高度为n分别对应的区块进行共识处理,等到区块高度为n对应的区块成功上链时,会重新选举出第二任区块链共识委员会,并从第一任区块链共识委员会切换为第二任区块链共识委员会,此时第二任区块链共识委员会需要先获取针对第二共识周期的共识配置信息,例如共识区块范围以及共识节点集合,以完成配置操作,且还需要完成区块同步,进而第二任区块链共识委员会中的共识节点,才能够正常地对第二共识周期中的区块高度为n+1、区块高度为n+2、…、区块高度为2n分别对应的区块进行共识处理。由于在第二任区块链共识委员会获取第二共识周期的共识配置信息,以及同步区块的过程中,第二任区块链共识委员会无法开始对区块高度为n+1对应的区块进行共识处理,所以会导致区块链网络暂停对区块高度为n+1对应的区块的共识处理,进而会降低区块链业务服务的连贯性和时效性。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、设备以及计算机可读存储介质,不仅可以提高区块链业务服务的连贯性和时效性,还可以提高区块链业务服务的安全性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出第二共识节点集合时所生成区块的高度确定为第一区块高度,第一共识周期中的最大区块高度对应的区块,为第二共识周期中的最小区块高度对应的区块的前继区块;
将第二共识节点集合对应的集合信息添加至第一区块高度对应的区块中,生成第一区块,在区块链网络中广播第一区块,以使第二共识节点集合中的共识节点在过渡共识时间段内,根据第一区块中的集合信息生成与第二共识周期相关的私钥片段,过渡共识时间段是指,第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,过渡区块高度区间是根据第一区块高度确定的,且过渡区块高度区间包括的区块高度均大于第一区块高度;
获取第二共识节点集合中的共识节点发送的私钥片段生成通知,私钥片段生成通知携带通知签名,通知签名是由第二共识节点集合中的共识节点根据与第二共识周期相关的私钥片段,对私钥片段生成通知进行签名所生成的;
根据通知签名,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
第一确定模块,用于当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出所述第二共识节点集合时所生成区块的高度确定为第一区块高度,所述第一共识周期中的最大区块高度对应的区块,为所述第二共识周期中的最小区块高度对应的区块的前继区块;
第一生成模块,用于将所述第二共识节点集合对应的集合信息添加至所述第一区块高度对应的区块中,生成第一区块,在区块链网络中广播所述第一区块,以使所述第二共识节点集合中的共识节点在过渡共识时间段内,根据所述第一区块中的所述集合信息生成与所述第二共识周期相关的私钥片段,所述过渡共识时间段是指,所述第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,所述过渡区块高度区间是根据所述第一区块高度确定的,且所述过渡区块高度区间包括的区块高度均大于所述第一区块高度;
第一获取模块,用于获取所述第二共识节点集合中的共识节点发送的私钥片段生成通知,所述私钥片段生成通知携带通知签名,所述通知签名是由所述第二共识节点集合中的共识节点根据与所述第二共识周期相关的私钥片段,对所述私钥片段生成通知进行签名所生成的;
第二确定模块,用于根据所述通知签名,确定所述第二共识节点集合中的共识节点针对所述第二共识周期的共识权限。
其中,第二共识节点集合包括共识节点Ga,a为正整数,且a小于或等于第二共识节点集合中的共识节点的节点总数量,通知签名包括针对共识节点Ga的通知签名Ta
第二确定模块,包括:
第一验签单元,用于利用与第二共识节点集合相关的全局公钥对通知签名Ta进行验签,得到第一验签结果Ja,第一验签结果Ja包括验签失败结果或验签通过结果;
第二验签单元,用于若第一验签结果Ja为验签失败结果,则删除通知签名Ta
第三验签单元,用于若第一验签结果Ja为验签通过结果,则将通知签名Ta添加至合法签名集合;
第一确定单元,用于根据合法签名集合,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。
其中,第一确定单元,包括:
统计数量子单元,用于统计合法签名集合中通知签名的签名总数量;
第一确定子单元,用于确定节点总数量以及签名总数量之间的第一数量比值,将第一数量比值与第一数量比值阈值进行对比;
第二确定子单元,用于若第一数量比值小于第一数量比值阈值,则确定第二共识节点集合中的共识节点不具备针对第二共识周期的共识权限;
第二确定子单元,还用于若第一数量比值大于或等于第一数量比值阈值,则确定第二共识节点集合中的共识节点具备针对第二共识周期的共识权限。
其中,私钥片段生成通知包括共识节点Ga发送的私钥片段生成通知Za
第一验签单元,包括:
第一获取子单元,用于利用与第二共识节点集合相关的全局公钥对通知签名Ta进行解密,获取第一数字摘要;
第二获取子单元,用于获取私钥片段生成通知Za的第二数字摘要,将第一数字摘要以及第二数字摘要进行对比;
第三确定子单元,用于若第一数字摘要以及第二数字摘要相同,则确定第一验签结果Ja为验签通过结果;
第三确定子单元,还用于若第一数字摘要以及第二数字摘要不同,则确定第一验签结果Ja为验签失败结果。
其中,基于区块链的数据处理装置,还包括:
第一处理模块,用于当第二共识节点集合中的共识节点具备针对第二共识周期的共识权限时,对通知签名进行聚合处理,得到第一聚合签名;
第二生成模块,用于生成包含第一聚合签名的签名验证区块,对签名验证区块进行共识处理,得到共识结果,签名验证区块对应的第二区块高度属于过渡区块高度区间;
第二处理模块,用于根据共识结果以及与第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理。
其中,第二处理模块,包括:
对比高度单元,用于当共识结果为共识通过结果时,将第二区块高度以及过渡区块高度区间内的最大区块高度进行对比;
第一处理单元,用于若第二区块高度等于最大区块高度,则根据与第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理;
获取消息单元,用于若第二区块高度小于最大区块高度,则获取第一共识周期对应的第一共识消息池;
第一生成单元,用于根据第一共识消息池中的数据生成第一待共识区块,利用第一目标私钥片段对第一待共识区块进行签名,得到第一签名份额,第一目标私钥片段是与第一共识周期相关的私钥片段;
第二处理单元,用于对携带有第一签名份额的第一待共识区块进行上链处理,第一签名份额用于指示,第一共识节点集合中的共识节点对第一待共识区块进行来源合法验签。
其中,第二处理模块,包括:
第二确定单元,用于当共识结果为共识通过结果时,确定区块链共识委员会从第一共识节点集合切换至第二共识节点集合;
第三确定单元,用于确定与第二共识节点集合之间的关联关系,若关联关系指示不属于第二共识节点集合,则从区块链共识委员会中退出,暂停对第二共识周期内的区块的共识处理;
第三确定单元,还用于将由第二共识节点集合所共识通过的区块同步到数据账本。
其中,与第二共识周期相关的私钥片段包括第二目标私钥片段;
第二处理模块,包括:
第二确定单元,还用于当共识结果为共识通过结果时,确定区块链共识委员会从第一共识节点集合切换至第二共识节点集合;
第三确定单元,还用于确定与第二共识节点集合之间的关联关系,若关联关系指示属于第二共识节点集合,则获取第二共识周期对应的第二共识消息池;
第二生成单元,用于根据第二共识消息池中的数据生成第二待共识区块,利用第二目标私钥片段对第二待共识区块进行签名,得到第二签名份额;
第三处理单元,用于对携带有第二签名份额的第二待共识区块进行上链处理,第二签名份额用于指示,第二共识节点集合中的共识节点对第二待共识区块进行来源合法验签。
其中,第二共识节点集合包括共识节点Gb,b为正整数,且b小于或等于第二共识节点集合中的共识节点的节点总数量,与第二共识周期相关的私钥片段包括共识节点Gb对应的私钥片段Pb
第三处理单元,包括:
广播区块子单元,用于在共识网络中广播携带有第二签名份额的第二待共识区块;
第三获取子单元,用于获取共识节点Gb发送的第二签名份额Fb,第二签名份额Fb是由共识节点Gb根据私钥片段Pb对共识结果Sb进行签名所生成的,共识结果Sb用于表征共识节点Gb针对第二待共识区块的共识结果;
第四获取子单元,用于利用与第二共识节点集合相关的全局公钥对第二签名份额Fb进行验签,得到第二验签结果Db
第四确定子单元,用于根据第二验签结果Db将第二待共识区块确定为第二区块。
其中,第二验签结果Db包括验签失败结果或验签通过结果;
第四确定子单元,包括:
第一份额子单元,用于若第二验签结果Db为验签失败结果,则删除第二签名份额Fb
第二份额子单元,用于若第二验签结果Db为验签通过结果,则将第二签名份额Fb存储至合法份额集合;
比值对比子单元,用于确定合法份额集合中的第二签名份额的份额总数量,确定节点总数量以及份额总数量之间的第二数量比值,将第二数量比值与第二数量比值阈值进行对比;
第一区块子单元,用于若第二数量比值大于或等于第二数量比值阈值,则将第二待共识区块确定为第二区块。
其中,第四确定子单元,还包括:
第三份额子单元,用于对合法份额集合中的第二签名份额进行聚合处理,得到第二聚合签名,将第二聚合签名添加至第二区块中,将携带有第二聚合签名的第二区块存储至数据账本;
同步请求子单元,用于获取区块链节点发送的针对第二区块的区块同步请求,区块链网络包括区块链节点;
第二区块子单元,用于根据区块同步请求返回携带有第二聚合签名的第二区块至区块链节点,以使区块链节点根据全局公钥对第二聚合签名进行验签,得到第三验签结果,根据第三验签结果同步第二区块。
其中,基于区块链的数据处理装置,还包括:
第二获取模块,用于若属于第二共识节点集合中的共识节点,则获取第一区块中的集合信息,通过分布式密钥组件生成与集合信息相关联的秘密整数;
第二生成模块,还用于根据秘密整数生成目标局部公钥,根据秘密整数生成至少两个秘密份额,至少两个秘密份额的总数量与第二共识节点集合中的共识节点的节点总数量相同,第二共识节点集合中的共识节点包括共识节点Gc,c为正整数,且c小于或等于节点总数量,至少两个秘密份额包括秘密份额Mc
第二获取模块,还用于将目标局部公钥以及秘密份额Mc发送至共识节点Gc,获取共识节点Gc发送的局部公钥Uc以及秘密份额Ec,局部公钥Uc以及秘密份额Ec均与共识节点Gc对应的秘密整数相关联;
第二获取模块,还用于对秘密份额Ec进行合法性验证,将合法性验证结果广播至第二共识节点集合中的共识节点;
第二生成模块,还用于根据秘密份额Ec生成第二目标私钥片段,根据目标局部公钥以及局部公钥Uc生成与第二共识节点集合相关的全局公钥。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以使得计算机设备执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,当在第一共识周期内,确定第二共识周期对应的第二共识节点集合时,将第二共识节点集合对应的集合信息添加至第一区块中;进一步地,在区块链网络中广播第一区块,其中,第一共识周期对应的第一共识节点集合中的共识节点,可以基于第一区块高度确定过渡区块高度区间,且可以继续对属于过渡区块高度区间内的区块进行共识处理,在第一共识节点集合中的共识节点对过渡区块进行共识处理的同时,第二共识节点集合中的共识节点可以根据第一区块中的集合信息,生成与第二共识周期相关的私钥片段;进一步地,获取第二共识节点集合中的共识节点发送的私钥片段生成通知,根据私钥片段生成通知携带的通知签名,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。上述可知,通过过渡区块高度区间,本申请可以在从第一共识节点集合切换到第二共识节点集合时,无需等待第二共识节点集合中的共识节点生成与第二共识周期相关的私钥片段,从而可以使第二共识节点集合中的共识节点更加平滑地拥有共识权限,避免在切换共识节点集合时出现较长时间地暂停区块共识的情况,因此,本申请可以提高区块链业务服务的连贯性和时效性。此外,本申请中的与第二共识周期相关的私钥片段是与第二共识节点集合对应的集合信息相关联的,即在第一共识周期中用于签名的私钥片段(与第一共识节点集合对应的集合信息相关联),与在第二共识周期用于签名的私钥片段不同,因此,本申请可以提高区块链业务服务的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图5是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图7是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图8是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图9是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图10是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图11是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图12是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图13是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图14是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图15是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先对部分名词进行以下简单解释:
1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前获取的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中的节点提议添加一个新的区块,必须经过共识机制对区块达成共识确认。
2、区块(block):是在区块链网络上承载交易数据的数据包,是一种被标记上时间戳和前继区块对应的哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易。区块包括区块头(Block Header)以及区块体(Block Body),区块头可以记录当前区块的元信息,包含当前版本号、前继区块对应的哈希值、时间戳、随机数、默克尔树根(MerkleRoot)的哈希值等数据。区块体可以记录一段时间内所生成的详细数据,包括当前区块经过验证的、区块创建过程中生成的所有交易记录或是其他信息,可以理解为账本的一种表现形式。
3、哈希值:也称作信息特征值或特征值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。在区块链中,每个区块(除了初始区块)都包含前继区块的哈希值,前继区块被称为当前区块的父区块。哈希值是区块链技术中的潜力核心基础和最重要的方面,它保留了记录和查看数据的真实性,以及区块链作为一个整体的完整性。
4、区块链节点:区块链网络将节点区分为共识节点(也可以称作核心节点)以及同步节点(可以包括数据节点以及轻节点)。其中,共识节点负责区块链全网的共识业务;同步节点负责同步共识节点的账本信息,即同步最新的区块数据。无论是共识节点还是同步节点,其内部构造都包括网络通信组件,因为区块链网络本质是一个点对点(Peer to Peer,P2P)网络,需通过P2P组件与区块链网络中的其他节点进行通信。区块链网络中的资源和服务都分散在各个节点上,信息的传输和服务的实现都直接在节点之间进行,无需中间环节或中心化的服务器(第三方)介入。
5、共识机制(consensus mechanism):共识机制是区块链系统中实现不同节点设备之间建立信任、获取权益的数学算法。在区块链系统中,通过节点设备之间的投票机制(也即共识机制),可以在很短的时间内完成对交易的验证和确认,对一笔交易,如果利益不相干的若干个节点设备能够达成共识,就可以认为系统中的全部节点设备对此也能够达成共识。
6、公钥(public key)与私钥(private key):公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
7、分布式秘钥生成(Distributed Key Generation,DKG)协议:该协议是分布式加密系统的重要组成部分,在DKG协议中,多个参与者(参与共识的节点设备)根据预先设定的加密系统,共同合作生成全局公钥和各自的私钥片段,并且无需任何可信任体。DKG协议生成的全局公钥以公开的形式输出,而各个私钥片段被参与者按照某一秘密分享方案所分享,这一被分享的私钥片段可以用于面向群体的密码系统,如群体签名或群体解密等。
请参见图1,图1是本申请实施例提供的一种系统架构示意图。如图1所示,该系统架构可以为区块链网络,其中,区块链网络可以包括共识网络101以及同步网络102;同步网络102中的节点可以称为同步节点,同步节点主要进行业务执行,不参与记账共识,通过身份认证的方式从共识网络101中获得区块数据。共识网络101也可以称作核心网络,共识网络101中的节点可以称为共识节点,共识节点拥有全量数据。其中,共识网络101和同步网络102可以处在不同网络环境下,通常来说,共识网络101处于私有网络中,而同步网络102处于共有网络中,二者通过路由边界进行交互。
请再参见图1,共识网络101可以包括共识节点1011、共识节点1012、...、共识节点1013。可以理解的是,上述共识网络101可以包括一个或者多个共识节点,这里将不对共识节点的数量进行限制。
请再参见图1,同步网络102可以包括同步节点1021、同步节点1022、同步节点1023、...、同步节点1024以及同步节点1025。可以理解的是,上述同步网络102可以包括一个或者多个同步节点,这里将不对同步节点的数量进行限制。
每个节点(包括共识网络101中的共识节点以及同步网络102中的同步节点)在进行正常工作时,可以接收到客户端发送的交易数据,并基于接收到的交易数据生成区块,然后进行区块上链处理。为了保证各个节点之间的数据互通,每个节点之间可以存在数据连接,例如共识节点1011与共识节点1012之间存在数据连接,共识节点1011与共识节点1013之间存在数据连接,同步节点1021与同步节点1023之间存在数据连接等等。
进一步地,共识网络101与同步网络102之间存在数据连接,例如共识节点1011与同步节点1022之间存在数据连接,共识节点1012与同步节点1023之间存在数据连接等等。
可以理解的是,节点之间可以通过上述数据连接进行数据或者区块传输。上述节点之间的数据连接可以基于节点标识,对于区块链网络中的每个节点,均具有与其对应的节点标识,而且上述每个节点均可以存储与自身有相连关系的其他节点的节点标识,以便后续根据其他节点的节点标识,将获取到的数据或生成的区块广播至其他节点,例如共识节点1011可以维护一个节点标识列表,该节点标识列表保存着其他节点的节点名称和节点标识。如表1所示:
表1
节点名称 节点标识
共识节点1012 117.114.151.174
共识节点1013 117.116.189.145
同步节点1021 117.114.151.183
同步节点1022 117.116.189.125
同步节点1023 119.250.485.362
其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址以及其他任意一种能够用于标识区块链网络中节点的信息,表1中仅以IP地址为例进行说明。
假设共识节点1011的节点标识为117.116.156.425,则共识节点1011可以通过节点标识117.114.151.183,向同步节点1021发送数据同步请求,且同步节点1021通过节点标识117.116.156.425,可以知道该数据同步请求是共识节点1011所发送的;同理,同步节点1023可以通过节点标识117.116.156.425,向共识节点1011发送交易数据A,且共识节点1011通过节点标识119.250.485.362,可以知道该交易数据A是同步节点1023所发送的,其他节点之间的数据传输亦如此,故不再一一进行赘述。
可以理解的是,上述的数据连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他连接方式,本申请在此不做限制。
其中,图1中的共识节点1011、共识节点1012、...、共识节点1013、同步节点1021、同步节点1022、同步节点1023、...、同步节点1024以及同步节点1025可以包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobile internet device)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等。
可以理解的是,本申请实施例所提供的基于区块链的数据处理方法可以由计算机设备执行,计算机设备包括但不限于终端或服务器。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
为了便于叙述,本申请将区块高度为X的区块命名为区块X,并将区块高度为X叙述为区块高度X,X为正整数。例如将区块高度为1的区块命名为区块1,将区块高度为1叙述成区块高度1;将区块高度为98的区块命名为区块98,将区块高度为98叙述成区块高度98,其他区块高度对应的区块命名亦如此,此处不再一一进行赘述。
由上述图1可知,区块链网络包括共识网络和同步网络,但共识网络中的共识节点不是固定不变的,存在动态增删的情况,可以理解为,将共识网络的共识过程划分为共识周期,其中,每一个共识周期由固定的共识节点集合参与共识,其他区块链节点作为数据同步节点,当当前共识周期所生成的区块高度满足共识节点集合切换条件时,将重新选出下一个共识周期的共识节点集合,以参与下一个共识周期的共识业务。此外,本申请选举出下一个共识周期的共识节点集合后,不会让新的共识节点集合立刻接管上一个共识周期的共识节点集合的共识权限,而是给出一个过渡期,在过渡期完成必要准备工作,比如新的共识节点集合需要通过分布式秘钥组件,生产针对新的共识周期的秘钥片段。请参见图2,图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图2所示,区块链节点集合201包括区块链节点201a、区块链节点202a、区块链节点203a、…、区块链节点206a,在第一共识周期(可以理解为当前共识周期)中,区块链节点206a属于第一共识节点集合20c。其中,第一共识节点集合20c中的共识节点(也包括区块链节点206a),可以用于在第一共识周期中对区块1至区块100进行上链处理。上述第一共识节点集合可以理解为第一共识周期所对应的区块链共识委员会,该区块链共识委员会是区块链中负责共识区块的节点,又被称为记账者。
请再参见图2,区块链节点20a可以是区块链节点集合201中的任意一个区块链节点,区块链节点20a可以包括任期管理组件20b,该任期管理组件20b可以包括第一共识周期的共识区块范围,如图2中所示的区块1至区块100;可以包括针对第一共识周期的共识节点集合切换条件,如图2中所示的区块98,可以理解的是,上述共识节点集合切换条件中的“区块98 ”,可以是指第一共识节点集合20c生成区块高度为98的区块,也可以指代区块高度为98的区块成功上链,此处不限定区块98的区块状态,可以根据实际应用场景进行设置。
本申请实施例以第一共识节点集合20c中的某个共识节点生成区块98(即图2中的区块20f)为例进行叙述,如图2所示,此时,第一共识周期内所生成的区块高度(即区块高度98)满足共识节点集合切换条件,所以区块链节点20a开始选举第二共识周期对应的共识节点;其中,第二共识周期的共识区块范围可以包括区块101至区块200。区块链节点20a将选举出的针对第二共识周期的共识节点添加至第二共识节点集合20d中,当第二共识节点集合20d中的共识节点完全确定时,将第一共识节点集合20c正在生成的区块(如图2中所述的区块20g)确定为第一区块,将该第一区块对应的区块高度确定为第一区块高度(假设第一区块为区块99,则第一区块高度等于区块高度99)。可以理解的是,第一区块还可以为第一共识节点集合20c正在共识的区块或正在上链的区块,此处不限定第一区块的区块状态,可以根据实际应用场景进行设置。
第一共识节点集合20c中的出块节点可以将第二共识节点集合20d对应的集合信息20e,添加至第一区块(即图2中的区块20g)的区块头中,当第一区块共识通过时,将第一区块广播至同步网络。
不同于以往的方法,本申请实施例在第一共识周期与第二共识周期的更换处,创建一个过渡区块高度区间。该过渡区块高度区间可以是固定的区间,例如区块链节点20a首先获取过渡区块数量,本申请实施例以过渡区块数量为10为例进行叙述,结合第一区块高度(例如区块高度99)以及过渡区块数量(10个),区块链节点20a可以确定过渡区块为区块100、区块101、区块102、…、区块109。其中,区块100为第一共识周期中的区块,而区块101、区块102、…、区块109为第二共识周期中的区块。
第一共识节点集合20c中的共识节点(包括区块链节点206a)对区块100进行共识,当共识通过时,对区块100进行上链。此时,不会将区块链共识委员会从第一共识节点集合20c切换至第二共识节点集合20d,即针对第二共识周期中的区块101、区块102、…、区块109,仍然由第一共识节点集合20c中的共识节点进行共识。在第一共识节点集合20c对过渡区块(例如区块100、区块101、区块102、…、区块109)进行共识处理的同时,即在过渡时间段内,第二共识节点集合20d中的共识节点(包括区块链节点201a以及区块链节点206a),根据第一区块(即图2中的区块20g)中的集合信息20e生成与第二共识周期相关的私钥片段,例如图2所示例的私钥片段201h、…、私钥片段202h。当第一共识节点集合20c对区块109共识通过时,将区块链共识委员会从第一共识节点集合20c切换至第二共识节点集合20d。
可以理解的是,与第二共识周期相关的私钥片段的总数量等于第二共识节点集合20d中共识节点的节点总数量。
可选的,该过渡区块高度区间可以不是固定的区间,区块链节点20a基于第一区块(即图2中的区块20g)确定过渡起始区块,例如区块20g为区块99,则过渡起始区块为区块100,当第二共识节点集合20d中的共识节点均生成自己的私钥片段时,例如第二共识节点集合20d中区块链节点201a生成自身的私钥片段201h,第二共识节点集合20d中区块链节点206a生成自身的私钥片段202h,明显地,针对第一共识周期的第一共识节点集合20c中的区块链节点206a的私钥片段是私钥片段203h,不等同于区块链节点206a针对第二共识周期的私钥片段202h;第二共识节点集合20d中的每一个共识节点可以通过通知的形式,例如图2中所示例的私钥片段生成通知20i,并利用与第二共识周期相关的私钥片段对该私钥片段生成通知20i签名,得到通知签名,例如区块链节点206a利用私钥片段202h对自身的私钥片段生成通知进行签名,得到针对区块链节点206a的通知签名。第二共识节点集合20d中的每个共识节点均将携带通知签名的私钥片段生成通知20i广播给第一共识节点集合20c,例如图2示例的区块链节点206a,告知第一共识节点集合20c自己的秘钥片段已生成好。
后续,当第一共识节点集合20c中的共识节点(包括区块链节点206a)对上述通知签名进行验签,并验签通过时,第一共识节点集合20c正在处理的区块可以为过渡结束区块,过渡时间段即为对过渡起始区块(例如上述示例的区块100)进行共识至过渡结束区块共识通过的时间段,例如,区块链系统可以设置过渡区块数量等于10,即区块链系统默认的过渡区块为区块100、区块101、区块102、…、区块109,但第一共识节点集合20c所共识的区块(例如区块103)包括第二共识节点集合20d中的共识节点发送的通知签名,且区块103共识通过,故可以将区块链共识委员会从第一共识节点集合20c切换至第二共识节点集合20d,即第一共识节点集合20c可以退出区块链共识委员会,让第二共识节点集合20d中的共识节点加入区块链共识委员会,进而拥有对第二共识周期内的区块的共识权限。后续,第二共识节点集合20d中的共识节点从区块104开始,对第二共识周期内的区块执行共识业务。
综上所述,在过渡时间段内,第二共识节点集合20d中的共识节点生成有与第二共识周期相关的私钥片段,因此,当区块链共识委员会从第一共识节点集合20c切换至第二共识节点集合20d时,无需等待第二共识节点集合20d生成与第二共识周期相关联的私钥片段,从而可以使第二共识节点集合20d中的共识节点实时地具备共识权限。
上述可知,本申请实施例提出了一种区块链共识委员会交接切换共识节点集合的方法,该方法能够保证新选举的共识治理委员会节点(即上文中的第二共识节点集合20d)可以平滑接管区块链网络的记账权限,让老的共识治理委员会节点(即上文中的第一共识节点集合20c)顺利退出区块链网络的记账权限,进而提高区块链业务服务的连贯性和时效性。此外,通过根据共识节点集合对应的集合信息生成各个共识节点的私钥片段,又因为共识节点集合具有周期性的特征(例如图2中的区块链节点206a,其针对第一共识周期的私钥片段203h,不等同于针对第二共识周期的私钥片段202h),故可以提高区块链业务服务的安全性。
进一步地,请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该基于区块链的数据处理方法可以由计算机设备执行,该计算机设备可以包括第一共识节点集合中的任意一个共识节点,也可以包括第二共识节点集合中的任意一个共识节点,还可以包括上述的任意一个属于第一共识节点集合中的共识节点,以及任意一个属于第二共识节点集合中的共识节点。如图3所示,该基于区块链的数据处理过程可以包括如下步骤。
步骤S101,当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出第二共识节点集合时所生成区块的高度确定为第一区块高度,第一共识周期中的最大区块高度对应的区块,为第二共识周期中的最小区块高度对应的区块的前继区块。
具体的,获取在第一共识周期内已生成的最大区块高度,获取针对第一共识周期的共识节点集合切换条件,将最大区块高度与共识节点集合切换条件进行匹配;若最大区块高度与共识节点集合切换条件匹配成功时,对区块链节点集合中的每个区块链节点分配针对第二共识周期的索引号,索引号包括共识索引号;将具有共识索引号的区块链节点添加至第二共识周期对应的第二共识节点集合中。
请一并参见图4,图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图4所示,当前第一共识周期的已生成区块40d可以包括区块1(即图4中的区块401d)、区块2(即图4中的区块402d)…区块98(即图4中的区块498d),即目前最大的区块高度为区块98对应的区块高度98,则区块高度98为上述的最大区块高度。区块链节点集合40c可以包括区块链节点401c、区块链节点402c、区块链节点403c、…、区块链节点406c(为第一共识节点集合4c中的共识节点)以及第一共识节点集合4c中的其他共识节点。
区块链节点40a可以是区块链节点集合40c中的任意一个区块链节点,区块链节点40a可以包括任期管理组件40b,如图4所示,该任期管理组件40b可以包括第一共识周期的共识区块范围,如图4中所示的区块1至区块100;可以包括针对第一共识周期的共识节点集合切换条件(也可以称之为图4中的第一切换条件),请参见上文图2所对应的实施例中针对共识节点集合切换条件的详细叙述,此处不再进行赘述。
该任期管理组件40b可以包括针对第一共识周期的第一共识索引号,其中,全文所述的索引号可以理解成不同于区块链节点自身节点标识(如上文表1所示的节点标识)的节点索引标识。第一共识索引号用于表征第一共识节点集合4c中的共识节点(包括区块链节点406c)的索引号,如图4中所示,第一共识索引号可以包括索引号001、…、索引号010,其中,区块链节点406c的索引号为索引号001。可以理解的是,不同的共识周期,同一个区块链节点的索引号可能会发生变化,所以不同的共识周期,其对应的共识节点可能不一样的。
该任期管理组件40b可以验证本节点(即区块链节点40a)是否被选为下一届区块链共识委员会,若是,则会被添加至第二共识节点集合40e;任期管理组件40b还可以验证给定节点是否为区块提案节点,即出块节点;还拥有共识消息签名等功能。在本申请实施例中,任期管理组件40b可以维护一个区块链共识委员会过渡期,该过渡期通过连续的区块来表示,比如在选举出新的区块链共识委员会(比如第二共识节点集合40e)后,上一任的区块链共识委员会(比如第一共识节点集合4c)继续对10个区块进行共识处理,然后新的区块链共识委员会接管记账,此时,上一任的区块链共识委员会退出记账,该10个区块就是过渡期或过渡区块。
请再参见图4,区块链节点40a从任期管理组件40b中获取针对第一共识周期的共识节点集合切换条件(即第一切换条件),然后将最大区块高度(即图2中区块498d的区块高度,假设为区块高度98)与共识节点集合切换条件进行匹配。若第一切换条件为区块高度99,则最大区块高度与第一切换条件匹配失败,区块链节点40a等待下一区块的生成;若第一切换条件为区块高度98,则最大区块高度与第一切换条件匹配成功。如图4所示,区块链节点40a对区块链节点集合40c中的每个区块链节点分配针对第二共识周期的索引号,针对第二共识周期,假设区块链节点405c的索引号为索引号001,区块链节点406c的索引号为索引号020;假设第二共识索引号(即针对第二共识周期的共识索引号)包括索引号001,不包括索引号020,则区块链节点405c将被添加至第二共识节点集合40e中,而区块链节点406c将不会被添加至第二共识节点集合40e中,如图4所示。
请再参见图4,区块链节点40a是在第一共识周期的已生成区块40f生成区块99(等同于图4中的区块499d)时,确定第二共识节点集合40e的,所以将区块高度99确定为第一区块高度,该区块499d等同于图2中的区块20g。
步骤S102,将第二共识节点集合对应的集合信息添加至第一区块高度对应的区块中,生成第一区块,在区块链网络中广播第一区块,以使第二共识节点集合中的共识节点在过渡共识时间段内,根据第一区块中的集合信息生成与第二共识周期相关的私钥片段,过渡共识时间段是指,第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,过渡区块高度区间是根据第一区块高度确定的,且过渡区块高度区间包括的区块高度均大于第一区块高度。
具体的,若属于第二共识节点集合中的共识节点,则获取第一区块中的集合信息,通过分布式密钥组件生成与集合信息相关联的秘密整数;根据秘密整数生成目标局部公钥,根据秘密整数生成至少两个秘密份额,至少两个秘密份额的总数量与第二共识节点集合中的共识节点的节点总数量相同,第二共识节点集合中的共识节点包括共识节点Gc,c为正整数,且c小于或等于节点总数量,至少两个秘密份额包括秘密份额Mc;将目标局部公钥以及秘密份额Mc发送至共识节点Gc,获取共识节点Gc发送的局部公钥Uc以及秘密份额Ec,局部公钥Uc以及秘密份额Ec均与共识节点Gc对应的秘密整数相关联;对秘密份额Ec进行合法性验证,将合法性验证结果广播至第二共识节点集合中的共识节点;根据秘密份额Ec生成第二目标私钥片段,根据目标局部公钥以及局部公钥Uc生成与第二共识节点集合相关的全局公钥。
请一并参见图5,图5是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图5所示,区块链节点集合40c可以包括区块链节点401c、区块链节点402c、区块链节点403c、…、区块链节点406c(为第一共识节点集合4c中的共识节点)、第一共识节点集合4c中的其他共识节点、区块链节点50b(为第二共识节点集合40e中的共识节点),以及第二共识节点集合40e中的其他共识节点(包括区块链节点405c),其中,图5中区块链节点50a可以是第一共识节点集合4c中的任意一个共识节点,且区块链节点50a作为出块节点生成区块499d。
请再参见图5,区块499d等同于图4中的区块499d,即为选举出第二共识节点集合40e时所对应的区块(即第一区块),区块链节点50a生成第一区块(区块499d),其中,区块499d包括区块头以及区块体,区块头中可以存储有当前区块的输入信息特征值、父区块的区块头特征值(等同于图5中的父区块哈希值)、版本号、时间戳和难度值等,本申请实施例将第二共识节点集合40e对应的集合信息也存储至区块499中的区块头中,区块主体中存储有输入信息。
区块链节点50a将区块499d(即上述的第一区块)在区块链网络中进行广播。为了便于叙述以及理解,本申请实施例以区块链节点50b为第二共识节点集合40e中的任意一个共识节点为例叙述,当区块链节点50b在过渡时间段内获取到区块499d时,先利用与第一共识节点集合4c相关联的全局公钥,对区块499d所携带的聚合签名进行验签,当验签结果为验签通过结果时,根据区块499d中的集合信息生成与第二共识周期相关的私钥片段。其中,区块499d所携带的聚合签名,是根据第一共识节点集合4c中的共识节点分别对应的签名份额所生成的,即第一共识节点集合4c中的共识节点分别利用自己与第一共识周期相关联的私钥片段对区块499d进行签名,得到自己的签名份额,然后对第一共识节点集合4c中的共识节点分别对应的签名份额进行聚合处理,得到上述的区块499d所携带的聚合签名。其中,过渡共识时间段以及过渡区块高度区间的理解,请参见上文图2所对应的实施例中的描述,此处不再进行赘述。
可以理解的是,区块链节点50a与区块链节点50b可以不是同一个区块链节点,即区块链节点50a为第一共识节点集合4c中的共识节点,但不为第二共识节点集合40e中的共识节点;可选的,区块链节点50a与区块链节点50b可以是同一个区块链节点,此时,区块链节点50a不仅为第一共识节点集合4c中的共识节点,还为第二共识节点集合40e中的共识节点。
由上文可知,当共识网络有共识节点动态加入和退出时,共识网络的共识节点集合也就随着变化,即第一共识节点集合不等同于第二共识节点集合,故针对既处于第一共识节点集合,又处于第二共识节点集合的某一个区块链节点,其与第一共识节点集合相关联的私钥片段,与第二共识节点集合相关联的私钥片段是不同的,例如图2中所示例的区块链节点206a,其与第一共识节点集合20c相关联的私钥片段203h,与第二共识节点集合20d相关联的私钥片段202h不同,故分布式秘钥组件需要根据新的集合信息重新计算私钥片段。
在区块链共识委员会过渡期期间,老的共识节点集合(例如图5中的第一共识节点集合4c)继续拥有共识出块的权限,并将新选出的共识节点集合(例如中的第二共识节点集合40e)对应的集合信息追加到正在处理的区块的数据中。当新的共识节点集合(即第二共识节点集合40e)同步到该区块(即第一区块,等同于图5中的区块499d)后,将新的共识节点集合信息通知分布式秘钥组件,分布式秘钥组件收到集合信息后开始运行DKG协议,计算各自的秘钥片段。
本申请实施例首先设计无需认可信任媒介的分布式秘钥组件,分布式密钥组件能保证共识网络中的参与方的私钥片段安全性以及用于验证聚合签名的全局公钥有效性。针对共识网络中共识节点已知的情况下,例如第一共识节点集合4c以及第二共识节点集合40e,分布式秘钥组件为参与方生成私钥片段的流程如下。
1、共识网络中的每个共识节点均有共识模块组件以及分布式密钥组件,每个共识节点的共识模块组件向其自身的分布式秘钥组件注册事件,该事件用于监听自身节点的私钥片段生成状态。为了便于对共识节点生成私钥片段的叙述以及理解,本申请实施例以第二共识节点集合40e中的共识节点(例如图5中的区块链节点50b以及区块链节点405c)为例叙述,其他共识节点生成自身的私钥片段的过程可以参见如下过程。
2、区块链节点50b(值得注意的是,此处的区块链节点50b特指第二共识节点集合40e中的任意一个共识节点,具有共识权限以及出块权限)的分布式秘钥组件随机生成一个属于自己的秘密整数,然后遵循DKG协议,向共识网络分享该秘密整数,该过程可以一并参见图6,图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。其中,图6中的节点1、节点2、节点3以及节点4均为第二共识节点集合40e中的共识节点,可以理解的是,第二共识节点集合40e中的每一个共识节点均执行下述过程,本申请实施例为了图6的美观以及可见性,仅以节点1代表区块链节点50b,节点2代表区块链节点405c为例叙述,如图6所示,该方法可以包括准备阶段、分发阶段、广播阶段以及计算阶段,每个阶段的作用如下。
a、准备阶段:一方面,区块链节点50b根据秘密整数生成目标局部公钥50c;另一方面,根据可验证秘密分享方案,区块链节点50b将自己的秘密整数计算出要分享给共识节点的秘密份额50d,如图5所示,秘密份额50d可以包括秘密份额501d、…、秘密份额502d,秘密份额50d的总数量等于与共识网络中的共识节点的节点总数量。本申请实施例不对上述的可验证秘密分享方案进行限定,可以为任意一种方案,例如,由Pedersen提出的在信息论上安全的非交互可验证秘密分享方案(Pedersen- Verifiable Secret Sharing,Pedersen-VSS)、由Feldman提出的Feldman- Verifiable Secret Sharing (Feldman-VSS)方案。
b、分发阶段:区块链节点50b将准备阶段计算出的秘密份额以及目标局部公钥50c分发给对应的共识节点,例如将秘密份额502d分发给自己,将秘密份额501d分发给区块链节点405c(此处的区块链节点405c特指第二共识节点集合40e中的任意一个共识节点,具有共识权限以及出块权限)。
c、广播阶段:每一个共识节点均收到其他共识节点分发的秘密份额以及其对应的目标局部公钥后,例如区块链节点405c获取到区块链节点50b分发的秘密份额501d以及目标局部公钥50c,…,自身分发的秘密份额50e以及目标局部公钥50g后,基于Pedersen-VSS方案,区块链节点405c分别验证所获取到的秘密份额的有效性,然后将验证结果广播给第二共识节点集合40e中的其他的共识节点,例如区块链节点50b。
d、计算阶段:一方面,根据Pedersen-VSS方案,区块链节点405c将所有共识节点分别分发给自己的秘密份额(例如图5所示例的秘密份额501d以及秘密份额50e)作为输入,计算出其所持有的私钥片段,例如图5示例的私钥片段50f;另一方面,区块链节点405c将自己获取到的目标局部公钥(例如图5所示例的目标局部公钥50c以及目标局部公钥50g)作为输入,计算出自己的全局公钥50h。其中,第二共识节点集合40e中的每个共识节点分别对应的全局公钥是相同的。
3、当区块链节点405c的分布式秘钥组件发现自己的私钥片段已生成后,则向共识模块组件注册的事件发出通知信号告知私钥片段已经准备好。
4、共识模块组件收到通知后,获取生成好的私钥片段,将其用作后续共识投票签名,同时共识模块组件可以启动共识权限。
步骤S103,获取第二共识节点集合中的共识节点发送的私钥片段生成通知,私钥片段生成通知携带通知签名,通知签名是由第二共识节点集合中的共识节点根据与第二共识周期相关的私钥片段,对私钥片段生成通知进行签名所生成的。
具体的,第二共识节点集合中的每一个共识节点在计算出自己的秘钥片段后,通过通知(等同于私钥片段生成通知)的形式签名,即用私钥片段对一个私钥片段生成通知进行签名,然后将携带通知签名的私钥片段生成通知广播给第一共识节点集合中的共识节点,即告知第一共识节点集合自己的秘钥片段已生成好。请一并参见图7,图7是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图7所示,第二共识节点集合中的共识节点(如图7中所示例的区块链节点405c),先生成一个私钥片段生成通知,然后利用自己的私钥片段50f对该私钥片段生成通知进行签名,得到通知签名50i,然后将携带有通知签名50i的私钥片段生成通知广播给第一共识节点集合中的共识节点,例如图7中所示例的区块链节点70a。
步骤S104,根据通知签名,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。
具体的,第二共识节点集合包括共识节点Ga,a为正整数,且a小于或等于第二共识节点集合中的共识节点的节点总数量,通知签名包括针对共识节点Ga的通知签名Ta;利用与第二共识节点集合相关的全局公钥对通知签名Ta进行验签,得到第一验签结果Ja,第一验签结果Ja包括验签失败结果或验签通过结果;若第一验签结果Ja为验签失败结果,则删除通知签名Ta;若第一验签结果Ja为验签通过结果,则将通知签名Ta添加至合法签名集合;根据合法签名集合,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。
其中,私钥片段生成通知包括共识节点Ga发送的私钥片段生成通知Za;得到第一验签结果Ja的具体过程可以包括:利用与第二共识节点集合相关的全局公钥对通知签名Ta进行解密,获取第一数字摘要;获取私钥片段生成通知Za的第二数字摘要,将第一数字摘要以及第二数字摘要进行对比;若第一数字摘要以及第二数字摘要相同,则确定第一验签结果Ja为验签通过结果;若第一数字摘要以及第二数字摘要不同,则确定第一验签结果Ja为验签失败结果。
其中,根据合法签名集合,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限的具体过程可以包括:统计合法签名集合中通知签名的签名总数量;确定节点总数量以及签名总数量之间的第一数量比值,将第一数量比值与第一数量比值阈值进行对比;若第一数量比值小于第一数量比值阈值,则确定第二共识节点集合中的共识节点不具备针对第二共识周期的共识权限;若第一数量比值大于或等于第一数量比值阈值,则确定第二共识节点集合中的共识节点具备针对第二共识周期的共识权限。
第一共识节点集合中的共识节点收到上述私钥片段生成通知后,会根据新的全局公钥(等同于与第二共识周期相关联的全局公钥,不等同于与第一共识周期相关联的全局公钥)校验通知签名的合法性,若非法则删除,若合法则缓存起来,当收到足够多第二共识节点集合中的共识节点分别发送的私钥片段生成通知后,第一共识节点集合中的出块节点会通过签名聚合算法,对合法的通知签名进行聚合处理,得到一个聚合签名,并将该聚合签名打包进正在处理的区块中,告知第一共识节点集合中的其他共识节点,下一个共识周期的共识节点集合(即第二共识节点集合)已准备好,当第一共识节点集合对该区块达成共识后,第一共识节点集合可以退出共识,由第二共识节点集合接管共识权限。请一并参见图7,第一共识节点集合中的任意一个共识节点获取到第二共识节点集合中的任意一个发送的私钥片段生成通知后,将执行以下步骤,本申请实施例为例便于叙述以及理解,以图7中的区块链节点70a示意第一共识节点集合中的任意一个共识节点,以图7中的区块链节点405c示意第二共识节点集合中的任意一个共识节点。区块链节点70a利用与第二共识节点集合相关的全局公钥50h(等同于图5中全局公钥50h)对通知签名50i进行解密,获取第一数字摘要;可以利用哈希算法获取私钥片段生成通知的第二数字摘要,区块链节点70a将第一数字摘要以及第二数字摘要进行对比;若第一数字摘要以及第二数字摘要不同,则确定针对通知签名50i的第一验签结果为验签失败结果,此时,区块链节点70a将删除通知签名50i;若第一数字摘要以及第二数字摘要相同,则确定针对通知签名50i的第一验签结果为验签通过结果,此时,区块链节点70a将通知签名50i添加至合法签名集合70b。
进一步地,请一并参见图8,图8是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图8所示,第一共识节点集合中的共识节点统计合法签名集合70c中通知签名的签名总数量,其中,图8所示例的合法签名集合70c包括通知签名50i、…、通知签名501i,通知签名50i可以为第二共识节点集合40e(等同于图5中的第二共识节点集合40e)中的共识节点(等同于区块链节点405c)的通知签名,通知签名501i可以为第二共识节点集合40e中的共识节点(等同于区块链节点50b)的通知签名;第一共识节点集合中的共识节点确定节点总数量以及签名总数量之间的第一数量比值,可以理解的是,签名总数量小于或等于节点总数量,故第一数量比值小于会等于1;将第一数量比值与第一数量比值阈值进行对比,假设第一数量比值为0.9;若第一数量比值阈值等于0.95,则确定第一数量比值小于第一数量比值阈值,进一步地,可以确定第二共识节点集合40e中的共识节点不具备针对第二共识周期的共识权限,即仍由第一共识节点集合中的共识节点执行共识业务;若第一数量比值阈值等于0.85,此时,第一数量比值大于第一数量比值阈值,则可以确定第二共识节点集合中的共识节点具备针对第二共识周期的共识权限。
本申请实施例能够在共识网络中的共识节点动态增删的情况下,自动更新聚合签名分布式秘钥系统,不需要停掉共识服务,同时,聚合签名方法采用分布式秘钥系统,多方共识节点共同参与,所有共识节点不可预测签名所用的私钥片段,能够防止少数节点作恶。
上述可知,通过过渡区块高度区间,本申请可以在从第一共识节点集合切换到第二共识节点集合时,无需等待第二共识节点集合中的共识节点生成与第二共识周期相关的私钥片段,从而可以使第二共识节点集合中的共识节点更加平滑地拥有共识权限,避免在切换共识节点集合时出现较长时间地暂停区块共识的情况,因此,本申请可以提高区块链业务服务的连贯性和时效性。此外,本申请中的与第二共识周期相关的私钥片段是与第二共识节点集合对应的集合信息相关联的,即在第一共识周期中用于签名的私钥片段(与第一共识节点集合对应的集合信息相关联),与在第二共识周期用于签名的私钥片段不同,因此,本申请可以提高区块链业务服务的安全性。
进一步地,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该基于区块链的数据处理方法可以由计算机设备执行,该计算机设备可以包括第一共识节点集合中的任意一个共识节点,也可以包括第二共识节点集合中的任意一个共识节点,还可以包括上述的任意一个属于第一共识节点集合中的共识节点,以及任意一个属于第二共识节点集合中的共识节点。如图9所示,该基于区块链的数据处理过程可以包括如下步骤。
步骤S201,当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出第二共识节点集合时所生成区块的高度确定为第一区块高度,第一共识周期中的最大区块高度对应的区块,为第二共识周期中的最小区块高度对应的区块的前继区块。
步骤S202,将第二共识节点集合对应的集合信息添加至第一区块高度对应的区块中,生成第一区块,在区块链网络中广播第一区块,以使第二共识节点集合中的共识节点在过渡共识时间段内,根据第一区块中的集合信息生成与第二共识周期相关的私钥片段,过渡共识时间段是指,第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,过渡区块高度区间是根据第一区块高度确定的,且过渡区块高度区间包括的区块高度均大于第一区块高度。
步骤S203,获取第二共识节点集合中的共识节点发送的私钥片段生成通知,私钥片段生成通知携带通知签名,通知签名是由第二共识节点集合中的共识节点根据与第二共识周期相关的私钥片段,对私钥片段生成通知进行签名所生成的。
步骤S204,根据通知签名,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。
其中,步骤S201-步骤S204的具体过程可以参见上文图3所对应的实施例中步骤S101-步骤S104的描述,此处不再进行赘述。
步骤S205,当第二共识节点集合中的共识节点具备针对第二共识周期的共识权限时,对通知签名进行聚合处理,得到第一聚合签名。
具体的,当收到足够多第二共识节点集合中的共识节点分别发送的私钥片段生成通知后,第一共识节点集合中的出块节点会通过签名聚合算法,对合法的通知签名进行聚合处理,得到一个聚合签名。请再参见图8,当第一数量比值等于或大于第一数量比值阈值时,第一共识节点集合中的共识节点可以确定第二共识节点集合中的共识节点具备针对第二共识周期的共识权限,此时第一共识节点集合中的共识节点对合法签名集合70c中的通知签名(包括图8所示例的通知签名50i以及通知签名501i)进行聚合处理,得到第一聚合签名70d。本申请实施例不对聚合签名算法进行限定,可以根据实际应用场景进行设定,可以包括BLS签名算法,该签名算法由斯坦福大学的Dan Boneh, Ben Lynn和Hovav Shacham提出,是一种可以实现签名聚合和秘钥聚合的算法,即可以将多个秘钥聚合成一把秘钥,将多个签名聚合成一个签名。聚合签名算法还可以包括数字签名算法,例如Schnorr签名算法。
步骤S206,生成包含第一聚合签名的签名验证区块,对签名验证区块进行共识处理,得到共识结果,签名验证区块对应的第二区块高度属于过渡区块高度区间。
具体的,第一共识节点集合中的出块节点将第一聚合签名打包进正在处理的区块中,告知第一共识节点集合中的其他共识节点,下一个共识周期的共识节点集合(即第二共识节点集合)已准备好,当第一共识节点集合对该区块达成共识后,第一共识节点集合可以退出共识,由第二共识节点集合接管共识权限。请一并参见图10,图10是本申请实施例提供的一种基于区块链的数据处理的场景示意图。图10中的区块链节点80a为第一共识节点集合4c中的出块节点,其生成包含第一聚合签名的签名验证区块80b,该签名验证区块80b包括区块头以及区块体,区块体可以包括输入信息1(等同于交易数据),区块头可以包括父区块哈希值、输入信息1的特征值(等同于图10中的输入信息1特征值)、第一聚合签名等数据,可以理解的是,签名验证区块80b中的父区块哈希值不等同于图5中的区块499d(即第一区块)中的父区块哈希值,根据对图5的描述,可以确定图5中的区块499d中的父区块哈希值是针对区块98的哈希值,而签名验证区块80b中的父区块哈希值是针对签名验证区块80b的前继区块的哈希值,若签名验证区块80b为区块102,则该前继区块是指区块101。
区块链节点80a根据自己与第一共识周期相关联的私钥片段对签名验证区块80b进行签名,得到属于自己的签名份额80c,将携带签名份额80c的签名验证区块80b在共识网络中进行共识,可以理解的是,此时的共识网络由第一共识节点集合4c组成。获取共识网络针对签名验证区块80b的共识结果,若共识结果为共识失败结果,则区块链节点80a不对签名验证区块80b进行上链处理,若共识结果为共识通过结果,则对签名验证区块80b进行上链处理,具体可以包括下文的步骤S207。
可以理解的是,当共识网络共识通过签名验证区块80b时,区块链节点80a可以根据签名份额80c,以及第一共识节点集合4c中的其他共识节点分别对应的签名份额,得到针对签名验证区块80b的聚合签名,对签名验证区块80b上链时,会携带上该聚合签名。
步骤S207,根据共识结果以及与第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理。
具体的,当共识结果为共识通过结果时,确定区块链共识委员会从第一共识节点集合切换至第二共识节点集合;确定与第二共识节点集合之间的关联关系,若关联关系指示不属于第二共识节点集合,则从区块链共识委员会中退出,暂停对第二共识周期内的区块的共识处理;将由第二共识节点集合所共识通过的区块同步到数据账本。
具体的,与第二共识周期相关的私钥片段包括第二目标私钥片段;当共识结果为共识通过结果时,确定区块链共识委员会从第一共识节点集合切换至第二共识节点集合;确定与第二共识节点集合之间的关联关系,若关联关系指示属于第二共识节点集合,则获取第二共识周期对应的第二共识消息池;根据第二共识消息池中的数据生成第二待共识区块,利用第二目标私钥片段对第二待共识区块进行签名,得到第二签名份额;对携带有第二签名份额的第二待共识区块进行上链处理,第二签名份额用于指示,第二共识节点集合中的共识节点对第二待共识区块进行来源合法验签。
其中,第二共识节点集合包括共识节点Gb,b为正整数,且b小于或等于第二共识节点集合中的共识节点的节点总数量,与第二共识周期相关的私钥片段包括共识节点Gb对应的私钥片段Pb;对携带有第二签名份额的第二待共识区块进行上链处理的具体过程可以包括:在共识网络中广播携带有第二签名份额的第二待共识区块;获取共识节点Gb发送的第二签名份额Fb,第二签名份额Fb是由共识节点Gb根据私钥片段Pb对共识结果Sb进行签名所生成的,共识结果Sb用于表征共识节点Gb针对第二待共识区块的共识结果;利用与第二共识节点集合相关的全局公钥对第二签名份额Fb进行验签,得到第二验签结果Db;根据第二验签结果Db将第二待共识区块确定为第二区块。
其中,第二验签结果Db包括验签失败结果或验签通过结果;根据第二验签结果Db将第二待共识区块确定为第二区块的具体过程可以包括:若第二验签结果Db为验签失败结果,则删除第二签名份额Fb;若第二验签结果Db为验签通过结果,则将第二签名份额Fb存储至合法份额集合;确定合法份额集合中的第二签名份额的份额总数量,确定节点总数量以及份额总数量之间的第二数量比值,将第二数量比值与第二数量比值阈值进行对比;若第二数量比值大于或等于第二数量比值阈值,则将第二待共识区块确定为第二区块。对合法份额集合中的第二签名份额进行聚合处理,得到第二聚合签名,将第二聚合签名添加至第二区块中,将携带有第二聚合签名的第二区块存储至数据账本;获取区块链节点发送的针对第二区块的区块同步请求,区块链网络包括区块链节点;根据区块同步请求返回携带有第二聚合签名的第二区块至区块链节点,以使区块链节点根据全局公钥对第二聚合签名进行验签,得到第三验签结果,根据第三验签结果同步第二区块。
结合上述步骤S206以及图10,当第一共识节点集合4c针对签名验证区块80b的共识结果为共识通过结果时,区块链节点80a确定区块链共识委员会从第一共识节点集合4c切换至第二共识节点集合40e;进一步地,确定与第二共识节点集合40e之间的关联关系,可以理解的是,部分区块链节点可以既存在与第一共识节点集合4c,也可以存在于第二共识节点集合40e。若区块链节点80a不属于第二共识节点集合40e,即第二共识节点集合40e不包括区块链节点80a,则区块链节点80a从区块链共识委员会中退出,暂停对第二共识周期内的区块的共识处理,例如区块80d,其中,签名验证区块80b为区块80d的前继区块,此时将由第二共识节点集合40e所共识通过的区块(包括区块80d)同步到数据账本80e,例如将区块80d同步到数据账本80e,该数据账本80e可以包括区块498d,区块498d对应的区块高度(例如图4中的区块高度98)符合第一共识周期内的共识节点集合切换条件;可以包括区块499d,即第一区块,其区块高度为99;还可以包括签名验证区块80b,以及可以包括区块80d。可以理解的是,针对区块链节点80a属于第一共识节点集合4c,且不属于第二共识节点集合40e的情况,区块链节点80a可以根据与第一共识周期相关联的私钥片段(也是特指区块链节点80a自身的私钥片段),参与区块498d、区块499、…、签名验证区块80b的共识过程,但不参与区块80d的共识过程。
若区块链节点80a属于第二共识节点集合40e,即第二共识节点集合40e包括区块链节点80a,则区块链节点80a可以具备共识权限以及出块权限。假设区块链节点80a依旧作为出块节点,则可以获取第二共识周期对应的第二共识消息池80f;进一步地,可以根据第二共识消息池80f中的数据(等同于交易数据)生成第二待共识区块80g,可以理解的是,签名验证区块80b是第二待共识区块80g的前继区块;本申请实施例假设区块链节点80a等同于第二共识节点集合40e中的区块链节点405c,则根据上文图5可知区块链节点80a的第二目标私钥片段等同于私钥片段50f;区块链节点80a利用第二目标私钥片段(即图10中的私钥片段50f)对第二待共识区块80g进行签名,得到第二签名份额80h。
进一步地,请参见图11,图11是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图11所示,区块链节点80a(为第二共识节点集合40e中的出块节点,假设等同于区块链节点405c)在共识网络中广播携带有第二签名份额80h的第二待共识区块80g,可以理解的是,此处的共识网络由第二共识节点集合40e组成;区块链节点80a获取第二共识节点集合40e中的共识节点发送的第二签名份额,如图11所示,获取区块链节点50b发送的第二签名份额80k,其中,第二签名份额80k是由区块链节点50b根据私钥片段80i(与第二共识周期相关联)对共识结果80j进行签名所生成的,共识结果80j用于表征区块链节点50b针对第二待共识区块80g的共识结果;区块链节点80a利用与第二共识节点集合相关的全局公钥50h对第二签名份额80k进行验签,得到第二验签结果80m,验签的过程请参见上文图7所对应的实施例中针对通知签名50i的验签过程,两个验签过程一致,故此处不再对验签的细节进行赘述。
进一步地,若第二验签结果80m为验签失败结果,则区块链节点80a删除第二签名份额80k。若第二验签结果80m为验签通过结果,则将第二签名份额80m存储至合法份额集合80n,如图11所示,合法份额集合80n包括第二签名份额80h、…、第二签名份额80k;区块链节点80a确定合法份额集合80n中的第二签名份额的份额总数量,确定节点总数量以及份额总数量之间的第二数量比值,将第二数量比值与第二数量比值阈值进行对比。若第二数量比值大于或等于第二数量比值阈值,则将第二待共识区块80g确定为第二区块,进一步地,请一并参见图12,图12是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图12所示,根据签名聚合算法,区块链节点80对合法份额集合80n中的第二签名份额进行聚合处理,得到第二聚合签名80q,后续,将第二聚合签名80q添加至第二区块(可以等同于图12中的第二待共识区块80g)中,区块链节点80a将携带有第二聚合签名80q的第二区块存储至数据账本80p,数据账本80p可以包括区块498d,区块498d对应的区块高度(例如图4中的区块高度98)符合第一共识周期内的共识节点集合切换条件;可以包括区块499d,即第一区块,其区块高度为99;还可以包括签名验证区块80b,以及可以包括第二区块。可以理解的是,针对区块链节点80a既属于第一共识节点集合4c,又属于第二共识节点集合40e的情况,区块链节点80a可以根据与第一共识周期相关联的私钥片段(也是特指区块链节点80a自身的私钥片段),参与区块498d、区块499、…、签名验证区块80b的共识过程,且可以根据与第二共识周期相关联的私钥片段,例如图10中示例的私钥片段50f,参与第二区块的共识过程。
请再参见图12,区块链节点80a获取区块链节点90a发送的针对第二区块(等同于图12中示例的第二待共识区块80g)的区块同步请求,可以理解的是,区块链节点90a可以为区块链网络中任意一个区块链节点;根据区块同步请求,区块链节点80a返回携带有第二聚合签名80q的第二区块至区块链节点90a,以使区块链节点90a根据全局公钥50h对第二聚合签名80q进行验签,得到第三验签结果,当第三验签结果为验签通过结果时,区块链节点90a同步第二区块。
可以理解的是,本申请实施例为例便于理解以及叙述,将签名验证区块80b以及第二区块的出块节点均设定为区块链节点80a,实际应用时,两个区块分别对应的出块节点可以不是一个共识节点。
可选的,当共识结果为共识通过结果时,将第二区块高度以及过渡区块高度区间内的最大区块高度进行对比;若第二区块高度等于最大区块高度,则根据与第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理;若第二区块高度小于最大区块高度,则获取第一共识周期对应的第一共识消息池;根据第一共识消息池中的数据生成第一待共识区块,利用第一目标私钥片段对第一待共识区块进行签名,得到第一签名份额,第一目标私钥片段是与第一共识周期相关的私钥片段;对携带有第一签名份额的第一待共识区块进行上链处理,第一签名份额用于指示,第一共识节点集合中的共识节点对第一待共识区块进行来源合法验签。
上文叙述的过渡时间段是从第一区块的确定开始,直至签名验证区块上链结束,在实际应用时,过渡时间段还可以根据第一区块以及过渡区块高度区间确定,具体过程可以一并参见图2所对应的实施例中的描述,此处不再展开描述。根据与第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理,可以参见上文步骤S207中的描述,此处亦不再展开描述。
综上所述,请一并参见图13,图13是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。如图13所示,本申请实施例假设共识节点集合共有4个共识节点,分别为共识节点N1、共识节点N2、共识节点N3以及共识节点N4。该数据处理方法可以包括S1-S4四个步骤,各个步骤的作用如下所述。
S1、每一个共识节点用自己的私钥片段对区块进行数字签名,得到签名份额,可以理解的是,同一个共识周期中的每个共识节点分别对应的私钥片段不一致,但对应于同一个全局公钥;同一个共识节点在不同的共识周期分别对应的私钥片段也不一致。
S2、每一个共识节点广播自己的签名份额给其他共识节点。
S3、每一个共识节点收到来自其他共识节点的签名份额后,根据全局公钥对每个签名份额进行合法性校验,不合法的签名份额丢弃,缓存合法的签名份额。当所收集的合法签名份额数目满足门限签名数量后,将所搜集到的合法签名份额作为输入,运行聚合签名算法,合成合法签名份额,得到大小固定的聚合签名。每一个共识节点将生成的聚合签名追加到区块中,以写入存储。
S4、当有区块链节点向共识节点同步上述区块数据,并对区块进行校验时,只需根据全局公钥校验聚合签名的合法性即可。
如上所述,本申请实施例提出一种共识网络聚合签名的方法,该方法能够在共识网络节点动态增删的情况下,自动更新聚合签名分布式秘钥系统,不需要停掉共识服务,且该方法生成的签名数据大小固定,大大提高了区块链的可用性和扩展性。此外,本方法能有效降低存储空间和网络流量传输成本,还可以提高签名验证的计算效率。
上述可知,通过过渡区块高度区间,本申请可以在从第一共识节点集合切换到第二共识节点集合时,无需等待第二共识节点集合中的共识节点生成与第二共识周期相关的私钥片段,从而可以使第二共识节点集合中的共识节点更加平滑地拥有共识权限,避免在切换共识节点集合时出现较长时间地暂停区块共识的情况,因此,本申请可以提高区块链业务服务的连贯性和时效性。此外,本申请中的与第二共识周期相关的私钥片段是与第二共识节点集合对应的集合信息相关联的,即在第一共识周期中用于签名的私钥片段(与第一共识节点集合对应的集合信息相关联),与在第二共识周期用于签名的私钥片段不同,因此,本申请可以提高区块链业务服务的安全性。
进一步地,请参见图14,图14是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。上述基于区块链的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图14所示,该数据处理装置1可以包括:第一确定模块11、第一生成模块12、第一获取模块13以及第二确定模块14。
第一确定模块11,用于当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出所述第二共识节点集合时所生成区块的高度确定为第一区块高度,所述第一共识周期中的最大区块高度对应的区块,为所述第二共识周期中的最小区块高度对应的区块的前继区块;
第一生成模块12,用于将所述第二共识节点集合对应的集合信息添加至所述第一区块高度对应的区块中,生成第一区块,在区块链网络中广播所述第一区块,以使所述第二共识节点集合中的共识节点在过渡共识时间段内,根据所述第一区块中的所述集合信息生成与所述第二共识周期相关的私钥片段,所述过渡共识时间段是指,所述第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,所述过渡区块高度区间是根据所述第一区块高度确定的,且所述过渡区块高度区间包括的区块高度均大于所述第一区块高度;
第一获取模块13,用于获取所述第二共识节点集合中的共识节点发送的私钥片段生成通知,所述私钥片段生成通知携带通知签名,所述通知签名是由所述第二共识节点集合中的共识节点根据与所述第二共识周期相关的私钥片段,对所述私钥片段生成通知进行签名所生成的;
第二确定模块14,用于根据所述通知签名,确定所述第二共识节点集合中的共识节点针对所述第二共识周期的共识权限。
其中,第一确定模块11、第一生成模块12、第一获取模块13以及第二确定模块14的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
再请参见图14,第二共识节点集合包括共识节点Ga,a为正整数,且a小于或等于第二共识节点集合中的共识节点的节点总数量,通知签名包括针对共识节点Ga的通知签名Ta
第二确定模块14可以包括:第一验签单元141、第二验签单元142、第三验签单元143以及第一确定单元144。
第一验签单元141,用于利用与第二共识节点集合相关的全局公钥对通知签名Ta进行验签,得到第一验签结果Ja,第一验签结果Ja包括验签失败结果或验签通过结果;
第二验签单元142,用于若第一验签结果Ja为验签失败结果,则删除通知签名Ta
第三验签单元143,用于若第一验签结果Ja为验签通过结果,则将通知签名Ta添加至合法签名集合;
第一确定单元144,用于根据合法签名集合,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。
其中,第一验签单元141、第二验签单元142、第三验签单元143以及第一确定单元144的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图14,第一确定单元144可以包括:统计数量子单元1441、第一确定子单元1442以及第二确定子单元1443。
统计数量子单元1441,用于统计合法签名集合中通知签名的签名总数量;
第一确定子单元1442,用于确定节点总数量以及签名总数量之间的第一数量比值,将第一数量比值与第一数量比值阈值进行对比;
第二确定子单元1443,用于若第一数量比值小于第一数量比值阈值,则确定第二共识节点集合中的共识节点不具备针对第二共识周期的共识权限;
第二确定子单元1443,还用于若第一数量比值大于或等于第一数量比值阈值,则确定第二共识节点集合中的共识节点具备针对第二共识周期的共识权限。
其中,统计数量子单元1441、第一确定子单元1442以及第二确定子单元1443的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图14,私钥片段生成通知包括共识节点Ga发送的私钥片段生成通知Za
第一验签单元141可以包括:第一获取子单元1411、第二获取子单元1412以及第三确定子单元1413。
第一获取子单元1411,用于利用与第二共识节点集合相关的全局公钥对通知签名Ta进行解密,获取第一数字摘要;
第二获取子单元1412,用于获取私钥片段生成通知Za的第二数字摘要,将第一数字摘要以及第二数字摘要进行对比;
第三确定子单元1413,用于若第一数字摘要以及第二数字摘要相同,则确定第一验签结果Ja为验签通过结果;
第三确定子单元1413,还用于若第一数字摘要以及第二数字摘要不同,则确定第一验签结果Ja为验签失败结果。
其中,第一获取子单元1411、第二获取子单元1412以及第三确定子单元1413的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图14,数据处理装置1还可以包括:第一处理模块15、第二生成模块16以及第二处理模块17。
第一处理模块15,用于当第二共识节点集合中的共识节点具备针对第二共识周期的共识权限时,对通知签名进行聚合处理,得到第一聚合签名;
第二生成模块16,用于生成包含第一聚合签名的签名验证区块,对签名验证区块进行共识处理,得到共识结果,签名验证区块对应的第二区块高度属于过渡区块高度区间;
第二处理模块17,用于根据共识结果以及与第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理。
其中,第一处理模块15、第二生成模块16以及第二处理模块17的具体功能实现方式可以参见上述图9对应实施例中的步骤S205-步骤S207,这里不再进行赘述。
再请参见图14,第二处理模块17可以包括:对比高度单元171、第一处理单元172、获取消息单元173、第一生成单元174以及第二处理单元175。
对比高度单元171,用于当共识结果为共识通过结果时,将第二区块高度以及过渡区块高度区间内的最大区块高度进行对比;
第一处理单元172,用于若第二区块高度等于最大区块高度,则根据与第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理;
获取消息单元173,用于若第二区块高度小于最大区块高度,则获取第一共识周期对应的第一共识消息池;
第一生成单元174,用于根据第一共识消息池中的数据生成第一待共识区块,利用第一目标私钥片段对第一待共识区块进行签名,得到第一签名份额,第一目标私钥片段是与第一共识周期相关的私钥片段;
第二处理单元175,用于对携带有第一签名份额的第一待共识区块进行上链处理,第一签名份额用于指示,第一共识节点集合中的共识节点对第一待共识区块进行来源合法验签。
其中,对比高度单元171、第一处理单元172、获取消息单元173、第一生成单元174以及第二处理单元175的具体功能实现方式可以参见上述图9对应实施例中的步骤S207,这里不再进行赘述。
再请参见图14,第二处理模块17可以包括:第二确定单元176以及第三确定单元177。
第二确定单元176,用于当共识结果为共识通过结果时,确定区块链共识委员会从第一共识节点集合切换至第二共识节点集合;
第三确定单元177,用于确定与第二共识节点集合之间的关联关系,若关联关系指示不属于第二共识节点集合,则从区块链共识委员会中退出,暂停对第二共识周期内的区块的共识处理;
第三确定单元177,还用于将由第二共识节点集合所共识通过的区块同步到数据账本。
其中,第二确定单元176以及第三确定单元177的具体功能实现方式可以参见上述图9对应实施例中的步骤S207,这里不再进行赘述。
再请参见图14,与第二共识周期相关的私钥片段包括第二目标私钥片段;
第二处理模块可以包括:第二生成单元178以及第三处理单元179。
第二确定单元176,还用于当共识结果为共识通过结果时,确定区块链共识委员会从第一共识节点集合切换至第二共识节点集合;
第三确定单元177,还用于确定与第二共识节点集合之间的关联关系,若关联关系指示属于第二共识节点集合,则获取第二共识周期对应的第二共识消息池;
第二生成单元178,用于根据第二共识消息池中的数据生成第二待共识区块,利用第二目标私钥片段对第二待共识区块进行签名,得到第二签名份额;
第三处理单元179,用于对携带有第二签名份额的第二待共识区块进行上链处理,第二签名份额用于指示,第二共识节点集合中的共识节点对第二待共识区块进行来源合法验签。
其中,第二确定单元176、第三确定单元177、第二生成单元178以及第三处理单元179的具体功能实现方式可以参见上述图9对应实施例中的步骤S207,这里不再进行赘述。
再请参见图14,第二共识节点集合包括共识节点Gb,b为正整数,且b小于或等于第二共识节点集合中的共识节点的节点总数量,与第二共识周期相关的私钥片段包括共识节点Gb对应的私钥片段Pb
第三处理单元179可以包括:广播区块子单元1791、第三获取子单元1792、第四获取子单元1793以及第四确定子单元1794。
广播区块子单元1791,用于在共识网络中广播携带有第二签名份额的第二待共识区块;
第三获取子单元1792,用于获取共识节点Gb发送的第二签名份额Fb,第二签名份额Fb是由共识节点Gb根据私钥片段Pb对共识结果Sb进行签名所生成的,共识结果Sb用于表征共识节点Gb针对第二待共识区块的共识结果;
第四获取子单元1793,用于利用与第二共识节点集合相关的全局公钥对第二签名份额Fb进行验签,得到第二验签结果Db
第四确定子单元1794,用于根据第二验签结果Db将第二待共识区块确定为第二区块。
其中,广播区块子单元1791、第三获取子单元1792、第四获取子单元1793以及第四确定子单元1794的具体功能实现方式可以参见上述图9对应实施例中的步骤S207,这里不再进行赘述。
再请参见图14,第二验签结果Db包括验签失败结果或验签通过结果;
第四确定子单元1794可以包括:第一份额子单元17941、第二份额子单元17942、比值对比子单元17943以及第一区块子单元17944。
第一份额子单元17941,用于若第二验签结果Db为验签失败结果,则删除第二签名份额Fb
第二份额子单元17942,用于若第二验签结果Db为验签通过结果,则将第二签名份额Fb存储至合法份额集合;
比值对比子单元17943,用于确定合法份额集合中的第二签名份额的份额总数量,确定节点总数量以及份额总数量之间的第二数量比值,将第二数量比值与第二数量比值阈值进行对比;
第一区块子单元17944,用于若第二数量比值大于或等于第二数量比值阈值,则将第二待共识区块确定为第二区块。
其中,第一份额子单元17941、第二份额子单元17942、比值对比子单元17943以及第一区块子单元17944的具体功能实现方式可以参见上述图9对应实施例中的步骤S207,这里不再进行赘述。
再请参见图14,第四确定子单元1794还可以包括:第三份额子单元17945、同步请求子单元17946以及第二区块子单元17947。
第三份额子单元17945,用于对合法份额集合中的第二签名份额进行聚合处理,得到第二聚合签名,将第二聚合签名添加至第二区块中,将携带有第二聚合签名的第二区块存储至数据账本;
同步请求子单元17946,用于获取区块链节点发送的针对第二区块的区块同步请求,区块链网络包括区块链节点;
第二区块子单元17947,用于根据区块同步请求返回携带有第二聚合签名的第二区块至区块链节点,以使区块链节点根据全局公钥对第二聚合签名进行验签,得到第三验签结果,根据第三验签结果同步第二区块。
其中,第三份额子单元17945、同步请求子单元17946以及第二区块子单元17947的具体功能实现方式可以参见上述图9对应实施例中的步骤S207,这里不再进行赘述。
再请参见图14,数据处理装置1还可以包括:第二获取模块18。
第二获取模块18,用于若属于第二共识节点集合中的共识节点,则获取第一区块中的集合信息,通过分布式密钥组件生成与集合信息相关联的秘密整数;
第二生成模块16,还用于根据秘密整数生成目标局部公钥,根据秘密整数生成至少两个秘密份额,至少两个秘密份额的总数量与第二共识节点集合中的共识节点的节点总数量相同,第二共识节点集合中的共识节点包括共识节点Gc,c为正整数,且c小于或等于节点总数量,至少两个秘密份额包括秘密份额Mc
第二获取模块18,还用于将目标局部公钥以及秘密份额Mc发送至共识节点Gc,获取共识节点Gc发送的局部公钥Uc以及秘密份额Ec,局部公钥Uc以及秘密份额Ec均与共识节点Gc对应的秘密整数相关联;
第二获取模块18,还用于对秘密份额Ec进行合法性验证,将合法性验证结果广播至第二共识节点集合中的共识节点;
第二生成模块16,还用于根据秘密份额Ec生成第二目标私钥片段,根据目标局部公钥以及局部公钥Uc生成与第二共识节点集合相关的全局公钥。
其中,第二生成模块16以及第二获取模块18的具体功能实现方式可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
上述可知,通过过渡区块高度区间,本申请可以在从第一共识节点集合切换到第二共识节点集合时,无需等待第二共识节点集合中的共识节点生成与第二共识周期相关的私钥片段,从而可以使第二共识节点集合中的共识节点更加平滑地拥有共识权限,避免在切换共识节点集合时出现较长时间地暂停区块共识的情况,因此,本申请可以提高区块链业务服务的连贯性和时效性。此外,本申请中的与第二共识周期相关的私钥片段是与第二共识节点集合对应的集合信息相关联的,即在第一共识周期中用于签名的私钥片段(与第一共识节点集合对应的集合信息相关联),与在第二共识周期用于签名的私钥片段不同,因此,本申请可以提高区块链业务服务的安全性。
进一步地,请参见图15,图15是本申请实施例提供的一种计算机设备的结构示意图。如图15所示,该计算机设备1000可以为上述图3对应实施例中的计算机设备,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图15所示,作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图15所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出第二共识节点集合时所生成区块的高度确定为第一区块高度,第一共识周期中的最大区块高度对应的区块,为第二共识周期中的最小区块高度对应的区块的前继区块;
将第二共识节点集合对应的集合信息添加至第一区块高度对应的区块中,生成第一区块,在区块链网络中广播第一区块,以使第二共识节点集合中的共识节点在过渡共识时间段内,根据第一区块中的集合信息生成与第二共识周期相关的私钥片段,过渡共识时间段是指,第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,过渡区块高度区间是根据第一区块高度确定的,且过渡区块高度区间包括的区块高度均大于第一区块高度;
获取第二共识节点集合中的共识节点发送的私钥片段生成通知,私钥片段生成通知携带通知签名,通知签名是由第二共识节点集合中的共识节点根据与第二共识周期相关的私钥片段,对私钥片段生成通知进行签名所生成的;
根据通知签名,确定第二共识节点集合中的共识节点针对第二共识周期的共识权限。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3、图6、图9以及图13所对应实施例中对基于区块链的数据处理方法的描述,也可执行前文图14所对应实施例中对基于区块链的数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3、图6、图9以及图13中各个步骤所提供的基于区块链的数据处理方法,具体可参见上述图3、图6、图9以及图13各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
上述计算机可读存储介质可以是前述任一实施例提供的基于区块链的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图3、图6、图9以及图13所对应实施例中对基于区块链的数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (15)

1.一种基于区块链的数据处理方法,其特征在于,包括:
当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出所述第二共识节点集合时所生成区块的高度确定为第一区块高度,所述第一共识周期中的最大区块高度对应的区块,为所述第二共识周期中的最小区块高度对应的区块的前继区块;
将所述第二共识节点集合对应的集合信息添加至所述第一区块高度对应的区块中,生成第一区块,在区块链网络中广播所述第一区块,以使所述第二共识节点集合中的共识节点在过渡共识时间段内,根据所述第一区块中的所述集合信息生成与所述第二共识周期相关的私钥片段,所述过渡共识时间段是指,所述第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,所述过渡区块高度区间是根据所述第一区块高度确定的,且所述过渡区块高度区间包括的区块高度均大于所述第一区块高度;
获取所述第二共识节点集合中的共识节点发送的私钥片段生成通知,所述私钥片段生成通知携带通知签名,所述通知签名是由所述第二共识节点集合中的共识节点根据与所述第二共识周期相关的私钥片段,对所述私钥片段生成通知进行签名所生成的;
根据所述通知签名,确定所述第二共识节点集合中的共识节点针对所述第二共识周期的共识权限。
2.根据权利要求1所述的方法,其特征在于,所述第二共识节点集合包括共识节点Ga,a为正整数,且a小于或等于所述第二共识节点集合中的共识节点的节点总数量,所述通知签名包括针对所述共识节点Ga的通知签名Ta
所述根据所述通知签名,确定所述第二共识节点集合中的共识节点针对所述第二共识周期的共识权限,包括:
利用与所述第二共识节点集合相关的全局公钥对所述通知签名Ta进行验签,得到第一验签结果Ja,所述第一验签结果Ja包括验签失败结果或验签通过结果;
若所述第一验签结果Ja为所述验签失败结果,则删除所述通知签名Ta
若所述第一验签结果Ja为所述验签通过结果,则将所述通知签名Ta添加至合法签名集合;
根据所述合法签名集合,确定所述第二共识节点集合中的共识节点针对所述第二共识周期的共识权限。
3.根据权利要求2所述的方法,其特征在于,所述根据所述合法签名集合,确定所述第二共识节点集合中的共识节点针对所述第二共识周期的共识权限,包括:
统计所述合法签名集合中通知签名的签名总数量;
确定所述节点总数量以及所述签名总数量之间的第一数量比值,将所述第一数量比值与第一数量比值阈值进行对比;
若所述第一数量比值小于所述第一数量比值阈值,则确定所述第二共识节点集合中的共识节点不具备针对所述第二共识周期的共识权限;
若所述第一数量比值大于或等于所述第一数量比值阈值,则确定所述第二共识节点集合中的共识节点具备针对所述第二共识周期的共识权限。
4.根据权利要求2所述的方法,其特征在于,所述私钥片段生成通知包括所述共识节点Ga发送的私钥片段生成通知Za
所述利用与所述第二共识节点集合相关的全局公钥对所述通知签名Ta进行验签,得到第一验签结果Ja,包括:
利用与所述第二共识节点集合相关的所述全局公钥对所述通知签名Ta进行解密,获取第一数字摘要;
获取所述私钥片段生成通知Za的第二数字摘要,将所述第一数字摘要以及所述第二数字摘要进行对比;
若所述第一数字摘要以及所述第二数字摘要相同,则确定所述第一验签结果Ja为所述验签通过结果;
若所述第一数字摘要以及所述第二数字摘要不同,则确定所述第一验签结果Ja为所述验签失败结果。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第二共识节点集合中的共识节点具备针对所述第二共识周期的共识权限时,对所述通知签名进行聚合处理,得到第一聚合签名;
生成包含所述第一聚合签名的签名验证区块,对所述签名验证区块进行共识处理,得到共识结果,所述签名验证区块对应的第二区块高度属于所述过渡区块高度区间;
根据所述共识结果以及区块链节点与所述第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理,所述区块链节点为所述第一共识节点集合中的共识节点,所述第一共识节点集合中的共识节点具备出块权限。
6.根据权利要求5所述的方法,其特征在于,所述根据所述共识结果以及区块链节点与所述第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理,包括:
当所述共识结果为共识通过结果时,将所述第二区块高度以及所述过渡区块高度区间内的最大区块高度进行对比;
若所述第二区块高度等于所述最大区块高度,则根据所述区块链节点与所述第二共识节点集合之间的所述关联关系,进行与所述共识节点集合切换事件相关联的业务处理;
若所述第二区块高度小于所述最大区块高度,则获取所述第一共识周期对应的第一共识消息池;
根据所述第一共识消息池中的数据生成第一待共识区块,利用第一目标私钥片段对所述第一待共识区块进行签名,得到第一签名份额,所述第一目标私钥片段是与所述第一共识周期相关的私钥片段;
对携带有所述第一签名份额的所述第一待共识区块进行上链处理,所述第一签名份额用于指示,所述第一共识节点集合中的共识节点对所述第一待共识区块进行来源合法验签。
7.根据权利要求5所述的方法,其特征在于,所述根据所述共识结果以及区块链节点与所述第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理,包括:
当所述共识结果为共识通过结果时,确定区块链共识委员会从所述第一共识节点集合切换至所述第二共识节点集合;
确定所述区块链节点与所述第二共识节点集合之间的所述关联关系,若所述关联关系指示所述区块链节点不属于所述第二共识节点集合,则从所述区块链共识委员会中退出,暂停对所述第二共识周期内的区块的共识处理;
将由所述第二共识节点集合所共识通过的区块同步到数据账本。
8.根据权利要求5所述的方法,其特征在于,所述与所述第二共识周期相关的私钥片段包括第二目标私钥片段;
所述根据所述共识结果以及区块链节点与所述第二共识节点集合之间的关联关系,进行与共识节点集合切换事件相关联的业务处理,包括:
当所述共识结果为共识通过结果时,确定区块链共识委员会从所述第一共识节点集合切换至所述第二共识节点集合;
确定所述区块链节点与所述第二共识节点集合之间的所述关联关系,若所述关联关系指示所述区块链节点属于所述第二共识节点集合,则获取所述第二共识周期对应的第二共识消息池;
根据所述第二共识消息池中的数据生成第二待共识区块,利用所述第二目标私钥片段对所述第二待共识区块进行签名,得到第二签名份额;
对携带有所述第二签名份额的所述第二待共识区块进行上链处理,所述第二签名份额用于指示,所述第二共识节点集合中的共识节点对所述第二待共识区块进行来源合法验签。
9.根据权利要求8所述的方法,其特征在于,所述第二共识节点集合包括共识节点Gb,b为正整数,且b小于或等于所述第二共识节点集合中的共识节点的节点总数量,所述与所述第二共识周期相关的私钥片段包括所述共识节点Gb对应的私钥片段Pb
所述对携带有所述第二签名份额的所述第二待共识区块进行上链处理,包括:
在共识网络中广播携带有所述第二签名份额的所述第二待共识区块;
获取所述共识节点Gb发送的第二签名份额Fb,所述第二签名份额Fb是由所述共识节点Gb根据所述私钥片段Pb对共识结果Sb进行签名所生成的,所述共识结果Sb用于表征所述共识节点Gb针对所述第二待共识区块的共识结果;
利用与所述第二共识节点集合相关的全局公钥对所述第二签名份额Fb进行验签,得到第二验签结果Db
根据所述第二验签结果Db将所述第二待共识区块确定为第二区块。
10.根据权利要求9所述的方法,其特征在于,所述第二验签结果Db包括验签失败结果或验签通过结果;
所述根据所述第二验签结果Db将所述第二待共识区块确定为第二区块,包括:
若所述第二验签结果Db为所述验签失败结果,则删除所述第二签名份额Fb
若所述第二验签结果Db为所述验签通过结果,则将所述第二签名份额Fb存储至合法份额集合;
确定所述合法份额集合中的第二签名份额的份额总数量,确定所述节点总数量以及所述份额总数量之间的第二数量比值,将所述第二数量比值与第二数量比值阈值进行对比;
若所述第二数量比值大于或等于所述第二数量比值阈值,则将所述第二待共识区块确定为所述第二区块。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
对所述合法份额集合中的第二签名份额进行聚合处理,得到第二聚合签名,将所述第二聚合签名添加至所述第二区块中,将携带有所述第二聚合签名的所述第二区块存储至数据账本;
获取区块链节点发送的针对所述第二区块的区块同步请求,所述区块链网络包括所述区块链节点;
根据所述区块同步请求返回携带有所述第二聚合签名的所述第二区块至所述区块链节点,以使所述区块链节点根据所述全局公钥对所述第二聚合签名进行验签,得到第三验签结果,根据所述第三验签结果同步所述第二区块。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若属于所述第二共识节点集合中的共识节点,则获取所述第一区块中的所述集合信息,通过分布式密钥组件生成与所述集合信息相关联的秘密整数;
根据所述秘密整数生成目标局部公钥,根据所述秘密整数生成至少两个秘密份额,所述至少两个秘密份额的总数量,与所述第二共识节点集合中的共识节点的节点总数量相同,所述第二共识节点集合中的共识节点包括共识节点Gc,c为正整数,且c小于或等于所述节点总数量,所述至少两个秘密份额包括秘密份额Mc
将所述目标局部公钥以及所述秘密份额Mc发送至所述共识节点Gc,获取所述共识节点Gc发送的局部公钥Uc以及秘密份额Ec,所述局部公钥Uc以及秘密份额Ec均与所述共识节点Gc对应的秘密整数相关联;
对所述秘密份额Ec进行合法性验证,将合法性验证结果广播至所述第二共识节点集合中的共识节点;
根据所述秘密份额Ec生成第二目标私钥片段,根据所述目标局部公钥以及所述局部公钥Uc,生成与所述第二共识节点集合相关的全局公钥。
13.一种基于区块链的数据处理装置,其特征在于,包括:
第一确定模块,用于当在第一共识周期内所生成的区块高度满足共识节点集合切换条件时,开始选举第二共识周期对应的第二共识节点集合,将在选举出所述第二共识节点集合时所生成区块的高度确定为第一区块高度,所述第一共识周期中的最大区块高度对应的区块,为所述第二共识周期中的最小区块高度对应的区块的前继区块;
第一生成模块,用于将所述第二共识节点集合对应的集合信息添加至所述第一区块高度对应的区块中,生成第一区块,在区块链网络中广播所述第一区块,以使所述第二共识节点集合中的共识节点在过渡共识时间段内,根据所述第一区块中的所述集合信息生成与所述第二共识周期相关的私钥片段,所述过渡共识时间段是指,所述第一共识周期对应的第一共识节点集合对属于过渡区块高度区间的区块进行共识处理所消耗的时长,所述过渡区块高度区间是根据所述第一区块高度确定的,且所述过渡区块高度区间包括的区块高度均大于所述第一区块高度;
第一获取模块,用于获取所述第二共识节点集合中的共识节点发送的私钥片段生成通知,所述私钥片段生成通知携带通知签名,所述通知签名是由所述第二共识节点集合中的共识节点根据与所述第二共识周期相关的私钥片段,对所述私钥片段生成通知进行签名所生成的;
第二确定模块,用于根据所述通知签名,确定所述第二共识节点集合中的共识节点针对所述第二共识周期的共识权限。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
CN202110616371.2A 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质 Active CN113067707B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202110616371.2A CN113067707B (zh) 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质
CN202111021548.0A CN113783699B (zh) 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质
EP22814988.6A EP4274155A4 (en) 2021-06-02 2022-05-11 DATA PROCESSING METHOD AND DEVICE BASED ON A BLOCKCHAIN, AS WELL AS DEVICE AND READABLE STORAGE MEDIUM
PCT/CN2022/092177 WO2022252941A1 (zh) 2021-06-02 2022-05-11 基于区块链的数据处理方法、装置、设备及可读存储介质
JP2023566965A JP7589886B2 (ja) 2021-06-02 2022-05-11 ブロックチェーンに基づくデータ処理方法、データ処理装置、コンピュータ機器、及びコンピュータプログラム
US18/303,560 US12184726B2 (en) 2021-06-02 2023-04-19 Blockchain-based data processing method and apparatus, device, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110616371.2A CN113067707B (zh) 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111021548.0A Division CN113783699B (zh) 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113067707A CN113067707A (zh) 2021-07-02
CN113067707B true CN113067707B (zh) 2021-08-31

Family

ID=76568487

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111021548.0A Active CN113783699B (zh) 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质
CN202110616371.2A Active CN113067707B (zh) 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202111021548.0A Active CN113783699B (zh) 2021-06-02 2021-06-02 基于区块链的数据处理方法、装置、设备及可读存储介质

Country Status (5)

Country Link
US (1) US12184726B2 (zh)
EP (1) EP4274155A4 (zh)
JP (1) JP7589886B2 (zh)
CN (2) CN113783699B (zh)
WO (1) WO2022252941A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113783699B (zh) * 2021-06-02 2022-06-14 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113922993B (zh) * 2021-09-18 2024-04-12 深圳时空云科技有限公司 一种分布式采集数据控制方法及装置
CN114124961A (zh) * 2021-11-02 2022-03-01 杭州复杂美科技有限公司 区块确认方法、计算机设备和存储介质
WO2024124952A1 (zh) * 2022-12-15 2024-06-20 腾讯科技(深圳)有限公司 一种区块链数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品
CN115955319B (zh) * 2023-03-14 2023-06-02 季华实验室 数据集生成系统
CN119072898A (zh) * 2023-03-31 2024-12-03 京东方科技集团股份有限公司 区块链数据处理方法、平台、系统、装置和电子设备
CN117478334B (zh) * 2023-11-06 2024-10-11 上海零数众合信息科技有限公司 一种基于区块链实现周期性分布式密钥分发的方法、系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430087A (zh) * 2019-09-16 2019-11-08 上海保险交易所股份有限公司 区块链热升级的架构设计与实现
CN110555079A (zh) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及存储介质
CN111970129A (zh) * 2020-10-21 2020-11-20 腾讯科技(深圳)有限公司 一种基于区块链的数据处理方法、设备以及可读存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690675B2 (en) * 2014-07-17 2017-06-27 Cohesity, Inc. Dynamically changing members of a consensus group in a distributed self-healing coordination service
US10204341B2 (en) * 2016-05-24 2019-02-12 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees
CN110445619B (zh) 2017-03-30 2020-10-16 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质
GB201705621D0 (en) * 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
US10848549B1 (en) * 2017-11-29 2020-11-24 Syed Muhammad Sajjad Rizvi Leaderless, parallel, and topology-aware protocol for achieving consensus
US11271717B2 (en) * 2018-02-21 2022-03-08 Thunder Token Inc. Blockchain consensus methods and systems
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN109309723B (zh) * 2018-08-18 2021-05-04 上海分布信息科技有限公司 一种共识节点变更方法及其实现系统
KR102170347B1 (ko) 2019-03-18 2020-10-28 알리바바 그룹 홀딩 리미티드 뷰 변경 프로토콜을 종료하기 위한 시스템 및 방법
US10979233B2 (en) * 2019-04-04 2021-04-13 Advanced New Technologies Co., Ltd. Monitoring time certificate generation requests
CN111865595B (zh) * 2019-04-29 2023-06-27 普天信息技术有限公司 一种区块链的共识方法及装置
CN110825349B (zh) * 2019-11-14 2023-03-28 深圳市迅雷网络技术有限公司 随机数生成方法、区块链节点、系统及介质
CN110912990B (zh) 2019-11-21 2022-10-14 腾讯科技(深圳)有限公司 一种共识周期的更新方法及相关设备
CN111444210B (zh) * 2020-03-26 2021-11-05 腾讯科技(深圳)有限公司 区块链共识节点管理方法、装置、设备以及存储介质
CN111464356B (zh) * 2020-04-01 2021-11-05 腾讯科技(深圳)有限公司 一种区块共识周期切换方法、装置及计算机设备
CN112200680B (zh) 2020-12-03 2021-03-05 腾讯科技(深圳)有限公司 区块链节点管理方法、装置、计算机以及可读存储介质
CN112398956B (zh) * 2021-01-20 2021-04-13 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113783699B (zh) * 2021-06-02 2022-06-14 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555079A (zh) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及存储介质
CN110430087A (zh) * 2019-09-16 2019-11-08 上海保险交易所股份有限公司 区块链热升级的架构设计与实现
CN111970129A (zh) * 2020-10-21 2020-11-20 腾讯科技(深圳)有限公司 一种基于区块链的数据处理方法、设备以及可读存储介质

Also Published As

Publication number Publication date
WO2022252941A1 (zh) 2022-12-08
EP4274155A1 (en) 2023-11-08
US12184726B2 (en) 2024-12-31
JP7589886B2 (ja) 2024-11-26
CN113783699B (zh) 2022-06-14
CN113067707A (zh) 2021-07-02
JP2024517445A (ja) 2024-04-22
EP4274155A4 (en) 2024-08-07
US20230262126A1 (en) 2023-08-17
CN113783699A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
CN113067707B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
US11128522B2 (en) Changing a master node in a blockchain system
CN107888562B (zh) 一种平行链接入互联链的数据验证和收发方法、节点及系统
WO2020258831A1 (zh) 用于区块链系统中的主节点切换处理的方法及装置
CN108876365B (zh) 一种生成区块发布机制的智能合约
CN111556120B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN111444211B (zh) 区块链共识节点校验方法、装置、设备以及存储介质
EP3754578A1 (en) Blockchain-based settlement method, blockchain node and client
CN111427957A (zh) 区块链投票信息校验方法、装置、设备以及存储介质
CN111786812B (zh) 节点管理方法、装置、计算机设备和存储介质
CN112398956B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111241593A (zh) 用于区块链节点的数据同步方法及装置
Shang et al. Vectorsync: distributed dataset synchronization over named data networking
US20190238318A1 (en) System architecture and method of processing data therein
CN112910661B (zh) 适用于电子签约的区块链共识方法、装置、设备及介质
KR20220074971A (ko) 블록체인 기반 데이터 프로세싱 방법, 장치 및 디바이스, 그리고 판독가능 저장 매체
CN113904854A (zh) 一种基于商密算法的区块链数据加密方法及装置
EP3627361B1 (en) Media content control
CN114466034B (zh) 一种基于匿名主节点的区块链共识方法
CN111083122A (zh) 一种基于区块链的电子证据处理方法、系统及存储介质
JP2024542677A (ja) ブロックチェーンコンセンサス方法、装置、電子機器及びプログラム
Li et al. A blockchain-based communication non-repudiation system for conversational service
CN114726881B (zh) 区块处理方法、装置及存储介质
CN116205650A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN119544183A (zh) 一种适合联盟链的高效的动态bft共识实现方法

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40048724

Country of ref document: HK