CN114978650A - 一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法 - Google Patents
一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法 Download PDFInfo
- Publication number
- CN114978650A CN114978650A CN202210525842.3A CN202210525842A CN114978650A CN 114978650 A CN114978650 A CN 114978650A CN 202210525842 A CN202210525842 A CN 202210525842A CN 114978650 A CN114978650 A CN 114978650A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- consensus
- reputation value
- reputation
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- 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
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Hardware Redundancy (AREA)
Abstract
针对高度并行的网络设备和频繁的数据交换使通信开销过大的问题,本发明提出了一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法。可验证随机函数对参与节点进行初步选择,实现减少共识过程节点参与数量的目标。同时,筛选过程考虑节点的信誉值,从而保证所选节点的可靠性。本发明针对传统PBFT算法中恶意节点或低可信度节点与其他节点拥有相同的被选概率,且共识算法缺少对节点可信程度的评估过程,使得节点过程存在安全漏洞等问题,提出了基于节点行为的信誉评估机制。从多维度考虑节点的行为和角色,建立基于节点行为的共识节点信誉值评估机制,同时建立基于节点信誉值的不可信节点剔除机制,进一步保障共识过程的可靠性。
Description
技术领域
本发明涉及适用于分布式系统的区块链共识方法,特别涉及一种基于信誉值和可验证随机函数的共识算法。
背景技术
随着物联网,大数据等技术的进一步发展,网络系统中接入的设备成千上万。海量的数据和智能化应用正在以前所未有的速度填充着人们的生活,物联网技术逐步被广泛应用到健康医疗、教育、交通、金融等不同的领域。在互联网时代,隐私保护就已经受到国内外研究者和产业界人士的高度重视;但是在物联网中,隐私安全又面临新的问题和挑战,其中最关键的就是物联网中无处不在的终端设备,并由此带来的超强的信息捕捉、获取和共享能力。中心化的系统和应用,随着数据量的增多和用户需求的提升,尤其是各种安全问题的频发。人们越来越意识到,传统中心化系统管理方式存在安全等级低、不够高效、设备间互信困难的问题。整个系统对于中心机构过于依赖,一旦中心化机构遭遇故障或恶意攻击,极可能会导致系统的局部瘫痪或整体无法运行,进而可能引起数据窃取、篡改或泄露的信息安全隐患。
因此,急需一种既能满足数据量和用户需求增多的可扩展需求,又能保障数据和用户隐私安全的新技术。近年来,电子货币得到广泛关注。区块链技术也逐渐走入人们的视野。区块链技术的出现给传统中心化系统的升级带来了新的方向与动力,其去中心化的账本技术可以有效保证交易数据的安全性,分布式一致性又能使得系统数据达到全网统一,防止恶意用户的篡改与破坏。
而区块链系统是否能高效地达成共识是决定其性能好坏的重要指标。随着区块链的发展,出现了许多共识机制,其中主要分为证明类以及具有容错性的拜占庭容错类。由于分布式系统中节点之间互不了解,受到利益驱使产生大量拜占庭节点。这些恶意节点会主动向其他节点发送错误信息,因此有必要使用具有拜占庭容错能力的共识机制。实用拜占庭容错(Practical Byzantine fault tolerance,PBFT)算法能够让区块链完全脱离链上代币的奖励机制,且不需要大量算力来维护,因此在分布式系统中得到了应用。PBFT算法的核心理论是n≥3f+1。其中,n是系统中的总节点数,f是允许出现故障的节点数。也就是说,如果这个系统允许出现f个故障,那么这个系统必须有n个节点,才能解决故障。PBFT模型下,有一个节点会被当做主节点,而其他节点都是备份节点(副本节点)。系统内的所有节点都会相互通信,旨在实现节点能以少数服从多数的原则达成数据的共识。而所有节点间的相互通信意味着大量信息的交互以及较高的通信开销。不仅在一定程度上降低了系统的吞吐量,还导致算法不适用于节点数量过大的区块链,扩展性差。其计算效率依赖于参与协议的节点数量,由于每个副本节点都需要和其它节点进行点对点的共识同步,因此随着节点的增多,性能会下降的很快。另外,PBFT存在视图切换随机选取主节的安全漏洞以及共识节点较多时共识效率变低的问题。现有对PBFT算法进行改进的研究,大多基于节点分组或随机选择节点参与共识。在一定程度上降低了共识算法的时空开销,但同时不能保证节点选取过程中的安全性以及数据质量。
综上所述,目前存在的用于分布式系统的区块链共识方法存在以下问题:
(1)在分布式协作环境中,传统高度并行的网络设备和频繁的数据交换使得通信开销过大,共识过程的效率较低。
(2)选取部分节点参与的改进PBFT共识算法无法保证共识选取过程的安全性。随机选取节点过程存在安全漏洞,无法进行选取过程的验证。
(3)传统PBFT算法中恶意节点或低可信度节点与其他节点拥有相同的被选概率。共识算法缺少对节点可信程度的评估。
发明内容
本发明结合分布式系统中高并行性、低响应时间等需求,针对传统区块链共识算法存在通信开销过大、共识效率较低等问题,讨论降低实用拜占庭共识算法时间复杂度的研究思路与方向。本发明提出一种将信誉值与可验证随机函数相结合的改进实用拜占庭共识算法。在很大程度上降低恶意节点被选的概率,同时保证共识选取过程的安全性和可验证性。
本发明所采用的技术方案如下:
一种基于信誉评估和可验证随机函数的改进实用拜占庭容错算法,包括以下部分:
A.建立基于节点行为的共识节点信誉值评估机制;
B.建立基于节点信誉值的不可信节点剔除机制;
C.建立基于信誉值和可验证随机函数的改进实用拜占庭容错算法。
部分A中,所述的基于节点行为的共识节点信誉值评估机制,针对基于区块链的分布式系统中,参与节点复杂多样、安全性无法保障的问题而提出。节点的信誉值主要取决于系统中依法生的节点行为。为了减少系统开销,节点信任值的计算仅涉及一维向量运算,从而适用于通信开销较大的分布式系统。节点信誉值主要涉及节点的直接信任度和间接信任度。其中,直接信任度的计算基于节点的直接交互节点集合。以节点A为例,A的直接交互节点集合即为其在拓扑图上直接相连并出现过交互行为的节点组成的集合。间接信任度的计算是基于节点的间接交互节点集合,考虑节点A与其非直接交互节点通信时所通过的各个中间节点。具体来说,假设集合Φ={α1,α2,α3,...,αm}为节点A的直接交互节点集合,则A的直接信任度的计算方式如下:
其中,STi为节点i的信誉值,ni为节点i与节点A的交互次数。可以看出,节点直接信任度的计算与其历史交互行为以及直接相连节点的信誉值直接相关。假设集合Ω={β1,β2,β3,...,βt}为节点A的非直接交互节点集合。节点A的间接信任度的计算方式如下:
最终,A节点的信誉值根据以下公式计算:
STA=γ×DTA+(1-γ)×ITA
部分B中,所述的基于节点信誉值的不可信节点剔除机制用于降低恶意节点参与共识过程的可能性。传统PBFT算法中主节点的选取存在安全漏洞。同时共识节点较多时共识效率变低的问题也依旧存在。为了降低选出的主节点为拜占庭节点的概率,本发明提出的改进PBFT算法在完成部分A中的信誉值评估后,将降低行为异常节点的信誉值,使其无法加入共识过程,从而有效剔除系统中的不可信节点参与。
部分C中,所述的基于信誉值和可验证随机函数的改进实用拜占庭容错算法,将部分A与部分B加入至实用拜占庭容错算法的应用之中,另外使用可验证随机函数(Verifiable Random Function,VRF)进行共识节点的选取。随着VRF的加入,PBFT在可扩展性和安全性方面有了新的突破。总体而言,该共识算法分为两个步骤:第一步,随机选择生成区块。第二,形成共识的过程。其中,随机选择是利用VRF算法。具体来说,首先为每轮选举生成随机种子。除了第一轮的随机生成外,当前轮的种子是前一轮种子的VRF和轮数的随机结果。
<hash,π>=VRFSK(seed||role)
其中,role值来源于部分A中计算得出的信誉值。即在随机选举过程中,因信誉值过低而被标注的恶意节点将无法参与。共识需要在每一轮中由数量少得多的随机选择的委员会达成,而不是由网络上的所有用户参与。每个用户都持有一个私钥SK,并公开其身份验证公钥PK。当阈值m不在区间(u1,u2)内时,用户将执行以下操作,以确定其是否已被选中参与产生区块的委员会。其中,参数u1,u2的计算公式如下:
其中,j是从0开始增加的整数,p是投票过程获得的票数值所占的比例。分布多项式B(k;w,p)计算相应哈希数的比率,其中所选的间隔是j的最后一个值。节点的角色索引分为投票者和块生产者。两者都是通过VRF根据信用值随机选择的,从而确保了分散性和可验证性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对发明内容中所需要使用的附图作简要地介绍。
图1是本发明提出的共识方法所应用的场景架构图,即基于区块链的分布式分布式系统架构图。
图2是系统中一个节点的直接交互节点集合和非直接交互节点集合示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明实施方式作进一步地详细描述。
实施例:
本实例的基础在于,建立待测定的区块链网络,确定其中的节点总数,并随机设定其中15%的节点为拜占庭节点。实验中设定每个节点的内存容量为5MB,其中包含1MB的节点自身源信息。另外,建立区块链网络时应尽可能选取包含较多类型拓扑的网络。在特定时间范围内通过Java程序运行共识算法。
对比实验1是使用本发明设计的改进拜占庭容错算法,并在实例的基础设置上进行测试。
对比实验2是使用传统的拜占庭容错算法PBFT,并在实例的基础设置上进行映测试。
对比实验3是使用分组改进拜占庭容错算法GPBFT算法,并在实例的基础设置上进行测试。
经过3个实验,三种方案的对比,采用本发明设计的共识算法的区块链系统的性能指标,在创建区块时间、共识效率以及吞吐量方面表现最佳。其在安全性方面也表现良好。
Claims (4)
1.一种基于信誉值和可验证随机函数的改进拜占庭容错算法,包括以下部分:
A、建立基于节点行为的共识节点信誉值评估机制;
B、建立基于节点信誉值的不可信节点剔除机制;
C、建立基于信誉值和可验证随机函数的改进实用拜占庭容错算法。
2.根据权利要求1所述的基于节点行为的共识节点信誉值评估机制,其特征在于,所述的部分A中,所述的节点信誉值评估机制包括两个方面,分别是:节点的直接信任度和间接信任度;其中,直接信任度的计算基于节点的直接交互节点集合的信誉值,间接信任度的计算是基于节点的间接交互节点集合的间接信任度。
3.根据权利要求1所述的基于节点信誉值的不可信节点剔除机制,其特征在于,所述的部分B中,基于节点信誉值的不可信节点剔除机制是指:本发明提出的改进PBFT算法在完成部分A中的信誉值评估后,将降低行为异常节点的信誉值,使其无法加入共识过程,从而有效剔除系统中的不可信节点参与。
4.根据权利要求1所述的基于信誉值和可验证随机函数的改进实用拜占庭容错算法,其特征在于,所述的部分C中,所述的基于信誉值和可验证随机函数的改进实用拜占庭容错算法是指:通过可验证随机函数VRF根据信誉值随机选择参与共识过程的节点,确保节点选择的分散性和可验证性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210525842.3A CN114978650A (zh) | 2022-05-16 | 2022-05-16 | 一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210525842.3A CN114978650A (zh) | 2022-05-16 | 2022-05-16 | 一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114978650A true CN114978650A (zh) | 2022-08-30 |
Family
ID=82982987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210525842.3A Pending CN114978650A (zh) | 2022-05-16 | 2022-05-16 | 一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978650A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115633035A (zh) * | 2022-12-07 | 2023-01-20 | 长春大学 | 一种基于改进的pbft物联网区块链共识算法 |
-
2022
- 2022-05-16 CN CN202210525842.3A patent/CN114978650A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115633035A (zh) * | 2022-12-07 | 2023-01-20 | 长春大学 | 一种基于改进的pbft物联网区块链共识算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784346B (zh) | 一种基于信誉值的pbft共识系统及方法 | |
Li et al. | An optimized byzantine fault tolerance algorithm for consortium blockchain | |
Li et al. | A scalable multi-layer PBFT consensus for blockchain | |
Panda et al. | Study of blockchain based decentralized consensus algorithms | |
Maniatis et al. | Preserving peer replicas by rate-limited sampled voting | |
Frahat et al. | Secure and scalable trust management model for IoT P2P network | |
CN111131209A (zh) | 一种改进的高效共识方法、系统、计算机设备及存储介质 | |
CN114626547A (zh) | 一种基于区块链的群组协同学习方法 | |
CN109450685B (zh) | 一种基于局部链节点离线的共识方法及节点 | |
Gao et al. | A blockchain peer-to-peer energy trading system for microgrids | |
CN114978650A (zh) | 一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法 | |
Xu et al. | Improved PBFT algorithm based on vague sets | |
Cason et al. | Gossip consensus | |
Huang et al. | Workload-based randomization byzantine fault tolerance consensus protocol | |
Liu et al. | A trusted proof mechanism of data source for smart city | |
Zhai et al. | BPKI: A secure and scalable blockchain-based public key infrastructure system for web services | |
Yang et al. | Private information retrieval in the presence of malicious failures | |
Meling et al. | When you don't trust clients: Byzantine proposer fast paxos | |
Tang et al. | TP-PBFT: A Scalable PBFT Based On Threshold Proxy Signature for IoT-Blockchain Applications | |
Guo et al. | A location-based and hierarchical framework for fast consensus in blockchain networks | |
CN115099421A (zh) | 面向群组的联邦学习系统 | |
Sun et al. | Mosaic-a blockchain consensus algorithm based on random number generation | |
Deng et al. | PSSC: Practical and Secure Sidechains Construction for Heterogeneous Blockchains Orienting IoT | |
Kamel et al. | Distributed data validation network in IoT: a decentralized validator selection model | |
CN111858768A (zh) | 一种优化区块链可信节点与共识算法的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |