风险提示:理性看待区块链,提高风险意识!

区块链共识算法是什么?

2个回答

小钻风7星评价

2020-04-22 15:52:00

区块链共识算法是什么?

在加密货币领域中,共识算法是每个区块链网络的关键要素,它们负责维护这些分布式系统的完整性和安全性。第一个被创建出的加密货币共识算法是工作量证明(PoW),它由中本聪设计并在比特币上实现,用于实现拜占庭容错。

共识算法

共识算法可以被定义为使区块链网络达成共识的机制。公共(去中心化的)区块链是作为分布式系统来构建的,由于它们不依赖于一个中央权威,因此分散的节点需要就交易的有效与否达成一致。这就是共识算法发挥作用的地方,确保所有节点都遵守协议规则并保证所有交易都以可靠的方式进行,即每个货币都只能花一次。

在深入研究不同类型的共识算法之前,先了解算法和协议之间的差异非常重要。

共识算法与协议

算法和协议作为术语经常会被互换使用,但它们并非同一回事。简单来说,我们可以将协议定义为区块链的主要规则,而将算法定义为遵循这些规则的机制。

除了金融系统中的广泛应用,区块链技术还可以应用于各种各样的业务,并且可以适用于不同的用例。但无论什么情景,区块链网络都将建立在一个协议之上,该协议将定义系统应该如何工作,因此系统的所有不同部分和网络的所有参与者都需要遵循规则。

虽然协议确定了规则是什么,但算法告诉系统采取哪些步骤来遵守这些规则并最终产生所需的结果。例如,区块链的共识算法决定了交易和区块的有效性。因此,比特币和以太坊是协议,而工作量证明和权益证明是它们的共识算法。

进一步来说,比特币协议定义了节点间应如何交互,数据应如何在它们之间传输,以及区块验证成功的要求是什么。另一方面,公式算法负责负责验证余额和签名,确认交易,以及实际执行区块验证 - 所有这些都取决于网络共识。

不同类型的共识算法

有几种类型的共识算法。最常见的是工作量证明(PoW)和权益证明(PoS)。在尝试平衡安全性与功能性和可扩展性时,每个方案都有各自的优缺点。

工作量证明(PoW)

工作量证明是第一个被建立的共识算法。它被比特币和许多其他加密货币所采用。工作量证明算法是挖矿过程的重要组成部分。

工作量证明挖矿涉及到大量哈希(算力)的(挖矿)尝试,因此更多的算力意味着每秒更多的尝试。换句话说,哈希率的矿工有更多机会找到下一个区块(也叫做块哈希)的解。如果网络的分布式节点达成共识并且确认矿工提供的块哈希是有效的工作证明,则工作量证明共识算法确保该矿工仅能够验新区块里的交易并将其添加到区块链。

权益证明(PoS)

作为工作量证明的替代方案,权益证明共识算法在2011年被提出。尽管工作量证明和权益证明有着相同的目标,但它们存在根本的差异性特殊性。特别是验证新块的过程。

简单来说,权益证明共识算法用一种机制来取代工作量证明的挖矿,期中区块根据参与者的质押的币而验证。每个区块的验证者(也称为铸造者或者铸币者)由本身的加密货币投资决定,而不是分配的算力数量。每个权益证明系统可以以不同的方式来实现该算法,但是通常来说,区块链由随机的选举过程保护,该过程考虑了节点的财富、币龄(币被锁定或者是质押的时间)以及随机因素。

以太坊区块链目前基于工作量共识算法,但是最终Casper协议将被推出以将网络从工作量共识切换到权益共识,以尝试增加网络的可扩展性。

为什么共识算法对于加密货币至关重要

就如同前面所说,共识算法对于维护加密货币网络的完整性和安全性至关重要。它们提供了一种分布式节点就正确版本的区块链达成共识的方法。对当前的区块链状态达成共识对数字经济系统的正常运作至关重要。

工作量证明共识算法被认为是拜占庭将军问题的最佳解决方案之一,它可以将比特币创建为拜占庭容错系统。这意味着比特币对攻击具有很强的抵抗力,例如51%的攻击(或多数攻击)。不仅仅因为网络是去中心化的,而且还因为工作量证明算法。挖矿过程中涉及的高成本使矿工很难并且不太可能投入资源来破坏网络。


悠然玉兔5星评价

2020-04-22 15:52:39

区块链共识算法是什么?

共识机制就是用来解决分布式系统的一致性问题,其核心为在某个协议(共识算法)保障下,在有限的时间内,使得指定操作在分布式网络中是一致的、被承认的、不可篡改的。在区块链系统中,特定的共识算法用于解决去中心化多方互信的问题。

其实简单理解就是达成一致。现实生活中很多场景是需要达成一致的。区块链系统中,每个节点必须让自己的账本和其他节点的账本保持一致。而中心化世界里,这几乎不可能,因为有一个中心服务器存在。

共识算法有几类?

在区块链系统中,共识算法则通过经济利益的博弈,来鼓励对系统的贡献及提高不可信节点的作恶成本。常用算法如PoW、PoS、DPoS等,不同的算法,其实就是不同的游戏玩法。

PoW(Proof of Work,工作量证明)—主要代表:比特币所谓的比特币挖矿就是通过计算符合某一个比特币区块头的哈希散列值争夺记账权。这个过程需要通过大量的计算实现,简单理解就是你进行的计算量大(工作量大),你就有大概率获得记账权。包括:Bitcoin,Ethereum,Litecoin,Zcash。优点:随机性、公平性好;缺点:耗能。

PoS(Proof of Stake,权益证明)—主要代表:点点币简单理解就是根据资产的多寡分配获取记账权的概率,类似股份公司中的股东。包括:Ethereum-PoS,Tendermint,Algorand,EOS DPoS,DFINITY,VBFT。优点:攻击更昂贵,性能效率高;缺点:权利集中。

DPoS(Delegate Proof of Stake,委托权益证明)—主要代表:EOSPoS的改进,通过社区选举产生记账者,类似股份公司中的董事会。如:Steemit, EOS, bitshare优点:廉价的交易,可伸缩的;缺点:目前部分集中。

为适应不同的应用场景,区块链共识机制的研究集中于优化系统的可扩展性、运行效率、容错性等方面。在新兴的区块链方案中,会将各种共识机制结合使用,例如在分层/分片方案中,最上层的主链使用PoW机制以确保全局共识的有效性并用来对抗女巫攻击,而在相对小范围的分片中,使用PoS或者BFT算法来实现更高效率的共识。典型的案例包括未来引入基于校验器管理和约分片方案的以太坊以及Zilliqa等。尽管这些方案尚未落地验证,但他们代表了未来区块链设计的趋势。

共识算法发展历程:

从历史上看,共识算法起源于多处理器计算的研究;它们解决的是处理器可能出现故障(即变得无响应)时的全局状态问题。在这些情况下通信是同步的,即受一些已知的时间上限。

后来,随着电信和计算机网络的发展,出现了另外两个问题:未知的通信延迟和对手的存在。前者导致了部分新的研究同步和异步共识算法和创建算法可以容忍任意代理行为(拜占庭行为)——即所谓的拜占庭容错算法(或BFT共识)。

随着互联网的广泛应用,对手的问题变得更加严重。如果在多处理器环境或电信基础设施中可以识别每个代理,那么在Internet的许多情况下就不能这样做。因此,出现了一种新的公共(或无许可)共识,共识算法必须成为一种协议,其中嵌入了识别和排除拜占庭式代理的规则和程序——就像一些附带机制降低了此类代理进一步参与协议的经济能力一样。这种制度以POW 和POS的名义引起了公众的注意。我们将以经济激励(BFT- ei)命名这些协议。在许多情况下,异步性和无许可性要求牺牲其他共识品质,比如决定论或适用于领导人选举场景的能力。

共识算法应用:

通常,共识算法用于解决以下问题:

· 领袖选举(在所有共识参与者中选择代理人,有权更新系统的全球状态)

· 原子交换(不能根据事件的内部属性确定其顺序事件的确切顺序)

· 状态复制(维护所有或大多数代理共享的全局状态)

总体来说,主流共识算法逐渐由PoW转向PoS共识算法,出现POW和POS混合的趋势,POW的公平性和POS的效率得到融合补充。但即便是每种加密货币背后都有一种伟大的共识算法,没有一种共识算法是完美的,各有优缺点。随着区块链项目越来越多,而共识算法也会不断改进。