CN108616363A - 一种记账权确认方法、装置及计算机存储介质 - Google Patents
一种记账权确认方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN108616363A CN108616363A CN201810450001.4A CN201810450001A CN108616363A CN 108616363 A CN108616363 A CN 108616363A CN 201810450001 A CN201810450001 A CN 201810450001A CN 108616363 A CN108616363 A CN 108616363A
- Authority
- CN
- China
- Prior art keywords
- node
- random
- value
- keyword
- book keeping
- 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
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明例公开一种记账权确认方法、装置及计算机存储介质,能够有效节约资源,提高记账权分配的公平性。该方法包括:在产生新区块情况下,确定挑战值;发送控制信息至参与竞争记账权的第二节点,控制信息用于指示第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在闲置存储空间,第二节点从闲置存储空间中确定出与挑战值距离最小的随机映射值对应的随机关键字;在获得全网参与竞争记账权的M个第二节点反馈的竞争信息后,基于M个竞争信息,从M个第二节点中确定目标节点,确定目标节点获得新区块的记账权,每个竞争信息至少包括所属的第二节点的闲置存空间中与挑战值距离最小的随机映射值对应的随机关键字。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种记账权确认方法、装置及计算机存储介质。
背景技术
区块链是当下的热点和引领未来的趋势,区块链技术,也被称之为分布式账本技术,是一种互联网数据库技术,因为其具有去中心化、公开透明,每个人均可参与数据库记录,信息不可伪造和篡改的特点,非常适合现代信息化管理领域。区块链中,去中心化是通过全网节点参与竞争获得新区块的记账权,现有技术中,通常采用区块链共识机制包括:POW(Proof of Work,工作证明)、POS(Proof of Stake,股权证明)、DPOS(Delegated Proofof Stake,委任权益证明)等方式去确认记账权的归属,POW所消耗的资源较多,POS与DPOS存在记账权分配不公问题,所以,现有技术中的记账权确认方式存在资源浪费或分配不公平的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的记账权确认方法、装置及计算机存储介质。
第一方面,本申请提供一种记账权确认方法,应用于第一节点,包括:
在产生新区块情况下,确定挑战值;
发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
可选的,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
可选的,所述N个随机关键字中每个随机关键字中包括所属节点的标识信息、随机值和预设字符串。
可选的,所述确定挑战值,包括:
确定所述新区块的区块哈希值为所述挑战值;或
基于历史区块的数据,采用所述预设单向函数产生挑战值。
可选的,所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,所述基于所述M个竞争信息,从所述M个第二节点中确定目标节点,包括:
基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;
从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
可选的,所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,所述基于所述M个竞争信息,从所述M个第二节点中确定目标节点,包括:
从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
可选的,所述确定所述第二随机映射值所属的第二节点为目标节点,包括:
基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;
如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。
可选的,所述基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证,包括:
基于所述预设单向函数,生成与所述第二随机关键字对应的待验证映射值;
如果所述待验证映射值与所述第二随机映射值一致,确定验证通过。
可选的,所述确定所述目标节点获得所述新区块的记账权,包括:
基于预设共识算法,获取全网节点对所述目标节点的反馈意见;
如果获得的反馈意见满足预设条件,确定所述目标节点获得所述新区块的记账权。
第二方面,本申请提供一种记账权确认装置,应用于第一节点,所述装置包括:
第一确定单元,用于在产生新区块情况下,确定挑战值;
发送单元,用于发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
第二确定单元,用于在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
可选的,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
可选的,所述N个随机关键字中每个随机关键字中包括所属节点的标识信息、随机值和预设字符串。
可选的,所述确定挑战值,包括:
确定所述新区块的区块哈希值为所述挑战值;或
基于历史区块的数据,采用所述预设单向函数产生挑战值。
可选的,所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,所述第二确定单元包括:
第一生成模块,用于基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;
第一确定模块,用于从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
可选的,所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,所述第二确定单元包括:
第二确定模块,用于从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
可选的,所述第二确定模块包括:
验证子模块,用于基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;
确定子模块,用于如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。
可选的,所述验证子模块具体用于:
基于所述预设单向函数,生成与所述第二随机关键字对应的待验证映射值;
如果所述待验证映射值与所述第二随机映射值一致,确定验证通过。
可选的,所述第二确定单元包括:
获取模块,用于基于预设共识算法,获取全网节点对所述目标节点的反馈意见;
第三确定模块,用于如果获得的反馈意见满足预设条件,确定所述目标节点获得所述新区块的记账权。
第三方面,本申请提供一种记账权确认装置,应用于第一节点,所述装置包括处理器和存储器:所述存储器用于存储执行前述第一方面所述记账权确认方法的程序;所述处理器被配置为用于执行所述存储器中存储的程序。
第四方面,本申请提供一种计算机存储介质,用于储存为上述记账权确认装置所用的计算机软件指令,其包含用于执行上述方面为记账权确认装置所设计的程序。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,通过提供一种记账权确认方法,应用于第一节点,在产生新区块情况下,确定挑战值,然后发送控制信息至参与竞争记账权的第二节点,控制信息用于指示第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在第二节点的闲置存储空间,以使得第二节点的闲置存储空间被填满后,第二节点从闲置存储空间中确定出与挑战值距离最小的随机映射值对应的随机关键字;在获得全网参与竞争记账权的M个第二节点基于挑战值反馈的竞争信息后,共计获得M个竞争信息,基于M个竞争信息,从M个第二节点中确定目标节点,确定目标节点获得新区块的记账权,其中,M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与挑战值距离最小的随机映射值对应的随机关键字。通过这样的方式,如果第二节点的闲置存储空间越大,那么存储的随机关键字以及与之对应的随机映射值越多,找到与挑战值距离最小的随机映射值的概率越大,越有可能成为记账节点。所以,相较于POW,由于全网所有节点不必全部与新区块进行哈希挑战,能有效节约资源,相较于POS和DPOS,闲置存储空间越大就越有可能获得记账权,而闲置存储空间会随时间变化,所以,记账权归属的节点随时间变化,对于记账权的分配更加公平。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明第一实施例中的一种记账权确认方法的流程图;
图2为本发明第二实施例中的一种记账权确认装置的示意图;
图3为本发明第三实施例中的一种记账权确认装置的示意图。
具体实施方式
本实施例公开一种记账权确认方法、装置及计算机存储介质,能够减少在确定记账权时消耗的资源,提高记账权分配的公平性。该方法包括:在产生新区块情况下,确定挑战值;发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例
本发明第一实施例提供一种记账权确认方法,该方法的流程图如图1所示,该记账权确认方法应用于第一节点,该记账权确认方法包括如下步骤:
S101:在产生新区块情况下,确定挑战值;
S102:发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
S103:在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
具体的,在本实施例中,记账权确认方法主要应用区块链中的节点,区块链中包括多个节点,节点具体可以为用户电脑,用户手机、路由设备、服务器等等,当然,还可以是其他类型设备,在此,本申请不做限制。本实施例中的第一节点为中心节点,该中心节点为区域链中受全网节点信任的节点,如:服务器。当然,也可以是区块链中的任意一个节点,在此,本申请不做限制。第二节点可以是参与竞争记账权的全网中的任意节点。
在区块链***中产生一个新区块时,第一节点会将该新区块的相关信息广播至全网所有节点。第一节点还会通过步骤S101确定出一个挑战值,用于基于该挑战值确定该新区块的记账权的归属。具体的,可将该新区块的区块哈希值为所述挑战值;或基于历史区块的数据,采用所述预设单向函数产生挑战值。预设函数可以是哈希函数,当然,还可以是其他将数据转化为固定长度的单向函数,在此,本申请不做限制。
以预设单向函数为哈希函数为例,可获得新区块的相关数据,采用哈希函数将其转化为区块哈希值,将该新区块的区块哈希值作为挑战值。当然,产生新区块时,新区块记录有上一个区块的区块哈希值,也可将上一个区块的区块哈希值作为挑战值。当然,还可以获得距当前时刻最接近的R个历史区块的相关数据信息,采用哈希函数将其转换为哈希值,将该哈希值作为挑战值。在具体实施过程中,确定挑战值的方式可根据实际需要进行设定,在此,本申请不做限制。
当全网的节点获知产生新区块后,向第一节点申请竞争该新区块的记账权。当第一节点获知全网参与竞争记账权的有M个第二节点后,通过步骤S102向第二节点发送控制信息,用于指示参与竞争记账权的第二节点按指示的规则将自己闲置存储空间填满。
其中,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
具体的,在本实施例中,第一节点规定第二节点需要采用预设单向函数生成随机关键字对应的随机映射值。如果第二节点的闲置存储空间的存储量为Q,第一节点设定随机关键字占P个字节,预设单向函数生成的映射值占K个字节,则N=Q/(P+K),确定需要生成N个占P个字节的随机关键字,可以指示第二节点采用预设单向函数生产与N个随机关键字一一对应的N个映射值,这样,N个随机关键字与N个映射值所占的存储空间刚好为Q,通过指示第二节点生成N个映射值,保存N个随机关键字与N个映射值后,第二节点的闲置存储空间刚好被填满。
在本实施例中,预设单向函数可以采用哈希函数,生成的映射值为二进制的为第一预设长度的哈希值。当然,还可以采用其他能产生固定长度字符串的单向函数,在此,本申请不做限制。以预设单向函数为哈希函数为例,第二节拥有1T的闲置存储空间。第一节点规定随机关键字占8字节,哈希函数生成的哈希值占32字节,则确定需要产生1T/(32+8)个随机关键字。
进而,在第二节点产生随机关键字时,可以通过但不限于以下两种方式实现:
第一种方式:获得第二节点的标识信息;生成N个随机值,所述N个随机值互不相同;确定N个随机关键字中每个随机关键字包括所述标识信息、所述N个随机值中的一个随机值以及一个预设字符串,所述每个随机关键字包括的随机值不同。
具体的,在本实施例中,第二节点可以生成N个随机值,随机值可以是数字、字符或字符串,在具体实施过程中可根据实际需要进行设定,在此,本申请不做限制。第二节点接收的第一节点发送的控制信息中包括预设字符串,可以确定N个随机关键字中每个随机关键字包括自己的ID、N个随机值中的一个随机值以及一个预设字符串,每个随机关键字包括的随机值不同。在具体实施过程中,预设字符串为一个固定字符串,可根据实际需要进行设定,在此,本申请不做限制。举例来说,如果第二节点生成N个随机值为1、2、……、N,该节点的ID获知,预设字符串为A,则N个随机关键字可以为:ID+1+A、ID+2+A、……、ID+N+A。需要注意的是,N个随机关键字中每个关键字的长度为第二预设长度(如:8字节)。
第二种方式:生成N个随机值,所述N个随机值互不相同;确定N个随机值为N个随机关键字。
具体的,在本实施例中,可以生成N个随机值,随机值可以是数字、字符或字符串,在具体实施过程中可根据实际需要进行设定,在此,本申请不做限制。第一节点可以直接将生成的N个随机值作为N个随机关键字。举例来说,如果第一节点生成N个随机值为1、2、……、N,则N个随机关键字可以为1、2、……、N。
由于存在上述两种生成N个随机关键字的方式,产生的N个随机关键字组成形式不同,所以,以下分为两种情况介绍。
第一种情况,N个随机关键字通过上述第一种方式确定,第二节点直接采用预设单向函数对N个随机关键字进行转换,以预设单向函数为哈希函数为例,沿用前述示例,N个随机关键字可以为:ID+1+A、ID+2+A、……、ID+N+A。则随机关键字ID+1+A通过哈希函数得到对应的哈希值为hash
(ID+1+A),随机关键字ID+2+A通过哈希函数得到对应的哈希值为hash
(ID+2+A),以此类推,随机关键字ID+N+A通过哈希函数得到对应的哈希值为hash(ID+N+A)。第二节点在转换得到每个随机关键字对应的哈希值时,会将该随机关键字和对应的哈希值保存起来,如:保存随机关键字ID+1+A与hash(ID+1+A)、随机关键字ID+2+A与hash(ID+2+A)、……、随机关键字ID+N+A与hash(ID+1+A)。
第二种情况,N个随机关键字通过上述第二种方式确定,控制信息还包括预设字符串,第二节点基于所述随机关键字、预设字符串以及所述第二节点的标识信息确定N个组合随机关键字,并按所述预设单向函数生成与所述N个组合随机关键字中每个组合随机关键字一一对应的映射值,其中,每个所述组合随机关键字中包括所述标识信息、所述N个随机关键字中的一个随机关键字以及所述预设字符串,所述每个组合随机关键字包括的随机关键字不同。
具体的,在本实施例中,第二节点确定出N个随机关键字,如前述示例中的N个随机关键字可以为1、2、……、N。控制信息还可以包括预设字符串,预设字符串为一个固定字符串,可根据实际需要进行设定,在此,本申请不做限制。第二节点生成N个组合随机关键字,每个组合随机关键字包括该第二节点的ID,一个随机关键字和该预设字符串。进而,第二节点采用预设单向函数对N个组合随机关键字进行转换,得到N个组合随机关键字对应的映射值,并按对应关系保存N个随机关键字与N个组合随机关键字对应的映射值。
举例来说,以预设单向函数为哈希函数为例,沿用前述示例,如果第二节点生成N个随机关键字为1、2、……、N,预设字符串为A,则可得到N个组合随机关键字为ID+1+A、ID+2+A、……、ID+N+A,则组合随机关键字ID+1+A通过哈希函数得到对应的哈希值为hash(ID+1+A),组合随机关键字ID+2+A通过哈希函数得到对应的哈希值为hash(ID+2+A),以此类推,组合随机关键字ID+N+A通过哈希函数得到对应的哈希值为hash(ID+N+A)。第二节点在转换得到每个组合随机关键字对应的哈希值时,会将该组合随机关键字对应的随机关键字与得到的组合随机关键字对应的哈希值保存起来,如:保存随机关键字1与hash(ID+1+A)、随机关键字2与hash(ID+2+A)、……、随机关键字N与hash(ID+1+A)。
在参与竞争记账权的各个第二节点按控制信息指示的方式填满自己的闲置存储空间后,控制信息还会指示各第二节点从自己的闲置存储空间中存储的随机映射值中确定出一个与挑战值距离最小的随机映射值,由于随机映射值与随机关键字按对应关系存储,还会获得该随机映射值对应的随机关键字。
举例来讲,第二节点(i)在按控制信息指示的方式填满自己的闲置存储空间后,从自己的闲置存储空间中存储的随机映射值中获得与挑战值H(T)距离最小的随机映射值H(i),该随机映射值H(i)对应的随机关键字为K(i)。
每个第二节点均会反馈一个竞争信息至第一节点,该竞争信息中至少包括其所属的第二节点的闲置存空间中与挑战值距离最小的随机映射值对应的随机关键字。进而,通过步骤S103,接收到全网参与竞争记账权的M个第二节点反馈的竞争信息,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权。
由于第二节点反馈的竞争信息包括的内容不同,确定目标节点的方式不同,具体的,在本实施例中,分以下两种情况进行详细介绍:
第一种情况:所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
具体的,在本实施例中,第二节点反馈的竞争信息中仅包含了该节点闲置存空间中与挑战值距离最小的随机映射值对应的随机关键字,第一节点还会基于同样的规则,采用预设单向函数生成与每个随机关键字对应的随机映射值,由于存在M个第二节点,共计M个随机映射值。然后从这M个随机映射值中确定出与挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
举例来讲,以预设单向函数为哈希函数为例,沿用前述示例,第一节点接收M个第二节点反馈的M个随机关键字,包括:K(1)、K(2)、……、K(i)、……、K(M)。K(i)为第i个第二节点反馈的随机关键字。
如果第二节点采用前述第一种方式产生随机关键字,则第一节点通过哈希函数得到上述M个第二节点反馈的M个随机关键字的哈希值,包括:hash[K(1)]、hash[K(2)]、……、hash[K(i)]、……、hash[K(M)]。进而,第一节点确认M个随机映射值中的hash[K(j)](第j个第二节点的随机映射值)与挑战值H(T)距离最小,则将第j个第二节点作为目标节点。
如果第二节点采用前述第二种方式产生随机关键字,预设字符串为A,则第一节点需要按同样的规则获得组合随机关键字,沿用前述示例,包括:ID(1)+K(1)+A、ID(2)+K(2)+A、……、ID(i)+K(i)+A、……、ID(M)+K(M)+A。ID(i)为第i个第二节点的标识。进而,通过哈希函数得到上述M个组合随机关键字的哈希值,包括:hash[ID(1)+K(1)+A]、hash[ID(2)+K(2)+A]、……、hash[ID(i)+K(i)+A]、……、hash[ID(M)+K(M)+A]。进而,第一节点确认M个随机映射值中的hash[ID(j)+K(j)+A](第j个第二节点的随机映射值)与挑战值H(T)距离最小,则将第j个第二节点作为目标节点。
如果第二节点的闲置存储空间越大,那么存储的随机关键字以及与之对应的随机映射值越多,找到与挑战值距离最小的随机映射值的概率越大,越有可能成为记账节点。
第二种情况:所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
具体的,在本实施例中,第二节点反馈的竞争信息中包含了该节点闲置存空间中与挑战值距离最小的随机映射值对应的随机映射值以及该随机映射值对应的随机关键字,共计获得M个随机映射值。第一节点直接从这M个随机映射值中确定出与挑战值距离最小的第二随机映射值,确定该第二随机映射值所属的第二节点为目标节点。
举例来讲,以预设单向函数为哈希函数为例,沿用前述示例,第一节点接收M个第二节点反馈的M个随机关键字以及M个随机映射值,包括:K(1)和H(1)、K(2)和H(2)、……、K(i)和H(i)、……、K(M)和H(M)。K(i)为第i个第二节点反馈的随机关键字,H(i)为第i个第二节点反馈的与K(i)对应的随机映射值。进而,第一节点确认M个随机映射值中的H(j)(第j个第二节点的随机映射值)与挑战值H(T)距离最小,则将第j个第二节点作为目标节点。
由于这样的方式可能存在第二节点作假的情况,如:恶意的第二节点在获知挑战值的情况下,可能会伪造一个随机映射值,该伪造的随机映射值与挑战值距离较小,这样,该第二节点争取到记账权的机率会更大。为了避免这种情况,第一节点还会对确定出的目标节点进行验证,验证可通过如下步骤实现:
基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。其中,所述基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证,包括:基于所述预设单向函数,生成与所述第二随机关键字对应的待验证映射值;如果所述待验证映射值与所述第二随机映射值一致,确定验证通过。
具体的,在本实施例中,由于每个第二节点直接反馈了随机映射值和对应的随机关键字,恶意的第二节点可以轻易伪造随机映射值,但随机映射值对应的随机关键字并不能轻易伪造,这是因为随机映射值是按第一节点指示的预设单向函数生成,伪造的随机映射值很难还原得到正确的随机关键字。所以,在确定与挑战值距离最小的第二随机映射值后,获得该第二随机映射值所属的第二节点反馈的与之对应的第二随机关键字,基于前述的预设单向函数,生成与该第二随机关键字对应的待验证映射值,如果该待验证映射值与第二随机映射值一致,确定表明第二随机映射值不是伪造的,确定验证通过。将第二随机映射值所属的第二节点为目标节点。
举例来讲,以预设单向函数为哈希函数为例,沿用前述示例,第一节点确认M个随机映射值中的H(j)(第j个第二节点的随机映射值)与挑战值H(T)距离最小后,获得第j个第二节点反馈的随机关键字为K(j)。
如果第二节点采用前述第一种方式产生随机关键字,则第一节点通过哈希函数得到K(j)的哈希值为hash[K(j)],如果H(j)与hash[K(j)]一致,则表明H(j)不是伪造的,确定验证通过,将第j个第二节点作为目标节点。
如果第二节点采用前述第二种方式产生随机关键字,则第一节点首先按照同样的规则得到该随机关键字对应组合随机关键字为ID(j)+K(j)+A,其中,ID(j)为第j个第二节点的标识信息,预设字符串为A。则第一节点通过哈希函数得到组合随机关键字为ID(j)+K(j)+A的哈希值为hash[ID(j)+K(j)+A],如果H(j)与hash[ID(j)+K(j)+A]一致,则表明H(j)不是伪造的,确定验证通过,将第j个第二节点作为目标节点。
进一步,通过步骤S103从M个第二节点确定出目标节点后,还会基于全网节点的意见确定是否将记账权分配给该目标节点。具体可通过如下步骤实现:
基于预设共识算法,获取全网节点对所述目标节点的反馈意见;如果获得的反馈意见满足预设条件,确定所述目标节点获得所述新区块的记账权。
具体的,在本实施例中,第一节点确定出的目标节点后,基于预设共识算法,获取全网节点对该目标节点的反馈意见。预设共识算法可以是PBFT(Practical ByzantineFault Tolerance,标准拜占庭容错)、SBFT(Simple Byzantine Fault Tolerance,简单拜占庭容错)等,当然,还可以是其他共识算法,在此,本申请不做限制。以PBFT为例,PBFT可以确保共识过程的安全性与稳定性,共识的时延短,共识效率高,可满足高频交易量的需求。进而通过PBFT算法,首先确定将目标节点作为领导节点,领导节点提供证明信息,如:计算力证明,将证明信息发送至全网其他节点,其他节点对目标节点的反馈意见(投票),如果第一节点接收到的反馈意见满足预设条件,如:投赞成该目标节点获得记账权的票数大于总票数的预设百分比,确定目标节点获得新区块的记账权。
通过这样的方式,如果参与记账权竞争的第二节点的闲置存储空间越大,那么存储的随机关键字以及与之对应的随机映射值越多,找到与挑战值距离最小的随机映射值的概率越大,越有可能成为记账节点。所以,相较于POW,由于全网所有节点不必全部与新区块进行哈希挑战,能有效节约资源,相较于POS和DPOS,闲置存储空间越大就越有可能获得记账权,而闲置存储空间会随时间变化,所以,记账权归属的节点随时间变化,对于记账权的分配更加公平。
请参照图2,本发明第二实施例还提供了一种记账权确认装置,应用于第一节点,所述装置包括:
第一确定单元201,用于在产生新区块情况下,确定挑战值;
发送单元202,用于发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
第二确定单元203,用于在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
作为一种可选的实施例,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
作为一种可选的实施例,所述N个随机关键字中每个随机关键字中包括所属节点的标识信息、随机值和预设字符串。
作为一种可选的实施例,所述确定挑战值,包括:
确定所述新区块的区块哈希值为所述挑战值;或
基于历史区块的数据,采用所述预设单向函数产生挑战值。
作为一种可选的实施例,所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,所述第二确定单元包括:
第一生成模块,用于基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;
第一确定模块,用于从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
作为一种可选的实施例,所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,所述第二确定单元包括:
第二确定模块,用于从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
作为一种可选的实施例,所述第二确定模块包括:
验证子模块,用于基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;
确定子模块,用于如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。
作为一种可选的实施例,所述验证子模块具体用于:
基于所述预设单向函数,生成与所述第二随机关键字对应的待验证映射值;
如果所述待验证映射值与所述第二随机映射值一致,确定验证通过。
作为一种可选的实施例,所述第二确定单元包括:
获取模块,用于基于预设共识算法,获取全网节点对所述目标节点的反馈意见;
第三确定模块,用于如果获得的反馈意见满足预设条件,确定所述目标节点获得所述新区块的记账权。
本发明第三实施例还提供了一种记账权确认装置,请参照图3,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
图3示出的是与本发明实施例提供的记账权确认装置的部分结构的示意图。该记账权确认装置包括存储器301,所述存储器301用于存储执行前述第一实施例中的记账权确认方法的程序。该记账权确认装置还包括处理器302,与所述存储器301连接,所述处理器302被配置为用于执行所述存储器301中存储的程序。
所述处理器302执行所述计算机程序时实现上述第一实施例中记账权确认方法中的步骤。或者,所述处理器执行所述计算机程序时实现上述第二实施例的记账权确认装置中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机装置中的执行过程。例如,所述计算机程序可以被分割成第一确定单元、发送单元、第二确定单元的功能,各单元具体功能如下:
第一确定单元,用于在产生新区块情况下,确定挑战值;
发送单元,用于发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
第二确定单元,用于在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
所述电子设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图3仅仅是记账权确认装置的功能部件的示例图,并不构成对记账权确认装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述记账权确认装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器302可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器301可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据记账权确认装置的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本发明实施例中,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
在本发明实施例中,所述N个随机关键字中每个随机关键字中包括所属节点的标识信息、随机值和预设字符串。
在本发明实施例中,该处理器302还具有以下功能:
确定所述新区块的区块哈希值为所述挑战值;或
基于历史区块的数据,采用所述预设单向函数产生挑战值。
在本发明实施例中,该处理器302还具有以下功能:
在本发明实施例中,所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,该处理器302还具有以下功能:
基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;
从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
在本发明实施例中,所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,该处理器302还具有以下功能:
从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
在本发明实施例中,该处理器302还具有以下功能:
基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;
如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。
在本发明实施例中,该处理器302还具有以下功能:
基于所述预设单向函数,生成与所述第二随机关键字对应的待验证映射值;
如果所述待验证映射值与所述第二随机映射值一致,确定验证通过。
在本发明实施例中,该处理器302还具有以下功能:
基于预设共识算法,获取全网节点对所述目标节点的反馈意见;
如果获得的反馈意见满足预设条件,确定所述目标节点获得所述新区块的记账权。
本发明第四实施例提供了一种计算机可读存储介质,其上存储有计算机程序,本发明第二实施例中的所述记账权确认装置集成的功能单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例的记账权确认方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
本发明还公开A1、一种记账权确认方法,应用于区块链中的第一节点,包括:
在产生新区块情况下,确定挑战值;
发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
A2、如A1所述的方法,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
A3、如A2所述的方法,所述N个随机关键字中每个随机关键字中包括所属节点的标识信息、随机值和预设字符串。
A4、如A1所述的方法,所述确定挑战值,包括:
确定所述新区块的区块哈希值为所述挑战值;或
基于历史区块的数据,采用所述预设单向函数产生挑战值。
A5、如A1所述的方法,所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,所述基于所述M个竞争信息,从所述M个第二节点中确定目标节点,包括:
基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;
从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
A6、如A1所述的方法,所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,所述基于所述M个竞争信息,从所述M个第二节点中确定目标节点,包括:
从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
A7、如A6所述的方法,所述确定所述第二随机映射值所属的第二节点为目标节点,包括:
基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;
如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。
A8、如A7所述的方法,所述基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证,包括:
基于所述预设单向函数,生成与所述第二随机关键字对应的待验证映射值;
如果所述待验证映射值与所述第二随机映射值一致,确定验证通过。
A9、如A1所述的方法,所述确定所述目标节点获得所述新区块的记账权,包括:
基于预设共识算法,获取全网节点对所述目标节点的反馈意见;
如果获得的反馈意见满足预设条件,确定所述目标节点获得所述新区块的记账权。
B10、一种记账权确认装置,应用于第一节点,所述装置包括:
第一确定单元,用于在产生新区块情况下,确定挑战值;
发送单元,用于发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
第二确定单元,用于在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
B11、如B10所述的装置,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
B12、如B11所述的装置,所述N个随机关键字中每个随机关键字中包括所属节点的标识信息、随机值和预设字符串。
B13、如B10所述的装置,所述确定挑战值,包括:
确定所述新区块的区块哈希值为所述挑战值;或
基于历史区块的数据,采用所述预设单向函数产生挑战值。
B14、如B10所述的装置,所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,所述第二确定单元包括:
第一生成模块,用于基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;
第一确定模块,用于从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
B15、如B10所述的装置,所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,所述第二确定单元包括:
第二确定模块,用于从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
B16、如B15所述的装置,所述第二确定模块包括:
验证子模块,用于基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;
确定子模块,用于如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。
B17、如B16所述的装置,所述验证子模块具体用于:
基于所述预设单向函数,生成与所述第二随机关键字对应的待验证映射值;
如果所述待验证映射值与所述第二随机映射值一致,确定验证通过。
B18、如B10所述的装置,所述第二确定单元包括:
获取模块,用于基于预设共识算法,获取全网节点对所述目标节点的反馈意见;
第三确定模块,用于如果获得的反馈意见满足预设条件,确定所述目标节点获得所述新区块的记账权。
C19、一种记账权确认装置,应用于第一节点,包括:
存储器,所述存储器用于存储执行A1至A9任一项所述方法的程序;
处理器,与所述存储器连接,所述处理器被配置为用于执行所述存储器中存储的程序。
D20、一种计算机存储介质,用于储存为上述记账权确认装置所用的计算机软件指令,其包含用于执行上述方面为记账权确认装置所设计的程序。
Claims (10)
1.一种记账权确认方法,应用于区块链中的第一节点,其特征在于,包括:
在产生新区块情况下,确定挑战值;
发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
2.如权利要求1所述的方法,其特征在于,所述预设单向函数生成的映射值的长度为第一预设长度,定义的随机关键字的长度为第二预设长度,所述控制信息用于指示所述第二节点获得闲置存储空间的存储量除以所述第一预设长度与所述第二预设长度之和得到的商值为N后生成N个随机关键字,并采用所述预设单向函数生成与所述N个随机关键字一一对应的N个随机映射值,按照对应关系保存所述N个随机关键字与所述N个随机映射值,所述N个随机关键字与所述N个随机映射值能填满所述第二节点的闲置存储空间。
3.如权利要求2所述的方法,其特征在于,所述N个随机关键字中每个随机关键字中包括所属节点的标识信息、随机值和预设字符串。
4.如权利要求1所述的方法,其特征在于,所述确定挑战值,包括:
确定所述新区块的区块哈希值为所述挑战值;或
基于历史区块的数据,采用所述预设单向函数产生挑战值。
5.如权利要求1所述的方法,其特征在于,所述每个竞争信息中仅包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,所述基于所述M个竞争信息,从所述M个第二节点中确定目标节点,包括:
基于所述预设单向函数,生成与每个竞争信息中的随机关键字对应的随机映射值,共计M个随机映射值;
从所述M个随机映射值中确定出与所述挑战值距离最小的第一随机映射值,确定所述第一随机映射值对应的第一随机关键字所属的第二节点为目标节点。
6.如权利要求1所述的方法,其特征在于,所述每个竞争信息中包括所属第二节点的闲置存空间中与所述挑战值距离最小的随机映射值以及该随机映射值对应的随机关键字,所述基于所述M个竞争信息,从所述M个第二节点中确定目标节点,包括:
从所述M个竞争信息一一对应的M个随机映射值中确定出与所述挑战值距离最小的第二随机映射值,确定所述第二随机映射值所属的第二节点为目标节点。
7.如权利要求6所述的方法,其特征在于,所述确定所述第二随机映射值所属的第二节点为目标节点,包括:
基于所述第二随机映射值对应的第二随机关键字,对所述第二随机映射值进行验证;
如果验证通过,确定所述第二随机映射值所属的第二节点为目标节点。
8.一种记账权确认装置,其特征在于,应用于第一节点,所述装置包括:
第一确定单元,用于在产生新区块情况下,确定挑战值;
发送单元,用于发送控制信息至参与竞争记账权的第二节点,所述控制信息用于指示所述第二节点基于预设单向函数生成随机关键字对应的随机映射值后,以对应关系保存在所述第二节点的闲置存储空间,以使得所述第二节点的闲置存储空间被填满后,所述第二节点从所述闲置存储空间中确定出与所述挑战值距离最小的随机映射值对应的随机关键字;
第二确定单元,用于在获得全网参与竞争记账权的M个第二节点基于所述挑战值反馈的竞争信息后,共计获得M个竞争信息,基于所述M个竞争信息,从所述M个第二节点中确定目标节点,确定所述目标节点获得所述新区块的记账权,其中,所述M个竞争信息中的每个竞争信息至少包括所属的第二节点的闲置存空间中与所述挑战值距离最小的随机映射值对应的随机关键字,M为大于1的整数。
9.一种记账权确认装置,应用于第一节点,其特征在于,包括:
存储器,所述存储器用于存储执行权利要求1至7任一项所述方法的程序;
处理器,与所述存储器连接,所述处理器被配置为用于执行所述存储器中存储的程序。
10.一种计算机存储介质,其特征在于,用于储存为上述记账权确认装置所用的计算机软件指令,其包含用于执行上述方面为记账权确认装置所设计的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810450001.4A CN108616363B (zh) | 2018-05-11 | 2018-05-11 | 一种记账权确认方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810450001.4A CN108616363B (zh) | 2018-05-11 | 2018-05-11 | 一种记账权确认方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108616363A true CN108616363A (zh) | 2018-10-02 |
CN108616363B CN108616363B (zh) | 2021-08-06 |
Family
ID=63662867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810450001.4A Active CN108616363B (zh) | 2018-05-11 | 2018-05-11 | 一种记账权确认方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108616363B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850536A (zh) * | 2016-11-30 | 2017-06-13 | 北京瑞卓喜投科技发展有限公司 | 区块链共识方法及*** |
CN106934611A (zh) * | 2017-03-21 | 2017-07-07 | 北京汇通金财信息科技有限公司 | 一种数据处理的方法及装置 |
CN107347009A (zh) * | 2017-08-30 | 2017-11-14 | 北京知金链网络技术有限公司 | 区块链一维随机数共识推举方法 |
CN107481145A (zh) * | 2017-08-30 | 2017-12-15 | 北京知金链网络技术有限公司 | 区块链多维随机数共识推举方法 |
CN107566124A (zh) * | 2017-08-24 | 2018-01-09 | 深圳市易成自动驾驶技术有限公司 | 基于抽签机制的共识建立方法、区块链***及存储介质 |
WO2018069566A1 (en) * | 2016-10-14 | 2018-04-19 | Nokia Technologies Oy | Method, device and system for validating sensitive user data transactions within trusted circle |
CN108009918A (zh) * | 2017-11-23 | 2018-05-08 | 深圳捷汇科技有限公司 | 区块链共识算法交易***的记账方法及电子设备 |
-
2018
- 2018-05-11 CN CN201810450001.4A patent/CN108616363B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018069566A1 (en) * | 2016-10-14 | 2018-04-19 | Nokia Technologies Oy | Method, device and system for validating sensitive user data transactions within trusted circle |
CN106850536A (zh) * | 2016-11-30 | 2017-06-13 | 北京瑞卓喜投科技发展有限公司 | 区块链共识方法及*** |
CN106934611A (zh) * | 2017-03-21 | 2017-07-07 | 北京汇通金财信息科技有限公司 | 一种数据处理的方法及装置 |
CN107566124A (zh) * | 2017-08-24 | 2018-01-09 | 深圳市易成自动驾驶技术有限公司 | 基于抽签机制的共识建立方法、区块链***及存储介质 |
CN107347009A (zh) * | 2017-08-30 | 2017-11-14 | 北京知金链网络技术有限公司 | 区块链一维随机数共识推举方法 |
CN107481145A (zh) * | 2017-08-30 | 2017-12-15 | 北京知金链网络技术有限公司 | 区块链多维随机数共识推举方法 |
CN108009918A (zh) * | 2017-11-23 | 2018-05-08 | 深圳捷汇科技有限公司 | 区块链共识算法交易***的记账方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108616363B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108513669B (zh) | 基于区块链的众筹信息处理方法、装置、存储介质及电子设备 | |
US11669811B2 (en) | Blockchain-based digital token utilization | |
US20230254168A1 (en) | System and method for controlling asset-related actions via a block chain | |
US11188899B2 (en) | Off network identity tracking in anonymous cryptocurrency exchange networks | |
LeMahieu | Nano: A feeless distributed cryptocurrency network | |
CN112600841B (zh) | 基于区块链的信用记录共享方法及装置、电子设备 | |
CN109242500A (zh) | 区块链交易有效性验证方法、装置及存储介质 | |
JP7319961B2 (ja) | 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法 | |
LeMahieu | Raiblocks: A feeless distributed cryptocurrency network | |
CN110084604A (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
TW202022640A (zh) | 基於區塊鏈的共享資源租賃方法、裝置和電腦設備 | |
US20220067717A1 (en) | Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof | |
US11922526B2 (en) | Net settlement of subrogation claims using a distributed ledger | |
CN110851531A (zh) | 协作边缘计算方法、区块链和协作边缘计算*** | |
CN112995167B (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
Huang et al. | Incentive assignment in PoW and PoS hybrid blockchain in pervasive edge environments | |
CN109598365A (zh) | 事件预测方法及装置、电子设备 | |
US11831749B1 (en) | Method and system for utilizing the infrastructure of a blockchain to enhance the degree of reliability of another blockchain | |
Hsueh et al. | EPoW: Solving blockchain problems economically | |
CN108616363A (zh) | 一种记账权确认方法、装置及计算机存储介质 | |
Bachmann | Proof of Stake for Bazo | |
US20210012421A1 (en) | Method and device for trading on an electronic trading platform | |
CN110503428A (zh) | 分布式金流稽核方法、装置及*** | |
CN108733788A (zh) | 一种闲置存储空间确认方法、装置及计算机存储介质 | |
Guo | Cypherium: a scalable and permissionless smart contract platform |
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 |