CN109921909A - 基于贡献证明的区块链共识方法及装置 - Google Patents
基于贡献证明的区块链共识方法及装置 Download PDFInfo
- Publication number
- CN109921909A CN109921909A CN201910119263.7A CN201910119263A CN109921909A CN 109921909 A CN109921909 A CN 109921909A CN 201910119263 A CN201910119263 A CN 201910119263A CN 109921909 A CN109921909 A CN 109921909A
- Authority
- CN
- China
- Prior art keywords
- node
- block
- creation
- data
- new block
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于贡献证明的区块链共识方法及装置,包括监听节点网络,接收数据;根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;验证选取的节点是否应该创建新区块。如果是,则将新区块更新到区块链中,更新节点信息。这种设计结合贡献奖励与时间戳技术,实现安全、高效、去中心化、应用范围广泛的区块链共识机制,解决分叉问题。
Description
技术领域
本发明涉及区块链技术领域,具体而言,涉及一种基于贡献证明的区块链共识方法及装置。
背景技术
现如今公链中主要用到的共识机制有以下三种:第一种是工作量证明(POW),通过算力计算随机数nonce值,由计算出符合难度规则的节点生成新的区块。工作量证明实现方式简单,且节点计算nonce值不需要依赖其他节点,具有独立性;在大量节点加入的情况下,攻击消耗巨大。然而,工作量证明浪费了大量的电力资源,时间效率也较低,TPFS为7;如果通过购买矿机或联合的方式将算力提高到50%以上,则又成为中心化***,会产生分叉,可监管性低。第二种是POS(权益证明),根据节点持有货币的量与时间来分发利息的一种制度。权益证明仍然容易产生分叉,需要等待多个确认;仍需要挖矿,本质上没有解决商业应用的痛点;第三种是DPOS(委任权益证明),选出101个节点,其中21个为超级节点,负责轮流生成新的区块,如果发生问题后续节点补充。委任权益证明门槛较高,只有通过持币才能获得奖励,导致流通性降低,易出现“首富作恶”风险。DPOS主要应用在EOS中。
综上所述,现有的区块链共识机制中,普遍存在耗能、低效、中心化风险高的问题。
发明内容
针对上述现有技术中存在的问题,本发明提供了一种基于贡献证明的区块链共识方法。
第一方面,本发明实施例提供了一种基于贡献证明的区块链共识方法,所述方法包括:
监听节点网络,接收数据;
根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;
验证选取的节点是否应该创建新区块。如果是,则将新区块更新到区块链中,更新节点信息。
进一步的,根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块,包括:
根据接收到的数据,判断是否达到建块条件;
如果是,则计算每个节点的贡献值,确定贡献值最大的节点作为创建节点,创建节点创建新区块,并将所述新区块向全网广播;
其中,贡献值计算公式为:
NA为节点奖励,QIP为该节点知识产权的贡献数,v表示一个正数,kr为该节点的影响因子,P2为知识产权在一笔交易中的当前交易价格;P1为知识产权在一笔交易中的前一次交易价格。
当出现多个节点的贡献值均为最高时,会判断这些节点中加入区块链网络的时间最先的节点为贡献值最高的节点,因为最先加入网络意味着更早对区块链网络进行贡献。节点进入网络的时间因为是分布式的存储在全网每个节点上,所以如果单个节点想要修改自己的加入时间,在其他节点中是无法承认的,所以可以确保节点加入时间的可信。在创建创世区块的时候,由于全网节点还没有形成完成共识、不可篡改的区块链,所以采用预先根据一定原则设定某一节点为创世区块创建节点。例如,可选择贡献计算中的节点加入网络时间来确定该节点,完成创世区块的构建。
进一步的,验证选取的节点是否应该创建新区块,包括:
监听节点网络,接收新区块,验证所述创建节点是否为贡献值最大的节点,并且验证新区块头中merkle根是否与本地生成的merkle根一致。如果是,则将新区块更新到区块链中,更新节点信息。
进一步的,验证选取的节点是否应该创建新区块,如果是,则将新区块更新到区块链中,更新节点信息之后,所述方法还包括:
如果否,向邻近节点请求补全缺失信息。
进一步的,监听节点网络,接收数据,包括:
监听节点网络,接收数据;
判断每个节点接收的数据总和是否超过规定大小,如果是,则对接收到的数据按照时间戳顺序生成merkle根;
如果否,各个节点判断自上一个区块创建时间起至现在,时间是否超过规定时间;
如果是,对接收到的数据按照时间戳顺序生成merkle根。
第二方面,本发明实施例还提供了一种基于贡献证明的区块链共识装置,所述装置包括:
接收模块,用于监听节点网络,接收数据;
创建模块,用于根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;
验证模块,用于验证选取的节点是否应该创建新区块。如果是,则将新区块更新到区块链中,更新节点信息。
进一步的,所述创建模块还用于:
根据接收到的数据,判断是否达到建块条件;
如果是,则计算每个节点的贡献值,确定贡献值最大的节点作为创建节点,创建节点创建新区块,并将所述新区块向全网广播;
其中,贡献值计算公式为:
NA为节点奖励,QIP为该节点知识产权的贡献数,v表示一个正数,kr为该节点的影响因子,P2为知识产权在一笔交易中的当前交易价格;P1为知识产权在一笔交易中的前一次交易价格。
进一步的,所述验证模块还用于:
监听节点网络,接收新区块,验证所述创建节点是否为贡献值最大的节点,并且验证新区块头中merkle根是否与本地生成的merkle根一致。如果是,则将新区块更新到区块链中,更新节点信息。
进一步的,所述接收模块还用于:
监听节点网络,接收数据;
判断每个节点接收的数据总和是否超过规定大小,如果是,则对接收到的数据按照时间戳顺序生成merkle根;
如果否,各个节点判断自上一个区块创建时间起至现在,时间是否超过规定时间;
如果是,对接收到的数据按照时间戳顺序生成merkle根。
第三方面,本发明实施例提供了一种计算机存储介质,用于储存为第二方面所述的装置所用的计算机软件指令。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种基于贡献证明的区块链共识方法及装置,包括监听节点网络,接收数据;根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;验证选取的节点是否应该创建新区块。如果是,则将新区块更新到区块链中,更新节点信息。这种设计结合贡献奖励与时间戳技术,实现安全、高效、去中心化、应用范围广泛的区块链共识机制,解决分叉问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的地和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例所提供的一种基于贡献证明的区块链共识方法的流程图;
图2为本发明第二实施例所提供的一种基于贡献证明的区块链共识方法的流程图;
图3为本发明第三实施例所提供的一种基于贡献证明的区块链共识装置的结构框图。
具体实施方式
为使本发明实施例的目的地、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参加图1所示的一种基于贡献证明的区块链共识方法的流程图,该方法具体包括如下步骤:
S101.监听节点网络,接收数据;
具体来说,利用超时机制,判断每个节点接收的数据总和是否超过规定大小;如果有,各个节点判断自上一个区块创建时间起至现在,时间是否超过规定时间;如果超过,对接收到的数据按照时间戳顺序生成merkle根。
超时机制主要是为了解决时间问题,比如在初期或者某些时段,入链数据较少,则如果按照数据量生成新区块会有较长的延时;而如果以时间为依据,将某一时间段内所有数据加入区块,则区块大小在入链信息较多时会很大,导致网络中广播的效率降低。所以提出了超市机制。
S102.根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;
选取节点的标准为计算每个节点的贡献值,确定贡献值最大的节点作为创建节点,创建节点创建新区块,并将所述新区块向全网广播;
若同时出现多个贡献值相同且同为最大的节点,则按照节点加入网络的时间顺序,先进入的节点作为创建节点得到本次的新区块生成权。
具体来说,针对知识产权行业的特点,提出了一种激励机制来奖励用户积极正确的参与到区块链网络中来,主动式增加了用户的积极度,并且作为POC共识机制的支撑部分,从技术角度被动式的提高了***的安全性与稳定性。节点的激励奖励包括记账权奖励与贡献值奖励。记账权奖励是在共识机制中获得新区块记账权的节点可以获取该区块中所有信息的服务费用;其中,贡献值计算遵循从区块链中提取,计算后的数据应用到区块链中的原则,形成可信循环。贡献值计算中也可以包含利益最优的数据,利益最优是指用户提供的数据为正确数据才能使利最优。
其中,贡献值计算公式为:
NA为节点奖励;QIP为该节点知识产权的贡献数;v表示一个正数,根据场景的不同进行调整,使整个网络中各个节点NA分布呈现枣核型,即少部分人集中在最高,大部分人集中在中间,这样既可以吸引用户,又可以很好的控制最高节点的数量;kr为该节点的影响因子,由知识产权贡献数与知识产权交易次数相比的出;P2为知识产权在一笔交易中的当前交易价格;P1为知识产权在一笔交易中的前一次交易价格。通过该公式计算本地区块链上的数据得到每个节点的贡献值,需要注意的是,当节点获得新区块记账权后节点的贡献值需要清空,从新区块开始重新计算。贡献值奖励公式的组成可以分为两部分,分别是原创者奖励与交易者奖励:
(1)原创者奖励
原创者奖励机制服务于知识产权的创作者。知识产权的区块链***本质是服务于知识产权的,因此奖励原创者创作知识产权并将作品加入到区块链是十分有意义的,只有鼓励节点积极产生知识产权,才能产生更多有质量的知识产权,进而才能推动知识产权的交易,使整个体系运转起来。原创者奖励机制遵循如下计算函数。
OA为原创者奖励;kr为该节点影响因子;QIP为原创知识产权数量;QT为该节点产生的所有知识产权被交易的次数。通过使用反比函数求和来计算每一次的知识产权得到的贡献值。反比函数的目的是为了防止恶意节点为获得贡献值传入大量无价值知识产权。该攻击类似于DOS攻击,使得区块链中含有大量无价值信息,占用了存储空间也阻碍了正常节点的使用。
(kr)3借鉴了现在知识产权中期刊的经验,期刊的影响因子是代表期刊影响大小的一项定量指标;
计算公式为IF(k)=(nk-1+nk-2)/(Nk-1+Nk-2)
其中,k为某一年份,nk-1+nk-2为期刊在k年的被引用数量,nk-1+nk-2为期刊在前一两年发表论文的数量。我们将节点的贡献影响力算作贡献的一部分,鼓励用户不断提高自己的影响力,影响因子kr通过该节点原创知识产权数量与产生的所有知识产权被交易次数做除法。当知识产权被交易多次时,反映出该知识产权的质量越高,价值约大,说明了该节点的贡献也越大。综合来看,影响因子的立方可以有效区分节点影响力,给影响力大的节点更多的奖励。其中影响因子小于5时按照本身的数值进行计算,但当等于或超过5时,按照5来计算,这种做法的目的在于防止恶意节点为了提高影响因子而产生无效交易来提高交易次数。并且,虽然影响因子在5以上的kr值按5计算,但不代表其没有意义,用户在正确的方式下获得高影响因子时,既可以拥有较高的贡献值奖励,也可以提高该节点的影响力、体现高价值,从而侧面给该节点带来更多的交易,提升利益空间。
(2)交易者奖励
交易者奖励机制服务于知识产权的交易者(一笔交易中的买方)。知识产权的交易对于整个***的推动运转有着至关重要的意义,只有当价值真正流通起来,才能发挥出***的作用。并且交易可以反作用于创作者,鼓励创作者有更高的动力去进行创作,优秀的知识产权又可以带动交易,两者相互作用相互促进。交易者奖励针对交易中的买方,卖方从交易中已经获得了利益,***出于鼓励交易的目的奖励买方一定量的贡献值。交易者奖励机制遵循如下计算函数:
TA为交易者奖励;p1为上笔交易的价格,p2为本笔交易的价格(p2-p1)/p1表示的是该笔交易的增长率。其中p1,p2为用户外部输入信息,作为交易信息的一部分存储在区块链中,所有输入的价格无法篡改,这种计算方式也可以有效促进用户正确输入数据,如果将输入的价格高于正常值,虽然这笔交易中该节点获得了较高的贡献值,但对下次的交易会产生不利影响,降低下次交易获得的贡献值,从而影响到买方下次交易,不利于买方的利益;如果将输入的价格低于正常值,则会降低本次交易的贡献值,影响到买方的利益。所以,输入正确的价格可以平衡贡献值与交易,让买方获得最大利益。并且正确的价格走势可以提高节点的形象,增加竞争力。节点可以发现错误,一切价格以区块链上记录为准,有效避免了出现错误价格输入的情况,因为如果输入错误,会很大影响之后的交易。同时,避免了出现链下协商的情况,因为所有人都参照链上价格发起交易请求,买家有多方,所有的买方互相起到制约作用。举例来说,根据现有交易情况,我们将每次的贡献值增长上线设为一个预设值,如果增长率超过预设值则按预设值计算。这样避免了无效交易的产生。每个知识产权首次交易时,交易者激励机制按照平均值来进行计算。
原创者与交易者是通过行为进行划分,而一个节点可以既是原创者又是交易者,结合方式为将上述两种激励的叠加组合,从而形成区块链网络中任意节点的奖励措施。贡献值奖励的价值不仅在于获得贡献值进而获得记账权奖励,还可以体现一个节点的影响,贡献值高的节点可以获得更高的关注度、产生良好印象等一些隐性利益。我们提出的奖励机制也考虑到了如何防止恶意节点的产生,从经济利益角度出发,主动地减少了无价值恶意知识产权与无意义恶意交易。
S103.验证选取的节点是否应该创建新区块。如果是,则将新区块更新到区块链中,更新节点信息。
具体来说,新区块广播到全网由全网节点验证,首先判断该选取的节点是否为当前贡献值最高的节点,如果是,则继续验证新区块的Merkle根是否与本地计算的Merkle根相等,如果是,则新区块加入到本地区块链中。如果Merkle根不相等,则原因有可能是因为网络延迟等因素造成该节点未接收到全部数据,该节点向临近节点发送补全请求,如果临近节点拥有,则返回数据,如果没有则继续进行补全请求。通过一定数量节点的反馈数据进行判断,如果找到正确缺失数据,则将新区块加入本地区块链,如果未找到正确缺失数据,则判断为该新区块中有错误数据,丢弃该新区块。
同时,本发明引入安全机制是对共识中可能出现的问题进行抵御,涉及加密、反馈等,更加安全的保障基于本区块共识的完成。
通过使用加密算法,可以在不显示原文的情况下对电子数据进行保护,即便网络中发生攻击,也可以保证用户的数据不被泄露。通过使用数字签名,可以对广播的数据进行完整性校验,从而避免在传输过程中数据被篡改而无法检查到的情况出现。
本发明提出的共识机制可以一定程度上降低产生分叉攻击的可能,由于时间采用精确到千分毫秒,所以加入网络时间一样的情况出现概率很低,所以每一次生成新区块的节点大概率上来说是唯一确定的,所以每一次生成新区块的节点是在“公平公正,多贡献多得”的原则下,由唯一的节点生成,这种方式就减小了产生分叉的可能性,PoW中挖矿因为可能会有多个节点获得生成新区块权利,所以更容易产生分叉。并且,如果该节点想发起分叉攻击,需要连接到之前的区块上,但是由于下一次该节点的贡献值清零重新计算,所以该节点很难在短时期内继续在分叉的节点上进行延长,无法形成攻击,区块链遵循最长链原则,所以很难产生分叉攻击。
同时,共识机制具有较高的效率,共识中的时间消耗上主要在网络消耗,由于公链的形式,全网节点参与才能体现公链的特点,所以在节点数量上需要保证一定的数量。通过提高硬件设备以及增加中间基站可以提高网络效率,从而提升区块链的效率。在计算贡献值确认生成新区块节点的时候,既可以采用分布式的模式进行计算,由每个节点独立对本地区块链进行计算,得到网络中所有节点的贡献值数据;也可以采用集中式的模式进行计算,由安全可信的服务器提供计算服务,类似于区块链网络中采用现有的时间服务器来提供时间信息,该模式可以节省全网节点的计算开销。在计算过程中,由于主要是对前一个区块进行计算后更新在本地数据库中,所以时间效率为O(1),不随着区块链长度的增加而提高,而每一个区块的数据量有一定的限制,所以计算时间上在即便是普通计算机的计算能力也可以较快完成,生成新区块的速度较快。
实施例二
参加图2所示的一种基于贡献证明的区块链共识的流程图,该方法在实施例一中提供的基于贡献证明的区块链共识的基础上实现,具体包括如下步骤:
S201.监听节点网络,接收数据;
具体来说,监听节点网络,接收数据;判断每个节点接收的数据总和是否超过规定大小;如果没有,对接收到的数据按照时间戳顺序生成merkle根。
S202.根据接收到的数据,判断是否达到建块条件;
如果是,则执行步骤S203。
S203.计算每个节点的贡献值,确定贡献值最大的节点作为创建节点,创建节点创建新区块,并将所述新区块向全网广播;
S204.监听节点网络,接收新区块,验证所述创建节点是否为贡献值最大的节点;
S205.验证新区块头中merkle根是否与本地生成的merkle根一致。
如果是,则执行步骤S206。
S206.将新区块更新到区块链中,更新节点信息。
如果否,则执行步骤S207。
S207.补全节点上缺失的信息。
实施例三
对于前述实施例一所提供的基于贡献证明的区块链共识方法,本发明实施例提供了一种基于贡献证明的区块链共识的装置,参见图3所示的一种基于贡献证明的区块链共识的装置的结构框图,该装置包括如下部分:
接收模块31,用于监听节点网络,接收数据;
创建模块32,用于根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;
验证模块33,用于验证选取的节点是否应该创建新区块。如果是,则将新区块更新到区块链中,更新节点信息。
进一步的,所述创建模块32还用于:
根据接收到的数据,判断是否达到建块条件;
如果是,则计算每个节点的贡献值,确定贡献值最大的节点作为创建节点,创建节点创建新区块,并将所述新区块向全网广播。
进一步的,所述验证模块33还用于:
监听节点网络,接收新区块,验证所述创建节点是否为贡献值最大的节点,并且验证新区块头中merkle根是否与本地生成的merkle根一致。如果是,则将新区块更新到区块链中,更新节点信息。
进一步的,所述接收模块31还用于:
监听节点网络,接收数据;
判断每个节点接收的数据总和是否超过规定大小;
如果有,各个节点判断自上一个区块创建时间起至现在,时间是否超过规定时间;
如果超过,对接收到的数据按照时间戳顺序生成merkle根。
本发明实施例还提供了一种计算机存储介质,用于储存为上述实施例提供的装置所用的计算机软件指令。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
需要说明的是,在本发明所提供的实施例中,应该理解到,所揭露***和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的地。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于贡献证明的区块链共识方法,其特征在于,所述方法包括:
监听节点网络,接收数据;
根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;
验证选取的节点是否应该创建新区块;如果是,则将新区块更新到区块链中,更新节点信息。
2.根据权利要求1所述的方法,其特征在于,根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块,包括:
根据接收到的数据,判断是否达到建块条件;
如果是,则计算每个节点的贡献值,确定贡献值最大的节点作为创建节点,创建节点创建新区块,并将所述新区块向全网广播。
3.根据权利要求2所述的方法,其特征在于,验证选取的节点是否应该创建新区块,包括:
监听节点网络,接收新区块,验证所述创建节点是否为贡献值最大的节点,并且验证新区块头中merkle根是否与本地生成的merkle根一致;如果是,则将新区块更新到区块链中,更新节点信息。
4.根据权利要求3所述的方法,其特征在于,验证选取的节点是否应该创建新区块,如果是,则将新区块更新到区块链中,更新节点信息之后,所述方法还包括:
如果否,向邻近节点请求补全缺失信息。
5.根据权利要求1所述的方法,其特征在于,监听节点网络,接收数据,包括:
监听节点网络,接收数据;
判断每个节点接收的数据总和是否超过规定大小,如果是,则对接收到的数据按照时间戳顺序生成merkle根;
如果否,各个节点判断自上一个区块创建时间起至现在,时间是否超过规定时间;
如果是,对接收到的数据按照时间戳顺序生成merkle根。
6.一种基于贡献证明的区块链共识装置,其特征在于,所述装置包括:
接收模块,用于监听节点网络,接收数据;
创建模块,用于根据接收到的数据选取一个节点,作为创建节点,创建节点创建新区块;
验证模块,用于验证选取的节点是否应该创建新区块;如果是,则将新区块更新到区块链中,更新节点信息。
7.根据权利要求6所述的装置,其特征在于,所述创建模块还用于:
根据接收到的数据,判断是否达到建块条件;
如果是,则计算每个节点的贡献值,确定贡献值最大的节点作为创建节点,创建节点创建新区块,并将所述新区块向全网广播;
其中,贡献值计算公式为:
NA为节点奖励,QIP为该节点知识产权的贡献数,v表示一个正数,kr为该节点的影响因子,P2为知识产权在一笔交易中的当前交易价格;P1为知识产权在一笔交易中的前一次交易价格。
8.根据权利要求6所述的装置,其特征在于,所述验证模块还用于:
监听节点网络,接收新区块,验证所述创建节点是否为贡献值最大的节点,并且验证新区块头中merkle根是否与本地生成的merkle根一致;如果是,则将新区块更新到区块链中,更新节点信息。
9.根据权利要求6所述的装置,其特征在于,所述接收模块还用于:
监听节点网络,接收数据;
判断每个节点接收的数据总和是否超过规定大小,如果是,则对接收到的数据按照时间戳顺序生成merkle根;
如果否,各个节点判断自上一个区块创建时间起至现在,时间是否超过规定时间;
如果是,对接收到的数据按照时间戳顺序生成merkle根。
10.一种计算机存储介质,其特征在于,用于储存为权利要求6至9任意一项所述的装置所用的计算机软件指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910119263.7A CN109921909B (zh) | 2019-02-15 | 2019-02-15 | 基于贡献证明的区块链共识方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910119263.7A CN109921909B (zh) | 2019-02-15 | 2019-02-15 | 基于贡献证明的区块链共识方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109921909A true CN109921909A (zh) | 2019-06-21 |
CN109921909B CN109921909B (zh) | 2021-12-21 |
Family
ID=66961640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910119263.7A Active CN109921909B (zh) | 2019-02-15 | 2019-02-15 | 基于贡献证明的区块链共识方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109921909B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458540A (zh) * | 2019-07-25 | 2019-11-15 | 南京邮电大学 | 一种基于贡献度的随机签共识机制算法 |
CN110572301A (zh) * | 2019-08-26 | 2019-12-13 | 北京米弘科技有限公司 | 基于区块链的节点监测方法及*** |
CN110855475A (zh) * | 2019-10-25 | 2020-02-28 | 昆明理工大学 | 一种基于区块链的共识资源切片方法 |
CN110990486A (zh) * | 2019-11-29 | 2020-04-10 | 北京有名知行科技有限公司 | 基于网络数据交互的区块链通证发放和存证方法及装置 |
CN111277627A (zh) * | 2020-01-08 | 2020-06-12 | 深圳讴谱科技有限公司 | 一种基于贡献量权重证明的共识机制 |
WO2019228559A3 (en) * | 2019-09-02 | 2020-06-25 | Alibaba Group Holding Limited | Managing blockchain-based centralized ledger systems |
CN111371557A (zh) * | 2020-02-26 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111383111A (zh) * | 2020-03-03 | 2020-07-07 | 李斌 | 一种基于计算资源算力证明的共识算法 |
CN111432014A (zh) * | 2020-03-30 | 2020-07-17 | 上海玳鸽信息技术有限公司 | 一种区块链共识算法中主节点选取的方法和装置 |
US10880105B1 (en) | 2019-09-02 | 2020-12-29 | Advanced New Technologies Co., Ltd. | Managing blockchain-based centralized ledger systems |
CN112235340A (zh) * | 2020-09-01 | 2021-01-15 | 迅鳐成都科技有限公司 | 一种分布式区块链组网方法、装置、***及存储介质 |
CN112328610A (zh) * | 2020-09-30 | 2021-02-05 | 联想(北京)有限公司 | 一种基于区块链的信息处理方法及装置 |
CN112887391A (zh) * | 2021-01-21 | 2021-06-01 | 北京工业大学 | 一种基于贡献值的高可靠性区块链共识方法及*** |
US11250428B2 (en) | 2020-04-22 | 2022-02-15 | Alipay (Hangzhou) Information Technology Co., Ltd. | Managing transaction requests in ledger systems |
CN114338053A (zh) * | 2022-03-16 | 2022-04-12 | 成都信息工程大学 | 一种动态的基于信誉的区块链共识方法和*** |
US11455631B2 (en) | 2020-04-22 | 2022-09-27 | Alipay (Hangzhou) Information Technology Co., Ltd. | Managing transaction requests in ledger systems |
US11455297B2 (en) | 2020-04-22 | 2022-09-27 | Alipay (Hangzhou) Information Technology Co., Ltd. | Managing transaction requests in ledger systems |
EP4084429A1 (en) * | 2021-04-26 | 2022-11-02 | Alessandro Semi Toumi | System and method for distributed transaction propagation and verification |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875510B1 (en) * | 2015-02-03 | 2018-01-23 | Lance Kasper | Consensus system for tracking peer-to-peer digital records |
CN108182636A (zh) * | 2018-01-30 | 2018-06-19 | 杨显波 | 基于贡献的区块链共识机制 |
CN108416593A (zh) * | 2018-03-20 | 2018-08-17 | 杨鉴 | 一种基于网络分散度证明的区块链共识方法和*** |
CN108470276A (zh) * | 2018-03-12 | 2018-08-31 | 成都零光量子科技有限公司 | 一种采用代理记账的区块链共识方法 |
CN108805567A (zh) * | 2018-05-22 | 2018-11-13 | 深圳供电局有限公司 | 一种充电公司网络交易结算方法及装置 |
-
2019
- 2019-02-15 CN CN201910119263.7A patent/CN109921909B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875510B1 (en) * | 2015-02-03 | 2018-01-23 | Lance Kasper | Consensus system for tracking peer-to-peer digital records |
CN108182636A (zh) * | 2018-01-30 | 2018-06-19 | 杨显波 | 基于贡献的区块链共识机制 |
CN108470276A (zh) * | 2018-03-12 | 2018-08-31 | 成都零光量子科技有限公司 | 一种采用代理记账的区块链共识方法 |
CN108416593A (zh) * | 2018-03-20 | 2018-08-17 | 杨鉴 | 一种基于网络分散度证明的区块链共识方法和*** |
CN108805567A (zh) * | 2018-05-22 | 2018-11-13 | 深圳供电局有限公司 | 一种充电公司网络交易结算方法及装置 |
Non-Patent Citations (3)
Title |
---|
TENGFEI XUE: "《Proof of Contribution: A Modification of Proof of Work to》", 《IEEE》 * |
张桂鹏 陈平华: "《一种混合云环境下基于 Merkle哈希树的数据安全去重方案》", 《计算机科学》 * |
袁勇: "《区块链共识算法的发展现状与展望》", 《自动化学报》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458540A (zh) * | 2019-07-25 | 2019-11-15 | 南京邮电大学 | 一种基于贡献度的随机签共识机制算法 |
CN110458540B (zh) * | 2019-07-25 | 2022-08-23 | 南京邮电大学 | 一种基于贡献度的随机签共识机制算法 |
CN110572301A (zh) * | 2019-08-26 | 2019-12-13 | 北京米弘科技有限公司 | 基于区块链的节点监测方法及*** |
CN110572301B (zh) * | 2019-08-26 | 2021-05-11 | 北京米弘科技有限公司 | 基于区块链的节点监测方法及*** |
TWI725890B (zh) * | 2019-09-02 | 2021-04-21 | 開曼群島商創新先進技術有限公司 | 管理基於區塊鏈的中心化帳本系統 |
US10904013B2 (en) | 2019-09-02 | 2021-01-26 | Advanced New Technologies Co., Ltd. | Managing blockchain-based centralized ledger systems |
US11038695B2 (en) | 2019-09-02 | 2021-06-15 | Advanced New Technologies Co., Ltd. | Managing blockchain-based centralized ledger systems |
WO2019228559A3 (en) * | 2019-09-02 | 2020-06-25 | Alibaba Group Holding Limited | Managing blockchain-based centralized ledger systems |
US10790988B1 (en) | 2019-09-02 | 2020-09-29 | Alibaba Group Holding Limited | Managing blockchain-based centralized ledger systems |
US10880105B1 (en) | 2019-09-02 | 2020-12-29 | Advanced New Technologies Co., Ltd. | Managing blockchain-based centralized ledger systems |
CN110855475A (zh) * | 2019-10-25 | 2020-02-28 | 昆明理工大学 | 一种基于区块链的共识资源切片方法 |
CN110990486A (zh) * | 2019-11-29 | 2020-04-10 | 北京有名知行科技有限公司 | 基于网络数据交互的区块链通证发放和存证方法及装置 |
CN111277627A (zh) * | 2020-01-08 | 2020-06-12 | 深圳讴谱科技有限公司 | 一种基于贡献量权重证明的共识机制 |
CN111277627B (zh) * | 2020-01-08 | 2022-04-01 | 深圳讴谱科技有限公司 | 一种基于贡献量权重证明共识机制的方法 |
CN111371557B (zh) * | 2020-02-26 | 2024-01-23 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111371557A (zh) * | 2020-02-26 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111383111A (zh) * | 2020-03-03 | 2020-07-07 | 李斌 | 一种基于计算资源算力证明的共识算法 |
CN111432014A (zh) * | 2020-03-30 | 2020-07-17 | 上海玳鸽信息技术有限公司 | 一种区块链共识算法中主节点选取的方法和装置 |
CN111432014B (zh) * | 2020-03-30 | 2023-05-05 | 上海玳鸽信息技术有限公司 | 一种区块链共识算法中主节点选取的方法和装置 |
US11250428B2 (en) | 2020-04-22 | 2022-02-15 | Alipay (Hangzhou) Information Technology Co., Ltd. | Managing transaction requests in ledger systems |
US11455631B2 (en) | 2020-04-22 | 2022-09-27 | Alipay (Hangzhou) Information Technology Co., Ltd. | Managing transaction requests in ledger systems |
US11455297B2 (en) | 2020-04-22 | 2022-09-27 | Alipay (Hangzhou) Information Technology Co., Ltd. | Managing transaction requests in ledger systems |
CN112235340A (zh) * | 2020-09-01 | 2021-01-15 | 迅鳐成都科技有限公司 | 一种分布式区块链组网方法、装置、***及存储介质 |
CN112328610A (zh) * | 2020-09-30 | 2021-02-05 | 联想(北京)有限公司 | 一种基于区块链的信息处理方法及装置 |
CN112887391B (zh) * | 2021-01-21 | 2022-10-25 | 北京工业大学 | 一种基于贡献值的高可靠性区块链共识方法及*** |
CN112887391A (zh) * | 2021-01-21 | 2021-06-01 | 北京工业大学 | 一种基于贡献值的高可靠性区块链共识方法及*** |
EP4084429A1 (en) * | 2021-04-26 | 2022-11-02 | Alessandro Semi Toumi | System and method for distributed transaction propagation and verification |
CN114338053A (zh) * | 2022-03-16 | 2022-04-12 | 成都信息工程大学 | 一种动态的基于信誉的区块链共识方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN109921909B (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109921909A (zh) | 基于贡献证明的区块链共识方法及装置 | |
Liu et al. | A survey on blockchain: A game theoretical perspective | |
Liu et al. | A survey on applications of game theory in blockchain | |
Fan et al. | Hybrid blockchain-based resource trading system for federated learning in edge computing | |
Wang et al. | When energy trading meets blockchain in electrical power system: The state of the art | |
Thakur et al. | Distributed double auction for peer to peer energy trade using blockchains | |
WO2018049713A1 (zh) | 一种基于区块链技术一致性算法的数据管理方法及*** | |
Thukral | Emergence of blockchain-technology application in peer-to-peer electrical-energy trading: A review | |
Zhang et al. | Incentive mechanism for proximity-based mobile crowd service systems | |
Ni et al. | Economic power transaction using coalitional game strategy in micro‐grids | |
CN109447740A (zh) | 无线电频谱资源交易方法、可读存储介质和终端 | |
CN109409890B (zh) | 一种基于区块链的电力交易***及方法 | |
US20120317034A1 (en) | Transparent virtual currency using verifiable tokens | |
CN109472664A (zh) | 无线电频谱资源交易*** | |
CN108734565A (zh) | 一种征信分实时调整处理方法、装置及处理服务器 | |
CN110011974A (zh) | 区块链的记账方法、装置、终端和计算机可读存储介质 | |
KR20180115398A (ko) | 피투피 기반 전력거래 중개 시스템 및 방법 | |
CN110599145B (zh) | 一种基于智能合约的数据处理方法、装置以及存储介质 | |
CN109003129B (zh) | 一种基于物联网金融区块链的营销方法及*** | |
Saxena et al. | Blockchain based transactive energy systems for voltage regulation in active distribution networks | |
JP2018049428A (ja) | ポイント管理システム、及びポイント管理方法 | |
Meijers et al. | Cost-effective blockchain-based iot data marketplaces with a credit invariant | |
CN111861661A (zh) | 一种电动汽车充电交易方法及装置 | |
Karandikar et al. | Transactive energy on hyperledger fabric | |
CN111582864A (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 |