CN110348248A - 一种区块链技术中分布式记账权生成方法 - Google Patents
一种区块链技术中分布式记账权生成方法 Download PDFInfo
- Publication number
- CN110348248A CN110348248A CN201910638408.4A CN201910638408A CN110348248A CN 110348248 A CN110348248 A CN 110348248A CN 201910638408 A CN201910638408 A CN 201910638408A CN 110348248 A CN110348248 A CN 110348248A
- Authority
- CN
- China
- Prior art keywords
- node
- keeping operation
- book keeping
- accounting nodes
- queue
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明公开了一种区块链技术中分布式记账权生成的方法,该方法包括:通过加密标识号匿名接入系统中,用来同步数据的普通节点;获得当前区块打包记账权的当前记账节点;对当前区块进行监督、复验、广播的当前发布节点;由当前节点选出的进入代记账队列的待记账节点和待发布节点;长度为7组的每组包括一个待记账节点和待发布节点的代记账队列;收益分配器和随机加权记账权生成器。整个过程包括当前记账节点产生新区块,当前发布节点发布区块,分配收益,通过随机加权记账权合作选出新记账节点入待记账队列,当前记账组出队列,队列下一记账组重复以上工作。本发明在防止账本被篡改的同时提高了记账效率,减少了对算力的浪费和更加公平。
Description
技术领域
本发明属于区块链技术中记账权生成领域,具体是一种区块链技术中分布式记账权生成方法。
背景技术
目前,分布式记账以及与之相关的区块链技术在解决数据防篡改即数据安全性和匿名性具有诸多优势。现有的记账权生成方式大概分为工作量证明机制(PoW)、权益证明机制(PoS)以及授权权益证明机制(DPoS)三类。
工作量证明机制(PoW)也就是多劳多得,付出的工作量越多,得到区块奖励的概率就越大,运行原理是这样的:全网想要达成共识,首先通过解答“哈希函数”的方式来证明自己完成了一定的工作量,哪个节点最快、准、狠的完成工作,解答正确哈希值,谁就会获得记录交易(记账)的权力,进而获得区块奖励。PoW的优点是,完全去中心化,公平公正,不需要中心化的管理机构,节点之间公平竞争,谁先解出题目,谁就获得相应收益。其主要缺点是浪费能源。
权益证明机制(PoS),是为了弥补比特币工作量证明机制(PoW)的不足而产生了一种新共识机制,即拥有越多股权,就可以获得更多奖励。这里的股权是指你持有数字货币的数量和时间,根据它来分配权益,类似股票的分红制度。持有者的币越多,持有的时间越长,即币龄(币龄=持币数×持币时间)越大,就能拿到越多的分红,也就有更大的记账权利。PoS一定的优势在于能够在某些程度上提升交易处理效率,不再消耗大量的能源去竞争记账;但相应的,大量的代币集中在少部分人手中,致使持币越多,越容易获得挖矿的权利,最终会形成一个强者恒强,弱者恒弱的局面,挖矿集中在少部分人手中,去中心化会渐渐演变成多中心化。
授权权益证明机制(DPoS),即在权益证明(PoS)基础上优化而来,通过投票选举的方式选出生产者,代表持币者履行权利和义务,而不是用算力来决定,也就是将“记账权力”委托给一小群“超级节点”。在委托权益证明的设定里,需要选取21个超级节点来稳定轮流产生区块。在委托权益证明机制(DPoS)中,不需要算力解答哈希函数,而是由持币者投票选出生产者。因此,相对于PoW,DPoS机制处理交易速度有了巨大提升,预计最高可达到每秒数百万币的确认速度。但是,DPoS减弱了去中心化的程度,由选出的代表进行记账,而且代表是可以直接记账直到被选下去为止,这个周期较长,同样存在节点不作为,强者恒强的情况,有一定的中心化控制风险。
本发明所描述的方法区别于以上几种方法,使之既比PoW方式节约了能源消耗,又鼓励更多的节点参与,并且较PoS以及DPoS更相对公平。
发明专利(CN 108600161 A)公开了一种公平高效的区块链共识方法,包括如下步骤:(1-1)获得当前记账权的节点搜索当前时间段内的全网未确认交易,并增加一个用于发行新虚拟币奖励的交易,形成当前区块体的交易集合;(1-2)当前记账节点判断是否满足记账条件,如果不满足,则回到步骤(1-1);否则,进入下一步;(1-3)计算当前区块,将创建好的区块广播全网验证;采用当前区块的区块头参数计算出至少一个参数,根据所述至少一个参数确定获得下一个区块记账权的节点;(1-4)其他节点对当前区块记账节点的合法性、当前区块的正确性、获得下一个区块记账权节点的合法性进行验证;如果记账节点的合法性、区块的正确性、获得下一个区块记账权节点的合法性不能全部通过验证,则回到步骤(1-3),所述获得当前记账权的节点对所述区块进行修正区块并重新广播全网验证;如果通过验证,则进入下一步;(1-5)把所述区块附加到区块链上;获得下一个区块记账权的节点开启下一个区块的计算。该发明强调根据区块头计算下个记账节点,活跃节点有相同概率得到下一个区块记账权,对于活跃节点的错误率并未进行统计,则会降低记账的准确度。该方法一个比较难克服的缺点是当前节点根据当前区块头部信息计算下个记账节点,这样当计算完成后,下个节点掉线或者网络错误时,新区块就无法顺利产生;此外,如1-4所说,如果当前区块没有通过复验和审核,而调回1-3步,但记账节点由于错误甚至恶意一直出错,该方法会出现死循环和卡块的问题。
发明专利(CN 108470276 A)公开了一种采用代理记账的区块链共识方法,区块链的节点类型包括记账服务节点和普通节点,记账服务节点提供区块链记账服务,普通节点委托记账服务节点代理其全部记账权;共识过程包括以下步骤:(1-1)当前记账服务节点搜索当前时间段内的全网未确认交易,并增加一个用于发行新的虚拟币奖励的交易和代理记账的服务费交易,形成当前区块体的交易集合;(1-2)当前记账服务节点判断是否满足记账条件,如果不满足,则回到步骤(1-1);否则,进入下一步;(1-3)计算当前区块,将创建好的区块广播全网验证,采用当前区块的区块头参数计算出至少一个参数,根据所述至少一个参数确定获得下一个区块记账权的节点;(1-4)其他节点对当前区块的记账服务节点的合法性、当前区块的正确性、所述获得下一个区块记账权节点的合法性进行验证;如果记账服务节点的合法性、区块的正确性、获得下一个区块记账权节点的合法性不能全部通过验证,则,回到步骤(1-3),所述获得当前记账权的节点对所述区块进行修正并重新广播全网验证;在记账服务节点的合法性、区块的正确性、获得下一个区块记账权节点的合法性全部通过验证后,把所述区块附加到区块链上,进入下一步;(1-5)所述获得记账权的节点在限定的时间内在网络中广播其已获得下一个区块记账权的签名文件和委托一个记账服务节点代理其记账权的签名文件;获得代理记账权的记账服务节点在网络中广播其已获得下一个区块的代理记账权的签名文件;并开启下一个区块的计算。该发明强调获取记账权的节点委托记账服务节点记账,其他节点共同验证其合法性、正确性和下一个区块记账权。该方法依然有之前提到的问题,即当前节点根据当前区块头部信息计算下个记账节点,这样当计算完成后,下个节点掉线或者网络错误时,新区块就无法顺利产生;此外,如1-4所说,如果当前区块没有通过复验和审核,而调回1-3步,但记账节点由于错误甚至恶意一直出错,该方法会出现死循环和卡块的问题,还有全网所有节点来验证区块有效性又增加了网络负担,成为了一种类PoW网络,增加了耗能,降低了TPS(系统每秒钟能够处理的业务数量)。
发明内容
为了克服现有记账方法的记账效率低及公平性差的缺陷,本发明提供了一种在防止账本被篡改同时提高了记账效率、减少了对算力的浪费和更加公平的获取记账权的区块链技术中分布式记账权生成方法。
本发明为了实现上述目的所采用的技术方案是:
一种区块链技术中分布式记账权生成的方法,该方法包括:通过加密标识号匿名接入系统中用来同步数据的普通节点;获得当前区块打包记账权的当前记账节点;对当前区块进行监督、复验、广播的当前发布节点;由当前节点选出的进入待记账队列的待记账节点和待发布节点;长度为7组的每组包括一个待记账节点和待发布节点的待记账队列;收益分配器和随机加权记账权生成器;每个节点都具有收益分配、随机加权记账生成,打包区块,发布区块,同步区块等一系列算法和功能,但根据其具体权限和时间点而被选择性使用与之相关的算法和功能;整个记账过程为,1-1当前记账节点对需要打包的数据进行整理和打包;1-2当前发布节点进行复验和发布;1-3如果1-2成功则在当前记账节点和当前发布节点出队前,由当前记账节点计算收益并进行分配,然后使用随机加权记账权生成器,在普通节点中遴选出新的待记账节点和待发布节点,由当前发布节点核验发布后,把待记账组从队尾补充到待记账队列中,如果队列不满足7组,重复遴选过程,保证整个队列满足7组,直至当前记账组出队列,如果1-2失败,该记账组出队列,由后面的记账组重复1-1工作;1-4,普通记账节点同步1-3成功发布出的区块。
进一步地,所述当前记账节点在通过步骤1-1与1-2后,产生一个新区块,则当前记账节点在出队列前会根据随机加权记账权把选出的节点标记成为待记账或待发布节点,即任何普通节点都可以在当前记账节点、当前发布节点、待记账节点和待发布节点这几种身份和权限间转换。
优选的,所述加密标识号是使用sha算法生成一个40位长度的唯一的加密标识号作为该节点的在该网络中的名称。默认的,单个区块记账节点是不被信任的,可能随时离线。
进一步地,所述待记账节点队列中的7个待记账组均由当前记账节点在记录新增区块后通过随机加权记账权生成器生成和补充,有与之对应的当前发布节点进行审核和发布,然后数据同步至区块链上其他所有的节点中,一个待记账组的两个节点共同完成一个新增节点的记录、发布以及待记账组队列维护。所述待记账组队列维护的任务是当前记账组完成工作后由队列首位离开待记账节点队列,重新进入待选节点池中;当队列中某个节点离线或者处于未响应以及出错状态时,当前记账节点会将该节点(待记账或待发布)以及与之对应的节点(待发布或待记账)一并剔除出队列并通过随机加权记账权生成方法新选一个待记账组补充至队列末尾,整个队列维护完成时保证其有7个待记账节点组。
更进一步地,所述待记账组由两个节点(待记账节点和待发布节点)组成;待记账节点用来对未来的区块内容进行打包,待发布节点对待记账节点的打包内容进行审核和监督,防止出现错误和恶意篡改的内容,并将审核通过的区块发布出去然后由普通节点同步到整个区块链上。
进一步地,所述随机加权记账权生成器在需要重新补充待记账节点队列时,会把已经完成任务的队列头部记账节点、发布节点及已经离线还在待记账队列的记账节点去除,然后在节点池中通过随机加权记账算法找出新的代表节点的加密标识号,通过该标识号找到新的待记账节点,并将其补充至待记账队列中;补充完成后,所述随机加权记账权生成方法会检查待记账队列的数量和在线状况,判断其满足7组并都是激活状态便停止补充待记账组。
更进一步地,所述随机加权记账权生成方法是按顺序给当前记账节点相邻两侧的待选记账节点标号以及权重,然后通过伪随机算法随机加权选出两个编号,找出对应编号的记账节点加密标识号,最后通过该标识号找到该记账节点,并将其补充至待记账队列中。
优选的,所述权重是通过记账节点在线时间及节点错误率来进行调节,记账节点在线时间不超过一周不计算加权,超过一周不超过一月增加1个加权值,超过一个月增加2个加权值,超过3个月增加3个加权值;记账节点出错率低于5%增加1个加权值,低于0.1-1%增加2个加权值,低于0.1%增加3个加权值。所述当前记账节点根据随机加权记账权为每一个节点计算其自身的待选序列区间,然后再生成一个用来中签和比对的随机数,当生成的记账伪随机数包含在某一个节点的加权后的待选序列区间时,则该节点被选为待记账节点,同理再选出待发布节点,两个节点组成待记账组进入待记账节点队列;其他落选的节点还是作为普通节点进行数据同步工作。
进一步地,所述收益分配器是在每隔15秒钟产生一个新的区块,当新的区块产生时,与之同时会有3个token作为奖励产生,其记录和发布该区块的节点各得一个token,剩下的token均分至其他所有节点;每个区块记账节被成功记录时,则可以通过收益分配器对所有同步节点、发布节点及记录节点根据状态、在线时长及错误率进行奖励。
本发明的记账权生成方法避免了通过工作量证明的方式对能源的巨大浪费以及部分恶意节点进行算力攻击,通过随机与在线时间以及错误率加权的方式选出的记账节点也使记账权的获取变得相对公平和透明,避免了股权证明中的相对集中的问题。记账与结果发布分开进行的策略也防止出现恶意节点恶意打包非法数据的行为。3个收益token中,除去2个分别分给记账节点和发布节点外,在线的其他节点均分最后一个token的做法也避免了一直没有被选中的节点丧失继续遴选的动力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中的分布式记账权生成方法流程图;
图2为图1所示的随机加权记账权生成的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本实施例的区块链技术中分布式记账权生成的方法,该方法包括:通过加密标识号匿名接入系统中用来同步数据的普通节点;获得当前区块打包记账权的当前记账节点;对当前区块进行监督、复验、广播的当前发布节点;由当前节点选出的进入待记账队列的待记账节点和待发布节点;长度为7组的每组包括一个待记账节点和待发布节点的待记账队列;收益分配器和随机加权记账权生成器;每个节点都具有收益分配、随机加权记账生成,打包区块,发布区块,同步区块等一系列算法和功能,但根据其具体权限和时间点而被选择性使用与之相关的算法和功能;整个记账过程为,1-1当前记账节点对需要打包的数据进行整理和打包;1-2当前发布节点进行复验和发布;1-3如果1-2成功则在当前记账节点和当前发布节点出队前,由当前记账节点计算收益并进行分配,然后使用随机加权记账权生成器,在普通节点中遴选出新的待记账节点和待发布节点,由当前发布节点核验发布后,把待记账组从队尾补充到待记账队列中,如果队列不满足7组,重复遴选过程,保证整个队列满足7组,直至当前记账组出队列,如果1-2失败,该记账组出队列,由后面的记账组重复1-1工作;1-4,普通记账节点同步1-3成功发布出的区块。
进一步地,所述当前记账节点在通过步骤1-1与1-2后,产生一个新区块,则当前记账节点在出队列前会根据随机加权记账权把选出的节点标记成为待记账或待发布节点,即任何普通节点都可以在当前记账节点、当前发布节点、待记账节点和待发布节点这几种身份和权限间转换。
优选的,所述加密标识号是使用sha算法生成一个40位长度的唯一的加密标识号作为该节点的在该网络中的名称。默认的,单个区块记账节点是不被信任的,可能随时离线。当节点接入链时会根据sha算法生成一个40位长度的节点加密标识号进入待选节点池,此时该节点除去同步区块的功能其他功能都没有权限使用;当节点进入待记账节点队列时,依然只有同步区块的功能可以使用;当节点A被选为记账节点,节点B被选为同组的发布节点并且到它们记录新区块时,节点A的记账、随机加权记账权生成算法、收益分配算法会被授权使用,同组的节点B的发布以及与之对应的审核节点A的相应权限会被授权使用。
进一步地,所述待记账节点队列中的7个待记账组均由当前记账节点在记录新增区块后通过随机加权记账权生成器生成和补充,有与之对应的当前发布节点进行审核和发布,然后数据同步至区块链上其他所有的节点中,一个待记账组的两个节点共同完成一个新增节点的记录、发布以及待记账组队列维护。所述待记账组队列维护的任务是当前记账组完成工作后由队列首位离开待记账节点队列,重新进入待选节点池中;当队列中某个节点离线或者处于未响应以及出错状态时,当前记账节点会将该节点(待记账或待发布)以及与之对应的节点(待发布或待记账)一并剔除出队列并通过随机加权记账权生成方法新选一个待记账组补充至队列末尾,整个队列维护完成时保证其有7个待记账节点组。
更进一步地,所述待记账组由两个节点(待记账节点和待发布节点)组成;待记账节点用来对未来的区块内容进行打包,待发布节点对待记账节点的打包内容进行审核和监督,防止出现错误和恶意篡改的内容,并将审核通过的区块发布出去然后由普通节点同步到整个区块链上。
如图2所示,所述随机加权记账权生成器在需要重新补充待记账节点队列时,会把已经完成任务的队列头部记账节点、发布节点及已经离线还在待记账队列的记账节点去除,然后在节点池中通过随机加权记账算法找出新的代表节点的加密标识号,通过该标识号找到新的待记账节点,并将其补充至待记账队列中;补充完成后,所述随机加权记账权生成方法会检查待记账队列的数量和在线状况,判断其满足7组并都是激活状态便停止补充待记账组。
进一步地,所述随机加权记账权生成方法是按顺序给当前记账节点相邻两侧的待选记账节点标号以及权重,然后通过伪随机算法随机加权选出两个编号,找出对应编号的记账节点加密标识号,最后通过该标识号找到该记账节点,并将其补充至待记账队列中。
优选的,所述权重是通过记账节点在线时间及节点错误率来进行调节,记账节点在线时间不超过一周不计算加权,超过一周不超过一月增加1个加权值,超过一个月增加2个加权值,超过3个月增加3个加权值;记账节点出错率低于5%增加1个加权值,低于0.1-1%增加2个加权值,低于0.1%增加3个加权值。所述当前记账节点根据随机加权记账权为每一个节点计算其自身的待选序列区间,然后再生成一个用来比对的随机数,当生成的记账伪随机数包含在某一个节点的加权后的待选序列区间时,则该节点被选为待记账节点,同理再选出待发布节点,两个节点组成待记账组进入待记账节点队列;其他落选的节点还是作为普通节点进行数据同步工作。
进一步地,所述收益分配器是在每隔15秒钟产生一个新的区块,当新的区块产生时,与之同时会有3个token作为奖励产生,其记录和发布该区块的节点各得一个token,剩下了token均分至其他的所有节点;每个区块记账节被成功记录时,则可以通过收益分配器对所有同步节点、发布节点及记录节点根据状态、在线时长及错误率进行奖励。这样一年会新增365×24×60/15×3=105120个token,这些token作为收益用来奖励给节点支付网络带宽、服务器等各项费用。
从以上的整个规则中可以看出,整个方法的实施需要有14个以上的节点参与,节点越少节点被选中的概率越大,当节点少于14个时,随机加权记账权算法在检查队列长度时没法保证有7个代记账组,整个链将不会有新的区块产生。该方法的区块内容以及块与块的链接方式与现有的区块链相同,都是上一个区块的内容整体的hash值会作为下一个区块的头部的一部分,保证整个链的连续性以及数据的不可篡改性。由于每个节点都同步一份数据,再加上记账与发布权限的分离以及发布节点的审核监督作用,使得即使有少部分恶意节点也没法对整个链的稳定和数据安全造成影响。
实施例1
某个采用该记账权算法的区块链系统总共包含了50个节点,当前记账节点M和当前发布节点N完成了打包、生成新块和发布广播的任务,然后进行新待记账节点与待发布节点的筛选,其中:
节点A接入链上时使用sha算法计算一个加密标识号,0x05b951b465a74873b2bdf9163b50d2b22fc17e3f,该节点加入待选节点池中根据池中已有节点计算的排序号为73,该节点在线6天,没有时间加权,错误率为2%有1个错误率加权值,那么73-74均为该节点选中范围。随机加权记账权生成的记账伪随机数为73,发布为随机数为36,节点A被选为待记账节点,进入待记账节点队列。
节点B接入链上时使用sha算法计算一个加密标识号,0xbcc83ec74a87bf798214f06188140e0f1bbf4160,该节点加入待选节点池中根据池中已有节点计算的排序号为33,该节点在线33天,有2个时间加权值,错误率为0.8%有2个错误率加权值,那么33-37均为该节点选中范围。随机加权记账权生成的记账伪随机数为73,发布为随机数为36,节点B被选为待发布节点,进入待记账节点队列。
节点C接入链上时使用sha算法计算一个加密标识号,0x291f758d6b86c32ae950eca4beca55d1e7121571,该节点加入待选节点池中根据池中已有节点计算的排序号为10,该节点在线96天,有3个时间加权值,错误率为6%没有错误率加权,那么10-13均为该节点选中范围。随机加权记账权生成的记账伪随机数为73,发布为随机数为33,节点C没有被选中,继续作为同步节点不同链上的各项数据并取得较小的收益。
完成一组筛选工作后,当前记账节点核验当前待记账组已经满足7个待记账组且都在线的需求,然后当前记账节点M与发布节点N各得到1个token奖励,其余48个节点每个得到1/48个token的奖励,M、N节点出队列,由后续的代记账组循环产出新的区块。
实施例2
某个采用该记账权算法的区块链系统总共包含了50个节点,当前记账节点M和当前发布节点N完成了打包、生成新块和发布广播的任务,然后进行新待记账节点与待发布节点的筛选,其中:
节点A接入链上时使用sha算法计算一个加密标识号,0xfeb3ce4de3856a20807b4b202d277e9115a1ea34,该节点加入待选节点池中根据池中已有节点计算的排序号为20,该节点在线7天,有1个时间加权值,错误率为0.09%有3个错误率加权值,那么20-24均为该节点选中范围。随机加权记账权生成的记账伪随机数为58,发布为随机数为18,节点A被选为待记账节点,进入待记账节点队列。
节点B接入链上时使用sha算法计算一个加密标识号,0x4583779ba9ec58a5f6a82594b58762c2e92b2d4a,该节点加入待选节点池中根据池中已有节点计算的排序号为56,该节点在线91天,有3个时间加权值,错误率为0.1%有2个错误率加权值,那么56-61均为该节点选中范围。随机加权记账权生成的记账伪随机数为58,发布为随机数为25,节点B没有被选中,继续作为同步节点不同链上的各项数据并取得较小的收益。
节点C接入链上时使用sha算法计算一个加密标识号,0x7412261370cedcc79807f481ce69c7936626d2be,该节点加入待选节点池中根据池中已有节点计算的排序号为86,该节点在线30天,有2个时间加权值,错误率为5%有1个错误率加权值,那么86-89均为该节点选中范围。随机加权记账权生成的记账伪随机数为58,节点C被选为待发布节点,进入待记账节点队列。
完成一组筛选工作后,当前记账节点核验当前待记账组,发现又有代记账组中的节点离线发生错误,则当前记账与发布节点重复上面的筛选过程,使其代记账队列最终满足7个待记账组且都在线的需求,然后当前记账节点M与发布节点N各得到1个token奖励,最后系统只留下30个在线节点每个得到1/30个token的奖励,M、N节点出队列,由后续的代记账组循环产出新的区块。
实施例3
某个采用该记账权算法的区块链系统总共包含了50个节点,当前记账节点M和当前发布节点N完成了打包、生成新块和发布广播的任务,然后进行新待记账节点与待发布节点的筛选,其中:
节点A接入链上时使用sha算法计算一个加密标识号,0x1382244e1784be148fb78b24983c206ebc95928f,该节点加入待选节点池中根据池中已有节点计算的排序号为92,该节点在线29天,有1个时间加权值,错误率为4.9%有1个错误率加权值,那么92-94均为该节点选中范围。随机加权记账权生成的记账伪随机数为26,发布为随机数为5,节点A被选为待记账节点,进入待记账节点队列。
节点B接入链上时使用sha算法计算一个加密标识号,0xee86feb4ce419260b83f61f5758a8a87d991a7f3,该节点加入待选节点池中根据池中已有节点计算的排序号为6,该节点在线90天,有2个时间加权值,错误率为5%没有错误加权,那么6-8均为该节点选中范围。随机加权记账权生成的记账伪随机数为26,发布为随机数为5,节点B被选为待发布节点,进入待记账节点队列。
节点C接入链上时使用sha算法计算一个加密标识号,0xb9eb0bace51a5cf9f5e1494567d0487589d11c51,该节点加入待选节点池中根据池中已有节点计算的排序号为49,该节点在线5天,没有时间加权值,错误率为3%有1个错误率加权值,那么49-50均为该节点选中范围。随机加权记账权生成的记账伪随机数为26,发布为随机数为10,节点C没有被选中,继续作为同步节点不同链上的各项数据并取得较小的收益。
完成一组筛选工作后,当前记账节点核验当前待记账组已经满足7个待记账组,同时发现有新加入的在线节点50个,然后当前记账节点M与发布节点N各得到1个token奖励,其余48个节点每个得到1/98个token的奖励,M、N节点出队列,由后续的代记账组循环产出新的区块。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种区块链技术中分布式记账权生成的方法,其特征在于,通过加密标识号匿名接入系统中用来同步数据的普通节点;获得当前区块打包记账权的当前记账节点;对当前区块进行监督、复验、广播的当前发布节点;由当前节点选出的进入待记账队列的待记账节点和待发布节点;长度为7组的每组包括一个待记账节点和待发布节点的待记账队列;收益分配器和随机加权记账权生成器;每个节点都具有收益分配、随机加权记账生成,打包区块,发布区块,同步区块等一系列算法和功能,但根据其具体权限和时间点而被选择性使用与之相关的算法和功能;整个记账过程为,1-1当前记账节点对需要打包的数据进行整理和打包;1-2当前发布节点进行复验和发布;1-3如果1-2成功则在当前记账节点和当前发布节点出队前,由当前记账节点计算收益并进行分配,然后使用随机加权记账权生成器,在普通节点中遴选出新的待记账节点和待发布节点,由当前发布节点核验发布后,把待记账组从队尾补充到待记账队列中,如果队列不满足7组,重复遴选过程,保证整个队列满足7组,直至当前记账组出队列,如果1-2失败,该记账组出队列,由后面的记账组重复1-1工作;1-4,普通记账节点同步1-3成功发布出的区块。
2.根据权利要求1所述的区块链技术中分布式记账权生成的方法,其特征在于,所述当前记账节点在通过步骤1-1与1-2后,产生一个新区块,则当前记账节点在出队列前会根据随机加权记账权把选出的节点标记成为待记账或待发布节点,即任何普通节点都可以在当前记账节点、当前发布节点、待记账节点和待发布节点这几种身份和权限间转换。
3.根据权利要求1所述的区块链技术中分布式记账权生成的方法,其特征在于,所述待记账节点队列中的7个待记账组均由当前记账节点在记录新增区块后通过随机加权记账权生成器生成和补充,由与之对应的当前发布节点进行审核和发布,然后数据同步至区块链上其他所有的节点中,一个待记账组的两个节点共同完成一个新增节点的记录、发布以及待记账组队列维护;所述待记账组队列维护的任务是当前记账组完成工作后由队列首位离开待记账节点队列,重新进入待选节点池中;当队列中某个节点离线或者处于未响应以及出错状态时,当前记账节点会将待记账或待发布该节点以及与之对应的待发布或待记账节点一并剔除出队列并通过随机加权记账权生成方法新选一个待记账组补充至队列末尾,整个队列维护完成时保证其有7个待记账节点组。
4.根据权利要求3所述的区块链技术中分布式记账权生成的方法,其特征在于,所述待记账组由两个节点即待记账节点和待发布节点组成;待记账节点用来对未来的区块内容进行打包,待发布节点对待记账节点的打包内容进行审核和监督,防止出现错误和恶意篡改的内容,并将审核通过的区块发布出去然后由普通节点同步到整个区块链上。
5.根据权利要求1所述的区块链技术中分布式记账权生成的方法,其特征在于,所述随机加权记账权生成器在需要重新补充待记账节点队列时,会把已经完成任务的队列头部记账节点、发布节点及已经离线还在待记账队列的记账节点去除,然后在节点池中通过随机加权记账权生成方法找出新的代表节点的加密标识号,通过该标识号找到新的待记账节点,并将其补充至待记账队列中;补充完成后,所述随机加权记账权生成方法会检查待记账队列的数量和在线状况,判断其满足7组并都是激活状态便停止补充待记账组。
6.根据权利要求5所述的区块链技术中分布式记账权生成的方法,其特征在于,所述随机加权记账权生成方法是按顺序给当前记账节点相邻两侧的待选记账节点标号以及权重,然后通过伪随机算法随机加权选出两个编号,找出对应编号的记账节点加密标识号,最后通过该标识号找到该记账节点,并将其补充至待记账队列中;所述权重是通过节点在线时间及节点错误率来进行调节,节点在线时间不超过一周不计算加权,超过一周不超过一月增加1个加权值,超过一个月增加2个加权值,超过3个月增加3个加权值;记账节点出错率低于5%增加1个加权值,低于0.1-1%增加2个加权值,低于0.1%增加3个加权值;所述当前记账节点根据随机加权记账权为每一个节点计算其自身的待选序列区间,然后再生成一个用来比对的随机数,当生成的记账伪随机数包含在某一个节点的加权后的待选序列区间时,则该节点被选为待记账节点,同理再选出待发布节点,两个节点组成待记账组进入待记账节点队列;其他落选的节点还是作为普通节点进行数据同步工作。
7.根据权利要求1所述的区块链技术中分布式记账权生成的方法,其特征在于,所述收益分配器是在每隔15秒钟产生一个新的区块,当新的区块产生时,与之同时会有3个token作为奖励产生,其记录和发布该区块的节点各得一个token,剩下的token均分至其他所有节点;每个区块记账节被成功记录时,则可以通过收益分配器对所有同步节点、发布节点及记录节点根据状态、在线时长及错误率进行奖励。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910638408.4A CN110348248B (zh) | 2019-07-16 | 2019-07-16 | 一种区块链技术中分布式记账权生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910638408.4A CN110348248B (zh) | 2019-07-16 | 2019-07-16 | 一种区块链技术中分布式记账权生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110348248A true CN110348248A (zh) | 2019-10-18 |
CN110348248B CN110348248B (zh) | 2023-07-21 |
Family
ID=68176452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910638408.4A Active CN110348248B (zh) | 2019-07-16 | 2019-07-16 | 一种区块链技术中分布式记账权生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110348248B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078787A (zh) * | 2019-11-11 | 2020-04-28 | 重庆邮电大学 | 一种基于随机数映射的区块链共识方法 |
CN111371556A (zh) * | 2020-02-21 | 2020-07-03 | 运易通科技有限公司 | 一种区块链节点记账方法、装置、设备及存储介质 |
CN111415235A (zh) * | 2020-03-12 | 2020-07-14 | 厦门区块链云科技有限公司 | 一种区块链技术中分布式记账权生成的方法 |
CN111464544A (zh) * | 2020-04-01 | 2020-07-28 | 中国联合网络通信集团有限公司 | 一种区块链账本生成方法和装置 |
CN111539819A (zh) * | 2020-03-31 | 2020-08-14 | 上海宓猿信息技术有限公司 | 一种离线权益证明方法及系统 |
CN113379539A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信集团设计院有限公司 | 基于区块链的委托权益证明共识方法及装置 |
CN113672987A (zh) * | 2021-09-06 | 2021-11-19 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN116383789A (zh) * | 2023-06-06 | 2023-07-04 | 杭州格物智安科技有限公司 | 基于个人信息服务系统的信息交互方法 |
CN117692128A (zh) * | 2024-02-02 | 2024-03-12 | 波维希数字科技有限公司 | 三级密链架构 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108717630A (zh) * | 2018-05-19 | 2018-10-30 | 上海分布信息科技有限公司 | 一种出块方法及其实现系统 |
CN108833484A (zh) * | 2018-05-22 | 2018-11-16 | 四川海纳仁东科技有限公司 | Pos机制下记账节点选择方法 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN109831509A (zh) * | 2019-02-18 | 2019-05-31 | 深圳市优学链科技有限公司 | 一种用于实现相同权重随机出块的共识算法 |
CN109903155A (zh) * | 2019-01-14 | 2019-06-18 | 无锡一邦网络科技有限公司 | Iift区块链共识算法 |
-
2019
- 2019-07-16 CN CN201910638408.4A patent/CN110348248B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108717630A (zh) * | 2018-05-19 | 2018-10-30 | 上海分布信息科技有限公司 | 一种出块方法及其实现系统 |
CN108833484A (zh) * | 2018-05-22 | 2018-11-16 | 四川海纳仁东科技有限公司 | Pos机制下记账节点选择方法 |
CN109903155A (zh) * | 2019-01-14 | 2019-06-18 | 无锡一邦网络科技有限公司 | Iift区块链共识算法 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN109831509A (zh) * | 2019-02-18 | 2019-05-31 | 深圳市优学链科技有限公司 | 一种用于实现相同权重随机出块的共识算法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078787B (zh) * | 2019-11-11 | 2023-07-21 | 重庆邮电大学 | 一种基于随机数映射的区块链共识方法 |
CN111078787A (zh) * | 2019-11-11 | 2020-04-28 | 重庆邮电大学 | 一种基于随机数映射的区块链共识方法 |
CN111371556A (zh) * | 2020-02-21 | 2020-07-03 | 运易通科技有限公司 | 一种区块链节点记账方法、装置、设备及存储介质 |
CN113379539A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信集团设计院有限公司 | 基于区块链的委托权益证明共识方法及装置 |
CN113379539B (zh) * | 2020-03-09 | 2024-02-23 | 中国移动通信集团设计院有限公司 | 基于区块链的委托权益证明共识方法及装置 |
CN111415235A (zh) * | 2020-03-12 | 2020-07-14 | 厦门区块链云科技有限公司 | 一种区块链技术中分布式记账权生成的方法 |
CN111539819A (zh) * | 2020-03-31 | 2020-08-14 | 上海宓猿信息技术有限公司 | 一种离线权益证明方法及系统 |
CN111464544A (zh) * | 2020-04-01 | 2020-07-28 | 中国联合网络通信集团有限公司 | 一种区块链账本生成方法和装置 |
CN113672987A (zh) * | 2021-09-06 | 2021-11-19 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN113672987B (zh) * | 2021-09-06 | 2023-09-05 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN116383789B (zh) * | 2023-06-06 | 2023-08-25 | 杭州格物智安科技有限公司 | 基于个人信息服务系统的信息交互方法 |
CN116383789A (zh) * | 2023-06-06 | 2023-07-04 | 杭州格物智安科技有限公司 | 基于个人信息服务系统的信息交互方法 |
CN117692128A (zh) * | 2024-02-02 | 2024-03-12 | 波维希数字科技有限公司 | 三级密链架构 |
CN117692128B (zh) * | 2024-02-02 | 2024-04-16 | 波维希数字科技有限公司 | 一种三级密链系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110348248B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348248A (zh) | 一种区块链技术中分布式记账权生成方法 | |
CN107864198A (zh) | 一种基于深度学习训练任务的区块链共识方法 | |
Zhou et al. | Solutions to scalability of blockchain: A survey | |
CN109544334B (zh) | 一种网络可扩展性区块链实现方法 | |
CN109472596B (zh) | 基于交易评估的联盟链共识方法及系统 | |
CN109639837A (zh) | 基于信任机制的区块链DPoS共识方法 | |
CN108734565A (zh) | 一种征信分实时调整处理方法、装置及处理服务器 | |
CN110011974A (zh) | 区块链的记账方法、装置、终端和计算机可读存储介质 | |
CN109639430B (zh) | 安全高速轻量级的区块链系统及方法 | |
CN107239940A (zh) | 基于区块链系统的网络交易方法及装置 | |
CN109242484A (zh) | 一种区块链的共识激励方法 | |
CN110855432B (zh) | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 | |
CN108416593B (zh) | 一种基于网络分散度证明的区块链共识方法和系统 | |
CN107358500A (zh) | 基于区块链的评价排序方法 | |
CN108470276A (zh) | 一种采用代理记账的区块链共识方法 | |
CN110490562A (zh) | 一种多区块链的跨链数据处理方法和系统 | |
CN109784885A (zh) | 一种基于权益的区块链投票共识方法及系统 | |
Abbas et al. | Analysis of polkadot: Architecture, internals, and contradictions | |
CN110084596A (zh) | 一种处理区块链混合共识的方法和装置 | |
CN113407632A (zh) | 一种基于pbft的委托权益证明区块链共识算法 | |
CN114362987B (zh) | 一种基于区块链和智能合约的分布式投票系统及方法 | |
CN110493187A (zh) | 一种区块链的验证节点选举方法及系统 | |
CN108898493A (zh) | 一种基于区块链的投资策略交易方法及系统 | |
CN110113383A (zh) | 一种缓解PoS机制下记账权中心化的共识机制实现方法 | |
Gjermundrød et al. | Going beyond the coinbase transaction fee: Alternative reward schemes for miners in blockchain systems |
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 |