CN107078910A - 生成区块链区块的方法、装置、节点、签名设备及系统 - Google Patents

生成区块链区块的方法、装置、节点、签名设备及系统 Download PDF

Info

Publication number
CN107078910A
CN107078910A CN201680003270.5A CN201680003270A CN107078910A CN 107078910 A CN107078910 A CN 107078910A CN 201680003270 A CN201680003270 A CN 201680003270A CN 107078910 A CN107078910 A CN 107078910A
Authority
CN
China
Prior art keywords
signature
block
node
original
block chain
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
Application number
CN201680003270.5A
Other languages
English (en)
Other versions
CN107078910B (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.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Inc
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 Cloudminds Inc filed Critical Cloudminds Inc
Publication of CN107078910A publication Critical patent/CN107078910A/zh
Application granted granted Critical
Publication of CN107078910B publication Critical patent/CN107078910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本公开公开了一种生成区块链区块的方法、装置、节点、签名设备及系统。其中,应用于区块链网络中的第一节点的生成区块链区块的方法包括:根据区块链协议生成原始区块;对所述原始区块进行数字签名操作,生成签名区块;将所述签名区块在所述区块链网络中进行广播,从而区块链网络中的区块可以通过其中的数字签名被确认区块产生者,为区块链网络的安全提供了可验证的信息。

Description

生成区块链区块的方法、装置、节点、签名设备及系统
技术领域
本公开涉及区块链领域,具体地,涉及一种生成区块链区块的方法、装置、节点、签名设备及系统。
背景技术
区块链技术是一种分布式、无中心、无信任的网络数据共识存储技术。基于独特的区块生成机制,如PoW(Proof of Work,工作量证明)、PoS(Proof of Stake,权益证明),以及P2P(Peer to Peer,对等)网络通信机制来实现。
通常意义上,在区块链形成过程中,每一个参与计算的节点均享有相同的权限,包括转账、计算区块(俗称挖矿)等。在区块产生机制中,有效区块的产生是基于正确解出一个需要计算量的数学难题的工作,任何节点都可以产生区块,并能够被其它节点所认可,且区块中的信息与区块产生者无关。但是,这种区块产生机制给区块链网络的安全带来了一定隐患。
发明内容
本公开提供了一种生成区块链区块的方法、装置、节点、签名设备及系统,以实现提高区块链网络的安全性的目的。
根据本公开实施例的第一方面,提供了一种生成区块链区块的方法,应用于区块链网络中的第一节点,所述方法包括:根据区块链协议生成原始区块;对所述原始区块进行数字签名操作,生成签名区块;将所述签名区块在所述区块链网络中进行广播。
根据本公开实施例的第二方面,提供了一种生成区块链区块的装置,配置于区块链网络中的第一节点,所述装置包括:原始区块生成模块,被配置为根据区块链协议生成原始区块。签名模块,被配置为对所述原始区块生成模块生成的原始区块进行数字签名操作,生成签名区块。广播模块,被配置为将所述签名模块生成的签名区块在所述区块链网络中进行广播。
根据本公开实施例的第三方面,提供了一种生成区块链区块的方法,应用于签名设备,所述方法包括:接收区块链网络中的第一节点发送的中间签名,其中,所述中间签名由所述第一节点使用所述第一节点的私钥对所述第一节点生成的原始区块的哈希值进行数字签名操作而生成;对所述中间签名进行验证;在所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名;将所述原始区块签名发送给所述第一节点,其中,所述原始区块签名,用于使所述第一节点将所述原始区块签名附加给所述原始区块,生成签名区块。
根据本公开实施例的第四方面,提供了一种生成区块链区块的装置,配置于签名设备,所述装置包括:中间签名接收模块,被配置为接收区块链网络中的第一节点发送的中间签名。其中,所述中间签名由所述第一节点使用所述第一节点的私钥对所述第一节点生成的原始区块的哈希值进行数字签名操作而生成。中间签名验证模块,被配置为对所述中间签名接收模块接收的中间签名进行验证。原始签名生成模块,被配置为在所述中间签名验证模块对中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名。原始签名发送模块,被配置为将所述原始签名生成模块生成的原始区块签名发送给所述第一节点,其中,所述原始区块签名,用于使所述第一节点将所述原始区块签名附加给所述原始区块,生成签名区块。
根据本公开实施例的第五方面,提供了一种生成区块链区块的方法,应用于区块链网络中的第二节点,所述方法包括:接收区块链网络中的第一节点广播的签名区块,其中,所述签名区块由所述第一节点对原始区块进行数字签名操作而生成,所述原始区块由所述第一节点根据区块链协议生成;对所述签名区块的签名进行验证;在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
根据本公开实施例的第六方面,提供了一种生成区块链区块的装置,配置于区块链网络中的第二节点,所述装置包括:签名区块接收模块,被配置为接收区块链网络中的第一节点广播的签名区块。其中,所述签名区块由所述第一节点对原始区块进行数字签名操作而生成,所述原始区块由所述第一节点根据区块链协议生成。签名区块验证模块,被配置为对所述签名区块接收模块接收的签名区块的签名进行验证。签名区块添加模块,被配置为在所述签名区块验证模块对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
根据本公开实施例的第七方面,提供了一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开实施例第一方面中任一实施例所述的方法。
根据本公开实施例的第八方面,提供了一种区块链网络节点。所述区块链网络节点包括:本公开实施例第七方面所述的非临时性计算机可读存储介质;以及,一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
根据本公开实施例的第九方面,提供了一种非临时性计算机可读存储介质。所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于本公开第三方面任一实施例所述的生成区块链区块的方法。
根据本公开实施例的第十方面,提供了一种签名设备。所述签名设备包括:本公开实施例第八方面所述的非临时性计算机可读存储介质;以及,一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
根据本公开实施例的第十一方面,提供了一种非临时性计算机可读存储介质。所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开第五方面任一实施例所述的生成区块链区块的方法。
根据本公开实施例的第十二方面,提供了一种区块链网络节点。所述区块链网络节点包括:本公开实施例第十一方面所述的非临时性计算机可读存储介质;以及,一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
根据本公开实施例的第十三方面,提供了一种生成区块链区块的系统。该系统可以包括:至少一个本公开实施例第八方面所述的区块链网络节点,至少一个本公开实施例第十方面所述的签名设备,以及,至少一个本公开实施例第十二方面所述的区块链网络节点。其中,本公开实施例第八方面所述的区块链网络节点以及本公开实施例第十二方面所述的区块链网络节点属于同一区块链网络。
通过上述技术方案一个方面,区块链网络中的第一节点根据区块链协议生成原始区块,对所述原始区块进行数字签名操作,生成签名区块,将该签名区块在区块链网络中进行广播,从而区块链网络中的区块可以通过其数字签名被确认区块产生者,为区块链网络的安全提供了可验证的信息。
通过上述技术方案的另一个方面,根据本公开实施例的签名设备接收区块链网络中的第一节点发送的中间签名,对中间签名进行验证,在中间签名验证通过的情况下,使用签名设备的私钥对所述中间签名进行数字签名操作,生成原始区块签名,使所述第一节点将所述原始区块签名附加给所述第一节点生成的原始区块,生成签名区块,从而区块链网络中的区块可以通过其数字签名被确认区块产生者,为区块链网络的安全提供了可验证的信息。
通过上述技术方案的又一个方面,区块链网络中的第二节点接收区块链网络中的第一节点广播的签名区块,在对该签名区块签名验证通过的情况下,将该签名区块添加到所述区块链网络中,从而能够对区块的产生者进行控制,只有通过验证的区块产生者发布的区块,才能够被其他节点接受,为区块链网络的安全提供了一定保障。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的实施环境示意图。
图2是根据本公开第一方面的一示例性实施例示出的一种生成区块链区块的方法的流程图。
图3是根据本公开的一示例性实施例示出的一种生成区块链区块的方法的信令交互示意图。
图4是根据本公开第二方面的一示例性实施例示出的一种生成区块链区块的装置的框图。
图5是根据本公开第三方面的一示例性实施例示出的一种生成区块链区块的方法的流程图。
图6是根据本公开第四方面的一示例性实施例示出的一种生成区块链区块的装置的框图。
图7是根据本公开第五方面的一示例性实施例示出的一种生成区块链区块的方法的流程图。
图8是根据本公开第六方面的一示例性实施例示出的一种生成区块链区块的装置的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据本公开一示例性实施例示出的实施环境示意图。如图1所示,该实施环境可以包括:由若干个节点组成的区块链网络110以及签名设备120。其中,云主机1101、云主机1102分别为区块链网络110中的两个节点。签名设备120可以为智能手机、平板电脑等移动终端。
可以理解的是,图1所示实施环境仅用于示意本发明实施例提供的方法,并不构成对本公开实施例的限制。例如,区块链网络110中可以包括两个或两个以上的节点,节点可以为云主机,也可以为其他具有相应计算能力的设备,本公开对此并不进行限制。签名设备120可以为一个,也可以为多个。节点与签名设备之间可以通过P2P网络进行通信,也可以通过其他结构的网络进行通信,本公开对此并不进行限制。
为了使本公开实施例更加易于理解,再对区块链网络进行简单介绍。如图1所示的区块链网络,是由若干节点所组成的基于P2P的对等网络。区块链网络中的每个节点都维护着一串使用密码学方法相关联产生的区块链。各个节点之间通过广播来获取最新的区块,从而保证各个节点之间的区块是同步维护的。因此,如图1所示的云主机1101以及云主机1102同步维护着各自的区块链。
图2是根据本公开第一方面的一示例性实施例示出的一种生成区块链区块的方法的流程图。该方法可以应用于区块链网络中的第一节点。可以理解的是,该第一节点可以为区块链网络中的任意节点。例如,该第一节点可以为图1所示的云主机1101。该方法包括:
在步骤210中,根据区块链协议生成原始区块。
例如,第一节点可以接收全网Transaction(交易)的广播并对接收到的交易根据区块链协议进行处理后生成原始区块。相应地,该原始区块中含有交易和协议规定的数据。
在步骤220中,对所述原始区块进行数字签名操作,生成签名区块。
一种可能的实施方式中,在步骤220中,可以使用所述第一节点的私钥,对所述原始区块的哈希值进行数字签名操作,生成原始区块签名,将所述原始区块签名附加给所述原始区块,生成签名区块。
另一种可能的实施方式中,在步骤220中,可以使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作,生成中间签名,将所述中间签名发送给签名设备,接收所述签名设备发送的原始区块签名。其中,所述原始区块签名,可以由所述签名设备在对所述中间签名验证通过的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。将所述原始区块签名附加给所述原始区块,生成签名区块。
原始区块例如,计算该哈希值可以采用如SHA-256等算法。该算法计算出的哈希值数据量极小,仅32字节。再例如,可以采用如ECDSA签名算法进行数字签名操作。该ECDSA签名算法在256bit密钥长度的情况下,其签名仅64字节。
需要说明的是,本公开对签名设备验证中间签名的实施方式不限。
例如,可以在签名设备中预存所有合法节点的公钥,从而签名设备利用合法节点的公钥对中间签名进行验证。
再例如,签名设备可以预存有与其具有对应关系的合法节点的公钥。可以理解的是,在该实施方式中,允许有不同节点对应不同的签名设备。从而第一节点可以将中间签名发送给与第一节点具有对应关系的签名设备,由该签名设备利用具有对应关系的合法节点的公钥对中间签名进行验证,进而在确定该中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥进行数字签名操作生成原始区块签名。通过该实施方式,可以使不同签名设备分别为自身对应的合法的节点进行签名,实现对不同类型的区块产生者进行分别控制,更进一步保证了区块链网络的安全。
其中,第一节点与签名设备之间的对应关系可以设置在区块链中。例如,如图1所示实施环境中,区块链网络110的每个节点所维护的区块链中均保存有节点与签名设备之间的对应关系。例如,云主机1101与签名设备120之间具有对应关系,则云主机1101可以在其维护的区块链中查询到云主机1101与签名设备120之间的对应关系。
需要说明的是,节点与签名设备之间的对应关系可以为一对多,多对一,或者,多对多的关系,本公开对此并不进行限制。
例如,当节点与签名设备之间的对应关系为一对多的关系时,由于可以有多个签名设备为同一节点进行签名,从而在因某个签名设备的网络连接问题、自身其它问题导致的不能签名情况下,仍有相当的系统冗余度。即使签名设备出现部分被攻击或破坏的情况,也不会对区块链产生影响。可见,该实施方式适用于多人拥有签名权限的场景,比如企业控制节点,由指定员工控制签名设备。
再例如,当节点与签名设备之间的对应关系为多对一的关系时,多个节点产生的区块可以供签名设备进行签名,从而对节点掉线或其他错误可以有更高的冗余度。在部分节点被攻击或破坏的情况下,仍能够保证区块产生的成功率。
又例如,当节点与签名设备之间的对应关系为多对多的关系时,例如,可以有多个节点组,多个签名设备组,而且每个节点组中包括多个节点,每个签名设备组中包括多个签名设备,一个节点组可以对应一个签名设备组,则节点组中任意节点产生的区块都能够被对应的签名设备组内任意的签名设备签名。该实施方式综合了上述两种方式的优点,节点以及签名设备都具有良好的系统冗余度。例如,不同签名组可以代表不同组织机构。
在步骤230中,将所述签名区块在所述区块链网络中进行广播。
例如,所述区块链网络中接收到所述广播的第二节点,在对所述签名区块的签名验证通过的情况下,可以将所述签名区块添加到所述区块链网络中。
可见,通过本公开上述实施例提供的技术方案,区块链网络中的第一节点可以根据区块链协议生成原始区块,对所述原始区块进行数字签名操作,生成签名区块,将该签名区块在区块链网络中进行广播,从而区块链网络中的区块可以通过其数字签名被确认区块产生者,为区块链网络的安全提供了可验证的信息。
尤其在一些应用环境中,需要对区块的产生者进行控制,例如仅允许特定的节点产生新的区块,根据本公开实施例提供的方法,区块产生者可以对区块进行数字签名的操作来证明自己是合法的区块产生者,从而只有合法的区块产生者发布的区块,才能够被其它节点接受和认可。
为了使本公开实施例提供的技术方案更加易于理解,下面,再结合本公开实施例一种可能的信令交互方式进行详细说明。图3是根据本公开的一示例性实施例示出的一种生成区块链区块的方法的信令交互示意图。如图3所示,该方法包括:
在步骤310中,第一节点根据区块链协议生成原始区块。
在步骤311中,第一节点使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作,生成中间签名。
在步骤312中,第一节点将所述中间签名发送给签名设备。
在步骤320中,签名设备对所述中间签名是否为与所述签名设备具有对应关系的第一节点的签名进行验证。其中,签名设备在确定所述中间签名为与所述签名设备具有对应关系的第一节点的签名的情况下,验证通过。
在步骤321中,签名设备在所述中间签名验证通过的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名。
在步骤322中,签名设备将所述原始区块签名发送给所述第一节点。
在步骤330中,第一节点将所述原始区块签名附加给所述原始区块,生成签名区块。
在步骤331中,第一节点将所述签名区块在所述区块链网络中进行广播。
在步骤340中,第二节点接收区块链网络中的第一节点广播的签名区块。
在步骤341中,第二节点使用签名设备的公钥对所述签名区块的原始区块签名进行验证。
在步骤342,在验证通过的情况下,将所述签名区块添加到所述区块链网络中。
可见,在该实施方式中,由于节点与签名设备分别承担了生成区块、签名的角色,因此,签名设备无需接收交易、无需参与原始区块的产生、也无需同步整个区块链,签名设备不涉及如PoW等巨大的计算,且传输的签名数据量小,从而降低了对网络稳定性、设备计算能力的要求,适于使用例如移动终端等签名设备来参与区块的签名,适用范围更广。
图4是根据本公开第二方面的一示例性实施例示出的一种生成区块链区块的装置400的框图。该装置可以配置于区块链网络中的第一节点。例如,该第一节点可以为图1所示的云主机1101。该装置包括:原始区块生成模块410、签名模块420、以及广播模块430。
该原始区块生成模块410,可以被配置为根据区块链协议生成原始区块。
该签名模块420,可以被配置为对所述原始区块生成模块410生成的原始区块进行数字签名操作,生成签名区块。
一种可能的实施方式中,所述签名模块420可以被配置为使用所述第一节点的私钥,对所述原始区块的哈希值进行数字签名操作,生成原始区块签名,将所述原始区块签名附加给所述原始区块,生成签名区块。
另一种可能的实施方式中,所述签名模块420可以包括:中间签名生成子模块421、中间签名发送子模块422、原始签名接收子模块423、以及签名区块生成子模块424。
该中间签名生成子模块421,可以被配置为使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作,生成中间签名。可选地,所述中间签名生成子模块421可以包括:哈希计算子模块4211,可以被配置为计算所述原始区块的哈希值。哈希签名子模块4212,可以被配置为使用所述第一节点的私钥对所述哈希值进行数字签名操作,生成中间签名。
该中间签名发送子模块422,可以被配置为将所述中间签名发送给签名设备。
该原始签名接收子模块423,可以被配置为接收所述签名设备发送的原始区块签名,其中,所述原始区块签名,由所述签名设备在对所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。
该签名区块生成子模块424,可以被配置为将所述原始区块签名附加给所述原始区块,生成签名区块。
需要说明的是,本公开对签名设备验证中间签名的实施方式不限。可选地,所述中间签名发送子模块422可以被配置为将所述中间签名发送给与所述第一节点具有对应关系的签名设备。从而,由该签名设备利用具有对应关系的合法节点的公钥对中间签名进行验证,进而在确定该中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作生成原始区块签名。因此,所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。通过该实施方式,可以使不同签名设备分别为自身对应的合法的节点进行签名,实现对不同类型的区块产生者进行分别控制,更进一步保证了区块链网络的安全。
在上述实施方式中,由于节点与签名设备分别承担了生成区块、签名的角色,因此,签名设备无需接收交易、无需参与原始区块的产生、也无需同步整个区块链,签名设备不涉及如PoW等巨大的计算,且传输的签名数据量小,从而降低了对网络稳定性、设备计算能力的要求,适于使用例如移动终端等签名设备来参与区块的签名,适用范围更广。
广播模块430,可以被配置为将所述签名模块420生成的签名区块在所述区块链网络中进行广播。
可选地,所述签名区块,可以用于使所述区块链网络中接收到所述广播的第二节点,在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
可见,通过本公开上述实施例提供的技术方案,区块链网络中的第一节点可以根据区块链协议生成原始区块,对所述原始区块进行数字签名操作,生成签名区块,将该签名区块在区块链网络中进行广播,从而区块链网络中的区块可以通过其数字签名被确认区块产生者,为区块链网络的安全提供了可验证的信息。
需要注意的是,本公开实施例所述中间签名生成子模块421、所述中间签名发送子模块422、所述原始签名接收子模块423、所述签名区块生成子模块424、所述哈希计算子模块4211、所述哈希签名子模块4212在图4中以虚线绘制,以表示这些子模块不是本公开实施例提供的生成区块链区块的装置的必要模块。
图5是根据本公开第三方面的一示例性实施例示出的一种生成区块链区块的方法的流程图。该方法可以应用于签名设备。例如,该签名设备可以为图1所示的移动终端120。该方法包括:
在步骤510中,接收区块链网络中的第一节点发送的中间签名,其中,所述中间签名由所述第一节点使用所述第一节点的私钥对所述第一节点生成的原始区块的哈希值进行数字签名操作而生成。
在步骤520中,对所述中间签名进行验证。
一种可能的实施方式中,可以在签名设备中预存所有合法节点的公钥,从而签名设备利用合法节点的公钥对中间签名进行验证。
另一种可能的实施方式中,签名设备可以预存有与其具有对应关系的合法节点的公钥。可以理解的是,在该实施方式中,允许有不同节点对应不同的签名设备。因此,在步骤420中,签名设备可以对所述中间签名是否为与所述签名设备具有对应关系的第一节点的签名进行验证,在所述中间签名为与所述签名设备具有对应关系的第一节点的签名的情况下,验证通过。
通过上述实施方式,可以使不同签名设备分别为自身对应的合法的节点进行签名,实现对不同类型的区块产生者进行分别控制,更进一步保证了区块链网络的安全。
在步骤530中,在所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名。
在步骤540中,将所述原始区块签名发送给所述第一节点,其中,所述原始区块签名,用于使所述第一节点将所述原始区块签名附加给所述第一节点生成的原始区块,生成签名区块。
可见,通过本公开上述实施例提供的技术方案,签名设备可以接收区块链网络中的第一节点发送的中间签名,对中间签名进行验证,在中间签名验证通过的情况下,使用签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名,使所述第一节点将所述原始区块签名附加给所述第一节点生成的原始区块,生成签名区块,从而区块链网络中的区块可以通过其数字签名被确认区块产生者,为区块链网络的安全提供了可验证的信息。而且,由于节点与签名设备分别承担了生成区块、签名的角色,签名设备无需接收交易、无需参与原始区块的产生、也无需同步整个区块链,签名设备不涉及如PoW等巨大的计算,且传输的签名数据量小,从而降低了对网络稳定性、设备计算能力的要求,适于使用例如移动终端等签名设备来参与区块的签名,适用范围更广。
图6是根据本公开第四方面的一示例性实施例示出的一种生成区块链区块的装置600的框图。该装置可以配置于签名设备。例如,该签名设备可以为图1所示的移动终端120。该装置包括:中间签名接收模块610、中间签名验证模块620、原始签名生成模块630、以及原始签名发送模块640。
该中间签名接收模块610,可以被配置为接收区块链网络中的第一节点发送的中间签名,其中,所述中间签名由所述第一节点使用所述第一节点的私钥对所述第一节点生成的原始区块的哈希值进行数字签名操作而生成。.
该中间签名验证模块620,可以被配置为对所述中间签名接收模块610接收的中间签名进行验证。
一种可能的实施方式中,可以在签名设备中预存所有合法节点的公钥,从而签名设备利用合法节点的公钥对中间签名进行验证。
另一种可能的实施方式中,签名设备可以预存有与其具有对应关系的合法节点的公钥。可以理解的是,在该实施方式中,允许有不同节点对应不同的签名设备。因此,所述中间签名验证模块620可以被配置为对所述中间签名是否为与所述签名设备具有对应关系的第一节点的签名进行验证,在所述中间签名为与所述签名设备具有对应关系的第一节点的签名的情况下,验证通过。
通过上述实施方式,可以使不同签名设备分别为自身对应的合法的节点进行签名,实现对不同类型的区块产生者进行分别控制,更进一步保证了区块链网络的安全。
该原始签名生成模块630,被配置为在所述中间签名验证模块620对中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名。
该原始签名发送模块640,可以被配置为将所述原始签名生成模块630生成的原始区块签名发送给所述第一节点,其中,所述原始区块签名,用于使所述第一节点将所述原始区块签名附加给所述第一节点生成的原始区块,生成签名区块。
可见,通过本公开上述实施例提供的技术方案,签名设备可以接收区块链网络中的第一节点发送的中间签名,对中间签名进行验证,在中间签名验证通过的情况下,使用签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名,使所述第一节点将所述原始区块签名附加给所述第一节点生成的原始区块,生成签名区块,从而区块链网络中的区块可以通过其数字签名被确认区块产生者,为区块链网络的安全提供了可验证的信息。而且,由于节点与签名设备分别承担了生成区块、签名的角色,签名设备无需接收交易、无需参与原始区块的产生、也无需同步整个区块链,签名设备不涉及如PoW等巨大的计算,且传输的签名数据量小,从而降低了对网络稳定性、设备计算能力的要求,适于使用例如移动终端等签名设备来参与区块的签名,适用范围更广。
图7是根据本公开第五方面的一示例性实施例示出的一种生成区块链区块的方法的流程图。该方法可以应用于区块链网络中的第二节点。可以理解的是,该第二节点可以为区块链网络中与第一节点不同的任意节点。例如,该第二节点可以为图1所示的云主机1102。该方法包括:
在步骤710中,接收区块链网络中的第一节点广播的签名区块,其中,所述签名区块由所述第一节点对原始区块进行数字签名操作而生成,其中,所述原始区块由所述第一节点根据区块链协议生成。
在步骤720中,对所述签名区块的签名进行验证。
在步骤730中,在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
例如,第二节点可以使用签名设备的公钥对所述签名区块的原始区块签名进行验证。其中,所述签名区块,由所述第一节点将原始区块签名附加给所述原始区块而生成。所述原始区块签名,由所述签名设备在中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。所述中间签名,由所述第一节点使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作而生成。
再例如,区块链中可以保存有节点与签名设备之间的对应关系。所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。相应地,第二节点可以使用签名设备的公钥对所述签名区块的原始区块签名进行验证。通过该实施方式,只有与签名设备对应的节点生成的原始区块可以被签名设备签名,并被其他节点验证通过,从而可以使不同签名设备分别为自身对应的合法的节点进行签名,实现对不同类型的区块产生者进行分别控制,更进一步保证了区块链网络的安全。。
可以理解的是,在第二节点对所述签名区块签名验证通过的情况下,还可以在节点间广播将该签名区块添加到区块链网络的消息,从而第一节点也同样将该签名区块添加到区块链网络中,从而使得节点间的区块得到同步更新。在第二节点对所述签名区块的签名验证未通过的情况下,还可以在节点间广播拒绝将该签名区块添加到区块链网络的消息,保障了区块链网络的安全。
可见,通过本公开上述实施例提供的技术方案,区块链网络中的第二节点接收区块链网络中的第一节点广播的签名区块,在对该签名区块签名验证通过的情况下,将该签名区块添加到所述区块链网络中,从而能够对区块的产生者进行控制,只有通过验证的区块产生者发布的区块,才能够被其他节点接受,为区块链网络的安全提供了一定保障。
图8是根据本公开第六方面的一示例性实施例示出的一种生成区块链区块的装置800的框图。该装置可以配置于区块链网络中的第二节点。可以理解的是,该第二节点可以为区块链网络中与第一节点不同的任意节点。例如,该第二节点可以为图1所示的云主机1102。该装置包括:签名区块接收模块810、签名区块验证模块820、以及签名区块添加模块830。
该签名区块接收模块810,可以被配置为接收区块链网络中的第一节点广播的签名区块,其中,所述签名区块由所述第一节点对原始区块进行数字签名操作而生成,所述原始区块由所述第一节点根据区块链协议生成。
该签名区块验证模块820,可以被配置为对所述签名区块接收模块810接收的签名区块的签名进行验证。
例如,所述签名区块验证模块820可以被配置为使用签名设备的公钥对所述签名区块的原始区块签名进行验证。其中,所述签名区块,由所述第一节点将原始区块签名附加给所述原始区块而生成。所述原始区块签名,由所述签名设备在中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。所述中间签名,由所述第一节点使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作而生成。
再例如,所述签名设备与所述第一节点具有对应关系。所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。相应地,所述签名区块验证模块820可以被配置为使用所述签名设备的公钥对所述签名区块的原始区块签名进行验证。
通过该实施方式,只有与签名设备对应的节点生成的原始区块可以被签名设备签名,并被其他节点验证通过,从而可以使不同签名设备分别为自身对应的合法的节点进行签名,实现对不同类型的区块产生者进行分别控制,更进一步保证了区块链网络的安全。。
该签名区块添加模块830,可以被配置为在所述签名区块验证模块820对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
可见,通过本公开上述实施例提供的技术方案,区块链网络中的第二节点接收区块链网络中的第一节点广播的签名区块,在对该签名区块签名验证通过的情况下,将该签名区块添加到所述区块链网络中,从而能够对区块的产生者进行控制,只有通过验证的区块产生者发布的区块,才能够被其他节点接受,为区块链网络的安全提供了一定保障。
本公开实施例第七方面还提供一种非临时性计算机可读存储介质。该非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开第一方面任一实施例所述的生成区块链区块的方法。
本公开实施例第一方面所述的生成区块链区块的方法应用于区块链网络中的第一节点,所述方法包括:根据区块链协议生成原始区块,对所述原始区块进行数字签名操作,生成签名区块,将所述签名区块在所述区块链网络中进行广播。
可选地,所述签名区块,可以用于使所述区块链网络中接收到所述广播的第二节点,在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
可选地,所述对所述原始区块进行数字签名操作,生成签名区块可以包括:使用所述第一节点的私钥,对所述原始区块的哈希值进行数字签名操作,生成原始区块签名,将所述原始区块签名附加给所述原始区块,生成签名区块。
可选地,所述对所述原始区块进行数字签名操作,生成签名区块可以包括:使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作,生成中间签名;将所述中间签名发送给签名设备;接收所述签名设备发送的原始区块签名,其中,所述原始区块签名,由所述签名设备在对所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成;将所述原始区块签名附加给所述原始区块,生成签名区块。
可选地,所述将所述中间签名发送给签名设备包括:将所述中间签名发送给与所述第一节点具有对应关系的签名设备。所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。
可选地,所述签名设备为移动设备。
本公开实施例第八方面还提供了一种区块链网络节点。该区块链网络节点可以包括:本公开实施例第七方面所述的非临时性计算机可读存储介质;以及,一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开实施例第九方面还提供另一种非临时性计算机可读存储介质。该非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开第三方面任一实施例所述的生成区块链区块的方法。
本公开实施例第三方面所述的生成区块链区块的方法应用于签名设备,所述方法包括:接收区块链网络中的第一节点发送的中间签名,其中,所述中间签名由所述第一节点使用所述第一节点的私钥对所述第一节点生成的原始区块的哈希值进行数字签名操作而生成;对所述中间签名进行验证;在所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名;将所述原始区块签名发送给所述第一节点,其中,所述原始区块签名,用于使所述第一节点将所述原始区块签名附加给所述原始区块,生成签名区块。
可选地,所述对所述中间签名进行验证包括:对所述中间签名是否为与所述签名设备具有对应关系的第一节点的签名进行验证;在所述中间签名为与所述签名设备具有对应关系的第一节点的签名的情况下,验证通过。
可选地,所述签名设备为移动设备。
本公开实施例第十方面还提供了一种签名设备。该签名设备可以包括:本公开实施例第八方面所述的非临时性计算机可读存储介质;以及,一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开实施例第十一方面还提供又一种非临时性计算机可读存储介质。该非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开第五方面任一实施例所述的生成区块链区块的方法。
本公开实施例第五方面所述的生成区块链区块的方法应用于区块链网络中的第二节点,所述方法包括:接收区块链网络中的第一节点广播的签名区块,其中,所述签名区块由所述第一节点对原始区块进行数字签名操作而生成,所述原始区块由所述第一节点根据区块链协议生成;对所述签名区块的签名进行验证;在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
可选地,所述对所述签名区块的签名进行验证包括:使用签名设备的公钥对所述签名区块的原始区块签名进行验证。其中,所述签名区块,由所述第一节点将原始区块签名附加给所述原始区块而生成。所述原始区块签名,由所述签名设备在中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。所述中间签名,由所述第一节点使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作而生成。
可选地,所述签名设备与所述第一节点具有对应关系。所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。所述对所述签名区块的签名进行验证包括:使用所述签名设备的公钥,对所述签名区块的原始区块签名进行验证。
本公开实施例第十二方面还提供了另一种区块链网络节点。该区块链网络节点可以包括:本公开实施例第十一方面所述的非临时性计算机可读存储介质;以及,一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开实施例第十三方面还提供了一种生成区块链区块的系统。该系统可以包括:至少一个本公开实施例第八方面所述的区块链网络节点,至少一个本公开实施例第十方面所述的签名设备,以及,至少一个本公开实施例第十二方面所述的区块链网络节点。其中,本公开实施例第八方面所述的区块链网络节点以及本公开实施例第十二方面所述的区块链网络节点属于同一区块链网络。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (31)

1.一种生成区块链区块的方法,其特征在于,应用于区块链网络中的第一节点,所述方法包括:
根据区块链协议生成原始区块;
对所述原始区块进行数字签名操作,生成签名区块;
将所述签名区块在所述区块链网络中进行广播。
2.根据权利要求1所述的方法,其特征在于,所述签名区块,用于使所述区块链网络中接收到所述广播的第二节点,在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
3.根据权利要求1所述的方法,其特征在于,所述对所述原始区块进行数字签名操作,生成签名区块包括:使用所述第一节点的私钥,对所述原始区块的哈希值进行数字签名操作,生成原始区块签名,将所述原始区块签名附加给所述原始区块,生成签名区块。
4.根据权利要求1所述的方法,其特征在于,所述对所述原始区块进行数字签名操作,生成签名区块包括:
使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作,生成中间签名;
将所述中间签名发送给签名设备;
接收所述签名设备发送的原始区块签名,其中,所述原始区块签名,由所述签名设备在对所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成;
将所述原始区块签名附加给所述原始区块,生成签名区块。
5.根据权利要求4所述的方法,其特征在于,所述将所述中间签名发送给签名设备包括:将所述中间签名发送给与所述第一节点具有对应关系的签名设备;
所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。
6.根据权利要求4所述的方法,其特征在于,所述签名设备为移动设备。
7.一种生成区块链区块的装置,其特征在于,配置于区块链网络中的第一节点,所述装置包括:
原始区块生成模块,被配置为根据区块链协议生成原始区块;
签名模块,被配置为对所述原始区块生成模块生成的原始区块进行数字签名操作,生成签名区块;
广播模块,被配置为将所述签名模块生成的签名区块在所述区块链网络中进行广播。
8.根据权利要求7所述的装置,其特征在于,所述签名区块,用于使所述区块链网络中接收到所述广播的第二节点,在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
9.根据权利要求7所述的装置,其特征在于,所述签名模块被配置为使用所述第一节点的私钥,对所述原始区块的哈希值进行数字签名操作,生成原始区块签名,将所述原始区块签名附加给所述原始区块,生成签名区块。
10.根据权利要求7所述的装置,其特征在于,所述签名模块包括:
中间签名生成子模块,被配置为使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作,生成中间签名;
中间签名发送子模块,被配置为将所述中间签名发送给签名设备;
原始签名接收子模块,被配置为接收所述签名设备发送的原始区块签名,其中,所述原始区块签名,由所述签名设备在对所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成;
签名区块生成子模块,被配置为将所述原始区块签名附加给所述原始区块,生成签名区块。
11.根据权利要求10所述的装置,其特征在于,所述中间签名发送子模块被配置为将所述中间签名发送给与所述第一节点具有对应关系的签名设备;
所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成。
12.根据权利要求10所述的装置,其特征在于,所述签名设备为移动设备。
13.一种生成区块链区块的方法,其特征在于,应用于签名设备,所述方法包括:
接收区块链网络中的第一节点发送的中间签名,其中,所述中间签名由所述第一节点使用所述第一节点的私钥对所述第一节点生成的原始区块的哈希值进行数字签名操作而生成;
对所述中间签名进行验证;
在所述中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名;
将所述原始区块签名发送给所述第一节点,其中,所述原始区块签名,用于使所述第一节点将所述原始区块签名附加给所述原始区块,生成签名区块。
14.根据权利要求13所述的方法,其特征在于,所述对所述中间签名进行验证包括:
对所述中间签名是否为与所述签名设备具有对应关系的第一节点的签名进行验证;
在所述中间签名为与所述签名设备具有对应关系的第一节点的签名的情况下,验证通过。
15.根据权利要求13所述的方法,其特征在于,所述签名设备为移动设备。
16.一种生成区块链区块的装置,其特征在于,配置于签名设备,所述装置包括:
中间签名接收模块,被配置为接收区块链网络中的第一节点发送的中间签名,其中,所述中间签名由所述第一节点使用所述第一节点的私钥对所述第一节点生成的原始区块的哈希值进行数字签名操作而生成;
中间签名验证模块,被配置为对所述中间签名接收模块接收的中间签名进行验证;
原始签名生成模块,被配置为在所述中间签名验证模块对中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作,生成原始区块签名;
原始签名发送模块,被配置为将所述原始签名生成模块生成的原始区块签名发送给所述第一节点,其中,所述原始区块签名,用于使所述第一节点将所述原始区块签名附加给所述原始区块,生成签名区块。
17.根据权利要求16所述的装置,其特征在于,所述中间签名验证模块被配置为对所述中间签名是否为与所述签名设备具有对应关系的第一节点的签名进行验证,在所述中间签名为与所述签名设备具有对应关系的第一节点的签名的情况下,验证通过。
18.根据权利要求16所述的装置,其特征在于,所述签名设备为移动设备。
19.一种生成区块链区块的方法,其特征在于,应用于区块链网络中的第二节点,所述方法包括:
接收区块链网络中的第一节点广播的签名区块,其中,所述签名区块由所述第一节点对原始区块进行数字签名操作而生成,所述原始区块由所述第一节点根据区块链协议生成;
对所述签名区块的签名进行验证;
在对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
20.根据权利要求19所述的方法,其特征在于,所述对所述签名区块的签名进行验证包括:
使用签名设备的公钥对所述签名区块中的原始区块签名进行验证;
其中,所述签名区块,由所述第一节点将原始区块签名附加给所述第一节点生成的原始区块而生成;
所述原始区块签名,由所述签名设备在中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成;
所述中间签名,由所述第一节点使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作而生成。
21.根据权利要求20所述的方法,其特征在于,所述签名设备与所述第一节点具有对应关系;
所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成;
所述对所述签名区块的签名进行验证包括:
使用所述签名设备的公钥,对所述签名区块的原始区块签名进行验证。
22.一种生成区块链区块的装置,其特征在于,配置于区块链网络中的第二节点,所述装置包括:
签名区块接收模块,被配置为接收区块链网络中的第一节点广播的签名区块,其中,所述签名区块由所述第一节点对原始区块进行数字签名操作而生成,所述原始区块由所述第一节点根据区块链协议生成;
签名区块验证模块,被配置为对所述签名区块接收模块接收的签名区块的签名进行验证;
签名区块添加模块,被配置为在所述签名区块验证模块对所述签名区块的签名验证通过的情况下,将所述签名区块添加到所述区块链网络中。
23.根据权利要求22所述的装置,其特征在于,所述签名区块验证模块被配置为使用签名设备的公钥对所述签名区块中的原始区块签名进行验证;
其中,所述签名区块,由所述第一节点将原始区块签名附加给所述第一节点生成的原始区块而生成;
所述原始区块签名,由所述签名设备在中间签名验证通过的情况下,使用所述签名设备的私钥,对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成;
所述中间签名,由所述第一节点使用所述第一节点的私钥对所述原始区块的哈希值进行数字签名操作而生成。
24.根据权利要求23所述的装置,其特征在于,所述签名设备与所述第一节点具有对应关系;
所述原始区块签名,由所述签名设备在确定所述中间签名为具有对应关系的第一节点的签名的情况下,使用所述签名设备的私钥对所述中间签名中包含的所述原始区块的哈希值进行数字签名操作而生成;
所述签名区块验证模块被配置为使用所述签名设备的公钥,对所述签名区块的原始区块签名进行验证。
25.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求1至6中任一项所述的方法。
26.一种区块链网络节点,其特征在于,所述区块链网络节点包括:
权利要求25中所述的非临时性计算机可读存储介质;以及
一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
27.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求13至15中任一项所述的方法。
28.一种签名设备,其特征在于,所述签名设备包括:
权利要求27中所述的非临时性计算机可读存储介质;以及
一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
29.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求19至21中任一项所述的方法。
30.一种区块链网络节点,其特征在于,所述区块链网络节点包括:
权利要求29中所述的非临时性计算机可读存储介质;以及
一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
31.一种生成区块链区块的系统,其特征在于,所述系统包括:
至少一个权利要求26所述的区块链网络节点;
至少一个权利要求28所述的签名设备;
至少一个权利要求30所述的区块链网络节点;
其中,所述权利要求26所述的区块链网络节点以及所述权利要求30所述的区块链网络节点属于同一区块链网络。
CN201680003270.5A 2016-12-23 2016-12-23 生成区块链区块的方法、装置、节点、签名设备及系统 Active CN107078910B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/111858 WO2018112947A1 (zh) 2016-12-23 2016-12-23 生成区块链区块的方法、装置、节点、签名设备及系统

Publications (2)

Publication Number Publication Date
CN107078910A true CN107078910A (zh) 2017-08-18
CN107078910B CN107078910B (zh) 2021-02-05

Family

ID=59624457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680003270.5A Active CN107078910B (zh) 2016-12-23 2016-12-23 生成区块链区块的方法、装置、节点、签名设备及系统

Country Status (5)

Country Link
US (1) US11190360B2 (zh)
EP (1) EP3461060A4 (zh)
JP (1) JP2019517227A (zh)
CN (1) CN107078910B (zh)
WO (1) WO2018112947A1 (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566124A (zh) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 基于抽签机制的共识建立方法、区块链系统及存储介质
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及系统
CN108235799A (zh) * 2017-12-27 2018-06-29 深圳达闼科技控股有限公司 区块生成方法、装置、存储介质、区块链网络
CN108776941A (zh) * 2018-04-13 2018-11-09 深圳市元征科技股份有限公司 数字作品版权管理方法、系统及区块链节点设备
CN108777625A (zh) * 2018-06-28 2018-11-09 腾讯科技(深圳)有限公司 签名的验证方法、装置和系统、存储介质、电子装置
CN108880789A (zh) * 2018-05-23 2018-11-23 众安信息技术服务有限公司 硬件产品防伪溯源方法、节点设备及系统
CN108898440A (zh) * 2018-07-02 2018-11-27 中国联合网络通信集团有限公司 流量兑换方法和装置
CN109034813A (zh) * 2018-09-07 2018-12-18 腾讯科技(深圳)有限公司 代表节点设备选举方法、装置、计算机设备及存储介质
CN109150861A (zh) * 2018-04-25 2019-01-04 泰山·约克·维纳斯基 区块链网络通信系统
CN109361740A (zh) * 2018-09-27 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的区块生成方法、装置、设备和介质
CN109462574A (zh) * 2018-09-26 2019-03-12 广州鲁邦通物联网科技有限公司 一种基于区块链的广告牌控制网关
CN109543456A (zh) * 2018-11-06 2019-03-29 北京新唐思创教育科技有限公司 区块生成方法及计算机存储介质
WO2019061630A1 (zh) * 2017-09-26 2019-04-04 武汉斗鱼网络科技有限公司 一种交易核算方法及客户端
CN109614824A (zh) * 2018-11-19 2019-04-12 上海景峰制药有限公司 一种基于区块链的药物数据管理方法、装置及服务器
CN109711192A (zh) * 2018-12-24 2019-05-03 众安信息技术服务有限公司 区块链系统构建方法、节点间交易方法及系统
CN109859067A (zh) * 2018-12-28 2019-06-07 无锡井通网络科技有限公司 基于区块链的辅助制造验证方法、装置及电子设备
CN109919610A (zh) * 2019-01-14 2019-06-21 如般量子科技有限公司 基于p2p公钥池的抗量子计算区块链保密交易方法和系统
CN109919609A (zh) * 2019-01-14 2019-06-21 如般量子科技有限公司 基于公钥池的抗量子计算区块链保密交易方法和系统
CN109919611A (zh) * 2019-01-15 2019-06-21 如般量子科技有限公司 基于对称密钥池服务器的抗量子计算区块链交易方法和系统
CN110225043A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 应用于区块链的打包方法及装置
CN110225044A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 在区块链上的验证方法及装置
CN110266635A (zh) * 2018-04-26 2019-09-20 腾讯科技(深圳)有限公司 车辆信息共享方法、装置、计算机可读介质及电子设备
CN110490723A (zh) * 2018-05-15 2019-11-22 全球智能股份有限公司 区块链下的贷款管理方法与系统
CN110490588A (zh) * 2019-08-23 2019-11-22 深圳前海环融联易信息科技服务有限公司 身份证书管理方法、装置、计算机设备及存储介质
WO2019224593A1 (zh) * 2018-05-25 2019-11-28 柯宾汉数位金融科技有限公司 区块链的生成方法及系统
CN110941859A (zh) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 用于区块链形成共识的方法、设备、计算机可读存储介质和计算机程序产品

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395665B (zh) * 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
US20210097532A1 (en) * 2018-04-19 2021-04-01 Sak Mahasuverachai Systems and methods for recording assets and transactions thereof in blockchains
CN110914849A (zh) * 2018-06-08 2020-03-24 安纳科技有限公司 用于保护区块链网络中的交易的系统和方法
US11223877B2 (en) * 2019-02-12 2022-01-11 Vijay Madisetti Hybrid blockchains and streamchains using non-crypto hashes for securing audio-, video-, image-, and speech-based transactions and contracts
US10936723B2 (en) * 2019-03-27 2021-03-02 Intel Corporation Fast and secure protocol to bootstrap a blockchain by restoring the blockchain state using trusted execution environment
GB2583770A (en) * 2019-05-10 2020-11-11 Nchain Holdings Ltd Methods and devices for registering and authenticating miner identity in a blockchain network
CN111865972B (zh) * 2020-07-17 2022-08-16 西安工业大学 一种匿名通信方法与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105761143A (zh) * 2016-02-01 2016-07-13 上海凭安网络科技有限公司 一种基于区块链的多方共建信用记录的方法
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN106100981A (zh) * 2016-08-22 2016-11-09 布比(北京)网络技术有限公司 社交网络数据交互方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009246657A (ja) * 2008-03-31 2009-10-22 Nippon Telegr & Teleph Corp <Ntt> メッセージ復元システムおよび方法
US20160125403A1 (en) 2014-04-28 2016-05-05 Chin-hao Hu Offline virtual currency transaction
US9973341B2 (en) 2015-01-23 2018-05-15 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
JP5871347B1 (ja) 2015-03-11 2016-03-01 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
EP3955146A1 (en) * 2015-05-05 2022-02-16 Ping Identity Corporation Identity management service using a block chain
CN105719172A (zh) 2016-01-19 2016-06-29 布比(北京)网络技术有限公司 一种信息发布方法及装置
US10693658B2 (en) * 2016-02-12 2020-06-23 Visa International Service Association Methods and systems for using digital signatures to create trusted digital asset transfers
CN105959307A (zh) * 2016-06-30 2016-09-21 中国科学院计算技术研究所 基于区块链技术的存在证明及认证服务方法及系统
CN106130738A (zh) 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统
US20180130034A1 (en) * 2016-11-07 2018-05-10 LedgerDomain, LLC Extended blockchains for event tracking and management
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
US11625731B2 (en) * 2017-06-30 2023-04-11 Intel Corporation Methods, systems and apparatus to track a provenance of goods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105761143A (zh) * 2016-02-01 2016-07-13 上海凭安网络科技有限公司 一种基于区块链的多方共建信用记录的方法
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN106100981A (zh) * 2016-08-22 2016-11-09 布比(北京)网络技术有限公司 社交网络数据交互方法及装置

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566124A (zh) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 基于抽签机制的共识建立方法、区块链系统及存储介质
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及系统
WO2019061630A1 (zh) * 2017-09-26 2019-04-04 武汉斗鱼网络科技有限公司 一种交易核算方法及客户端
CN108235799A (zh) * 2017-12-27 2018-06-29 深圳达闼科技控股有限公司 区块生成方法、装置、存储介质、区块链网络
CN108235799B (zh) * 2017-12-27 2020-02-18 深圳达闼科技控股有限公司 区块生成方法、装置、存储介质、区块链网络
CN108776941A (zh) * 2018-04-13 2018-11-09 深圳市元征科技股份有限公司 数字作品版权管理方法、系统及区块链节点设备
CN108776941B (zh) * 2018-04-13 2022-06-17 深圳市元征科技股份有限公司 数字作品版权管理方法、系统及区块链节点设备
CN109150861A (zh) * 2018-04-25 2019-01-04 泰山·约克·维纳斯基 区块链网络通信系统
CN110266635A (zh) * 2018-04-26 2019-09-20 腾讯科技(深圳)有限公司 车辆信息共享方法、装置、计算机可读介质及电子设备
CN110490723A (zh) * 2018-05-15 2019-11-22 全球智能股份有限公司 区块链下的贷款管理方法与系统
CN108880789A (zh) * 2018-05-23 2018-11-23 众安信息技术服务有限公司 硬件产品防伪溯源方法、节点设备及系统
CN108880789B (zh) * 2018-05-23 2021-06-15 众安信息技术服务有限公司 硬件产品防伪溯源方法、节点设备及系统
WO2019224593A1 (zh) * 2018-05-25 2019-11-28 柯宾汉数位金融科技有限公司 区块链的生成方法及系统
CN110417558B (zh) * 2018-06-28 2022-12-09 腾讯科技(深圳)有限公司 签名的验证方法和装置、存储介质及电子装置
CN110417558A (zh) * 2018-06-28 2019-11-05 腾讯科技(深圳)有限公司 签名的验证方法和装置、存储介质及电子装置
CN108777625B (zh) * 2018-06-28 2020-08-11 腾讯科技(深圳)有限公司 签名的验证方法、装置和系统、存储介质、电子装置
CN108777625A (zh) * 2018-06-28 2018-11-09 腾讯科技(深圳)有限公司 签名的验证方法、装置和系统、存储介质、电子装置
CN108898440A (zh) * 2018-07-02 2018-11-27 中国联合网络通信集团有限公司 流量兑换方法和装置
CN109034813A (zh) * 2018-09-07 2018-12-18 腾讯科技(深圳)有限公司 代表节点设备选举方法、装置、计算机设备及存储介质
CN109034813B (zh) * 2018-09-07 2020-04-21 腾讯科技(深圳)有限公司 代表节点设备选举方法、装置、计算机设备及存储介质
CN110941859A (zh) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 用于区块链形成共识的方法、设备、计算机可读存储介质和计算机程序产品
CN109462574A (zh) * 2018-09-26 2019-03-12 广州鲁邦通物联网科技有限公司 一种基于区块链的广告牌控制网关
CN109462574B (zh) * 2018-09-26 2021-02-02 广州鲁邦通物联网科技有限公司 一种基于区块链的广告牌控制网关
CN109361740A (zh) * 2018-09-27 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的区块生成方法、装置、设备和介质
CN109361740B (zh) * 2018-09-27 2021-07-06 百度在线网络技术(北京)有限公司 一种区块链的区块生成方法、装置、设备和介质
CN109543456A (zh) * 2018-11-06 2019-03-29 北京新唐思创教育科技有限公司 区块生成方法及计算机存储介质
CN109614824A (zh) * 2018-11-19 2019-04-12 上海景峰制药有限公司 一种基于区块链的药物数据管理方法、装置及服务器
CN109711192A (zh) * 2018-12-24 2019-05-03 众安信息技术服务有限公司 区块链系统构建方法、节点间交易方法及系统
CN109711192B (zh) * 2018-12-24 2021-10-01 众安信息技术服务有限公司 区块链系统节点间交易方法及系统
CN109859067A (zh) * 2018-12-28 2019-06-07 无锡井通网络科技有限公司 基于区块链的辅助制造验证方法、装置及电子设备
CN109919609A (zh) * 2019-01-14 2019-06-21 如般量子科技有限公司 基于公钥池的抗量子计算区块链保密交易方法和系统
CN109919610A (zh) * 2019-01-14 2019-06-21 如般量子科技有限公司 基于p2p公钥池的抗量子计算区块链保密交易方法和系统
CN109919611A (zh) * 2019-01-15 2019-06-21 如般量子科技有限公司 基于对称密钥池服务器的抗量子计算区块链交易方法和系统
CN110225044B (zh) * 2019-06-17 2020-11-27 北京瑞策科技有限公司 在区块链上的验证方法及装置
CN110225043A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 应用于区块链的打包方法及装置
CN110225044A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 在区块链上的验证方法及装置
CN110490588A (zh) * 2019-08-23 2019-11-22 深圳前海环融联易信息科技服务有限公司 身份证书管理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
JP2019517227A (ja) 2019-06-20
EP3461060A1 (en) 2019-03-27
EP3461060A4 (en) 2019-07-24
WO2018112947A1 (zh) 2018-06-28
CN107078910B (zh) 2021-02-05
US11190360B2 (en) 2021-11-30
US20190238340A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
CN107078910A (zh) 生成区块链区块的方法、装置、节点、签名设备及系统
AU2019207312B2 (en) Distributed key management for trusted execution environments
CN107017993A (zh) 一种多方联合密钥产生和数字签名方法及系统
US10581615B2 (en) Blockchain-based identity authentication method, device, node and system
CN109067547A (zh) 一种基于一次性环签名的区块链隐私保护方法
US10742426B2 (en) Public key infrastructure and method of distribution
JP2020521343A (ja) ブロックチェーンネットワーク内で使用するためのフィールドプログラマブルゲートアレイベースの信頼できる実行環境
CN107682151B (zh) 一种gost数字签名生成方法及系统
CN109639439B (zh) 一种基于两方协同的ecdsa数字签名方法
CN103107890B (zh) 一种多方加密、签名、零知识证明的方法
CN107743132A (zh) 基于标识密码的物联网可信身份识别与控制方法
CN107968710A (zh) Sm9数字签名分离交互生成方法及系统
CN106411999A (zh) 云存储的密钥生成方法、云数据存储方法及审计方法
CN113765662B (zh) 一种基于sm2算法的签名及解密方法和系统
CN103297230B (zh) 信息加解密方法、装置及系统
CN106851635A (zh) 一种基于身份的分布式签名方法及系统
Shi et al. A scheme on converting quantum signature with public verifiability into quantum designated verifier signature
CN110034936B (zh) 一种可刺穿的数字签名方法
CN115396115A (zh) 区块链数据隐私保护方法、装置、设备及可读存储介质
CN103248492A (zh) 可验证的分布式隐私数据比较与排序方法
Lin et al. Research on authentication and key negotiation based on smart water environment
Qin et al. A distributed authentication scheme based on zero-knowledge proof
Yap et al. Forgery attacks of an identity‐based multi‐proxy signature scheme
CN114257378B (zh) 一种匿名证书生成方法、系统、设备及可读存储介质
CN116743713B (zh) 基于物联网的远程在线无纸会议方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210305

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.

CP03 Change of name, title or address