采用 PoS 共识的区块链项目从数量和市值规模上看,落后于采用 PoW 类共识的项目。为什么在已有成熟理论的基础上,新的 PoS 项目进展仍然不及预期?PoS 共识是否有足够的优势能够让人们接受它并在区块链共识领域占有一席之地?「权益经济」(Staking Economy)是否是区块链未来新的发展方向?
原文标题:《PoS 共识机制及设计哲学——区块链技术引卷之五》
作者:宋双杰、孙含儒
特别顾问:沈波、Rin、JX
通证通研究院 × FENBUSHI DIGITAL 联合出品
摘要
基于 PoS 共识的区块链网络中,所有成为「验证者」的节点都能够获得生产(或者发布)区块的权利,其概率取决于其拥有的「权益」多少。相比工作量证明,PoS 共识的优势包括减少能源消耗、保障安全性、以及降低中心化风险。
早期的 PoS 共识面临着「无利害关系」危机,区块链容易分叉。「执剑人」机制通过加入对不诚实节点的惩罚措施解决以往 PoS 共识的无利害关系攻击。移动检查点和上下文感知机制能够预防针对 PoS 共识的「长程攻击」。
根据权益在共识经济模型中扮演的角色以及重要程度的不同,我们可以将 PoS 共识分为纯 PoS 共识、混合型 PoS 共识、DPoS 以及仅有权益的概念四种,一般只将前两种作为 PoS 共识讨论。PoS 代表的「权益经济」是一个与 PoW 共识不同的经济体系,一般采用通胀的经济模型,只有抵押通证参与网络共识过程才能获得利息收益。由于通胀的存在,「持币待涨」的守财奴策略不再适用于新型 PoS 共识,全体持有者都必须参与网络共识过程,在此需求基础上将有更多的金融应用场景出现。
我们还可以从经济角度分析 PoS 网络的安全性。在初始分配合理的情况下 PoS 能够保证不低于工作量证明的 「经济学」 安全性。但 PoS 经济模式同样没能解决垄断与中心化的问题。
长远来看,以 PoS 共识为基础的区块链网络将发展到与 PoW 共识区块链同等的规模。
风险提示:中心化风险、技术进展不及预期、市场波动风险。
正文
2012 年,Scott Nadal 和 SunnyKing 在一篇论文中提出 PoS 权益证明,是一种中本聪工作量证明的替代共识。首个将 PoS 概念融入到共识机制中的 Peercoin (点点币)于同年上线。随后的几年里,一些大型区块链项目例如 Ethereum、Cosmos 都提出了各自的 PoS 解决方案。但七年后的今天,主网采用 PoS 共识(这里不包括 DPoS、PoW+PoS 混合共识)的区块链项目从数量和市值规模上看,均落后于采用 PoW 类共识的项目。为什么在已有成熟理论的基础上,新的 PoS 项目进展仍然不及预期?PoS 共识是否有足够的优势能够让人们接受它并在区块链共识领域占有一席之地?「权益经济」(Staking Economy)是否是区块链未来新的发展方向?
1 权益证明,一段简史
在基于 PoS 共识的区块链网络中,节点不再通过算力竞争记账权,获得记账权的概率取决于其拥有的权益多少。这里的「权益」(Stake)可以是节点持有的通证数量,也可以是关于通证数量的一个函数。例如下面提到的 Peercoin 提出的「币龄」概念,节点持有通证的时间越长,累计的币龄也越多。相比工作量证明,PoS 共识的优势包括减少能源消耗、保障安全性、以及降低中心化风险。
纵观 PoS 历史,可以将 PoS 的发展大致划分为三个阶段。
第一阶段是以 Peercoin 为代表的 PoW+PoS 混合共识。
但是这类早期的混合共识仍然需要参与区块生产的节点进行一定量的哈希值计算,即以类似工作量的方式生产区块,只不过各节点通过计算寻找出合法区块的概率与节点持有的权益相关,即根据权益选择生产者,并且采用基于权益的激励方式。Peercoin 并没有完全实现「降低能耗」的目标。
第二阶段是以 Nextcoin 为代表的纯 PoS 共识。
这类 PoS 共识机制不需要或只需节点进行少量的哈希值计算,而采用分布式的、可验证的随机数生成函数来选择区块生产者,激励方式仍然与节点持有的权益相关。这类 PoS 共识相比工作量证明耗费更少的能源,但仍然有一个危及网络安全的隐患没有彻底解决——Nothing at Stake 攻击(无利害攻击)。
第三阶段是以以太坊 Casper 为代表的新型 PoS 共识。
这类共识通常将 PoS 作为共识算法的一部分:以 PoW 的方式生产区块,每间隔一定数量的区块以 PoS 方式确认共识的最终性;或是以 PoS 的方式生产区块,使用 BFT 类算法进行区块验证。这类 PoS 共识不以采用的具体算法为划分依据,它们的共同点是实行「权益经济」,节点能够通过参与网络共识,根据持有权益的比例获取区块奖励。不同于早期的 PoS,这类共识通过加入对不诚实节点的经济惩罚,解决了「无利害关系」问题,增强了 PoS 共识的安全性。
除此之外,以 BitShares、EOS 为代表的「委托」类(DelegatedPoS)共识也被公众熟知。但这类共识中,权益仅仅体现在投票选举「超级节点」上,而与经济模型、激励惩罚无关,因此一般不作为 PoS 共识讨论。
根据区块链生产的过程可以将 PoS 共识分为以下两类:
基于「链」的 PoS (Chain-based Proof of Stake)。类似 BTC PoW 生产区块的原理,算法每隔一定的时间内根据节点持有的权益随机选择一个节点负责生产区块,这个区块必须附加在一个合法区块之后,当分叉产生时,通过共识算法规定的规则选择一条链作为共识链。
「拜占庭」类 PoS (BFT-style Proof of Stake)。算法每隔一定的时间内根据节点持有的权益随机选择节点发布一个区块,但这个区块是否合法、能被附加到共识链之后需要得到一定比例的验证者投票确认。
2 权益证明的安全「执剑人」
与 PoW 共识中的算力竞争,即通过引入稀缺的外部资源,并以通证对节点付出的算力予以奖励来保证区块链网络的安全性的模式不同,PoS 希望依托区块链经济体系内生力量来解决安全性问题。PoS 共识按「权益」分配区块记账权与网络奖励,并通过一系列创新性的解决方案保证共识的安全性,并在此基础上开创了区块链世界独特的「权益经济」。
2.1 区块链世界的「公地悲剧」
早期的 PoS 共识面临着容易产生分叉的危机。哈丁教授在《公地悲剧》(Tragedy of the commons)一文中描述了这样一个故事:一些牧羊人在一片公共的草原上放牧,由于草原的资源是有限的,因此当羊群数量超过草原能承载的最大数量后,羊群的总产值会下降。考虑一个简单的由两名牧羊人构成的模型,假设草原合理的放牧量为两只,两名牧羊人各有一只羊,此时每只羊的产值为 1 个单位,每增加一只羊,羊群的总产值会有所下降。
每个牧羊人面临两个选择:增加一只羊或是维持现状。如果牧羊人是理性的,那增加一只羊将是两种情况下的最优策略,然而当两名牧羊人都选择放牧时,草原的总产值下降了。「公地悲剧」给人们的启示是,个体对公共资源无节制的开发利用会导致整体利益的受损。
早期的 PoS 共识同样面临着类似的难题,即「理性分叉」。在以「链」为基础的区块链网络中,当节点发现同样高度的两个区块,即网络出现分叉时,节点面临两个选择:一、根据共识规则,选择其中的一个节点作为主链,在此基础上生产新区块;二、在两条分叉链上同时生产新区块。
区块链作为一种无形的技术,承载的生态是其价值重要的一部分。在「公地悲剧」的例子中,被滥用的草原资源是有限的,虽然区块链生态仍在飞速发展中,但无限制分叉势必会造成区块链开发人员、社区、生态系统的割裂,分叉链之间的竞争相对没有分叉来说会降低它们的总体价值。
在 PoW 共识区块链中,这样的选择其实是不成立的。节点拥有的算力是固定的,如果节点分配一部分算力在分叉链上挖矿,那么首先要承担该分叉链最终不具有任何价值的风险,节点会损失因为在分叉链上挖矿而在主链上减少的收益。如果该分叉链价值得到认可,那么其他理性的节点会迅速将算力切换到分叉链上,从而达到两条链上单位算力收益的平衡。如果节点的算力占全网算力的比例没有变化,那么它并不能因此获取超额收益。一个理性节点的选择是在最有可能成为主链的链上继续挖矿。
而 PoS 共识下,分叉链在分叉高度之前的区块与原链完全相同,因此节点在分叉链上也拥有相同数量的通证。从而有相应的权益能够在分叉链上继续生产区块,两条链上的挖矿互不影响,因此理性的节点会默许分叉链的存在。
有一种观点认为,通证的持有者如果可以预见到这种分裂带来的危害,会为了维护自己的利益而拒绝在分叉链上生产区块的行为。但事实上,群体中的大部分个体都是短视的,如果没有其他的规则加以限制,很少有节点会放弃分叉链上的权益。这又被称为「无利害攻击」(Nothing-at-Stake)。
2.2 「执剑人」机制
以太坊 Casper 共识应用了「执剑人」(Slashers,又译「剑手」)机制,在共识机制中引入惩罚措施,解决以往 PoS 共识的公共地悲剧。
该协议的核心内容是,参与区块生产的节点(被称为验证者)需要抵押一定的保证金,并规定一系列的惩罚条件。当发现节点采取了惩罚条件中列出的行动之后,节点抵押的保证金将被没收,并收回验证者权利。会被惩罚的行为通常包括同时在两条链上生产区块、没有在最新高度上生产区块等恶意行为。对表现出可能的恶意行为的节点进行经济制裁(Slashing),改变了节点在可能出现分叉链时挖与不挖两种选择的预期收益,只要节点挖分叉链,或者发动攻击行为能获得的预期收益小于其抵押的保证金,那么理性节点的选择将是遵守规则,做一个诚实的节点,从而化解了无利害关系攻击。
科幻小说《三体》中的「执剑人」在当三体舰队对地球发动攻击时发送三体星系坐标,毁灭三体星系与太阳系,是地球制约三体攻击者的关键力量。新一代 PoS 共识中的「执剑人」机制也是制约潜在攻击者的利器,通过规定合理的惩罚条件与抵押金额,能够有效增强共识机制抵御各类网络攻击的能力。
2.3 新的问题 —— 「长程攻击」
基于链的 PoS 共识在如何确定共识的最终性上更加复杂。
PoS 抛弃了「以累计工作量最大的链作为主链」的概念,在节点可以自由加入或退出的 PoS 网络中,抵押金的变动是动态的,验证者需要获取最新的其他验证者信息,才能判断哪些区块是真正有效的。不同于 PoW 网络判断区块是否合法仅仅依赖几个客观的信息:交易合法性、区块头哈希是否满足要求,判断主链采用确定的最长链原则,PoS 还需要考虑「长程攻击」的可能性。
「长程攻击」是 PoS 共识中威胁最大的攻击形式,当一个节点收回了他的抵押金时,虽然它不再拥有验证以后的区块的权利,但是仍然可以对收回抵押之前的区块进行回滚,并且由于它不再会受到没收押金惩罚,因此攻击者能够通过贿赂这些节点,收集足够的「幽灵」抵押金(这些抵押金已经被收回了),重新构造一条足够长的攻击链,尝试替换这些节点在作为验证者期间曾经验证过的区块。
一种解决策略是移动检查点。即每隔一定的区块间隔设置检查点,只有检查点之后的区块可能会被重组。检查点的间隔一般少于要求的最短抵押金抵押时间,从而保证有充足可能性的区块都是由还有缴纳了抵押金的节点验证的。另一种解决策略是「上下文感知交易」(Context-Aware transactions)。在构造一笔交易时,在交易中记录前一个或前几个区块的哈希值,这样就能将一笔交易和特定的区块分支联系起来,在分叉链上伪造交易就变得困难。
3 权益经济 —— PoS 共识的经济理念
3.1 PoS 共识种类
根据权益(Stake)在共识经济模型扮演的角色不同,我们可以将 PoS 再细分为以上几类。
在后两种共识机制中,权益在共识过程中没有起到决定性作用,因此一般不将其作为 PoS 共识讨论。它们与前两种 PoS 共识的区别在于网络的经济激励是否按照节点拥有的权益多少进行分配。一些 PoS 共识虽然也是通过投票选举出有限数量的验证者参与共识过程,但这种选举是通过智能合约将通证「委托」给验证者实现的。验证者对委托的通证不具有使用权,并且验证者获得的区块奖励按通证数量分配给其所有者。而 DPoS 共识中,区块奖励仅分配给超级节点以及一定数量的候选人节点。
纯粹 PoS 和混合型 PoS 共识的区别在于选择验证人的过程是否与其持有的权益相关。对应 PoW 共识中选择区块生产者的概率与其算力相关。混合型 PoS 共识一般通过 PoS 为区块链提供 「最终性」 检验,而区块的生产、验证者的选择通过其他方式完成。如果节点取得记账权的概率与它抵押的权益相关,那么可以认为此类共识是纯 PoS 共识。
这样定义的纯 PoS 并不是不能包含其他的共识算法,事实上大部分 PoS 共识都使用 BFT 类算法完成对区块的投票。例如,Tendermint 的基础算法是 PoS+pBFT,Proof of Activity 的基础算法是 PoS+PoW,Casper FFG 的基础算法是 PoW+PoS+BFT,PoS 未来的发展趋势也将是混合型共识。
3.2 全体持有人参与共识的网络
PoS 共识可以概括为:权益持有者将通证投给他们认为合法的区块,并愿意承担因被发现作弊行为而失去抵押的保证金风险。在一个区块链经济系统中,通证的持有者大致可分为以下几种类型:个人投资者、机构投资者、基金会以及项目开发者。这些通证持有者储存通证的方式包括:个人保管私钥(包括离线钱包服务)、交易所以及托管机构。在传统的 PoS 共识中,只需要持有通证就可以自动获得利息收入,因此个人、机构投资者通常不愿锁定自己的通证参与共识过程,造成网络安全性偏低。
在加入惩罚机制的 PoS 共识中,只有抵押通证参与网络共识过程才能获得利息收益。由于通胀的存在,「持币待涨」的守财奴策略不再适用于新型 PoS 共识,全体持有者都必须参与共识过程以获取区块奖励。惩罚机制的存在使运行专业的共识节点所需的成本大大提升,个人投资者难以承担开支。
如果 PoS 网络不支持类似委托功能的智能合约,那么就会产生专业化的代为验证的机构。个人投资者委托专业的验证者节点代为抵押通证,并支付一定的管理费用,获得利息收入。而适合开展这项业务的网络经济参与者包括数字通证交易所、钱包等,Coinbase 目前已计划实施为 Tezos 用户提供权益抵押服务,并估计投资者的年被动收益约为 8%,Coinbase 再从中收取 20% 的管理费。
个人投资者如果参与新型 PoS 权益经济,以下风险是值得深入考虑的:抵押通证承担的机会成本、预期收益率、委托抵押机构的专业能力与佣金收取、自建验证节点所需的专业知识和成本。
新型 PoS 共识鼓励全体通证持有者参与到共识过程中,维护网络安全性,这种安全性与 PoW 相比有一些不同之处。
3.3 从经济角度「量化」PoS 的安全性
区块链网络的安全性是其一切应用、性能指标的基础,引入了「执剑人」机制的 PoS 共识应当能够提供与 PoW 相当的安全性。安全性与共识机制容错能力概念略有区别,共识的容错能力通常是通过算法推导出的理论值,而网络安全性还受到网络实际运行情况、经济模型、节点规模等一系列因素的影响,我们希望寻找一个能够量化的指标来衡量区块链网络的安全性。
从经济效益的角度考虑,如果攻击一个系统能够获得的收益高于为了攻击它付出的代价,那么类似的攻击是值得尝试的。相反,如果攻击一个系统付出的代价高于能够获得的收益,对于攻击者来说是不合算的,这样的系统是「经济学安全」的。例如美墨的边境墙,美墨边境地区的毒品贸易、非法偷渡、甚至人口贩卖都能够带来暴利,相对地突破边境墙所需的成本(例如修建地道)就不值一提了,因此「边境墙」是一个经济学不安全的例子。
现代密码学就是一个能够保证个人数据「经济学安全」的应用的例子。即使是日常生活中应用较多的对称式加密,如果不考虑网站数据库泄漏、明文存储密码等人为因素,其安全性也是非常高的。试图破解一个普通用户的密码,花费的成本往往高过用户账户本身的价值,区块链所基于的非对称加密技术更是能够抵抗目前全世界所有计算机的计算能力攻击。
在 PoW 共识中,网络的安全性依靠足够的算力保证,而节点只有在有足够经济激励,即运行节点的边际成本小于边际收益的情况下,才会参与到挖矿当中。由于 PoW 网络不存在对恶意节点的惩罚措施,恶意节点承担的最大损失就是可能的区块奖励。如果攻击者发动 51% 攻击,那么它需要掌握至少 51% 的算力,并且如果攻击者希望回滚 N 个区块之前的交易,假设攻击者拥有全网 60% 的算力,那么只需要再过 3N 个区块高度,他就可以挖出一条比原链更长的攻击链,那么他的攻击成本约为 3N 个区块总奖励的 60%。因此 PoW 网络的攻击成本是可以量化的,我们可以通过全网算力、算力租赁价格、结合矿机制造成本、网络难度增长率等参数估算出网络的安全度。
在包含 Slasher 协议的 PoS 共识中,恶意节点发起攻击行动不仅会损失可能的利息收入,还会损失抵押的保证金。一个区块得到 N% 确认的含义是:如果该区块没有成为最终的共识,那么验证者共计要损失全网抵押金总量的 N%。假设在 PoS 共识区块链中,攻击者希望发动类似的攻击,那么他需要抵押一定比例的通证,该比例因具体的共识算法而异。在以「链」为基础的 PoS 共识中,一般需要抵押通证总量的 51% 以发动类似攻击,付出的攻击成本就是同等数量的通证,以及占比较小的损失的利息收入。
要获取 51% 的流通通证同样存在难度。一方面如果通过二级市场购买通证,那么大规模的收购势必会推动价格的上涨,增加攻击者的攻击成本;另一方面已经有相当规模的通证处于抵押锁定期。Cosmos 已抵押的通证数量为 7390 万枚,占总供给的 39%;Tezos 已抵押的通证数量为 5.3 亿枚,占总供给的 81%;Decred 已抵押的通证数量为 455 万枚,占总供给的 48%。如果通证的初始分配合理,那么单个攻击者实施类似攻击的难度很大。
PoW 网络中的攻击者如果只希望改写最近的几个区块内的交易,只需要付出数倍于区块奖励的成本,这取决于其掌握的算力多少,只要可能获得的收益超过其攻击成本,那么网络陷入不安全的状态。但 PoS 网络中一旦有攻击者掌握了 51% 的流通通证,那么对网络安全造成的损害也是永久性的。
PoW 共识引入外部资源为网络提供安全性,并且这种资源本身的价值为攻击行为制造了一定的门槛,而 PoS 共识则依靠网络中通证的价值与惩罚机制预防攻击行为。PoS 权益证明在初始分配合理的情况下能够保证不弱于工作量证明的「经济学安全」。
3.4 垄断与卡特尔组织
「经济学安全」并不能代表区块链网络就是绝对安全的。一方面,存在着「不计代价」的攻击者,如果攻击者不计任何代价希望破坏区块链网络,那么不考虑人为干预(社区强制回滚攻击链等),目前没有区块链网络能抵御类似的攻击。另一方面,寡头垄断是任何经济形式都面临的问题。
在 PoW 网络中,存在算力中心化、矿机制造商垄断的问题,人们一方面担心大型矿池集中了过多的算力,另一方面也担心专门的矿机制造商以技术从源头垄断矿机的生产。由于规模经济的存在,投入大规模资金制造矿机或建立矿场的经营者比中小经营者拥有更低的成本,因此在 PoW 算力竞争模式中更加有竞争力,也更加容易形成垄断。
PoS 共识机制虽然避免了算力、矿机中心化的问题,却也产生的新的垄断形式。一些持有大量通证的节点可能自发地组织成为验证者联盟,他们不需要做出任何可能会被没收抵押金的行为,只要他们的抵押金超过 51%,那么就对链上的治理、社区等拥有绝对的话语权。这样的联盟如果有足够的执行力,他们可以拒绝打包任何他们不希望打包的交易。这些潜在的垄断者可能是项目早期的投资人、交易所、甚至项目方本身。如果类似的攻击行为发生,那么只能依靠「社区共识」强制分叉,因此对于 PoS 项目来说,通证初始分配方案以及具有一定的流动性和市值规模非常重要。
从非中心化的角度来说,PoS 不具备对 PoW 明显的优势。
3.5 目前主流 PoS 算法简介
Cosmos Network 是在 Tendermint 共识算法上基础建立的可操作、可扩展的区块链互联网。Tendermint 是实用拜占庭容错(pBFT)的一个 PoS 改编版。网络根据节点持有权益的多少以相应的概率伪随机地选出一个节点作为生产者发布一个区块,但区块的确认和最终性验证仍然通过 pBFT 算法完成。
Casper FFG 是 PoW 与 PoS 的混合型共识,有 VitalikButerin 主导开发,其目的是为了让以太坊从 PoW 安全地过渡到 PoS 共识。节点抵押一定的 ETH 成为验证者,验证者的作用是当以 PoW 方式生产的区块链到达一定的高度时,对上一次检查之后的这些区块的最终性进行投票,并根据抵押的 ETH 数量获得报酬。确认最终性后的区块不可被更改,CFFG 融合了 PoW、PoS、BFT 共识的思想,在 PoW 的基础上每隔一定数量的区块设置 PoS 检查点,为之前的区块提供最终性,进一步增强了共识的安全性。
Casper CBC 是工作量证明 GHOST 协议的 PoS 改编版本,CCBC 是一个纯粹的 PoS 共识,更加注重经济学安全性,并通过设计合理的激励与惩罚规则阻止卡特尔组织的产生。
4 PoS 的现在与未来
Proof of Stake 与其他共识算法的区别更多地在于经济理念与激励模式上而不是技术与共识算法领域。权益的概念可以体现在治理权、投票权、获得利息收入的权利、验证区块的权利等方方面面。
目前的 PoS 共识在大量减少能源消耗的基础上,通过引入对不诚实节点经济上的惩罚规则,仍然可以保证不弱于 PoW 网络的安全性。但 PoS 抛弃了工作量证明简洁易行的理念:累计工作量最大的链即是共识链,也带来了诸如 「长程攻击」 等新的问题,因此不得不设计更加复杂的机制以保证网络安全,增加了开发成本与潜在的安全漏洞,大型 PoS 网络的开发进度不及预期。
PoS 共识一般采用通胀的经济模型,为通证持有者发放利息收入,比通缩的经济模型更加符合现实经济,但 PoS 经济模式同样没能解决垄断与中心化的问题。PoS 代表的「权益经济」是一个与 PoW 共识不同的经济体系,在此基础上将有更多的金融应用场景出现,长远来看,以 PoS 共识为基础的区块链网络将会有很大的发展潜力。
附注:
因一些原因,本文中的一些名词标注并不是十分精准,主要如:通证、数字通证、数字 currency、货币、token、Crowdsale 等,读者如有疑问,可来电来函共同探讨。