区块链共识层:价值互联的一致性协议
由网络层设计逻辑可见,区块链作为典型的分布式账本,即使系统部分节点失效,区块数据的记录与更新并不会受影响。在这个过程中,如何在分布式系统中高效地达成共识则成为关键问题。参与者必须就合作规则达成一致,并同意使用这些规则来接受及记录交易。而这些都是区块链共识层的核心问题。
区块链百科No.45:区块链共识层
为什么需要共识
从最基本的层面上说,共识是一种让一个多样化团体在不发生冲突的情况下作出决策的方法。作为社会转的基础概念,共识如今已成为计算机科学的重要组成部分。
与社会系统中 “民主” 和 “集中” 的对立关系相似,在计算世界中,决策权越分散的系统达成共识的效率越低、但系统稳定性和满意度越高;而决策权越集中的系统更易达成共识,但同时更易出现专制和独裁。
过去30多年,共识机制已从一个抽象概念发展成分布式账本技术的重要支柱。在分布式账本中,达成共识决策的方法称为“共识机制”,其在结构上更加民主。
虽然共识仍是群体决策过程,但从理想的角度来看,共识可以被分散在世界各地的一群人,用来创造一个更加平等和公平的社会。
区块链共识机制
区块链技术的核心优势之一,就是能够在决策权高度分散的去中心化系统中,使得各节点高效地针对区块数据的有效性达成共识。
在任何集中式系统中,比如保存居民身份信息的数据库,中央管理员都有权维护和更新数据库。虽然相关信息的添加、删除或是更新,都是由中心化的机构执行,但该机构仍然是唯一负责维护“真实”记录的机构。
区块链作为分布式的网络系统在全球范围内运行,没有任何单一的中心化机构。然而,这种分散是有代价的:当网络中没有人“负责”时,我们如何确保网络参与者同意“真相”?
这项重要的任务便由共识机制执行。它就像是区块链网络中裁判,只不过非人工方式,而是通过算法及协议。在区块链动态变化的网络中,这些公开共享的账簿需要一个高效、公平、实时、有效、可靠和安全的机制,以确保网络上发生的所有交易都是真实的,所有参与者都对账簿的状态达成一致。它激励参与者产生并记录真相,包括但不限于在一个分布式网络中,哪些资金属于哪些地址,并允许其他人验证真相。当这种对真相的认同得到证实时,共识就会在没有中央权威的情况下产生。
共识机制的目标
可以看到,共识机制有助于验证和确认添加到总账的信息,并确保上链信息的真实性。当然,实现共识机制的算法有很多种,它们的工作原理各不相同。我们在此前的《共识机制》《拜占庭将军》篇有过详细介绍,但对于整个共识层而言,最终目标同样重要:
达成一致共识:共识机制试图解决围绕分布式系统的最复杂的问题之一,对哪些数据是真实和准确的达成一致意见。与需要信任中央机构的集中式系统不同,在分布式系统中,用户不必信任任何人,嵌入在网络中的协议规则保证了公共总账的状态始终随着大众的共识而更新。
防止双重消费:共识机制防止任何用户重复消费,这是数字货币长期存在的问题。嵌入在区块链的共识机制中的协议规则确保只有有效和可信的交易被包含在公开的、透明的分布式账本中。由于区块链扩展大量的计算资源以确保交易的安全,双重花费或更改交易的难度呈指数级增加。
用户激励:共识机制通过激励好的行为,甚至在某些情况下惩罚作恶者,让更多人都积极参与整个进程。比特币使用的第一个共识机制-工作量证明,既是通过奖励比特币给每一个成功验证交易区块的矿工来实现激励。
公平与公正:区块链的一个重要优势是分布式赋权。简而言之,共识机制确保了区块链节点的对等性,任何人都可以参与到这个网络中。区块链的开源性质使任何人都可以检查和验证底层源代码对网络中的所有参与者是公平的。
容错:在计算领域,容错是指分布式系统在面临威胁或故障时仍能无限期运行的特性。共识机制确保区块链是容错的,即单节点的故障不影响全局,实现系统可靠性和一致性。
在定义了什么是共识机制以及它们的目标,我们需要开始考虑房间里的另一头大象,那就是如何让这台信任机器更高效的运转起来,使其能够支持宏观社会系统的诸多应用。