CN109903155A - Iift区块链共识算法 - Google Patents
Iift区块链共识算法 Download PDFInfo
- Publication number
- CN109903155A CN109903155A CN201910029552.8A CN201910029552A CN109903155A CN 109903155 A CN109903155 A CN 109903155A CN 201910029552 A CN201910029552 A CN 201910029552A CN 109903155 A CN109903155 A CN 109903155A
- Authority
- CN
- China
- Prior art keywords
- block
- node
- accounting nodes
- iift
- algorithm
- 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.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种IIFT区块链共识算法。在准备节点池中的准备节点,按照记账权重通过随机选择选出一个记账周期的二十一台记账节点;选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,主节点将产生的区块进行广播;在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;根据记账节点的验证情况,确定该区块中的交易是否被确认;当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线。本发明有效避免了POS或DPOS存在的“富豪统治”问题,有效鼓励了节点参与的热情,有效避免链分叉的风险,网路开销也被大大降低。
Description
技术领域:
本发明属于区块链技术领域,特别涉及一种IIFT区块链共识算法。
背景技术:
共识算法解决的是对某个提案(Proposal),大家达成一致意见的过程。它目前已经成为了区块链系统性能的关键瓶颈。单一的共识算法均存在各种问题,例如PoW算法存在消耗大量计算资源及性能低下的问题;PoS 或DPoS存在“富豪统治”问题;而有着完善理论证明的PBFT算法面临着广播带来的网络开销过大的问题。融合多种共识算法优势的想法正受到越来越广泛的关注。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容:
本发明的目的在于提供一种IIFT区块链共识算法,从而克服上述现有技术中的缺陷。
为实现上述目的,本发明提供了一种IIFT区块链共识算法,该算法应用于节点池中,其步骤为:
(1)在准备节点池中的准备节点,按照记账权重通过随机选择选出一个记账周期的二十一台记账节点;
(2)选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,主节点将产生的区块进行广播;
(3)在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;
(4)根据记账节点的验证情况,确定该区块中的交易是否被确认;
(5)当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线。
优选地,技术方案中,以准备节点拥有的权益币及准备节点在线时间为基础计算出每台准备节点的记账权重系数,单台准备节点的记账权重系数
其中I为节点权益币数量,∑(i)为总权益币数量,T为节点在线时间,∑(t) 为所有节点在线时间,α为权益币比重系数,β为在线时间比重系数。
优选地,技术方案中,准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点;参与一个记账周期后,被选上的准备节点的记账权重将被清零。
优选地,技术方案中,当一个记账周期结束后,按照同样的随机选择方式产生一定数量的记账节点代替上一个记账周期中相应数量的记账节点;在第四个记账周期开始时,第一个记账周期产生的记账节点全部被替换掉。
优选地,技术方案中,步骤2中的区块附带排序时产生的随机值和时间戳。
优选地,技术方案中,步骤4中区块一旦被三分之二的记账节点验证通过,则该区块成为不可逆区块并广播,该区块上所有交易被确认;每笔交易都附带最近区块的哈希特征值,检验用户是否在正确的链上,哈希值不正确交易不被接受。
优选地,技术方案中,当一个块周期内为产生区块,则下一个区块将包含上一个快周期内的所有交易。
优选地,技术方案中,IIFT区块链共识算法采用最长链即共识链的方案,一旦出现分叉,共识链方案将在记账周期结束时启动。
优选地,技术方案中,IIFT区块链共识算法还包括判断惩戒记账节点:规定时间内产生错误区块的节点将被判定为恶意节点,错误区块由超过三分之二的记账节点判定,恶意节点将在记账周期结束时受到安全委员会惩罚;规定时间内未产生区块的记账节点将被判定为故障节点,故障节点会在记账周期结束时被替换成准备节点。
优选地,技术方案中,一个记账周期内所有记账费用和权益币奖励由所有诚实记账节点平分。
与现有技术相比,本发明具有如下有益效果:
通过IIFT区块链共识算法有效避免了POS或DPOS存在的“富豪统治”问题。同时记账权重会增加被选择为记账节点的概率,有效鼓励了节点参与的热情。有效避免链分叉的风险,同时又不会像POW一样消耗大量计算机资源。每个时间点只有一个需要验证的合法区块,PBFT所需的巨大网路开销也被大大降低。
附图说明:
图1为本发明一种IIFT区块链共识算法的节点池原理示意图;
图2为本发明一种IIFT区块链共识算法记账周期流程示意图;
图3为本发明IFT区块链共识算法中利用TreeMap构造出的树形示意图。
具体实施方式:
下面对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
实施例1
如图1-2所示,一种IIFT区块链共识算法,该算法应用于节点池中,其步骤为:
(1)节点通过《安全委员会》验证硬件、地点及所有人,成为准备节点,加入准备节点池;
(2)以准备节点拥有的权益币及准备节点在线时间为基础计算出每台准备节点的记账权重系数,单台准备节点的记账权重系数
其中I为节点权益币数量,∑(i)为总权益币数量,T为节点在线时间,∑(t) 为所有节点在线时间,α为权益币比重系数,β为在线时间比重系数;准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点;参与一个记账周期后,被选上的准备节点的记账权重将被清零;这样能有效避免了POS或DPOS存在的“富豪统治”问题。同时记账权重会增加被选择为记账节点的概率,有效鼓励了节点参与的热情;
(3)选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,区块附带排序时产生的随机值和时间戳,主节点将产生的区块进行广播;这样可以有效避免链分叉的风险,同时又不会像POW 一样消耗大量计算机资源;
(4)在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;PBFT在这个时间段内可以有效保证所有节点上账本高度的一致性;并且每个时间点只有一个需要验证的合法区块,PBFT所需的巨大网路开销也被大大降低;
(5)区块一旦被三分之二的记账节点验证通过,则该区块成为不可逆区块并广播,该区块上所有交易被确认;每笔交易都附带最近区块的哈希特征值,检验用户是否在正确的链上,哈希值不正确交易不被接受;当一个块周期内为产生区块,则下一个区块将包含上一个快周期内的所有交易;
(6)规定时间内产生错误区块的节点将被判定为恶意节点,错误区块由超过三分之二的记账节点判定,恶意节点将在记账周期结束时受到安全委员会惩罚;规定时间内未产生区块的记账节点将被判定为故障节点,故障节点会在记账周期结束时被替换成准备节点;
(7)当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线,一个记账周期内所有记账费用和权益币奖励由所有诚实记账节点平分;按照同样的随机选择方式产生一定数量的记账节点代替上一个记账周期中相应数量的记账节点;在第四个记账周期开始时,第一个记账周期产生的记账节点全部被替换掉;
(8)当区块链出现分叉,共识结束,共识链方案将在记账周期结束时启动。
实施例2
一种IIFT区块链共识算法,其步骤中包括准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点。
从不同权重的N台准备节点中随机选择一个,并使得总体选择结果是按照权重分布。如有4台节点A、B、C、D,权重分别为1、2、3、4,随机结果中A:B:C:D的比例要为1:2:3:4。
设累加每个元素的权重A(1)-B(3)-C(6)-D(10),则4台节点的权重管辖区间分别为[0,1)、[1,3)、[3,6)、[6,10)。然后随机出一个[0,10)之间的随机数。落在哪个区间,则该区间之后的节点即为本轮记账节点。
利用TreeMap,则构造出如图3所示的树形图,然后,利用 treemap.tailMap().firstKey()即可找到目标元素。也可以利用数组+二分查找来实现。
4个节点A、B、C、D,其权重分别为1、2、3、4,运行1亿次,结果如下:
元素 | 命中次数 | 误差率 |
A | 10004296 | 0.0430% |
B | 19991132 | 0.0443% |
C | 30000882 | 0.0029% |
D | 40003690 | 0.0092% |
从结果,可以看出,准确率在99.95%以上。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (10)
1.一种IIFT区块链共识算法,该算法应用于节点池中,其步骤为:
(1)在准备节点池中的准备节点,按照记账权重通过随机选择选出一个记账周期的二十一台记账节点;
(2)选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,主节点将产生的区块进行广播;
(3)在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;
(4)根据记账节点的验证情况,确定该区块中的交易是否被确认;
(5)当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线。
2.根据权利要求1所述的IIFT区块链共识算法,其特征在于:以准备节点拥有的权益币及准备节点在线时间为基础计算出每台准备节点的记账权重系数,单台准备节点的记账权重系数
其中I为节点权益币数量,∑(i)为总权益币数量,T为节点在线时间,∑(t)为所有节点在线时间,α为权益币比重系数,β为在线时间比重系数。
3.根据权利要求2所述的IIFT区块链共识算法,其特征在于:准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点;参与一个记账周期后,被选上的准备节点的记账权重将被清零。
4.根据权利要求3所述的IIFT区块链共识算法,其特征在于:当一个记账周期结束后,按照步骤1中随机选择方式产生一定数量的记账节点代替上一个记账周期中相应数量的记账节点;在第四个记账周期开始时,第一个记账周期产生的记账节点全部被替换掉。
5.根据权利要求4所述的IIFT区块链共识算法,其特征在于:步骤2中的区块附带排序时产生的随机值和时间戳。
6.根据权利要求5所述的IIFT区块链共识算法,其特征在于:步骤4中区块一旦被三分之二的记账节点验证通过,则该区块成为不可逆区块并广播,该区块上所有交易被确认;每笔交易都附带最近区块的哈希特征值,检验用户是否在正确的链上,哈希值不正确交易不被接受。
7.根据权利要求6所述的IIFT区块链共识算法,其特征在于:当一个块周期内为产生区块,则下一个区块将包含上一个快周期内的所有交易。
8.根据权利要求7所述的IIFT区块链共识算法,其特征在于:IIFT区块链共识算法采用最长链即共识链的方案,一旦出现分叉,共识链方案将在记账周期结束时启动。
9.根据权利要求8所述的IIFT区块链共识算法,其特征在于:IIFT区块链共识算法还包括判断惩戒记账节点:规定时间内产生错误区块的节点将被判定为恶意节点,错误区块由超过三分之二的记账节点判定,恶意节点将在记账周期结束时受到安全委员会惩罚;规定时间内未产生区块的记账节点将被判定为故障节点,故障节点会在记账周期结束时被替换成准备节点。
10.根据权利要求9所述的IIFT区块链共识算法,其特征在于:一个记账周期内所有记账费用和权益币奖励由所有诚实记账节点平分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910029552.8A CN109903155A (zh) | 2019-01-14 | 2019-01-14 | Iift区块链共识算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910029552.8A CN109903155A (zh) | 2019-01-14 | 2019-01-14 | Iift区块链共识算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109903155A true CN109903155A (zh) | 2019-06-18 |
Family
ID=66943624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910029552.8A Pending CN109903155A (zh) | 2019-01-14 | 2019-01-14 | Iift区块链共识算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109903155A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348248A (zh) * | 2019-07-16 | 2019-10-18 | 山西智博睿星科技有限公司 | 一种区块链技术中分布式记账权生成方法 |
CN111368008A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN112954009A (zh) * | 2021-01-27 | 2021-06-11 | 咪咕音乐有限公司 | 区块链共识方法、设备及存储介质 |
CN113379539A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信集团设计院有限公司 | 基于区块链的委托权益证明共识方法及装置 |
CN113672987A (zh) * | 2021-09-06 | 2021-11-19 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN114900527A (zh) * | 2022-04-02 | 2022-08-12 | 中铁七局集团有限公司 | 一种基于区块链监测桥梁部位状态信息的方法 |
-
2019
- 2019-01-14 CN CN201910029552.8A patent/CN109903155A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348248A (zh) * | 2019-07-16 | 2019-10-18 | 山西智博睿星科技有限公司 | 一种区块链技术中分布式记账权生成方法 |
CN110348248B (zh) * | 2019-07-16 | 2023-07-21 | 山西智博睿星科技有限公司 | 一种区块链技术中分布式记账权生成方法 |
CN113379539A (zh) * | 2020-03-09 | 2021-09-10 | 中国移动通信集团设计院有限公司 | 基于区块链的委托权益证明共识方法及装置 |
CN113379539B (zh) * | 2020-03-09 | 2024-02-23 | 中国移动通信集团设计院有限公司 | 基于区块链的委托权益证明共识方法及装置 |
CN111368008A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
WO2021238514A1 (zh) * | 2020-05-27 | 2021-12-02 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
US11914579B2 (en) | 2020-05-27 | 2024-02-27 | Tencent Technology (Shenzhen) Company Limited | Blockchain-based data processing method and apparatus, device, and readable storage medium |
CN112954009A (zh) * | 2021-01-27 | 2021-06-11 | 咪咕音乐有限公司 | 区块链共识方法、设备及存储介质 |
CN113672987A (zh) * | 2021-09-06 | 2021-11-19 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN113672987B (zh) * | 2021-09-06 | 2023-09-05 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN114900527A (zh) * | 2022-04-02 | 2022-08-12 | 中铁七局集团有限公司 | 一种基于区块链监测桥梁部位状态信息的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109903155A (zh) | Iift区块链共识算法 | |
CN109727158B (zh) | 一种基于改进弱鲁棒优化的电热综合能源系统调度方法 | |
CN106357405A (zh) | 一种基于区块链技术一致性算法的数据管理方法及系统 | |
Simab et al. | Multi-objective programming of pumped-hydro-thermal scheduling problem using normal boundary intersection and VIKOR | |
CN108470276A (zh) | 一种采用代理记账的区块链共识方法 | |
CN110868434B (zh) | 一种多层分片架构的区块链共识方法及系统 | |
CN108600161A (zh) | 一种公平高效的区块链共识方法 | |
CN111078787B (zh) | 一种基于随机数映射的区块链共识方法 | |
CN111210144A (zh) | 一种面向电力现货市场的发电风险管理方法及系统 | |
CN109146320A (zh) | 一种考虑配电网安全性的虚拟电厂优化调度方法 | |
CN111314428A (zh) | 区块链节点的信誉评价方法及系统 | |
CN114399142A (zh) | 电力现货市场出清电价关键影响参数分析方法 | |
CN105226707A (zh) | 一种基于Shapley值风电并网系统输电固定成本的分摊方法 | |
CN114745131A (zh) | 一种区块链的pbft改进共识算法 | |
CN112926762B (zh) | 一种基于安全约束机组组合模型的出清方法及装置 | |
CN109919504A (zh) | 一种调峰辅助服务市场机制评估方法 | |
CN112087002B (zh) | 一种适用于两级调峰市场的火电机组调峰贡献量评估方法 | |
CN111490994B (zh) | 区块链节点群间dpos与节点群内pow结合的共识机制方法 | |
CN108833483A (zh) | 基于分组的dpos代理节点选择方法 | |
Welischa et al. | Uncovering bidder behaviour in the German PV auction pilot: insights from agent-based modeling | |
CN109948799B (zh) | 一种区块链的动态随机森林共识机制 | |
CN112085352A (zh) | 一种灵活性热电厂日前市场分时报价优化方法及系统 | |
Raj et al. | Evolutionary computing techniques for resolving load dispatch problem | |
CN109683634A (zh) | 一种燃煤电厂so2超标控制系统及其存储介质 | |
CN113672987B (zh) | PoW机制下分组式记账节点的选择方法及系统 |
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 |