首页 / 专利库 / 资料储存系统 / 工作量证明 / 区块生成方法、装置和区块链网络

生成方法、装置和区块链网络

阅读:811发布:2020-09-01

专利汇可以提供生成方法、装置和区块链网络专利检索,专利查询,专利分析的服务。并且一种区 块 生成方法、装置和 区块链 网络,用以提高区块链的安全性。所述方法包括:根据区块生成装置的私钥信息对区块生成装置生成的区块进行签名,得到签名区块;通过区块链网络中的第一 节点 设备将所述签名区块发布到其他节点设备。,下面是生成方法、装置和区块链网络专利的具体信息内容。

1.一种区生成方法,其特征在于,所述方法应用于区块生成装置,所述区块生成装置内置私钥信息,所述方法包括:
根据所述私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
2.根据权利要求1所述的方法,其特征在于,所述区块生成装置包括哈希处理器单元,在所述根据私钥对所述区块生成装置生成的区块进行签名之前,包括:
根据所述哈希处理器单元中内置的特定哈希算法进行哈希计算,得到所述区块。
3.根据权利要求2所述的方法,其特征在于,在根据所述第一处理单元中内置的特定哈希算法进行哈希计算,得到所述区块之前,所述方法还包括:
通过所述第一节点设备获取交易数据,其中,所述区块包括所述交易数据。
4.根据权利要求1所述的方法,其特征在于,所述区块生成装置包括密钥处理器单元,所述根据所述私钥信息对所述区块生成装置生成的区块进行签名,包括:
根据所述密钥处理器单元中的所述私钥信息对所述区块进行签名,得到所述签名区块。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
通过所述第一节点设备获取所述区块链网络中的第二节点设备发布的签名区块;
根据公钥信息对所述第二节点设备发布的签名区块进行签名认证;
在签名认证成功后,对获取到的所述签名区块进行工作量证明验证;
根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
6.根据权利要求1至4任一项所述的方法,其特征在于,在所述根据所述私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块之前,包括:
通过所述第一节点设备确定所述区块生成装置最近一次生成的区块与当前区块链中的最新区块之间相差的区块数;
确定所述区块数不小于预设阈值m,其中,m为大于或等于1,且小于n的正整数,n是所述区块链网络中所有节点设备的数目。
7.一种区块生成方法,其特征在于,所述方法应用于区块生成装置,所述方法包括:
通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
根据公钥信息对所述签名区块进行签名认证;
在签名认证成功后,对所述签名区块进行工作量证明验证;
根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
8.一种区块生成装置,其特征在于,所述区块生成装置内置私钥信息,所述区块生成装置包括:
签名模块,用于根据所述私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
发布模块,用于通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
9.根据权利要求8所述的区块生成装置,其特征在于,还包括:
获取模块,用于通过所述第一节点设备获取所述区块链网络中的第二节点设备发布的签名区块;
签名认证模块,用于根据公钥信息对所述第二节点设备发布的签名区块进行签名认证;
工作量证明模块,用于在签名认证成功后,对获取到的所述签名区块进行工作量证明验证;
区块添加模块,用于根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
10.根据权利要求8或9所述的区块生成装置,其特征在于,还包括:
确定模块,用于在所述签名模块根据所述私钥信息对所述区块生成装置生成的区块进行签名之前,通过所述第一节点设备确定所述区块生成装置最近一次生成的区块与当前区块链中的最新区块之间相差的区块数;确定所述区块数不小于预设阈值m,其中,m为大于或等于1,且小于n的正整数,n是所述区块链网络中所有节点设备的数目。
11.一种区块生成装置,其特征在于,包括:
获取模块,用于通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
签名认证模块,用于利用公钥信息对所述签名区块进行签名认证;
工作量证明模块,用于在签名认证通过后,对所述签名区块进行工作量证明验证;
区块添加模块,用于根据工作量证明验证结果确定是否将解密后得到的所述区块添加到区块链。
12.一种区块生成装置,其特征在于,包括:
至少一个处理器单元、通信接口存储器和通信总线;所述至少一个处理器单元、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器被配置为存储程序代码;
所述至少一个处理器单元被配置为运行所述程序代码以实现如下操作:
根据所述区块生成装置内置的私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
13.根据权利要求12所述的区块生成装置,其特征在于,所述至少一个处理器单元包括主处理器单元和哈希处理器单元;
所述主处理器单元被配置为,根据所述哈希处理器单元中内置的特定哈希算法进行哈希计算,得到所述区块。
14.根据权利要求13所述的区块生成装置,其特征在于,所述至少一个处理器单元还用于,通过所述第一节点设备获取交易数据,其中,所述区块包括所述交易数据。
15.根据权利要求12所述的区块生成装置,其特征在于,所述至少一个处理器单元包括主处理器单元和密钥处理器单元;
所述主处理器单元被配置为,根据所述密钥处理器单元中的所述私钥信息对所述区块进行签名,得到所述签名区块。
16.一种区块生成装置,其特征在于,包括:
至少一个处理器单元、通信接口、存储器和通信总线;所述至少一个处理器单元、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器被配置为存储程序代码;
所述至少一个处理器单元被配置为运行所述程序代码以实现如下操作:
通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
根据公钥信息对所述签名区块进行签名认证;
在签名认证成功后,对所述签名区块进行工作量证明验证;
根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
17.一种区块链网络,其特征在于,所述区块链网络包括至少两个节点设备;
所述至少两个节点设备包括第一节点设备,所述第一节点设备包括如权利要求8所述的区块生成装置,或者所述第一节点设备包括如权利要求12所述的区块生成装置;
所述至少两个节点设备包括第二节点设备,所述第二节点设备包括如权利要求11所述的区块生成装置,或者所述第二节点设备包括如权利要求16所述的区块生成装置。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行权利要求1至6任一项所述的方法的指令。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行权利要求7所述的方法的指令。

说明书全文

生成方法、装置和区块链网络

技术领域

[0001] 本发明涉及区块链技术领域,尤其涉及一种区块生成方法、装置和区块链网络。

背景技术

[0002] 区块链技术是一种分布式、去中心、去信任的网络数据共识存储技术,其基于独特的区块(Block)生成机制和P2P(Point to Point,点对点)网络通信机制实现了分布式计算的同步性问题。
[0003] 通常意义上,在区块链的形成过程中,每一个参与计算的节点均享有相同的权限,其中包括转账(Transaction),计算区块等权限。现有技术中,参与区块计算的节点的计算能参差不齐,为了提高产生区块的几率,计算区块的节点使用的硬件也从CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、FPGA(Field Programmable Gate Array,现场可编程逻辑阵列)一直演化到ASIC(Application-specific integrated circuit,专用芯片)。
[0004] 但是,区块链涉及一个“51%攻击”的场景,既理论上超过51%计算能力的节点或者多个节点,能够对区块链进行“51%攻击”,阻碍区块链的正常运行,对区块链的数据进行破坏。目前,随着单个节点的计算能力的增长,单一或者少数节点一起可以拥有极大的计算能力,这样,在整个区块链网络中各节点的计算能力差异较大的情况下,形成“51%攻击”的条件已经不难达成,威胁了区块链网络的安全性。

发明内容

[0005] 本发明的主要目的是提供一种区块生成方法、装置和区块链网络,用以提高区块链的安全性。
[0006] 为了实现上述目的,本发明第一方面提供一种区块生成方法,所述方法应用于区块生成装置,所述区块生成装置内置私钥信息,所述方法包括:
[0007] 根据所述私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
[0008] 通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
[0009] 本发明第二方面提供一种区块生成方法,所述方法应用于区块生成装置,所述方法包括:
[0010] 通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
[0011] 根据公钥信息对所述签名区块进行签名认证;
[0012] 在签名验证成功后,对所述签名区块进行工作量证明验证;
[0013] 根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
[0014] 本发明第三方面提供一种区块生成装置,所述区块生成装置内置私钥信息,所述区块生成装置包括:
[0015] 签名模块,用于根据所述私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
[0016] 发布模块,用于通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
[0017] 本发明第四方面提供一种区块生成装置,包括:
[0018] 获取模块,用于通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
[0019] 签名认证模块,用于利用公钥信息对所述签名区块进行签名认证;
[0020] 工作量证明模块,用于在签名认证通过后,对所述签名区块进行工作量证明验证;
[0021] 区块添加模块,用于根据工作量证明验证结果确定是否将解密后得到的所述区块添加到区块链。
[0022] 本发明第五方面提供一种区块生成装置,包括:
[0023] 至少一个处理器单元、通信接口存储器和通信总线;所述至少一个处理器单元、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
[0024] 所述存储器被配置为存储程序代码;
[0025] 所述至少一个处理器单元被配置为运行所述程序代码以实现如下操作:
[0026] 根据所述区块生成装置内置的私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
[0027] 通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
[0028] 本发明第六方面提供一种区块生成装置,包括:
[0029] 至少一个处理器单元、通信接口、存储器和通信总线;所述至少一个处理器单元、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
[0030] 所述存储器被配置为存储程序代码;
[0031] 所述至少一个处理器单元被配置为运行所述程序代码以实现如下操作:
[0032] 通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
[0033] 根据公钥信息对所述签名区块进行签名认证;
[0034] 在签名认证成功后,对所述签名区块进行工作量证明验证;
[0035] 根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
[0036] 本发明第七方面提供一种区块链网络,所述区块链网络包括至少两个节点设备;
[0037] 所述至少两个节点设备包括第一节点设备,所述第一节点设备包括第三方面所述的区块生成装置,或者所述第一节点设备包括第五方面所述的区块生成装置;
[0038] 所述至少两个节点设备包括第二节点设备,所述第二节点设备包括第四方面所述的区块生成装置,或者所述第二节点设备包括第六方面所述的区块生成装置。
[0039] 本发明第八方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行第一方面所述的方法的指令。
[0040] 本发明第九方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行第二方面所述的方法的指令。
[0041] 采用上述技术方案,区块生成装置生成区块后,对区块进行私钥签名,并通过区块链网络中的第一节点设备将经过私钥签名后得到的签名区块发布到其他节点设备。这样,其他节点设备可以通过对签名区块的签名认证验证该区块生成装置的身份。从而对于非法的区块生成装置,区块链网络可以拒绝在区块链中添加其生成的区块,保证了区块链的安全性。附图说明
[0042] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043] 图1为本发明实施例提供的一种区块生成方法的流程示意图;
[0044] 图2为本发明实施例提供的另一种区块生成方法的流程示意图;
[0045] 图3为本发明实施例提供的实施环境的示意图;
[0046] 图4为图3所示的实施环境中一种区块生成方法的流程示意图;
[0047] 图5A为本发明实施例提供的一种区块生成装置的结构示意图;
[0048] 图5B为本发明实施例提供的另一种区块生成装置的结构示意图;
[0049] 图6为本发明实施例提供的另一种区块生成装置的结构示意图;
[0050] 图7A为本发明实施例提供的另一种区块生成装置的结构示意图;
[0051] 图7B为本发明实施例提供的另一种区块生成装置的结构示意图;
[0052] 图8为本发明实施例提供的另一种区块生成装置的结构示意图;
[0053] 图9为本发明实施例提供的区块链网络的结构示意图。

具体实施方式

[0054] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055] 为了使本领域技术人员更容易理解本发明实施例提供的技术方案,下面首先对涉及到的相关技术进行简单介绍。
[0056] 区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库系统,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。
[0057] 在基于PoW(Proof of Work,工作量证明)的区块产生机制中,有效区块的产生要求区块生成装置正确解出一个需要计算量的数学难题,一般情况下是对含有Nonce(Number once,非重复的随机数值)的区块头部数据进行哈希运算,通过对Nonce进行调整,使得哈希结果满足特定条件,并要求生成的哈希值满足特定条件,如前n个位为0x0。在计算出满足特定条件的哈希结果后,节点设备将含有Nonce的区块头部数据和区块数据组合成区块进行广播,其它节点设备认可此区块符合协议定义的格式和标准后,即可将该区块添加到区块链上。具体可参照比特币(bitcoin)应用。
[0058] 值得说明的是,在PoW的场景下,区块生成装置的计算能力通常以哈希计算能力(Hash Rate)做标准。另外,上述区块数据可以包括各个节点设备在转账(Transaction)过程中广播的交易数据。该交易数据通常包括了一定的货币属性,以及拥有者的数字签名,接受者的地址。在交易数据被写入区块后,经过对拥有者数字签名的验证,即将所有权转移到接受者一方。
[0059] 本发明实施例提供一种区块生成方法,该方法应用于区块生成装置,所述区块生成装置内置有私钥信息,如图1所示,该方法包括:
[0060] S101、根据所述私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块。
[0061] 其中,该区块生成装置可以是区块链网络中的任一节点设备的一部分,也可以是与所述区块链网络中的任一节点设备建立通信连接的一独立装置,具体地,该区块生成装置和节点设备之间可以通过不同的数据总线进行连接,例如,USB(Universal Serial Bus,通用串行总线)、Ethernet(以太网)、Bluetooth(蓝牙)、Wi-Fi(Wireless-Fidelity)等。
[0062] 参照上述对PoW区块产生机制的介绍。示例地,区块生成装置与第一节点设备通信相连。所述第一节点设备是区块链网络中的节点设备,其可以通过网络接口接收区块链网络中的其他节点设备广播的交易数据。这样,该区块生成装置可以从所述第一节点设备获取到交易数据,并将所述交易数据作为区块数据,在对含有Nonce的区块头部数据进行哈希运算,并使得哈希结果满足特定条件后,根据区块数据与区块头部数据生成区块。
[0063] 上述只是对区块生成装置生成区块的一种方式进行举例说明,在具体实施时,区块生成装置在没有获取到交易数据的情况下,仍可以生成区块,本发明对此不做限定。
[0064] S102、通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
[0065] 值得说明的是,区块链网络中的每一区块生成装置内置的私钥信息均不同,并且,区块生成装置可以将自身的公钥信息通过特定的节点设备广播至其他节点设备。这样,在接收到某一节点设备发布的签名区块后,采用相应的公钥进行签名认证,若签名认证成功,则表明发布的签名区块合法,即表明生成该签名区块的区块生成装置具备向区块链中添加新区块的权利,可进一步对区块进行工作量证明验证,以及验证区块是否符合协议定义的格式和标准。若对签名区块签名认证设备,则拒绝在区块链中添加该区块,保证了区块链的安全性。
[0066] 在本发明实施例的一种可能的实现方式中,该区块生成装置包括哈希处理器单元,该哈希处理器单元负责采用特定的哈希算法对区块数据进行哈希运算。也就是说,在上述步骤S101之前,该区块生成装置利用该哈希处理器单元根据所述区块数据生成所述区块。
[0067] 其中,区块生成装置内置哈希处理器单元可以对哈希算法本身进行保护,不易被他人获取。另外,采用专门的处理器单元负责哈希运算可以实现对节点设备的算力进行限制。例如,区块链网络在初始化时,可以只为采用相同型号和规格的哈希处理器单元的区块生成装置分配私钥和公钥,初始化完毕后,在添加新的区块生成装置时,也可以只允许算力相近的区块生成装置加入,其中,区块链网络添加新的区块生成装置可以通过特定的节点设备进行,由该节点设备动态的向区块链写入新添加的区块生成装置的公钥。从而确保了各个节点算力的一致性,避免单个节点或者少数节点一起具有超越阈值得计算能力,进而避免了“51%攻击”的形成,提升了区块链的安全性。
[0068] 进一步地,所述区块生成装置还可以内置有密钥处理器单元,则上述步骤S101具体为,利用所述密钥处理器单元中的私钥对所述区块进行签名,得到所述签名区块。
[0069] 也就是说,区块生成装置内置的私钥处于所述密钥处理器单元,从而实现利用硬件对签名密钥进行保护,如采用高安全性密码芯片,其密钥的产生,加解密、签名验签等计算过程均在密码芯片内完成,确保签名私钥不离开密码芯片,从而实现对密钥的高强度保护。
[0070] 由上可知,在具备哈希处理器单元和密钥处理器单元的情况下,区块生成装置要生成有效的区块,需同时具备特定的哈希算法以及签名密钥,提升了区块链网络的安全性。
[0071] 在本发明实施例的一种可能的实现方式,该区块生成装置在根据所述区块数据生成区块之前,还可以通过所述第一节点设备确定所述区块生成装置最近一次生成的区块与当前区块链中的最新区块之间相差的区块数,并确定所述区块数不小于预设阈值m,其中,m为大于或等于1,且小于n的正整数,n是所述区块链网络中所有节点设备的数目。
[0072] 也就是说,区块生成装置在生成一次区块后,需要间隔m个区块后,才能再次生成区块。其中,m具体可以根据实际需求进行设置。例如,m=n-1,即区块生成装置需要间隔n-1区块后才能再次产生区块,在此种情况下,所有n个区块生成装置均必须保持正常工作,否则区块链的区块生成工作会停止。又例如m=1,则区块生成装置每间隔一个区块即可再次生成区块,在此种情况下,m+1个被恶意控制节点即可形成“51%攻击”。
[0073] 这样,基于区块链网络的实际情况,合理设置m的大小,由于同一区块生成装置不能连续产生区块,从而降低了某一区块生成装置的算力过高产生的“51%攻击”的可能性。
[0074] 本发明实施例还提供另一区块生成方法,所述方法应用于区块生成装置,如图2所示,所述方法包括:
[0075] S201、通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块。
[0076] S202、利用公钥信息对所述签名区块进行签名认证。
[0077] 其中,公钥信息可以是该第二节点设备预先储存的,也可以是该第二节点设备从所述签名区块中获取到的。
[0078] S203、在签名认证成功后,对所述签名区块进行工作量证明验证。
[0079] S204、根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
[0080] 具体地,签名区块的生成可以参照图1所示的方法,此处不再赘述。
[0081] 值得说明的是,区块链网络中的每一节点设备既能够对其他节点设备发布的签名区块进行签名验证,还可以计算生成区块。也就是说,同一区块生成装置,既可以应用图1所示的区块生成方法,又可以应用图2所示的区块生成方法。
[0082] 图3是本发明实施例的一种实施环境示意图,如图所示,该实施环境包括第一节点设备31和第二节点设备32,其中,第一节点设备31和第二节点设备32是区块链网络中的任意两个节点设备。第一节点设备31包括区块生成装置311,第二节点设备32包括区块生成装置321。
[0083] 为了使本领域技术人员更容易理解本发明实施例提供的技术方案,下面结合图3,对本发明实施例提供的一种区块生成方法进行详细说明,如图4所示,包括:
[0084] S401、第一节点设备31从区块链网络中获取至少一笔交易数据。
[0085] S402、第一节点设备31根据所述交易数据生成区块数据。
[0086] 其中,所述区块数据包括所述至少一笔交易数据。
[0087] S403、第一节点设备31的区块生成装置311根据所述区块数据生成区块。
[0088] 值得说明的是,除了上述介绍的PoW区块产生机制,本发明还可以基于其他区块产生机制产生区块,例如,PoS(Proof of Stake,权益证明),本发明对此不做限定。为了方面描述,本发明实施例采用PoW区块产生机制进行举例说明。
[0089] S404、第一节点设备31的区块生成装置311利用自身的私钥对所述区块进行签名,得到签名区块。
[0090] S405、第一节点设备31将所述签名区块广播到第二节点设备32。
[0091] S406、第二节点设备32接收所述签名区块。
[0092] S407、第二节点设备32的区块生成装置321利用公钥信息对所述签名区块进行签名验证。
[0093] 进一步地,若签名验证成功,则执行步骤S408,若否,则第二节点设备可以丢弃所述签名区块,不再继续处理。
[0094] S408、第二节点设备32的区块生成装置321对签名区块进行工作量证明验证。
[0095] 进一步地,若工作量证明验证成功,则执行步骤S409,若否,则第二节点设备可以丢弃所述签名区块,拒绝将其写入区块链。
[0096] S409、第二节点设备32的区块生成装置321将所述签名区块添加到当前区块链。
[0097] 值得说明的是,上述过程中,第二节点设备32的区块生成装置321也可以生成签名区块,并通过第二节点设备32将签名区块广播到第一节点设备31,第一节点设备31的区块生成装置321可以对第一节点设备31接收到的签名区块进行签名验证以及后续的工作量证明验证,具体参照上述方法步骤,此处不再赘述。
[0098] 上述只是举例说明,图3所示的区块生成装置均属于节点设备的一部分,可替换地,区块生成装置也可以作为独立的装置与节点设备通信连接,在此种情况下,图4示出的上述方法步骤中,涉及到区块生成装置与节点设备之间的交互均可以通过通信接口实现。本发明对此不做限定。
[0099] 另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的,例如,区块生成装置在未获取到交易数据的情况下,也可以产生区块。
[0100] 本发明实施例还提供一种区块生成装置50,用于实施图1提供的一种区块生成方法,所述区块生成装置50内置私钥信息,如图5A所示,该区块生成装置50包括:
[0101] 签名模块501,用于根据所述私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
[0102] 发布模块502,用于通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
[0103] 采用上述区块生成装置,该区块生成装置生成区块后,对区块进行私钥签名,并通过区块链网络中的第一节点设备将经过私钥签名后得到的签名区块发布到其他节点设备。这样,其他节点设备可以通过对签名区块的签名认证验证该区块生成装置的身份。从而对于非法的区块生成装置,区块链网络可以拒绝在区块链中添加其生成的区块,保证了区块链的安全性。
[0104] 可选地,如图5B所示,该区块生成装置50还包括:
[0105] 获取模块503,用于通过所述第一节点设备获取所述区块链网络中的第二节点设备发布的签名区块;签名认证模块504,用于根据公钥信息对所述第二节点设备发布的签名区块进行签名认证;工作量证明模块505,用于在签名认证成功后,对获取到的所述签名区块进行工作量证明验证;区块添加模块506,用于根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
[0106] 也就是说,区块生成装置50在接收到某一节点设备发布的签名区块后,采用相应的公钥进行签名认证,若签名认证成功,则表明发布的签名区块合法,即表明生成该签名区块的区块生成装置具备向区块链中添加新区块的权利,可进一步对区块进行工作量证明验证,以及验证区块是否符合协议定义的格式和标准。若对签名区块签名认证设备,则拒绝在区块链中添加该区块,保证了区块链的安全性。
[0107] 可选地,如图5B所示,该区块生成装置50还包括:确定模块507,用于在所述签名模块根据私钥对所述区块生成装置生成的区块进行签名之前,通过所述第一节点设备确定所述区块生成装置最近一次生成的区块与当前区块链中的最新区块之间相差的区块数;确定所述区块数不小于预设阈值m,其中,m为大于或等于1,且小于n的正整数,n是所述区块链网络中所有节点设备的数目。
[0108] 值的说明的是,图5只是举例说明,在具体实施时,区块生成装置还可以包括其他部件,图中未一一示出,例如存储器,用于存储相关密钥信息。或者区块生成装置还可以采用高安全性密码芯片,其密钥的产生,加解密、签名验签等计算过程均在密码芯片内完成,确保签名私钥不离开密码芯片,从而实现对密钥的高强度保护。
[0109] 所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的区块生成装置的各模块的具体工作过程,可以参考前述方法实施例中对应的过程,此处不再赘述。
[0110] 另外,上述对区块生成装置组成模块进行的划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,各个模块的物理实现也可以有多种方式,本发明对此不做限定。
[0111] 本发明实施例还提供另一种区块生成装置60,用于实施图2提供的一种区块生成方法,如图6所示,该区块生成装置60包括:
[0112] 获取模块601,用于通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
[0113] 签名认证模块602,用于利用公钥信息对所述签名区块进行签名认证;
[0114] 工作量证明模块603,用于在签名认证通过后,对所述签名区块进行工作量证明验证;
[0115] 区块添加模块604,用于根据工作量证明验证结果确定是否将解密后得到的所述区块添加到区块链。
[0116] 所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的区块生成装置的各单元的具体工作过程,可以参考前述方法实施例中对应的过程,此处不再赘述。
[0117] 另外,上述对区块生成装置组成模块进行的划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,各个模块的物理实现也可以有多种方式,本发明对此不做限定。
[0118] 本发明实施例还提供一种区块生成装置70,如图7A所示,该区块生成装置70包括:
[0119] 至少一个处理器单元(如图7示出的处理器单元701)、通信接口702、存储器703和通信总线704;所述至少一个处理器单元、所述通信接口702和所述存储器703通过所述通信总线704完成相互间的通信;
[0120] 所述存储器703被配置为存储程序代码;所述程序代码包括计算机操作指令和网络流图。所述存储器703可能携带高速RAM(Random Access Memory,随机存取存储器),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0121] 所述至少一个处理器单元被配置为运行所述程序代码以实现如下操作:
[0122] 根据所述区块生成装置内置的私钥信息对所述区块生成装置生成的区块进行签名,得到签名区块;
[0123] 通过区块链网络中的第一节点设备将所述签名区块发布到其他节点设备。
[0124] 可选地,如图7B所示,所述至少一个处理器单元包括主处理器单元7011和哈希处理器单元7012;所述主处理器单元被配置为,根据所述哈希处理器单元中内置的特定哈希算法进行哈希计算,得到所述区块。这样,所述主处理器单元还用于,通过所述第一节点设备获取交易数据,所述哈希处理器单元计算得到的区块中包括所述交易数据。
[0125] 其中,区块生成装置内置的哈希处理器单元7012可以对哈希算法本身进行保护,不易被他人获取。另外,采用专门的处理器单元负责哈希运算可以实现对节点设备的算力进行限制。避免单个节点或者少数节点一起具有超越阈值得计算能力,进而避免了“51%攻击”的形成,提升了区块链的安全性。
[0126] 可选地,如图7B所示,所述至少一个处理器单元还密钥处理器单元7013,所述主处理器单元7011被配置为,根据所述密钥处理器单元中的私钥对所述区块进行签名,得到所述签名区块。也就是说,利用硬件对签名密钥进行保护,如采用高安全性密码芯片,其密钥的产生,加解密、签名验签等计算过程均在密码芯片内完成,确保签名私钥不离开密码芯片,从而实现对签名密钥的高强度保护。
[0127] 本发明实施例还提供另一种区块生成装置80,如图8所示,所述区块生成装置80包括:
[0128] 至少一个处理器单元(如图8示出的处理器单元801)、通信接口802、存储器803和通信总线804;所述至少一个处理器单元、所述通信接口802和所述存储器803通过所述通信总线804完成相互间的通信;
[0129] 所述存储器803被配置为存储程序代码;
[0130] 所述至少一个处理器单元被配置为运行所述程序代码以实现如下操作:
[0131] 通过第二节点设备获取所述区块链网络中的第一节点设备发布的签名区块;
[0132] 根据公钥信息对所述签名区块进行签名认证;
[0133] 在签名认证成功后,对所述签名区块进行工作量证明验证;
[0134] 根据工作量证明验证结果确定是否将所述签名区块添加到区块链。
[0135] 本发明实施例还提供一种区块链网络90,所述区块链网络包括至少两个节点设备。如图9所示,所述至少两个节点设备包括第一节点设备901,所述第一节点设备901包括图7A或图7B所示的区块生成装置70。具体参照上述对应图7A或图7B的描述,此处不再赘述。可替换地,所述第一节点设备901包括图5A或图5B所示的区块生成装置50。具体参照上述对应图5A或图5B的描述,此处不再赘述。
[0136] 所述至少两个节点设备包括第二节点设备902,所述第二节点设备包括图8所示的区块生成装置80。具体参照上述对应图8的描述,此处不再赘述。可替换地,所述第二节点设备902包括图6所示的区块生成装置60。具体参照上述对应图6的描述,此处不再赘述。
[0137] 这样,基于公私钥的权限控制,利用算力一致的区块生成装置组成区块链网络,例如,区块链私链。由于各个区块生成装置生成区块的几率大体一致,从而增加了“51%攻击”条件达成的难度,进而提升了区块链的安全性。
[0138] 在本申请所提供的几个实施例中,应该理解到,所公开的网络,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0139] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0140] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、RAM、磁碟或者光盘等各种可以存储数据的介质。
[0141] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈