CN110474777A - 记账节点和区块生成方法 - Google Patents
记账节点和区块生成方法 Download PDFInfo
- Publication number
- CN110474777A CN110474777A CN201910732709.3A CN201910732709A CN110474777A CN 110474777 A CN110474777 A CN 110474777A CN 201910732709 A CN201910732709 A CN 201910732709A CN 110474777 A CN110474777 A CN 110474777A
- Authority
- CN
- China
- Prior art keywords
- block
- accounting nodes
- target
- eigenvalue
- segment
- 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
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/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/3236—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 using cryptographic hash functions
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发提出了一种记账节点和区块生成方法,其中,方法包括:记账节点根据存储区块的存储量确定记账节点生成新区块距离上个区块生成时间的最小截止时间,并记录与最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记;记账节点根据交互数据生成备选区块,其他记账节点验证该备选区域是否合法,若合法则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。由此,充分调动了记账节点的记账积极性,保证了区块链网络的稳定运行。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种记账节点和区块生成方法。
背景技术
通常,基于区块链的运作机制,区块链基于共识机制应用,所谓共识机制即为通过区块链中不同节点之间建立信任、获取权益的算法,也就是说,区块链由于通过基于节点与节点之间的信息交互实现交易的安全性的保证,降低了信任成本而得到广泛应用。
相关技术中,只有当抢到记账权的记账节点才能得到平台的相关奖励,然而,随着区块链网络中节点数量的增大,每个记账节点得到奖励的概率逐渐降低,因而,影响了很多记账节点的记账热情,记账节点不再记录区块链网络中的区块信息,导致区块链运行可能不再稳定。
发明内容
本发明提出一种记账节点和区块生成方法,以解决现有技术中,记账节点记账热情不高,从而不存储区块导致区块链网络不稳定的技术问题。
本发明第一实施例提供一种区块生成方法,所述方法包括:记账节点按照预设尺寸对从当前时刻开始的前N个区块进行分片处理生成多个区块片段,并计算每个区块片段的第一特征值,以及应用预设的第一函数对所述每个区块片段的第一特征值、所述记账节点的用户标识,以及每个区块片段的循环周期进行计算,获取与所述第一函数对应的第二特征值,并存储携带区块片段标识、所述用户标识以及所述循环周期标记的第二特征值,直到满足预设的存储空间阈值;所述记账节点获取交互数据后,读取当前存储的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值,以及获取上个区块的难度值,进而应用预设的第二函数对每个所述候选第二特征值和所述上个区块的难度值进行计算,获取与所述第二函数对应的第三特征值,比较所有的第三特征值,获取最小的第三特征值为所述记账节点生成新区块距离上个区块生成时间的最小截止时间,并记录与所述最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记;所述记账节点根据所述交互数据生成备选区块,其中,所述备选区块包括:所述最小截止时间、所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记,进而到达所述最小截止时间时应用私钥对所述备选区块进行签名后向区块链网络进行广播,以使其他的记账节点在对所述私钥合法性验证通过后,根据所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记对所述最小截止时间的合法性进行验证,若超过预设数量的记账节点验证通过,则将所述备选区块作为新区块写入区块链,若没有超过预设数量的记账节点验证通过,则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。
本发明第二实施例提供一种记账节点,包括:获取模块,用于按照预设尺寸对从当前时刻开始的前N个区块进行分片处理生成多个区块片段,并计算每个区块片段的第一特征值,以及应用预设的第一函数对所述每个区块片段的第一特征值、所述记账节点的用户标识,以及每个区块片段的循环周期进行计算,获取与所述第一函数对应的第二特征值;存储模块,用于存储携带区块片段标识、所述用户标识以及所述循环周期标记的第二特征值,直到满足预设的存储空间阈值;所述获取模块,还用于获取交互数据后,读取当前存储的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值,以及获取上个区块的难度值,进而应用预设的第二函数对每个所述候选第二特征值和所述上个区块的难度值进行计算,获取与所述第二函数对应的第三特征值,比较所有的第三特征值,获取最小的第三特征值为所述记账节点生成新区块距离上个区块生成时间的最小截止时间;记录模块,用于记录与所述最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记;广播模块,用于根据所述交互数据生成备选区块,其中,所述备选区块包括:所述最小截止时间、所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记,进而到达所述最小截止时间时应用私钥对所述备选区块进行签名后向区块链网络进行广播,以使其他的记账节点在对所述私钥合法性验证通过后,根据所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记对所述最小截止时间的合法性进行验证,若超过预设数量的记账节点验证通过,则将所述备选区块作为新区块写入区块链,若没有超过预设数量的记账节点验证通过,则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。
本发明第三实施例提供一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所述的区块生成方法。
本发明第四实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的区块生成方法。
本发明实施例提供的技术方案可以包括以下有益效果:
记账节点根据存储区块的存储量确定记账节点生成新区块距离上个区块生成时间的最小截止时间,并记录与最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记,进而,记账节点根据交互数据生成备选区块,其他记账节点验证该备选区域是否合法,若合法则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。由此,充分调动了记账节点的记账积极性,保证了区块链网络的稳定运行。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的区块生成方法的流程图;
图2是根据本发明一个实施例的记账节点的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的记账节点和区块生成方法。
为了解决相关技术中,记账节点记账热情下降从而不再存储区块信息的技术问题,本发明中根据每个记账节点存储历史区块的数量分配记账权的抢夺成功率,由此,存储区块信息越多的记账节点,越有可能抢夺到记账权从而获取对应的奖励,提高了记账节点的记账热情。
具体而言,图1是根据本发明一个实施例的区块生成方法的流程图,如图1所示,该方法包括:
步骤101,记账节点按照预设尺寸对从当前时刻开始的前N个区块进行分片处理生成多个区块片段,并计算每个区块片段的第一特征值,以及应用预设的第一函数对每个区块片段的第一特征值、记账节点的用户标识,以及每个区块片段的循环周期进行计算,获取与第一函数对应的第二特征值,并存储携带区块片段标识、用户标识以及循环周期标记的第二特征值,直到满足预设的存储空间阈值。
具体的,为了确定每个记账节点具体存储了多少区块,不同的记账节点预先将历史区块通过一定规则复杂计算生成多个新的内容,并记录,由此,根据多个新的内容进行存储量的区分。
在本实施例中,记账节点按照预设尺寸对从当前时刻开始的前N个区块进行分片处理生成多个区块片段,该预设尺寸可以是统一约定好的尺寸,比如,包括9个区块的大小等,进而,计算每个区块片段的第一特征值,该第一特征值用于指示每个区块片段中区块的内容等。
进而,应用预设的第一函数对每个区块片段的第一特征值、记账节点的用户标识,以及每个区块片段的循环周期进行计算,其中,记账节点的用户标识可以为记账节点编号、记账设备生产码等标识记账节点唯一性的信息,计算后获取与第一函数对应的第二特征值,并存储携带区块片段标识(可以为区块片段编号等标识区块片段唯一性的信息)、用户标识以及循环周期标记(用于指示循环周期的循环次数)的第二特征值,直到满足预设的存储空间阈值,该预设空间阈值与记账节点的记账设备的可用存储空间有关,也可由用户自行设置。
举例而言,每个记账节点准备好当前时刻往前数的前N个区块B1……Bn,并按照区块链统一约定的尺寸大小对每个区块进行分片为P1……Pm这m个区块片段。然后记账节点对每个区块片段进行多轮计算,生成任意w个分片数据保存到硬盘中。第i轮采用序列号i和用户ID,比如对P1的第一轮计算的值为F(P1,1,UserID),第i轮的值则为F(P1,i,UserID),只要硬盘大小允许,不断的计算下去,直到达到存储空间阈值。需要说明的是,每一次新的区块生成以后,从当前时刻开始的前N个区块会发生变化,当新生成一个区块后,显然,当前时刻再往前数的前N个区块发生了变化,需要把原有的第一个去掉,第二个变成第一个,新产生的区块作为第N个。
需要说明的是,在不同的应用场景中,计算第二特征值的方式不同,作为一种可能的示例,对每个区块片段进行哈希计算获取第一特征值,进而,对每个区块片段的第一特征值、记账节点的用户标识,以及每个区块片段的循环周期进行哈希计算生成哈希值,提取哈希值中的预设字段数值获取与第一函数对应的第二特征值。
也就是说,在本实施例中,以哈希计算后的第二特征值作为对应区块片段的特殊内容值。
步骤102,记账节点获取交互数据后,读取当前存储的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值,以及获取上个区块的难度值,进而应用预设的第二函数对每个候选第二特征值和上个区块的难度值进行计算,获取与第二函数对应的第三特征值,比较所有的第三特征值,获取最小的第三特征值为记账节点生成新区块距离上个区块生成时间的最小截止时间,并记录与最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记。
具体的,记账节点获取到交互数据后,获取当前存储的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值,以便于基于多个候选第二特征值进行记账权的争夺。上述交互数据指的是当前未被抢到记账权的交易数据。
其中,候选第二特征值的选择策略不同的记账节点要统一,作为一种可能的实现方式,候选第二特征值可以是遍历所有的第二特征值得到的,作为另一种可能的实现方式,为了降低计算量,还可以从所有的第二特征值筛选得到候选第二特征值。
比如,在本实施例中,对交互数据进行哈希计算,根据哈希值的尾数确定候选片段标识,进而,查询当前存储的所有第二特征值对应的区块片段标识,获取与候选片段标识匹配的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值。
又比如,在本实施例中,获取区块片段标识包含某个数字的第二特征值为候选第二特征值。
进一步的,获取上个区块的难度值,该难度值可以为上个区块对应的哈希值等,进而,应用预设的第二函数对每个候选第二特征值和上个区块的难度值进行计算,获取与第二函数对应的第三特征值,其中,第二函数对应的算法可以为任意保证计算结果随机性的算法,作为一种可能的实现方式,对每个候选第二特征值和上个区块的难度值进行取余计算,获取与第二函数对应的第三特征值。
在得到第三特征值后,比较所有的第三特征值,获取最小的第三特征值为记账节点生成新区块距离上个区块生成时间的最小截止时间,显然此时该最小截止时间与存储的历史区块量有关,记录最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记,以便于进一步基于这些信息进行信息验证等。
步骤103,记账节点根据交互数据生成备选区块,其中,备选区块包括:最小截止时间、目标区块片段标识、目标用户标识以及目标循环周期标记,进而到达最小截止时间时应用私钥对备选区块进行签名后向区块链网络进行广播,以使其他的记账节点在对私钥合法性验证通过后,根据目标区块片段标识、目标用户标识以及目标循环周期标记对最小截止时间的合法性进行验证,若超过预设数量的记账节点验证通过,则将备选区块作为新区块写入区块链,若没有超过预设数量的记账节点验证通过,则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。
具体的,记账节点根据交互数据生成备选区块,其中,备选区块包括:最小截止时间、目标区块片段标识、目标用户标识以及目标循环周期标记,此时备选区块中包括最小截止时间,也就是说,在抢夺记账权时,考凉了存储区块的数量,进而到达最小截止时间时应用私钥对备选区块进行签名后向区块链网络进行广播,其中,应当理解的是,基于上述计算过程,存储的区块数量越多,则得到的最小截止时间越小,也就越可以优先抢夺记账权。
其他几张节点在对该记账节点的私钥验证合法后,认为改备选区块确实是记账节点本身发送的,因而,进一步验证备选区块中的区块信息是否合法,根据目标区块片段标识、目标用户标识以及目标循环周期标记对最小截止时间的合法性进行验证,若超过预设数量的记账节点验证通过,则证明该备选区块是准确的,将备选区块作为新区块写入区块链,若没有超过预设数量的记账节点验证通过,则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。其中,上述预设数量可以根据其他记账节点的总数量,或者根据验证通过的权威记账节点的数量确定。
当然,如果该记账节点在等待最小截止时间的过程中,收到了别的记账节点广播的区块,则说明别人比自己更提前,则验证别人生成的区块,只要验证通过则马上开始下一个区块的记账权争夺。如果大家的最小截止时间正好完全相同,则可以约定采用哪个记账节点生成的区块。
作为一种可能的实现方式,获取其他记账节点广播的与记账节点具有相同最小截止时间的候选记账节点,比较记账节点和候选记账节点的历史区块生成信息,确定目标记账节点,根据历史区块生成信息中区块的生成时间,区块的编号优先级等确定目标记账节点。
综上,本发明实施例的区块生成方法,记账节点根据存储区块的存储量确定记账节点生成新区块距离上个区块生成时间的最小截止时间,并记录与最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记,进而,记账节点根据交互数据生成备选区块,其他记账节点验证该备选区域是否合法,若合法则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。由此,充分调动了记账节点的记账积极性,保证了区块链网络的稳定运行。
为了实现上述实施例,本发明还提出了一种记账节点,图2是根据本发明一个实施例的记账节点的结构示意图,如图2所示,该记账节点包括:获取模块10、存储模块20、记录模块30和广播模块40,其中,
获取模块10,用于按照预设尺寸对从当前时刻开始的前N个区块进行分片处理生成多个区块片段,并计算每个区块片段的第一特征值,以及应用预设的第一函数对每个区块片段的第一特征值、记账节点的用户标识,以及每个区块片段的循环周期进行计算,获取与第一函数对应的第二特征值。
存储模块20,用于存储携带区块片段标识、用户标识以及循环周期标记的第二特征值,直到满足预设的存储空间阈值。
获取模块10,还用于获取交互数据后,读取当前存储的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值,以及获取上个区块的难度值,进而应用预设的第二函数对每个候选第二特征值和上个区块的难度值进行计算,获取与第二函数对应的第三特征值,比较所有的第三特征值,获取最小的第三特征值为记账节点生成新区块距离上个区块生成时间的最小截止时间。
记录模块30,用于记录与最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记。
广播模块40,用于根据交互数据生成备选区块,其中,备选区块包括:最小截止时间、目标区块片段标识、目标用户标识以及目标循环周期标记,进而到达最小截止时间时应用私钥对备选区块进行签名后向区块链网络进行广播,以使其他的记账节点在对私钥合法性验证通过后,根据目标区块片段标识、目标用户标识以及目标循环周期标记对最小截止时间的合法性进行验证,若超过预设数量的记账节点验证通过,则将备选区块作为新区块写入区块链,若没有超过预设数量的记账节点验证通过,则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。
在本发明的一个实施例中,获取模块10具体用于对每个区块片段进行哈希计算获取第一特征值;对每个区块片段的第一特征值、记账节点的用户标识,以及每个区块片段的循环周期进行哈希计算生成哈希值,提取哈希值中的预设字段数值获取与第一函数对应的第二特征值。
在本发明的一个实施例中,获取模块10具体用于对交互数据进行哈希计算,根据哈希值的尾数确定候选片段标识;查询当前存储的所有第二特征值对应的区块片段标识,获取与候选片段标识匹配的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值。
需要说明的是,前述对区块生成方法的解释说明,也适用于本发明实施例的记账代理节点,其实现原理类似,在此不再赘述。
综上,本发明实施例的记账代理节点,记账节点根据存储区块的存储量确定记账节点生成新区块距离上个区块生成时间的最小截止时间,并记录与最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记,进而,记账节点根据交互数据生成备选区块,其他记账节点验证该备选区域是否合法,若合法则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。由此,充分调动了记账节点的记账积极性,保证了区块链网络的稳定运行。
为了实现上述实施例,本发明还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如前述实施例描述的记账代理节点。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时能够实现如前述实施例所述的离线节点的记账代理节点。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块生成方法,其特征在于,所述方法包括:
记账节点按照预设尺寸对从当前时刻开始的前N个区块进行分片处理生成多个区块片段,并计算每个区块片段的第一特征值,以及应用预设的第一函数对所述每个区块片段的第一特征值、所述记账节点的用户标识,以及每个区块片段的循环周期进行计算,获取与所述第一函数对应的第二特征值,并存储携带区块片段标识、所述用户标识以及所述循环周期标记的第二特征值,直到满足预设的存储空间阈值;
所述记账节点获取交互数据后,读取当前存储的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值,以及获取上个区块的难度值,进而应用预设的第二函数对每个所述候选第二特征值和所述上个区块的难度值进行计算,获取与所述第二函数对应的第三特征值,比较所有的第三特征值,获取最小的第三特征值为所述记账节点生成新区块距离上个区块生成时间的最小截止时间,并记录与所述最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记;
所述记账节点根据所述交互数据生成备选区块,其中,所述备选区块包括:所述最小截止时间、所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记,进而到达所述最小截止时间时应用私钥对所述备选区块进行签名后向区块链网络进行广播,以使其他的记账节点在对所述私钥合法性验证通过后,根据所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记对所述最小截止时间的合法性进行验证,若超过预设数量的记账节点验证通过,则将所述备选区块作为新区块写入区块链,若没有超过预设数量的记账节点验证通过,则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。
2.如权利要求1所述的方法,其特征在于,所述计算每个区块片段的第一特征值,以及应用预设的第一函数对所述每个区块片段的第一特征值、所述记账节点的用户标识,以及每个区块片段的循环周期进行计算,获取与所述第一函数对应的第二特征值,包括:
对每个区块片段进行哈希计算获取第一特征值;
对所述每个区块片段的第一特征值、所述记账节点的用户标识,以及每个区块片段的循环周期进行哈希计算生成哈希值,提取所述哈希值中的预设字段数值获取与所述第一函数对应的第二特征值。
3.如权利要求1所述的方法,其特征在于,所述获取当前存储的多个携带区块片段标识、所述用户标识以及所述循环周期标记的候选第二特征值,包括:
对所述交互数据进行哈希计算,根据哈希值的尾数确定候选片段标识;
查询当前存储的所有第二特征值对应的区块片段标识,获取与所述候选片段标识匹配的多个携带区块片段标识、所述用户标识以及所述循环周期标记的候选第二特征值。
4.如权利要求1所述的方法,其特征在于,所述应用预设的第二函数对每个所述候选第二特征值和所述上个区块的难度值进行计算,获取与所述第二函数对应的第三特征值,包括:
对每个所述候选第二特征值和所述上个区块的难度值进行取余计算,获取与所述第二函数对应的第三特征值。
5.如权利要求1所述的方法,其特征在于,在所述若超过预设数量的记账节点验证通过后,还包括:
获取其他记账节点广播的与所述记账节点具有相同最小截止时间的候选记账节点;
比较所述记账节点和所述候选记账节点的历史区块生成信息,确定目标记账节点。
6.一种记账节点,其特征在于,包括:
获取模块,用于按照预设尺寸对从当前时刻开始的前N个区块进行分片处理生成多个区块片段,并计算每个区块片段的第一特征值,以及应用预设的第一函数对所述每个区块片段的第一特征值、所述记账节点的用户标识,以及每个区块片段的循环周期进行计算,获取与所述第一函数对应的第二特征值;
存储模块,用于存储携带区块片段标识、所述用户标识以及所述循环周期标记的第二特征值,直到满足预设的存储空间阈值;
所述获取模块,还用于获取交互数据后,读取当前存储的多个携带区块片段标识、用户标识以及循环周期标记的候选第二特征值,以及获取上个区块的难度值,进而应用预设的第二函数对每个所述候选第二特征值和所述上个区块的难度值进行计算,获取与所述第二函数对应的第三特征值,比较所有的第三特征值,获取最小的第三特征值为所述记账节点生成新区块距离上个区块生成时间的最小截止时间;
记录模块,用于记录与所述最小的第三特征值对应的目标第二特征值的目标区块片段标识、目标用户标识以及目标循环周期标记;
广播模块,用于根据所述交互数据生成备选区块,其中,所述备选区块包括:所述最小截止时间、所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记,进而到达所述最小截止时间时应用私钥对所述备选区块进行签名后向区块链网络进行广播,以使其他的记账节点在对所述私钥合法性验证通过后,根据所述目标区块片段标识、所述目标用户标识以及所述目标循环周期标记对所述最小截止时间的合法性进行验证,若超过预设数量的记账节点验证通过,则将所述备选区块作为新区块写入区块链,若没有超过预设数量的记账节点验证通过,则获取验证通过的目标记账节点广播的目标备选区块作为新区块写入区块链。
7.如权利要求6所述记账节点,其特征在于,所述获取模块具体用于:
对每个区块片段进行哈希计算获取第一特征值;
对所述每个区块片段的第一特征值、所述记账节点的用户标识,以及每个区块片段的循环周期进行哈希计算生成哈希值,提取所述哈希值中的预设字段数值获取与所述第一函数对应的第二特征值。
8.如权利要求6所述记账节点,其特征在于,所述获取模块具体用于:
对所述交互数据进行哈希计算,根据哈希值的尾数确定候选片段标识;
查询当前存储的所有第二特征值对应的区块片段标识,获取与所述候选片段标识匹配的多个携带区块片段标识、所述用户标识以及所述循环周期标记的候选第二特征值。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5中任一所述的区块生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的区块生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732709.3A CN110474777B (zh) | 2019-08-09 | 2019-08-09 | 记账节点和区块生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732709.3A CN110474777B (zh) | 2019-08-09 | 2019-08-09 | 记账节点和区块生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474777A true CN110474777A (zh) | 2019-11-19 |
CN110474777B CN110474777B (zh) | 2023-02-17 |
Family
ID=68510019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910732709.3A Active CN110474777B (zh) | 2019-08-09 | 2019-08-09 | 记账节点和区块生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474777B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112908390A (zh) * | 2021-02-02 | 2021-06-04 | 深圳市显控科技股份有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN113010920A (zh) * | 2021-04-01 | 2021-06-22 | 浙江永旗区块链科技有限公司 | 一种区块链数据安全防护系统及其防护方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180174094A1 (en) * | 2016-12-15 | 2018-06-21 | International Business Machines Corporation | Blockchain-based food product shelf-life management |
CN108399572A (zh) * | 2018-03-22 | 2018-08-14 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
CN108846776A (zh) * | 2018-04-19 | 2018-11-20 | 中山大学 | 一种基于区块链技术的数字版权保护方法 |
EP3435273A1 (en) * | 2017-07-25 | 2019-01-30 | Gemalto Sa | Consensus protocol for permissioned ledgers |
-
2019
- 2019-08-09 CN CN201910732709.3A patent/CN110474777B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180174094A1 (en) * | 2016-12-15 | 2018-06-21 | International Business Machines Corporation | Blockchain-based food product shelf-life management |
EP3435273A1 (en) * | 2017-07-25 | 2019-01-30 | Gemalto Sa | Consensus protocol for permissioned ledgers |
CN108399572A (zh) * | 2018-03-22 | 2018-08-14 | 深圳市网心科技有限公司 | 区块链交易处理方法、装置及存储介质 |
CN108846776A (zh) * | 2018-04-19 | 2018-11-20 | 中山大学 | 一种基于区块链技术的数字版权保护方法 |
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112908390A (zh) * | 2021-02-02 | 2021-06-04 | 深圳市显控科技股份有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN112908390B (zh) * | 2021-02-02 | 2023-07-28 | 深圳市显控科技股份有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN113010920A (zh) * | 2021-04-01 | 2021-06-22 | 浙江永旗区块链科技有限公司 | 一种区块链数据安全防护系统及其防护方法 |
CN113010920B (zh) * | 2021-04-01 | 2022-07-12 | 浙江永旗区块链科技有限公司 | 一种区块链数据安全防护系统及其防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110474777B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11522706B2 (en) | Method and system for publicly verifiable proofs of retrievability in blockchains | |
KR101987692B1 (ko) | 블록체인 집행의 스마트 계약을 위한 레지스트리 및 자동화 관리 방법 | |
Sifah et al. | BEMPAS: a decentralized employee performance assessment system based on blockchain for smart city governance | |
CN111612455A (zh) | 一种面向用电信息保护的拜占庭容错联盟链共识方法及其系统、存储介质 | |
US11418402B1 (en) | Robust and secure proof of space based mining | |
CN109242500A (zh) | 区块链交易有效性验证方法、装置及存储介质 | |
CN107729471A (zh) | 一种区块链及其生成方法与设备 | |
US20060288216A1 (en) | Long-term secure digital signatures | |
EP3779760B1 (en) | Blockchain-based data processing method and apparatus, and electronic device | |
CN106790431A (zh) | 基于区块链的云制造服务交易信息记录系统与方法 | |
CN109785132A (zh) | 一种基于区块链的防伪溯源方法、装置及存储介质 | |
Park et al. | Spacecoin: A cryptocurrency based on proofs of space | |
CN109491996A (zh) | 用于区块链网络的区块生成方法、区块数据访问方法、计算设备、存储介质 | |
CN110474777A (zh) | 记账节点和区块生成方法 | |
CN108769154A (zh) | 基于有向无环图和分布式账本的数据存储方法 | |
CN104965999B (zh) | 一种中短基因片段测序的分析拼接方法及设备 | |
CN113015134B (zh) | 一种基于区块链技术的路况预警与车辆激励方法 | |
US20200098072A1 (en) | Employer and worker review platform with on demand employment contracts | |
Ying et al. | A reputation-based leader election scheme for opportunistic autonomous vehicle platoon | |
CN110851877B (zh) | 一种数据处理方法、装置及区块链节点设备、存储介质 | |
US11631061B2 (en) | Method for creating and maintaining a distributed ledger of vehicle gas consumption and wear and tear information | |
CN112529660A (zh) | 基于区块链的电子售票方法及系统、电子设备和存储介质 | |
US11367094B2 (en) | Method for validating a voucher | |
CN113342418A (zh) | 基于区块链的分布式机器学习任务卸载方法 | |
CN108985852A (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 |