CN111190831A - 区块链共识算法的鲁棒性分析方法及区块链*** - Google Patents
区块链共识算法的鲁棒性分析方法及区块链*** Download PDFInfo
- Publication number
- CN111190831A CN111190831A CN202010002243.4A CN202010002243A CN111190831A CN 111190831 A CN111190831 A CN 111190831A CN 202010002243 A CN202010002243 A CN 202010002243A CN 111190831 A CN111190831 A CN 111190831A
- Authority
- CN
- China
- Prior art keywords
- robustness
- block chain
- block
- consensus algorithm
- time delay
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种区块链共识算法的鲁棒性分析方法及区块链***,包括以下步骤:将区块链***的节点作为点,区块状态作为线,区块链性能作为面;定义区块链中共识算法的鲁棒性参数;分类并分析区块链中共识算法的鲁棒性参数;建立鲁棒性分析模型。本发明通过节点、区块状态和区块链性能方面的区块链参数,分析共识算法的鲁棒性,可以更广泛地应用于区块链项目,评估出实现共识的最优方法,验证算法的可用性、活跃性、容错性等特点。
Description
技术领域
本发明涉及一种区块链共识算法的鲁棒性分析方法及区块链***,属于区块链技术领域。
背景技术
区块链技术正推动新一代信息技术产业的发展,而共识机制可以说是区块链的核心,它以去中心化的思想解决了节点间互相信任的问题。这种共识算法帮助区块链降低了信任的建立成本,实现了价值互联网。共识算法中最为广泛使用的是PoW(Proof of Work,工作量证明)共识机制。PoW共识机制应用于比特币和以太坊,目标是一致性和有效性,即所有诚实节点所保存的交易历史完全相同,由诚实节点发布的消息终将被所有其他诚实节点记录到自己的区块链中。
由于分布式***本身存在的异构性、网络时延等特征,区块链共识算法的鲁棒性分析也一直是一个关键问题。鲁棒性即稳健性,指***在一定(结构和大小)的参数摄动下,维持其它某些性能的特性。在区块链***中,鲁棒性的分析具体表现为对总时延、吞吐量、分叉高度差的分析。为了实现共识往往需要验证算法的可用性、活跃性、容错性等特点,合理考虑容错性、分叉高度、总算力、出块时间、出块大小、吞吐量、时延、网络平均时延等影响算力的因素。
有鉴于此,确有必要提出一种区块链共识算法的鲁棒性分析方法及区块链***,以解决上述问题。
发明内容
本发明的目的在于提供一种区块链共识算法的鲁棒性分析方法及区块链***,通过节点、区块状态和区块链性能方面的区块链参数,分析共识算法的鲁棒性。
为实现上述目的,本发明提供了一种区块链共识算法的鲁棒性分析方法,包括以下步骤:
步骤1、将区块链***的节点作为点,区块状态作为线,区块链性能作为面;
步骤2、定义区块链中共识算法的鲁棒性参数;
步骤3、分类并分析区块链中共识算法的鲁棒性参数;
步骤4、建立鲁棒性分析模型。
可选的,步骤1中,通过SHA256哈希算法对区块中的数据和随机数进行运算,并通过默克尔树进行快速定位修改。
可选的,所述鲁棒性参数包括容错性、分叉高度差、总算力、出块时间、区块大小、吞吐量、时延和网络平均时延。
可选的,所述鲁棒性参数通过节点、区块状态和区块链性能方面进行分类分析。
可选的,从节点方面分析容错性和分叉高度差。
可选的,从区块状态方面分析总算力、出块时间和区块大小。
可选的,从区块链性能方面分析吞吐量、时延和网络平均时延,以衡量分布式账本技术可延伸性及性能。
可选的,所述步骤4具体为:针对所述节点、区块状态和区块链性能验证鲁棒性,测出总时延、吞吐量和分叉高度差,确定鲁棒性的数值最大时鲁棒性最好。
可选的,所述鲁棒性公式为Y=1/t+TPS+h,
其中,总时延t=t1+t2,t1为时延,t2为网络平均时延,TPS为吞吐量,h为分叉高度差。
为实现上述目的,本发明还提供了一种区块链***,所述区块链***使用了上述的区块链共识算法的鲁棒性分析方法。
本发明的有益效果是:本发明通过节点、区块状态和区块链性能方面的区块链参数,分析共识算法的鲁棒性,可以更广泛地应用于区块链项目,评估出实现共识的最优方法,验证算法的可用性、活跃性、容错性等特点。
附图说明
图1为本发明区块链共识算法的鲁棒性分析方法的流程图。
图2为本发明共识机制的示意图。
图3为本发明鲁棒性分析模型。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,本发明揭示了一种区块链共识算法的鲁棒性分析方法,包括以下步骤:
步骤1、将区块链***的节点作为点,区块状态作为线,区块链性能作为面;
步骤2、定义区块链中共识算法的鲁棒性参数;
步骤3、分类并分析区块链中共识算法的鲁棒性参数;
步骤4、建立鲁棒性分析模型。
以下将对步骤1-步骤4进行详细说明。
如图2所示,在步骤1中,根据区块链***的点、线、面的特点演示共识算法,即将节点作为点,区块状态作为线,区块链性能作为面。将诚实节点和恶意节点纳入区块,恶意节点的攻击会造成分叉链,通过SHA256哈希算法对区块中的数据和随机数进行运算,并通过默克尔树进行快速定位修改。运算完成并通过验证后,在当前区块上生成时间戳以确定区块间的时间间隔,继续挖矿以产生下一个区块。
步骤2中,共识算法在计算的过程中会生成一些参数,这就要求对这些参数分析区块链共识算法的鲁棒性。以下将对区块链中共识算法的鲁棒性参数进行说明。
容错性s:恶意节点占总算力的比值,即***正常时运行节点的安全阈值。
分叉高度差h:主链与分叉链之间的高度差,即恶意节点攻击后使区块分叉后的链差距。
总算力:指计算机对交易执行哈希运算,求得正确的数值解以生成区块的能力,即挖矿能力。
出块时间t0:在每笔交易时产生区块后标有时间戳,根据时间戳确定的前一个区块和后一个区块的间隔时间。
区块大小gaslimit:限定在在每个区块存储的字节数,即每个区块容纳的交易数量,其中单笔交易消耗为gas。
吞吐量TPS:交易数据处理的速度,即每秒可以处理多少个交易。
时延t1:在发送一笔交易信息时,信息发送到确认的时间,包括发送和接收产生的时延。
网络平均时延t2:带宽一定时,网络拥堵等网络故障的平均时间。
步骤3中,对区块链***中算力共识机制过程的鲁棒性参数进行分类分析,考查这些参数的相互关系。即针对这些参数进行分类并详细分析。
从节点方面分析,可以考查容错性s和分叉高度差h。对于容错性,从内因的角度分析,***正常运行时可以通过在***中设置一个阈值来控制工作节点的比例;从外因的角度分析,在***中,恶意节点发动连续攻击,使网络的分叉持续下去,否则***将通过最长链同步算法迅速消除分叉,分叉之间的差距不会超过1个区块高度。因此,需要验证***拥有节点数的安全阈值s以及导致的分叉高度差h。当不诚实算力具一定规模,在超过51%甚至超过50%的时候,比特币的共识算法并不能保证鲁棒性。
从区块状态方面分析,考虑总算力、出块时间和区块大小等因素。总算力是矿工通过大量的随机数并对区块数据和随机数进行SHA256哈希运算,最终得出区块大小,验证有效后进行挖下一个区块,所产生的出块时间t0与区块大小gaslimit共同影响共识算法的鲁棒性。
从区块链性能方面分析,吞吐量、时延及网络平均时延是分布式账本技术可延伸性及性能的一般衡量标准。大多数分布式账本技术对数据量或场的个数不实施限制,然而有些实施受到有效载荷或元数据大小的限制。随着更多的节点被添加进网络,很多分布式账本技术的性能(主要是时延及吞吐量)因规模越来越大而受到负面影响。因此,需要验证基于算力证明的共识算法所能承受的数据吞吐量TPS。***应该能容忍正常节点出错,这些错误主要是指服务器宕机、硬件错误、网络拥塞等,而带宽有一定的限制,这就导致了一定的网络平均时延t2。这就要求通过吞吐量TPS、时延t1和网络平均时延t2对区块链的性能进行鲁棒性分析。
步骤4中,针对所述节点、区块状态和区块链性能验证鲁棒性,测出总时延、吞吐量和分叉高度差,确定鲁棒性的数值最大时鲁棒性最好。
如图3所示,根据上述参数的分析建立鲁棒性分析模型,假设节点数为n,其中恶意节点为n1,得到容错性s=n1/n;总时延t=t1+t2,网络分叉的主链、分叉链分别为L、L0,分叉高度差h=L-L0,进行哈希运算得到区块大小gaslimit,吞吐量TPS=(gaslimit/gas)/t0,最后可以得到鲁棒性Y=1/t+TPS+h。显然,当总时延t最小,吞吐量TPS最大,分叉高度差h最大时,鲁棒性最好。
在另一个实施例中,本发明还提供了一种使用区块链共识算法的鲁棒性分析方法的区块链***。
综上所述,本发明通过节点、区块状态和区块链性能方面的区块链参数,分析共识算法的鲁棒性,可以更广泛地应用于区块链项目,评估出实现共识的最优方法,验证算法的可用性、活跃性、容错性等特点。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种区块链共识算法的鲁棒性分析方法,其特征在于,包括以下步骤:
步骤1、将区块链***的节点作为点,区块状态作为线,区块链性能作为面;
步骤2、定义区块链中共识算法的鲁棒性参数;
步骤3、分类并分析区块链中共识算法的鲁棒性参数;
步骤4、建立鲁棒性分析模型。
2.根据权利要求1所述的区块链共识算法的鲁棒性分析方法,其特征在于:步骤1中,通过SHA256哈希算法对区块中的数据和随机数进行运算,并通过默克尔树进行快速定位修改。
3.根据权利要求1所述的区块链共识算法的鲁棒性分析方法,其特征在于:所述鲁棒性参数包括容错性、分叉高度差、总算力、出块时间、区块大小、吞吐量、时延和网络平均时延。
4.根据权利要求3所述的区块链共识算法的鲁棒性分析方法,其特征在于:所述鲁棒性参数通过节点、区块状态和区块链性能方面进行分类分析。
5.根据权利要求4所述的区块链共识算法的鲁棒性分析方法,其特征在于:从节点方面分析容错性和分叉高度差。
6.根据权利要求4所述的区块链共识算法的鲁棒性分析方法,其特征在于:从区块状态方面分析总算力、出块时间和区块大小。
7.根据权利要求4所述的区块链共识算法的鲁棒性分析方法,其特征在于:从区块链性能方面分析吞吐量、时延和网络平均时延,以衡量分布式账本技术可延伸性及性能。
8.根据权利要求3所述的区块链共识算法的鲁棒性分析方法,其特征在于,所述步骤4具体为:针对所述节点、区块状态和区块链性能验证鲁棒性,测出总时延、吞吐量和分叉高度差,确定鲁棒性的数值最大时鲁棒性最好。
9.根据权利要求1所述的区块链共识算法的鲁棒性分析方法,其特征在于:所述鲁棒性公式为
Y=1/t+TPS+h,
其中,总时延t=t1+t2,t1为时延,t2为网络平均时延,TPS为吞吐量,h为分叉高度差。
10.一种区块链***,其特征在于,所述区块链***使用权利要求1-9所述的区块链共识算法的鲁棒性分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010002243.4A CN111190831B (zh) | 2020-01-02 | 2020-01-02 | 区块链共识算法的鲁棒性分析方法及区块链*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010002243.4A CN111190831B (zh) | 2020-01-02 | 2020-01-02 | 区块链共识算法的鲁棒性分析方法及区块链*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190831A true CN111190831A (zh) | 2020-05-22 |
CN111190831B CN111190831B (zh) | 2022-09-20 |
Family
ID=70710641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010002243.4A Active CN111190831B (zh) | 2020-01-02 | 2020-01-02 | 区块链共识算法的鲁棒性分析方法及区块链*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190831B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813852A (zh) * | 2020-05-29 | 2020-10-23 | 上海申铁信息工程有限公司 | 一种区块链网络的分叉控制方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947740A (zh) * | 2019-01-25 | 2019-06-28 | 北京邮电大学 | 区块链***的性能优化方法及装置 |
CN110113229A (zh) * | 2019-05-01 | 2019-08-09 | 中央财经大学 | 一种区块链基准性能测试***和工具 |
-
2020
- 2020-01-02 CN CN202010002243.4A patent/CN111190831B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947740A (zh) * | 2019-01-25 | 2019-06-28 | 北京邮电大学 | 区块链***的性能优化方法及装置 |
CN110113229A (zh) * | 2019-05-01 | 2019-08-09 | 中央财经大学 | 一种区块链基准性能测试***和工具 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813852A (zh) * | 2020-05-29 | 2020-10-23 | 上海申铁信息工程有限公司 | 一种区块链网络的分叉控制方法和装置 |
CN111813852B (zh) * | 2020-05-29 | 2023-12-01 | 上海申铁信息工程有限公司 | 一种区块链网络的分叉控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111190831B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110869967B (zh) | 用于并行处理区块链交易的***和方法 | |
CN110278211B (zh) | 一种基于区块链的数据检验方法及装置 | |
CN109542888B (zh) | 区块链的数据修改和同步方法、装置、设备及存储介质 | |
US20140298034A1 (en) | Data authenticity assurance method, management computer, and storage medium | |
CN108011741B (zh) | 用于模拟和测试分布式网络的区块链的方法和*** | |
CN110120936B (zh) | 基于区块链的分布式网络攻击检测和安全测量***及方法 | |
Hari et al. | Accel: Accelerating the bitcoin blockchain for high-throughput, low-latency applications | |
CN108989052A (zh) | 交易请求处理方法及*** | |
Tian et al. | A byzantine fault-tolerant raft algorithm combined with Schnorr signature | |
CN111478795A (zh) | 一种基于混合拜占庭容错的联盟区块链网络共识方法 | |
US20230344658A1 (en) | Methods and devices for secure symbiotic mining | |
CN111190831B (zh) | 区块链共识算法的鲁棒性分析方法及区块链*** | |
CN111555860B (zh) | 一种区块链节点共识方法、装置、电子设备及存储介质 | |
CN113326332B (zh) | 一种区块链的快照同步方法及装置 | |
Fang et al. | Pelopartition: Improving blockchain resilience to network partitioning | |
Na et al. | A derivative PBFT blockchain consensus algorithm with dual primary nodes based on separation of powers-DPNPBFT | |
CN111865595A (zh) | 一种区块链的共识方法及装置 | |
Adewumi et al. | Inner for-loop for speeding up blockchain mining | |
WO2023045962A1 (zh) | 一种抗并行攻击的轻量化区块链*** | |
CN110570309A (zh) | 用于更换区块链网络的领导者的方法和*** | |
Zhang et al. | Secure collaborative learning in mining pool via robust and efficient verification | |
CN110443616B (zh) | 基于随机门限签名机制的拜占庭容错共识方法 | |
CN110177003B (zh) | 工业传感器网络中基于区块链技术的数据验证方法 | |
CN113592656A (zh) | 联盟链交易同步优化方法、计算机可读介质和电子设备 | |
Oliveira et al. | Building a bitcoin miner on an FPGA |
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 |