CN111314067A - 区块存储方法、装置、计算机设备及存储介质 - Google Patents
区块存储方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111314067A CN111314067A CN202010080719.6A CN202010080719A CN111314067A CN 111314067 A CN111314067 A CN 111314067A CN 202010080719 A CN202010080719 A CN 202010080719A CN 111314067 A CN111314067 A CN 111314067A
- Authority
- CN
- China
- Prior art keywords
- signature information
- block
- private key
- node device
- target
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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/3255—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种区块存储方法、装置、计算机设备及存储介质,属于区块链技术领域。本申请通过基于节点设备的私钥片段,对区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向该目标节点设备发送该第一签名信息,若接收到该目标节点设备发送的第二签名信息,基于与该全局私钥对应的全局公钥对该第二签名信息进行验证,得到第一验证信息,若该第一验证信息表示验证通过,将该区块存储在该区块链系统的区块链上,节点设备无需将在区块链系统中广播第一签名信息,而是仅将第一签名信息发送至目标节点设备,将每轮投票中的消息复杂度从O(n2)降低至O(n),提升了区块链系统的可拓展性。
Description
技术领域
本申请涉及区块链技术领域,特别涉及一种区块存储方法、装置、计算机设备及存储介质。
背景技术
区块链系统是一种分布式的系统,共识机制是区块链系统中不可或缺的一环,通过共识机制可以协助区块链系统中各节点之间保持数据一致,也即解决分布式系统的一致性问题。共识机制简单来说就是一种投票机制,目标节点设备创建区块之后,其他节点设备基于共识算法对区块进行共识投票,在共识通过后目标节点设备将该区块写入区块链。
目前,区块链系统通常是基于广播方式进行共识投票,BFS(Byzantine FaultTolerance,拜占庭容错)等共识算法中通常包含至少一轮投票,由于广播方式在每轮投票中消息复杂度为O(n2),此时随着参与共识的节点设备数量的增多,区块链系统的性能提升反而下降,为保证区块链系统业务可用,参与共识的节点设备数量将受到限制,也即是说,区块链系统的可扩展性较差。
发明内容
本申请实施例提供了一种区块存储方法、装置、计算机设备及存储介质,能够提升区块链系统的可扩展性。该技术方案如下:
一方面,提供了一种区块存储方法,应用于区块链系统中的节点设备,所述方法包括:
基于所述节点设备的私钥片段,对所述区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向所述目标节点设备发送所述第一签名信息,所述私钥片段为所述区块链系统的全局私钥的一部分;
若接收到所述目标节点设备发送的第二签名信息,基于与所述全局私钥对应的全局公钥对所述第二签名信息进行验证,得到第一验证信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
若所述第一验证信息表示验证通过,将所述区块存储在所述区块链系统的区块链上。
在一种可能实施方式中,所述第二签名信息为多个节点设备的第一签名信息相加所得的聚合签名信息,且所述第二签名信息由所述目标节点设备在第一目标条件下发送,所述第一目标条件为所述目标节点设备接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例。
在一种可能实施方式中,所述将所述区块存储在所述区块链系统的区块链上之前,所述方法还包括:
基于所述私钥片段对所述第二签名信息以及所述区块进行签名,得到第三签名信息,向所述目标节点设备发送所述第三签名信息;
若接收到所述目标节点设备发送的第四签名信息,基于所述全局公钥对所述第四签名信息进行验证,得到第二验证信息,所述第四签名信息用于表示基于所述全局私钥对所述第二签名信息以及所述区块进行签名的签名信息;
若所述第二验证信息表示验证通过,执行将所述区块存储在所述区块链系统的区块链上的操作。
在一种可能实施方式中,所述第四签名信息为多个节点设备的第三签名信息相加所得的聚合签名信息,且所述第四签名信息由所述目标节点设备在第二目标条件下发送,所述第二目标条件为所述目标节点设备接收到第三签名信息的数量与所述区块链系统中节点设备的数量之比大于第二目标比例。
在一种可能实施方式中,所述基于所述节点设备的私钥片段,对所述区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息之前,所述方法还包括:
基于分布式密钥生成协议,获取所述私钥片段和所述全局公钥,向其他节点设备共识通知密钥完成消息;
若接收到密钥完成消息的数量等于所述其他节点设备的数量,向所述其他节点设备共识通知确认消息;
若接收到确认消息的数量与所述其他节点设备的数量之比大于第三目标比例,基于所述私钥片段和所述全局公钥,执行所述区块存储方法。
在一种可能实施方式中,所述基于分布式密钥生成协议,获取所述私钥片段和所述全局公钥包括:
基于随机生成的秘密数值,获取共享私钥份额,将所述共享私钥份额以及共享公钥片段发送至所述其他节点设备;
接收所述其他节点设备的共享私钥份额以及共享公钥片段,验证所述其他节点设备的共享私钥份额的有效性,得到第三验证信息,向所述其他节点设备广播所述第三验证信息;
将所述共享私钥份额以及所述其他节点设备的共享私钥份额相加,得到所述私钥片段;
将所述共享公钥片段以及所述其他节点设备的共享公钥片段相加,得到所述全局公钥。
一方面,提供了一种区块存储方法,应用于区块链系统中的目标节点设备,所述方法包括:
接收多个节点设备的第一签名信息,一个第一签名信息为一个节点设备基于所述节点设备的私钥片段对所述目标节点设备所生成的区块进行签名所得,所述私钥片段为所述区块链系统的全局私钥的一部分;
若接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例,对所述多个节点设备的第一签名信息进行聚合,得到第二签名信息,分别向所述多个节点设备发送所述第二签名信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
若所述多个节点设备基于与所述全局私钥对应的全局公钥对所述第二签名信息验证通过,将所述区块存储在所述区块链系统的区块链上。
在一种可能实施方式中,所述将所述区块存储在所述区块链系统的区块链上之前,所述方法还包括:
接收所述多个节点设备的第三签名信息,一个第三签名信息为一个节点设备基于所述私钥片段对所述第二签名信息以及所述区块进行签名所得;
若接收到第三签名信息的数量与所述区块链系统中节点设备的数量之比大于第二目标比例,对所述多个节点设备的第三签名信息进行聚合,得到第四签名信息,分别向所述多个节点设备发送所述第四签名信息,所述第四签名信息用于表示基于所述全局私钥对所述第二签名信息以及所述区块进行签名的签名信息;
若所述多个节点设备基于所述全局公钥对所述第四签名信息验证通过,执行将所述区块存储在所述区块链系统的区块链上的操作。
一方面,提供了一种区块存储装置,应用于区块链系统中的节点设备,所述装置包括:
签名发送模块,用于基于所述节点设备的私钥片段,对所述区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向所述目标节点设备发送所述第一签名信息,所述私钥片段为所述区块链系统的全局私钥的一部分;
验证模块,用于若接收到所述目标节点设备发送的第二签名信息,基于与所述全局私钥对应的全局公钥对所述第二签名信息进行验证,得到第一验证信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
存储模块,用于若所述第一验证信息表示验证通过,将所述区块存储在所述区块链系统的区块链上。
在一种可能实施方式中,所述第二签名信息为多个节点设备的第一签名信息相加所得的聚合签名信息,且所述第二签名信息由所述目标节点设备在第一目标条件下发送,所述第一目标条件为所述目标节点设备接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例。
在一种可能实施方式中,所述签名发送模块,还用于:基于所述私钥片段对所述第二签名信息以及所述区块进行签名,得到第三签名信息,向所述目标节点设备发送所述第三签名信息;
所述验证模块,还用于:若接收到所述目标节点设备发送的第四签名信息,基于所述全局公钥对所述第四签名信息进行验证,得到第二验证信息,所述第四签名信息用于表示基于所述全局私钥对所述第二签名信息以及所述区块进行签名的签名信息;若所述第二验证信息表示验证通过,执行所述存储模块所执行的操作。
在一种可能实施方式中,所述第四签名信息为多个节点设备的第三签名信息相加所得的聚合签名信息,且所述第四签名信息由所述目标节点设备在第二目标条件下发送,所述第二目标条件为所述目标节点设备接收到第三签名信息的数量与所述区块链系统中节点设备的数量之比大于第二目标比例。
在一种可能实施方式中,所述装置还包括:
共识通知模块,用于基于分布式密钥生成协议,获取所述私钥片段和所述全局公钥,向其他节点设备共识通知密钥完成消息;
所述共识通知模块,还用于若接收到密钥完成消息的数量等于所述其他节点设备的数量,向所述其他节点设备共识通知确认消息;若接收到确认消息的数量与所述其他节点设备的数量之比大于第三目标比例,基于所述私钥片段和所述全局公钥,执行各个模块所执行的操作。
在一种可能实施方式中,所述共识通知模块用于:
基于随机生成的秘密数值,获取共享私钥份额,将所述共享私钥份额以及共享公钥片段发送至所述其他节点设备;
接收所述其他节点设备的共享私钥份额以及共享公钥片段,验证所述其他节点设备的共享私钥份额的有效性,得到第三验证信息,向所述其他节点设备广播所述第三验证信息;
将所述共享私钥份额以及所述其他节点设备的共享私钥份额相加,得到所述私钥片段;
将所述共享公钥片段以及所述其他节点设备的共享公钥片段相加,得到所述全局公钥。
一方面,提供了一种区块存储装置,应用于区块链系统中的目标节点设备,所述装置包括:
接收模块,用于接收多个节点设备的第一签名信息,一个第一签名信息为一个节点设备基于所述节点设备的私钥片段对所述目标节点设备所生成的区块进行签名所得,所述私钥片段为所述区块链系统的全局私钥的一部分;
聚合发送模块,用于若接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例,对所述多个节点设备的第一签名信息进行聚合,得到第二签名信息,分别向所述多个节点设备发送所述第二签名信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
存储模块,用于若所述多个节点设备基于与所述全局私钥对应的全局公钥对所述第二签名信息验证通过,将所述区块存储在所述区块链系统的区块链上。
在一种可能实施方式中,所述接收模块,还用于:接收所述多个节点设备的第三签名信息,一个第三签名信息为一个节点设备基于所述私钥片段对所述第二签名信息以及所述区块进行签名所得;
所述聚合发送模块,还用于:若接收到第三签名信息的数量与所述区块链系统中节点设备的数量之比大于第二目标比例,对所述多个节点设备的第三签名信息进行聚合,得到第四签名信息,分别向所述多个节点设备发送所述第四签名信息,所述第四签名信息用于表示基于所述全局私钥对所述第二签名信息以及所述区块进行签名的签名信息;若所述多个节点设备基于所述全局公钥对所述第四签名信息验证通过,执行所述存储模块所执行的操作。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的区块存储方法所执行的操作。
一方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的区块存储方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过基于节点设备的私钥片段,对区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向该目标节点设备发送该第一签名信息,若接收到该目标节点设备发送的第二签名信息,该第二签名信息用于表示基于该全局私钥对该区块进行签名的签名信息,由于该私钥片段为该区块链系统的全局私钥的一部分,那么可以基于与该全局私钥对应的全局公钥对该第二签名信息进行验证,得到第一验证信息,若该第一验证信息表示验证通过,将该区块存储在该区块链系统的区块链上,节点设备无需将在区块链系统中广播第一签名信息,而是仅将第一签名信息发送至目标节点设备,即可基于私钥片段与全局公钥所构成的公私钥对,对当前待存储的区块进行共识验证,将每轮投票中的消息复杂度从O(n2)降低至O(n),提升了区块链系统的可拓展性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块存储方法的实施环境示意图;
图2是根据本申请实施例提供的一种区块链的结构示意图;
图3是根据本申请实施例提供的一种新区块产生的流程图;
图4是根据本申请实施例提供的一种区块链系统中节点设备的功能架构图;
图5是本申请实施例提供的一种区块存储方法的交互流程图;
图6是本申请实施例提供的一种基于DKG协议的密钥生成方法的交互流程图;
图7是本申请实施例提供的一种区块存储装置的结构示意图;
图8是本申请实施例提供的一种区块存储装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
以下,对本申请涉及的术语进行解释。
一、区块链(blockchain)
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,采用共识算法保持区块链上不同节点设备所记载的账本数据一致,通过密码算法保证不同节点设备之间账本数据的加密传送以及不可篡改,通过脚本系统来拓展账本功能,通过网络路由来进行不同节点设备之间的相互连接。
在一个区块链系统中可以包括一条或多条区块链,区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后,记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
二、共识机制(consensus mechanism)
共识机制是区块链系统中实现不同节点设备之间建立信任、获取权益的数学算法。在区块链系统中,通过节点设备之间的投票机制(也即共识机制),可以在很短的时间内完成对交易的验证和确认,对一笔交易,如果利益不相干的若干个节点设备能够达成共识,就可以认为系统中的全部节点设备对此也能够达成共识。
三、公钥(public key)与私钥(private key)
公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
四、分布式密钥生成协议(Distributed Key Generation,DKG)
分布式密钥生成协议是分布式加密系统的重要组成部分,在DKG协议中,多个参与者(参与共识的节点设备)根据预先设定的加密系统,共同合作生成全局公钥和各自的私钥片段,基于超过一定阈值数量的私钥片段即可合成与该全局公钥对应的全局私钥,而基于小于上述阈值数量的私钥片段将无法获取到全局私钥的任何信息,DKG协议生成的全局公钥以公开的形式输出,而各个私钥片段将被参与者按照某一种秘密分享方案所分享,被分享的私钥片段可以用于面向群体的密码系统,比如群体签名或者群体解密等。
图1是本申请实施例提供的一种区块存储方法的实施环境示意图。参见图1,本实施例提供的区块存储方法应用于区块链系统100,以下对该区块链系统100的系统架构进行介绍。
在区块链系统100中,将新生成的区块存储到区块链上(俗称为上链)的过程可以称为一轮,在一轮上链过程中,多个用于对待存储区块进行共识的设备称为多个节点设备101(俗称为共识节点),生成待存储区块的设备称为目标节点设备102(俗称为出块节点)。上述目标节点设备102在本质上仍是一种节点设备,只是在每个轮次中,根据是否为生成待存储区块的设备,可以确定节点设备是否为目标节点设备102,也即是说,在不同轮次中目标节点设备102可以是同一设备,也可以是不同设备。
上述多个节点设备101或目标节点设备102可以是网络中任意形式的计算机设备,如服务器、主机、用户终端等,多个节点设备101或目标节点设备102中任意设备之间能够共享数据。其中,节点设备之间可以基于点对点协议(Peer To Peer,P2P)协议,建立P2P网络。该P2P协议是一个运行在传输控制协议(Transmission Control Protocol,TCP)协议之上的应用层协议。
在每一轮上链过程中,区块链系统100可以从该多个节点设备101选举出一个节点设备作为目标节点设备102,在选举出目标节点设备102之后,由目标节点设备102创建本轮次待存储的区块,对该区块进行共识验证,若共识通过之后,将该区块存储在区块链上。
可选地,上述目标节点设备102的选举方式包括工作量证明(Proof-of-Work,PoW)、权益证明(Proof-of-Stake,PoS)等,本申请实施例不对目标节点设备102的选举方式进行具体限定。由于目标节点设备102在本质上也是一种被投票选举出来节点设备,因此,后文所涉及的“节点设备”可以指多个节点设备101中任一节点设备或者目标节点设备102。
节点设备在进行正常工作的过程中,可以接收到输入信息,并基于接收到的输入信息维护该区块链系统内的共享数据。为了保证区块链系统100内的信息互通,区块链系统100中的每个节点设备之间可以存在信息连接,节点设备之间可以通过上述信息连接进行信息传输。例如,当区块链系统100中的任意节点设备接收到输入信息时,区块链系统100中的其他节点设备便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统100中全部节点设备上存储的数据均一致。
对于区块链系统100中的每个节点设备,均具有与其对应的节点设备标识,而且区块链系统100中的每个节点设备均可以存储有区块链系统100中其他节点设备的节点设备标识,以便后续根据其他节点设备的节点设备标识,与其他节点设备建立通信连接。每个节点设备中可维护一个如下表1所示的节点设备标识列表,将节点设备名称和节点设备标识对应存储至该节点设备标识列表中。其中,节点设备标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点设备的信息,表1中仅以IP地址为例进行说明。
表1
区块链系统100中的每个节点设备均存储一条或多条相同的区块链。区块链由多个区块组成,参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3,区块链所在的节点设备在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块所在的目标节点设备根据区块链系统100中其他节点设备的节点设备标识,将新生成的区块分别发送给区块链系统100中的其他节点设备,由其他节点设备对新生成的区块进行共识校验,并在共识通过后将新生成的区块添加至其存储的区块链中。
以下,对节点设备101(或目标节点设备102,后文不做赘述)的功能架构进行介绍。
参见图4,该区块链系统100中还可以包括客户端,节点设备101从功能上可以划分为硬件层、中间层、操作系统层和应用层,涉及的具体功能可以如下:
1)路由,节点设备具有的基本功能,用于支持节点设备之间的通信。
节点设备除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点设备,供其他节点设备在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点设备,其他节点设备验证成功后,作为承认交易有效的响应,将交易的记录数据写入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点设备,其他节点设备验证有效后,作为承认账目数据有效的响应,将记录数据写入临时区块中,还可以向发起操作的节点设备发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点设备提交的记录数据。
图5是本申请实施例提供的一种区块存储方法的交互流程图。参见图5,在本申请实施例中以应用于区块链系统为例进行说明,在该区块链系统中包括多个节点设备以及目标节点设备,本实施例包括下述步骤:
501、目标节点设备生成待存储的区块,在区块链系统中将该区块广播至多个节点设备。
其中,目标节点设备俗称出“出块节点”,目标节点设备可以在上一区块上链之后由区块链系统中各个节点设备投票选举产生,在确定目标节点设备之后,由目标节点设备创建新的待存储的区块,其中,上一区块为最近写入区块链系统的区块,也即是区块链上最末尾的区块。在每一轮上链过程完成之后,区块链系统可以重新投票选举一个目标节点设备,作为下一区块的创建设备,从而能够达成一种去中心化的分布式存储机制。
在上述步骤501中,目标节点设备可以对交易池中的待上链数据进行打包,得到上述区块(俗称为“提案区块”),在区块创建完成之后,将该区块在区块链系统中进行广播,使得多个节点设备接收到该区块,并对该区块进行共识验证。
502、对多个节点设备中任一节点设备,若节点设备接收到该区块,基于该节点设备的私钥片段,对该区块进行签名,得到第一签名信息,向该目标节点设备发送该第一签名信息。
其中,该私钥片段为该区块链系统的全局私钥的一部分,该全局私钥由多个私钥片段组成,该全局私钥与全局公钥相对应,且全局公钥和各个节点设备的私钥片段基于DKG协议生成。
DKG协议所生成的单独的私钥片段并不可用,甚至小于一定阈值数量(假设为t,t>1)的私钥片段仍不可用,只有将达到一定阈值数量的多个私钥片段(t个或t个以上的私钥片段)聚合之后生成的全局私钥才可用,由于若直接对私钥片段进行聚合,必然会将各个私钥片段暴露在区块链系统中,导致每次上链之前都需要重新基于DKG协议分配一次私钥片段和全局公钥,因此在本申请实施例中,并不直接对私钥片段进行聚合,而是对私钥片段加密后的第一签名信息进行聚合,从而能够在一次密钥生成流程之后,持续使用私钥片段和全局公钥对待存储的区块进行共识,也即是说能够不对外暴露私钥片段的情况下仍然对区块进行共识验证,避免了繁琐的密钥生成流程,具体如何基于DKG协议生成私钥片段和全局公钥,将在下一个实施例中进行详述,这里不做赘述。
在上述过程中,每个节点设备持有自身的私钥片段以及全局公钥,在节点设备接收到区块链系统中目标节点设备所生成的区块之后,基于自身持有的私钥片段对该区块进行签名,得到第一签名信息,此时无需在区块链系统中广播第一签名信息,而是直接将第一签名信息发送至目标节点设备即可,而每个节点设备均执行上述步骤502,相当于所有参与共识的节点设备(也即是多个节点设备,俗称为“共识节点”)均采用各自的私钥片段对区块进行了第一轮投票签名,将投票结果(第一签名信息)仅发送给本轮的目标节点设备,无需基于广播的方式通知区块链系统内的所有节点设备。
在相关技术中,基于广播方式进行共识验证,BFT共识算法通常包含两轮投票过程,此时每轮投票的消息复杂度为O(n2),随着参与共识的节点设备数量的增多,区块链系统的性能提升反而下降,为保证区块链系统业务可用,参与共识的节点设备数量将受到限制,也即是说,区块链系统的可扩展性较差。而在本申请实施例中,节点设备无需在区块链系统中广播第一签名信息,而是直接将第一签名信息发送至目标节点设备,并基于后续的聚合签名机制来进行共识验证,将每轮投票的消息复杂度降低为O(n),使得区块链系统在每轮投票中能够支持更多的共识节点(参与共识的节点设备),大大提升了区块链系统的可扩展性。
503、目标节点设备接收多个节点设备的第一签名信息,一个第一签名信息为一个节点设备基于该节点设备的私钥片段对该目标节点设备所生成的区块进行签名所得。
在上述过程中,目标节点设备接收多个节点设备的第一签名信息之后,还可以对各个节点设备的第一签名信息进行合法性验证,当合法性验证通过时,缓存该节点设备的第一签名信息,否则,丢弃该节点设备的第一签名信息,最终能够缓存所有通过合法性验证的节点设备的第一签名信息。
在进行合法性验证的时候,目标节点设备可以获取第一签名信息的发送端设备标识,检测该发送端设备标识是否为区块链系统中注册过的节点设备标识,若发送端设备标识为注册过的节点设备标识,还可以进一步地对该第一签名信息进行解析,得到第一签名信息所签名的区块,检测该区块是否与上述步骤501所创建的区块的区块内容相同,若区块内容相同,确认合法性验证通过,缓存该第一签名信息,否则,若发送端设备标识不是注册过的节点设备标识或者区块内容不相同,均确认合法性验证失败,丢弃该第一签名信息。
504、若接收到第一签名信息的数量与该区块链系统中节点设备的数量之比大于第一目标比例,目标节点设备对该多个节点设备的第一签名信息进行聚合,得到第二签名信息,分别向该多个节点设备发送该第二签名信息,该第二签名信息用于表示基于全局私钥对该区块进行签名的签名信息。
在上述过程中,该第一目标比例可以是任一大于0的数值,比如,该第一目标比例可以为2/3,也可以为1/2,本申请实施例不对第一目标比例的取值进行具体限定。
在一些实施例中,目标节点设备可以直接统计接收到的第一签名信息的数量,得到第一统计数量(指在第一轮投票签名中收到的投票签名数),若该第一统计数量与区块链系统中节点设备的数量(指区块链系统中共识节点的总数量)之比大于第一目标比例,那么对接收到的各个第一签名信息进行聚合,得到第二签名信息,此外,还可以生成一个第一目标数组,该第一目标数组用于记录第二签名信息所聚合的各个第一签名信息对应的节点设备标识,也即是说,第一目标数组本质上是用于记录第二签名信息中包含了哪些节点设备的第一轮投票签名(第一签名信息),目标节点设备可以将第二签名信息以及第一目标数组均发送至上述多个节点设备。
在一些实施例中,若目标节点设备在接收到多个节点设备的第一签名信息之后,还对这些第一签名信息进行了合法性验证,那么有可能最终缓存的第一签名信息数量小于接收到的第一签名信息数量,此时目标节点设备可以统计已缓存的第一签名信息的数量,得到第二统计数量,若该第二统计数量与区块链系统中节点设备的数量(指区块链系统中共识节点的总数量)之比大于第一目标比例,那么对已缓存的各个第一签名信息进行聚合,得到第二签名信息,此外,也可以生成一个与上述情况类似的第一目标数组,将第二签名信息以及第一目标数组均发送至多个节点设备,这里不做赘述。
可选地,在对多个第一签名信息进行聚合的时候,可以将多个第一签名信息直接相加,得到第二签名信息,相当于通过BLS(Boneh-Lynn-Shacham,由斯坦福大学Dan Boneh、Ben Lynn和Hovav Shacham提出的签名算法)聚合签名算法恢复了一个第一轮投票过程中的组签名信息(第二签名信息),其中,BLS算法是一种能够实现签名聚合和秘钥聚合的算法,可以将多个私钥片段聚合成一个全局私钥,也可以将多个第一签名信息聚合成一个第二签名信息。
也即是说,该第二签名信息为多个节点设备的第一签名信息相加所得的聚合签名信息,且该第二签名信息由该目标节点设备在第一目标条件下发送,该第一目标条件为该目标节点设备接收到第一签名信息的数量与该区块链系统中节点设备的数量之比大于第一目标比例。
例如,当出块节点接收到超过2/3的投票签名后,出块节点通过聚合签名BLS算法恢复出第一轮投票过程的组签名信息,并创建第一目标数组,将组签名信息和第一目标数组发送至多个共识节点。
在上述过程中,由于各个第一签名信息是由各个节点设备使用各自的私钥片段对该区块进行签名所得的,而各个节点设备的私钥片段在组合之后可以形成一个可用的全局私钥,那么对各个第一签名信息进行聚合之后所得到的第二签名信息,就相当于一个采用了由多个私钥片段形成的全局私钥对该区块进行签名的签名信息,那么若所有的节点设备均是诚实节点,这个经过聚合签名所得的第二签名信息,是能够通过全局私钥所对应的全局公钥所解开的,否则,将无法被全局公钥所解开,因此,目标节点设备将第二签名信息发送至多个节点设备之后,该多个节点设备能够基于全局公钥来执行共识验证。
505、对多个节点设备中任一节点设备,若节点设备接收到该目标节点设备发送的第二签名信息,基于与全局私钥对应的全局公钥对该第二签名信息进行验证,得到第一验证信息。
在上述过程中,节点设备接收第二签名信息之后,可以采用节点设备所持有的(基于DKG协议生成的)全局公钥对第二签名信息进行解密,若解密成功,可以将第一验证信息确定为验证通过,否则,若解密失败,可以将第一验证信息确定为验证失败,不管第一验证信息为验证通过还是验证失败,节点设备均将第一验证信息发送至目标节点设备。
506、若该第一验证信息表示验证通过,该节点设备基于该节点设备的私钥片段对该第二签名信息以及该区块进行签名,得到第三签名信息,向该目标节点设备发送该第三签名信息。
在上述过程中,在第一轮投票通过的情况下,节点设备还可以开启第二轮投票过程,此时节点设备可以采用自身的私钥片段对第二签名信息以及区块再次进行签名(对接收到的组签名信息以及区块进行第二轮投票签名),得到第三签名信息,向目标节点设备发送第三签名信息,上述步骤506与上述步骤502类似,这里不做赘述。
在一些实施例中,若区块链系统中超过一定比例的节点设备基于与该全局私钥对应的全局公钥对该第二签名信息验证通过(也即是超过一定比例的第一验证信息均表示验证通过),目标节点设备以及多个节点设备可以直接将该区块存储在该区块链系统的区块链上,也即是说,在共识机制中只进行一轮投票,若验证通过,则将待存储的区块上链,保持各个节点设备上存储数据的一致性,简化区块存储的流程。
507、目标节点设备接收多个节点设备的第三签名信息,一个第三签名信息为一个节点设备基于该节点设备的私钥片段对该第二签名信息以及该区块进行签名所得。
上述步骤507与上述步骤503类似,也即是说,目标节点设备也可以对各个第三签名信息进行合法性验证,缓存所有通过合法性验证的第三签名信息,这里不做赘述。
508、若接收到第三签名信息的数量与该区块链系统中节点设备的数量之比大于第二目标比例,目标节点设备对该多个节点设备的第三签名信息进行聚合,得到第四签名信息,分别向该多个节点设备发送该第四签名信息,该第四签名信息用于表示基于全局私钥对该第二签名信息以及该区块进行签名的签名信息。
在上述过程中,该第二目标比例可以是任一大于0的数值,比如,该第二目标比例可以为2/3,也可以为1/2,本申请实施例不对第二目标比例的取值进行具体限定。
在上述过程中,该第四签名信息为多个节点设备的第三签名信息相加所得的聚合签名信息,且该第四签名信息由该目标节点设备在第二目标条件下发送,该第二目标条件为该目标节点设备接收到第三签名信息的数量与该区块链系统中节点设备的数量之比大于第二目标比例。
上述步骤508与上述步骤504类似,这里不做赘述。
例如,当出块节点接收到超过2/3的投票签名后,出块节点通过聚合签名BLS算法恢复出第二轮投票过程的组签名信息,并创建第二目标数组,该第二目标数组用于记录组签名信息所聚合的各个第三签名信息对应的节点设备标识,也即是说,第二目标数组本质上是用于记录组签名信息中包含了哪些节点设备的第二轮投票签名(第三签名信息),将组签名信息和第一目标数组发送至多个共识节点。
509、对多个节点设备中任一节点设备,若节点设备接收到该目标节点设备发送的第四签名信息,基于该全局公钥对该第四签名信息进行验证,得到第二验证信息。
在上述过程中,节点设备基于自身所持有的(基于DKG协议生成的)全局公钥对第四签名信息进行解密,若解密成功,可以将第二验证信息确定为验证通过,否则,若解密失败,可以将第二验证信息确定为验证失败,不管第二验证信息为验证通过还是验证失败,节点设备均将第二验证信息发送至目标节点设备。
510、若该第二验证信息表示验证通过,多个节点设备以及目标节点设备执行将该区块存储在该区块链系统的区块链上的操作。
在上述过程中,若区块链系统中超过一定比例的节点设备全局公钥对第四签名信息验证通过(也即是超过一定比例的第二验证信息均表示验证通过),目标节点设备以及多个节点设备可以将该区块存储在该区块链系统的区块链上,也即是说,在共识机制中进行两轮投票,若两轮投票均验证通过,才认为本轮共识达成,则多个节点设备和目标节点设备将待存储的区块写入账本,保持各个节点设备上存储数据的一致性,提升了共识过程的安全性,提升了区块链系统的可靠性。在当前区块上链完成后,针对下一个区块重复执行上述步骤501-510,从而能够使得区块链系统基于DKG生成的私钥片段与全局公钥的公私钥对,进行聚合签名公式投票。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过基于节点设备的私钥片段,对区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向该目标节点设备发送该第一签名信息,若接收到该目标节点设备发送的第二签名信息,该第二签名信息用于表示基于该全局私钥对该区块进行签名的签名信息,由于该私钥片段为该区块链系统的全局私钥的一部分,那么可以基于与该全局私钥对应的全局公钥对该第二签名信息进行验证,得到第一验证信息,若该第一验证信息表示验证通过,将该区块存储在该区块链系统的区块链上,节点设备无需将在区块链系统中广播第一签名信息,而是仅将第一签名信息发送至目标节点设备,即可基于私钥片段与全局公钥所构成的公私钥对,对当前待存储的区块进行共识验证,将每轮投票中的消息复杂度从O(n2)降低至O(n),提升了区块链系统的可拓展性。
上述实施例中,介绍了在一轮上链过程中,目标节点设备(出块节点)如何与多个节点设备(共识节点)基于一种聚合签名BLS的投票方式进行共识,在共识通过后对区块进行存储,在上述聚合签名BLS的投票方式中,共识节点使用DKG协议生成的私钥片段以及全局公钥作为公私钥对,基于上述私钥片段以及全局公钥进行基于门限签名的BLS聚合签名,大大减低了共识消息的通信复杂度,有利于共识节点的扩展,能够支持共识节点的大规模组网。
在本申请实施例中,将对多个节点设备中任一节点设备如何基于DKG协议获取自身的私钥片段以及全局公钥进行说明。请参考图6,图6是本申请实施例提供的一种基于DKG协议的密钥生成方法的交互流程图,该实施例应用于区块链系统中任一节点设备,下面进行详述:
601、节点设备基于随机生成的秘密数值,获取该节点设备的共享私钥份额,将该共享私钥份额以及共享公钥片段发送至该其他节点设备。
其中,节点设备是指参与区块链共识的任一个计算机设备。
其中,该秘密数值可以是节点设备随机生成的一个属于自身的秘密整数。
在上述过程中,节点设备可以根据Pedersen-VSS(Pedersen-VSS,由Pedersen提出的在信息论上安全的非交互可验证秘密分享方案,其中,VSS是指Verifiable SecretSharing,也即是可验证秘密分享,用于解决参与者欺骗问题,每个参与者能够在不重构秘密的情况下证实所拥有的秘密份额是否有效)机制,将自身的秘密整数转换为要分享至其他节点设备的共享私钥份额(也即是秘密份额),基于自身的共享私钥份额可以计算出共享公钥片段,属于DKG协议的准备阶段。进一步地,节点设备将准备节点计算出的共享私钥份额和共享公钥片段分发给其他节点设备,属于DKG协议的分发阶段。
602、节点设备接收该其他节点设备的共享私钥份额以及共享公钥片段,验证该其他节点设备的共享私钥份额的有效性,得到第三验证信息,向该其他节点设备广播该第三验证信息。
由于所有参与共识的节点设备均会发送自身的共享私钥份额和共享公钥片段,因此节点设备也会接收到其他节点设备的共享私钥份额和共享公钥片段,节点设备可以基于Pedersen-VSS机制验证其他节点设备的共享私钥份额和共享公钥片段的有效性,得到第三验证信息,进而在区块链系统中广播第三验证信息,属于DKG协议的广播阶段。
603、节点设备将该共享私钥份额以及该其他节点设备的共享私钥份额相加,得到该节点设备的私钥片段。
上述步骤603属于DKG协议的计算阶段,此时节点设备可以将自身的共享私钥份额和接收到的来自其他节点设备的所有共享私钥份额作为输入,根据Pedersen-VSS机制能够计算出节点设备自身所持有的私钥片段。
在上述过程中,节点设备在广播阶段完成之后,相当于基于分布式密钥生成DKG协议完成了秘密分享,以各自的共享私钥份额的形式,向群体(其他节点设备)遵循DKG协议分享了各自的秘密整数,在分享完成之后,各个节点设备可以基于上述步骤603得到各自的私钥片段(也即是将各个共享私钥份额相加得到各自的共享私钥片段),基于上述实施例的聚合签名投票机制可以看出,这些单独的私钥片段并不可用,甚至小于一定阈值数量(假设为t,t>1)的私钥片段仍不可用,只有将达到一定阈值数量的多个私钥片段(t个或t个以上的私钥片段)聚合之后生成的全局私钥才可用。
604、节点设备将该共享公钥片段以及该其他节点设备的共享公钥片段相加,得到该区块链系统的全局公钥。
上述步骤604与上述步骤603类似,这里不做赘述。
在上述步骤601-604中,节点设备基于分布式密钥生成协议,获取该私钥片段和该全局公钥,进而可以执行下述步骤605。
605、节点设备向其他节点设备共识通知密钥完成消息。
在上述过程中,节点设备可以采用传统广播方式中的公私钥对,对密钥完成消息进行共识打包,得到一个第一区块,在区块链系统中广播该第一区块,从而能够以新区块的形式将密钥完成消息通知到其他节点设备。
606、节点设备接收其他节点设备的密钥完成消息,若接收到密钥完成消息的数量等于该其他节点设备的数量,向该其他节点设备共识通知确认消息。
在上述过程中,节点设备记录来自其他节点设备的密钥完成消息,当接收到所有的其他节点设备的密钥完成消息之后,可以通过与上述步骤605类似的方法,采用传统广播方式中的公私钥对,对确认消息进行共识打包,得到一个第二区块,在区块链系统中广播该第二区块,从而能够以新区块的形式将确认消息通知到其他节点设备。
607、节点设备接收其他节点设备的确认消息,若接收到确认消息的数量与该其他节点设备的数量之比大于第三目标比例,基于该私钥片段和该全局公钥,执行上述实施例中的区块存储方法。
在上述过程中,该第三目标比例可以是任一大于0的数值,比如,该第三目标比例可以为2/3,也可以为1/2,本申请实施例不对第三目标比例的取值进行具体限定。
例如,当节点设备接收到超过2/3的确认消息之后,基于私钥片段和全局公钥执行上述实施例中的区块存储方法。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
在本申请实施例中,可以将聚合签名投票的共识方法划分为两个阶段,其一是本实施例中基于DKG协议完成秘密分享的阶段,一旦接收到超过第三目标比例的确认消息,即可确认DKG协议的秘密分享阶段已经完成;其二是上个实施例中基于聚合签名BLS算法进行投票记账的共识协议运转阶段,在秘密分享阶段完成之后,可以认为有足够多的节点设备获取到了自身的私钥片段和全局公钥,那么此时区块链系统可以从传统的基于广播的共识方式,切换至聚合签名共识投票阶段,并将消息打包的密钥从传统的公私钥对切换成基于DKG协议生成的私钥片段以及全局公钥,执行上述实施例中的区块存储方法。可以看出,在节点设备中会维护两套公私钥对,一套是传统的基于广播方式的公私钥对,在秘密分享阶段完成之前,节点设备基于传统的公私钥对以及广播方式进行投票记账,而在秘密分享阶段完成之后,节点设备基于DKG协议生成的私钥片段以及全局公钥,以聚合签名BLS投票方式进行记账。
图7是本申请实施例提供的一种区块存储装置的结构示意图,请参考图7,应用于区块链系统中的节点设备,该装置包括:
签名发送模块701,用于基于该节点设备的私钥片段,对该区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向该目标节点设备发送该第一签名信息,该私钥片段为该区块链系统的全局私钥的一部分;
验证模块702,用于若接收到该目标节点设备发送的第二签名信息,基于与该全局私钥对应的全局公钥对该第二签名信息进行验证,得到第一验证信息,该第二签名信息用于表示基于该全局私钥对该区块进行签名的签名信息;
存储模块703,用于若该第一验证信息表示验证通过,将该区块存储在该区块链系统的区块链上。
本申请实施例提供的装置,通过基于节点设备的私钥片段,对区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向该目标节点设备发送该第一签名信息,若接收到该目标节点设备发送的第二签名信息,该第二签名信息用于表示基于该全局私钥对该区块进行签名的签名信息,由于该私钥片段为该区块链系统的全局私钥的一部分,那么可以基于与该全局私钥对应的全局公钥对该第二签名信息进行验证,得到第一验证信息,若该第一验证信息表示验证通过,将该区块存储在该区块链系统的区块链上,节点设备无需将在区块链系统中广播第一签名信息,而是仅将第一签名信息发送至目标节点设备,即可基于私钥片段与全局公钥所构成的公私钥对,对当前待存储的区块进行共识验证,将每轮投票中的消息复杂度从O(n2)降低至O(n),提升了区块链系统的可拓展性。
在一种可能实施方式中,该第二签名信息为多个节点设备的第一签名信息相加所得的聚合签名信息,且该第二签名信息由该目标节点设备在第一目标条件下发送,该第一目标条件为该目标节点设备接收到第一签名信息的数量与该区块链系统中节点设备的数量之比大于第一目标比例。
在一种可能实施方式中,该签名发送模块701,还用于:基于该私钥片段对该第二签名信息以及该区块进行签名,得到第三签名信息,向该目标节点设备发送该第三签名信息;
该验证模块702,还用于:若接收到该目标节点设备发送的第四签名信息,基于该全局公钥对该第四签名信息进行验证,得到第二验证信息,该第四签名信息用于表示基于该全局私钥对该第二签名信息以及该区块进行签名的签名信息;若该第二验证信息表示验证通过,执行该存储模块703所执行的操作。
在一种可能实施方式中,该第四签名信息为多个节点设备的第三签名信息相加所得的聚合签名信息,且该第四签名信息由该目标节点设备在第二目标条件下发送,该第二目标条件为该目标节点设备接收到第三签名信息的数量与该区块链系统中节点设备的数量之比大于第二目标比例。
在一种可能实施方式中,基于图7的装置组成,该装置还包括:
共识通知模块,用于基于分布式密钥生成协议,获取该私钥片段和该全局公钥,向其他节点设备共识通知密钥完成消息;
该共识通知模块,还用于若接收到密钥完成消息的数量等于该其他节点设备的数量,向该其他节点设备共识通知确认消息;若接收到确认消息的数量与该其他节点设备的数量之比大于第三目标比例,基于该私钥片段和该全局公钥,执行各个模块所执行的操作。
在一种可能实施方式中,该共识通知模块用于:
基于随机生成的秘密数值,获取共享私钥份额,将该共享私钥份额以及共享公钥片段发送至该其他节点设备;
接收该其他节点设备的共享私钥份额以及共享公钥片段,验证该其他节点设备的共享私钥份额的有效性,得到第三验证信息,向该其他节点设备广播该第三验证信息;
将该共享私钥份额以及该其他节点设备的共享私钥份额相加,得到该私钥片段;
将该共享公钥片段以及该其他节点设备的共享公钥片段相加,得到该全局公钥。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的区块存储装置在存储区块时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块存储装置与区块存储方法实施例属于同一构思,其具体实现过程详见区块存储方法实施例,这里不再赘述。
图8是本申请实施例提供的一种区块存储装置的结构示意图,请参考图8,应用于区块链系统中的目标节点设备,该装置包括:
接收模块801,用于接收多个节点设备的第一签名信息,一个第一签名信息为一个节点设备基于该节点设备的私钥片段对该目标节点设备所生成的区块进行签名所得,该私钥片段为该区块链系统的全局私钥的一部分;
聚合发送模块802,用于若接收到第一签名信息的数量与该区块链系统中节点设备的数量之比大于第一目标比例,对该多个节点设备的第一签名信息进行聚合,得到第二签名信息,分别向该多个节点设备发送该第二签名信息,该第二签名信息用于表示基于该全局私钥对该区块进行签名的签名信息;
存储模块803,用于若该多个节点设备基于与该全局私钥对应的全局公钥对该第二签名信息验证通过,将该区块存储在该区块链系统的区块链上。
本申请实施例提供的装置,通过接收多个节点设备的第一签名信息,一个第一签名信息为一个节点设备基于该节点设备的私钥片段对该目标节点设备所生成的区块进行签名所得,若接收到第一签名信息的数量与该区块链系统中节点设备的数量之比大于第一目标比例,对该多个节点设备的第一签名信息进行聚合,得到第二签名信息,分别向该多个节点设备发送该第二签名信息,由于该私钥片段为该区块链系统的全局私钥的一部分,因此该第二签名信息用于表示基于该全局私钥对该区块进行签名的签名信息,若该多个节点设备基于与该全局私钥对应的全局公钥对该第二签名信息验证通过,将该区块存储在该区块链系统的区块链上,节点设备无需将在区块链系统中广播第一签名信息,而是仅将第一签名信息发送至目标节点设备,即可基于私钥片段与全局公钥所构成的公私钥对,对当前待存储的区块进行共识验证,将每轮投票中的消息复杂度从O(n2)降低至O(n),提升了区块链系统的可拓展性。
在一种可能实施方式中,该接收模块801,还用于:接收该多个节点设备的第三签名信息,一个第三签名信息为一个节点设备基于该私钥片段对该第二签名信息以及该区块进行签名所得;
该聚合发送模块802,还用于:若接收到第三签名信息的数量与该区块链系统中节点设备的数量之比大于第二目标比例,对该多个节点设备的第三签名信息进行聚合,得到第四签名信息,分别向该多个节点设备发送该第四签名信息,该第四签名信息用于表示基于该全局私钥对该第二签名信息以及该区块进行签名的签名信息;若该多个节点设备基于该全局公钥对该第四签名信息验证通过,执行该存储模块803所执行的操作。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的区块存储装置在存储区块时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块存储装置与区块存储方法实施例属于同一构思,其具体实现过程详见区块存储方法实施例,这里不再赘述。
图9是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)901和一个或一个以上的存储器902,其中,该存储器902中存储有至少一条程序代码,该至少一条程序代码由该处理器901加载并执行以实现上述各个实施例提供的区块存储方法。当然,该计算机设备900还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备900还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由终端中的处理器执行以完成上述实施例中区块存储方法。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种区块存储方法,其特征在于,应用于区块链系统中的节点设备,所述方法包括:
基于所述节点设备的私钥片段,对所述区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向所述目标节点设备发送所述第一签名信息,所述私钥片段为所述区块链系统的全局私钥的一部分;
若接收到所述目标节点设备发送的第二签名信息,基于与所述全局私钥对应的全局公钥对所述第二签名信息进行验证,得到第一验证信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
若所述第一验证信息表示验证通过,将所述区块存储在所述区块链系统的区块链上。
2.根据权利要求1所述的方法,其特征在于,所述第二签名信息为多个节点设备的第一签名信息相加所得的聚合签名信息,且所述第二签名信息由所述目标节点设备在第一目标条件下发送,所述第一目标条件为所述目标节点设备接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例。
3.根据权利要求1所述的方法,其特征在于,所述将所述区块存储在所述区块链系统的区块链上之前,所述方法还包括:
基于所述私钥片段对所述第二签名信息以及所述区块进行签名,得到第三签名信息,向所述目标节点设备发送所述第三签名信息;
若接收到所述目标节点设备发送的第四签名信息,基于所述全局公钥对所述第四签名信息进行验证,得到第二验证信息,所述第四签名信息用于表示基于所述全局私钥对所述第二签名信息以及所述区块进行签名的签名信息;
若所述第二验证信息表示验证通过,执行将所述区块存储在所述区块链系统的区块链上的操作。
4.根据权利要求1所述的方法,其特征在于,所述第四签名信息为多个节点设备的第三签名信息相加所得的聚合签名信息,且所述第四签名信息由所述目标节点设备在第二目标条件下发送,所述第二目标条件为所述目标节点设备接收到第三签名信息的数量与所述区块链系统中节点设备的数量之比大于第二目标比例。
5.根据权利要求1所述的方法,其特征在于,所述基于所述节点设备的私钥片段,对所述区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息之前,所述方法还包括:
基于分布式密钥生成协议,获取所述私钥片段和所述全局公钥,向其他节点设备共识通知密钥完成消息;
若接收到密钥完成消息的数量等于所述其他节点设备的数量,向所述其他节点设备共识通知确认消息;
若接收到确认消息的数量与所述其他节点设备的数量之比大于第三目标比例,基于所述私钥片段和所述全局公钥,执行所述区块存储方法。
6.根据权利要求5所述的方法,其特征在于,所述基于分布式密钥生成协议,获取所述私钥片段和所述全局公钥包括:
基于随机生成的秘密数值,获取共享私钥份额,将所述共享私钥份额以及共享公钥片段发送至所述其他节点设备;
接收所述其他节点设备的共享私钥份额以及共享公钥片段,验证所述其他节点设备的共享私钥份额的有效性,得到第三验证信息,向所述其他节点设备广播所述第三验证信息;
将所述共享私钥份额以及所述其他节点设备的共享私钥份额相加,得到所述私钥片段;
将所述共享公钥片段以及所述其他节点设备的共享公钥片段相加,得到所述全局公钥。
7.一种区块存储方法,其特征在于,应用于区块链系统中的目标节点设备,所述方法包括:
接收多个节点设备的第一签名信息,一个第一签名信息为一个节点设备基于所述节点设备的私钥片段对所述目标节点设备所生成的区块进行签名所得,所述私钥片段为所述区块链系统的全局私钥的一部分;
若接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例,对所述多个节点设备的第一签名信息进行聚合,得到第二签名信息,分别向所述多个节点设备发送所述第二签名信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
若所述多个节点设备基于与所述全局私钥对应的全局公钥对所述第二签名信息验证通过,将所述区块存储在所述区块链系统的区块链上。
8.根据权利要求7所述的方法,其特征在于,所述将所述区块存储在所述区块链系统的区块链上之前,所述方法还包括:
接收所述多个节点设备的第三签名信息,一个第三签名信息为一个节点设备基于所述私钥片段对所述第二签名信息以及所述区块进行签名所得;
若接收到第三签名信息的数量与所述区块链系统中节点设备的数量之比大于第二目标比例,对所述多个节点设备的第三签名信息进行聚合,得到第四签名信息,分别向所述多个节点设备发送所述第四签名信息,所述第四签名信息用于表示基于所述全局私钥对所述第二签名信息以及所述区块进行签名的签名信息;
若所述多个节点设备基于所述全局公钥对所述第四签名信息验证通过,执行将所述区块存储在所述区块链系统的区块链上的操作。
9.一种区块存储装置,其特征在于,应用于区块链系统中的节点设备,所述装置包括:
签名发送模块,用于基于所述节点设备的私钥片段,对所述区块链系统中目标节点设备所生成的区块进行签名,得到第一签名信息,向所述目标节点设备发送所述第一签名信息,所述私钥片段为所述区块链系统的全局私钥的一部分;
验证模块,用于若接收到所述目标节点设备发送的第二签名信息,基于与所述全局私钥对应的全局公钥对所述第二签名信息进行验证,得到第一验证信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
存储模块,用于若所述第一验证信息表示验证通过,将所述区块存储在所述区块链系统的区块链上。
10.根据权利要求9所述的装置,其特征在于,所述第二签名信息为多个节点设备的第一签名信息相加所得的聚合签名信息,且所述第二签名信息由所述目标节点设备在第一目标条件下发送,所述第一目标条件为所述目标节点设备接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例。
11.根据权利要求9所述的装置,其特征在于,所述签名发送模块,还用于:基于所述私钥片段对所述第二签名信息以及所述区块进行签名,得到第三签名信息,向所述目标节点设备发送所述第三签名信息;
所述验证模块,还用于:若接收到所述目标节点设备发送的第四签名信息,基于所述全局公钥对所述第四签名信息进行验证,得到第二验证信息,所述第四签名信息用于表示基于所述全局私钥对所述第二签名信息以及所述区块进行签名的签名信息;若所述第二验证信息表示验证通过,执行所述存储模块所执行的操作。
12.根据权利要求9所述的装置,其特征在于,所述第四签名信息为多个节点设备的第三签名信息相加所得的聚合签名信息,且所述第四签名信息由所述目标节点设备在第二目标条件下发送,所述第二目标条件为所述目标节点设备接收到第三签名信息的数量与所述区块链系统中节点设备的数量之比大于第二目标比例。
13.一种区块存储装置,其特征在于,应用于区块链系统中的目标节点设备,所述装置包括:
接收模块,用于接收多个节点设备的第一签名信息,一个第一签名信息为一个节点设备基于所述节点设备的私钥片段对所述目标节点设备所生成的区块进行签名所得,所述私钥片段为所述区块链系统的全局私钥的一部分;
聚合发送模块,用于若接收到第一签名信息的数量与所述区块链系统中节点设备的数量之比大于第一目标比例,对所述多个节点设备的第一签名信息进行聚合,得到第二签名信息,分别向所述多个节点设备发送所述第二签名信息,所述第二签名信息用于表示基于所述全局私钥对所述区块进行签名的签名信息;
存储模块,用于若所述多个节点设备基于与所述全局私钥对应的全局公钥对所述第二签名信息验证通过,将所述区块存储在所述区块链系统的区块链上。
14.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求6或权利要求7至权利要求8任一项所述的区块存储方法所执行的操作。
15.一种存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求6或权利要求7至权利要求8任一项所述的区块存储方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080719.6A CN111314067B (zh) | 2020-02-05 | 2020-02-05 | 区块存储方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080719.6A CN111314067B (zh) | 2020-02-05 | 2020-02-05 | 区块存储方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314067A true CN111314067A (zh) | 2020-06-19 |
CN111314067B CN111314067B (zh) | 2021-04-16 |
Family
ID=71161640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010080719.6A Active CN111314067B (zh) | 2020-02-05 | 2020-02-05 | 区块存储方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314067B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111769938A (zh) * | 2020-06-29 | 2020-10-13 | 福建福链科技有限公司 | 一种区块链传感器的密钥管理系统、数据验证系统 |
CN112035894A (zh) * | 2020-07-20 | 2020-12-04 | 江苏傲为控股有限公司 | 一种电子证据托管系统 |
CN112116400A (zh) * | 2020-09-28 | 2020-12-22 | 平安壹钱包电子商务有限公司 | 基于区块链的虚拟资源的互通方法、装置及相关设备 |
CN112819463A (zh) * | 2021-01-15 | 2021-05-18 | 山大地纬软件股份有限公司 | 基于可信秘钥体系的区块链高并发签名验签方法及系统 |
CN112988334A (zh) * | 2021-05-06 | 2021-06-18 | 云宏信息科技股份有限公司 | 对虚拟化环境下的多台主机进行管理的方法、可读介质 |
CN113079020A (zh) * | 2021-03-30 | 2021-07-06 | 桂林电子科技大学 | 一种基于门限签名决策体系的联盟链的多链取证方法 |
CN113407958A (zh) * | 2021-06-03 | 2021-09-17 | 广东辰宜信息科技有限公司 | 签名数据处理方法、装置、设备及介质 |
CN113434905A (zh) * | 2021-07-05 | 2021-09-24 | 网易(杭州)网络有限公司 | 数据共享方法、装置、计算机设备及存储介质 |
CN114338715A (zh) * | 2021-12-31 | 2022-04-12 | 杭州趣链科技有限公司 | 数据同步方法、区块链系统、终端设备及存储介质 |
CN114529299A (zh) * | 2022-02-18 | 2022-05-24 | 中国工商银行股份有限公司 | 基于区块链的信息共识方法、装置及电子设备 |
CN116633540A (zh) * | 2023-07-12 | 2023-08-22 | 积至网络(北京)有限公司 | 分布式密钥生成恢复方法、系统及设备 |
CN117478334A (zh) * | 2023-11-06 | 2024-01-30 | 上海零数众合信息科技有限公司 | 一种基于区块链实现周期性分布式密钥分发的方法、系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
CN108650097A (zh) * | 2018-04-28 | 2018-10-12 | 上海扈民区块链科技有限公司 | 一种高效的聚合数字签名方法 |
CN109167661A (zh) * | 2018-09-27 | 2019-01-08 | 福建福链科技有限公司 | 一种应用于联盟链的拜占庭容错共识方法及终端 |
CN110009354A (zh) * | 2019-04-04 | 2019-07-12 | 郑州师范学院 | 一种区块链中基于群签名的投票方法 |
CN110300172A (zh) * | 2019-06-28 | 2019-10-01 | 深圳市网心科技有限公司 | 一种区块链数据的共识方法及相关设备 |
CN110322246A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市网心科技有限公司 | 一种区块链交易信息的优化方法及相关设备 |
CN110505064A (zh) * | 2019-07-26 | 2019-11-26 | 深圳市网心科技有限公司 | 基于EC-Schnoor签名算法的门限投票方法、系统及相关设备 |
CN110574059A (zh) * | 2017-04-11 | 2019-12-13 | 区块链控股有限公司 | 关于区块链的快速分布式共识 |
US10511447B1 (en) * | 2018-09-26 | 2019-12-17 | Guardtime Sa | System and method for generating one-time data signatures |
CN110708163A (zh) * | 2019-09-10 | 2020-01-17 | 杭州秘猿科技有限公司 | 一种区块链的共识方法、装置、系统和电子设备 |
CN110741600A (zh) * | 2017-06-13 | 2020-01-31 | 区块链控股有限公司 | 提供去中心化协议以找回加密资产的计算机实现的系统和方法 |
-
2020
- 2020-02-05 CN CN202010080719.6A patent/CN111314067B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110574059A (zh) * | 2017-04-11 | 2019-12-13 | 区块链控股有限公司 | 关于区块链的快速分布式共识 |
CN110741600A (zh) * | 2017-06-13 | 2020-01-31 | 区块链控股有限公司 | 提供去中心化协议以找回加密资产的计算机实现的系统和方法 |
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
CN108650097A (zh) * | 2018-04-28 | 2018-10-12 | 上海扈民区块链科技有限公司 | 一种高效的聚合数字签名方法 |
US10511447B1 (en) * | 2018-09-26 | 2019-12-17 | Guardtime Sa | System and method for generating one-time data signatures |
CN109167661A (zh) * | 2018-09-27 | 2019-01-08 | 福建福链科技有限公司 | 一种应用于联盟链的拜占庭容错共识方法及终端 |
CN110009354A (zh) * | 2019-04-04 | 2019-07-12 | 郑州师范学院 | 一种区块链中基于群签名的投票方法 |
CN110300172A (zh) * | 2019-06-28 | 2019-10-01 | 深圳市网心科技有限公司 | 一种区块链数据的共识方法及相关设备 |
CN110322246A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市网心科技有限公司 | 一种区块链交易信息的优化方法及相关设备 |
CN110505064A (zh) * | 2019-07-26 | 2019-11-26 | 深圳市网心科技有限公司 | 基于EC-Schnoor签名算法的门限投票方法、系统及相关设备 |
CN110708163A (zh) * | 2019-09-10 | 2020-01-17 | 杭州秘猿科技有限公司 | 一种区块链的共识方法、装置、系统和电子设备 |
Non-Patent Citations (1)
Title |
---|
SHOR: "Annchain深度之:分布式密钥产⽣技术DKG", 《区块网》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111769938A (zh) * | 2020-06-29 | 2020-10-13 | 福建福链科技有限公司 | 一种区块链传感器的密钥管理系统、数据验证系统 |
CN112035894A (zh) * | 2020-07-20 | 2020-12-04 | 江苏傲为控股有限公司 | 一种电子证据托管系统 |
CN112116400A (zh) * | 2020-09-28 | 2020-12-22 | 平安壹钱包电子商务有限公司 | 基于区块链的虚拟资源的互通方法、装置及相关设备 |
CN112819463A (zh) * | 2021-01-15 | 2021-05-18 | 山大地纬软件股份有限公司 | 基于可信秘钥体系的区块链高并发签名验签方法及系统 |
CN113079020A (zh) * | 2021-03-30 | 2021-07-06 | 桂林电子科技大学 | 一种基于门限签名决策体系的联盟链的多链取证方法 |
CN112988334B (zh) * | 2021-05-06 | 2021-08-31 | 云宏信息科技股份有限公司 | 对虚拟化环境下的多台主机进行管理的方法、可读介质 |
CN112988334A (zh) * | 2021-05-06 | 2021-06-18 | 云宏信息科技股份有限公司 | 对虚拟化环境下的多台主机进行管理的方法、可读介质 |
CN113407958A (zh) * | 2021-06-03 | 2021-09-17 | 广东辰宜信息科技有限公司 | 签名数据处理方法、装置、设备及介质 |
CN113407958B (zh) * | 2021-06-03 | 2023-08-25 | 广东辰宜信息科技有限公司 | 签名数据处理方法、装置、设备及介质 |
CN113434905A (zh) * | 2021-07-05 | 2021-09-24 | 网易(杭州)网络有限公司 | 数据共享方法、装置、计算机设备及存储介质 |
CN114338715A (zh) * | 2021-12-31 | 2022-04-12 | 杭州趣链科技有限公司 | 数据同步方法、区块链系统、终端设备及存储介质 |
CN114529299A (zh) * | 2022-02-18 | 2022-05-24 | 中国工商银行股份有限公司 | 基于区块链的信息共识方法、装置及电子设备 |
CN116633540A (zh) * | 2023-07-12 | 2023-08-22 | 积至网络(北京)有限公司 | 分布式密钥生成恢复方法、系统及设备 |
CN117478334A (zh) * | 2023-11-06 | 2024-01-30 | 上海零数众合信息科技有限公司 | 一种基于区块链实现周期性分布式密钥分发的方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111314067B (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314067B (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
CN109936457B (zh) | 区块链多方见证方法、装置、设备及计算机可读存储介质 | |
US11128522B2 (en) | Changing a master node in a blockchain system | |
TWI724780B (zh) | 用於區塊鏈系統中的主節點切換處理的方法及裝置 | |
US11144411B2 (en) | Transaction consensus processing method and apparatus for blockchain and electronic device | |
CN111416808B (zh) | 跨区块链的数据互存方法、装置、设备及存储介质 | |
CN111427957B (zh) | 区块链投票信息校验方法、装置、设备以及存储介质 | |
US20230023857A1 (en) | Data processing method and apparatus, intelligent device, and storage medium | |
US20210034455A1 (en) | Method, apparatus and electronic device for blockchain-based transaction consensus processing | |
US11625718B2 (en) | Blockchain-based data verification system and method, computing device and storage medium | |
CN111242617B (zh) | 用于执行交易正确性验证的方法及装置 | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111291060B (zh) | 一种管理区块链节点的方法、装置及计算机可读介质 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN110599173A (zh) | 区块链的共识节点确定方法、装置、设备及存储介质 | |
CN111108521A (zh) | 实现基于区块链的工作流 | |
CN111786812B (zh) | 节点管理方法、装置、计算机设备和存储介质 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN113259130B (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
CN117675216A (zh) | 一种数据处理方法及相关设备 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN113869901B (zh) | 密钥生成方法、装置、计算机可读存储介质及计算机设备 | |
CN112163917B (zh) | 基于区块链的票据处理方法、装置、介质及电子设备 | |
Shahzad et al. | Blockchain based monitoring on trustless supply chain processes |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024847 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |