像以太坊(和比特币、NXT、Bitshares等)这样的系统本质上是新型的加密经济组织(cryptoeconomic organisms ) — 完全建立在网络空间里的去中心化、无管辖的机构,由密码学、经济学和社会共识来共同维护。他们有点像BitTorrent,但又不完全一样,因为BitTorrent没有状态(state)的概念——而这是一个至关重要的区别。他们有时又会被称为去中心化自治公司,但他们又不完全像个公司 ——比如你不能将微软进行硬分叉。他们又有点像开源软件项目,但他们也不完全是这样的——你可以使区块链分叉,但是不像分叉OpenOffice这样的开源项目那样容易。
这些加密经济网络有多种不同风格——有些基于ASIC的工作量证明(PoW)、有些基于GPU的工作量证明、有些原生权益证明(PoS)、有些授权股权证明(DPOS)、还有很快和大家见面的Casper权益证明——这些不同的风格不可避免地有着他们的底层哲学。一个大家熟知的例子就是工作量证明“神教”的观点,一条“正确的”区块链被定义为矿工消耗最多经济资本创造出的链。起初这只是一个协议内分叉选择规则,而现在在很多情况下成为了一个神圣的教条——参见这条我和Chris DeRose的推特讨论,一些人在很严肃地想要捍卫该观点的纯粹性,甚至在面对哈希算法改变类型的协议硬分叉时也是如此。比特股的授权股权证明提供了另一种连贯的哲学,所有人都遵从一个更加简单的原则,这就是股东投票。
每一种哲学,包括中本聪共识、社会共识、股东投票共识,都会得到它们各自的结论,引致一种价值系统,从它们自己的角度观察,这些结论和价值系统们是合理的,虽然当它们相互对比时,肯定会被其它哲学所批评。Casper共识也有其哲学基础,但至今还没有人简洁明了地阐述过。
我、Vlad、Dominic、Jae还有很多人都对权益证明理念和如何设计它有着不同的看法,在这里我想阐述一下我对这个问题的思路。
我将直接列出我的观察,然后得出结论。
- 密码学在21世纪是极其特殊的,因为密码学是为数不多的在对抗冲突中都持续地大大偏向防守者一方的领域之一。摧毁一座城堡远远比建造更容易,岛屿都是可防卫的,但仍会受到攻击,但一个普通人的椭圆曲线密码学(ECC)秘钥是足够安全的,它甚至可以抵御国家级入侵。数字朋克(Cyperpunk)哲学基本上就是利用这种珍贵的不对称性,来创造一个可以更好的保持个体的自主性的世界,而加密经济学保护的是具有一致性和协作性的复合系统的安全与活力,而非仅仅保护私人信息的完整和保密,在某种程度上可以说是该哲学的延伸。自诩为数字朋克精神继承者的系统都应保持这种基本属性,使毁灭或破坏它的成本比利用和维护它的成本要大得多。
- “数字朋克精神”不仅仅是关于理想主义的。创造出一个维护比攻击更容易的系统也是一种合作的设计。
- 在中长期看来,人类相当善于处理共识。即使反对者可以获得了无限的哈希算力,在主链上发起了51%攻击,甚至逆转了一个月的历史记录,但要说服整个社区这个链是合法的比仅仅拥有超越主链的哈希算力要困难得多。他们需要破坏区块浏览器,社区中每个受信任的成员,纽约时报,Archive.org(互联网档案)和无数其它网络记录,总的来说,在这个信息技术密集的21世纪,要说服整个世界这个新的攻击链是主链,跟说服全世界美国登月并没有发生一样困难。无论区块链社区是否承认(要知道比特币核心社区的确认可社会层面的首要地位),这些社会考量才是所有区块链的长期保障。
- 然而,一个仅仅由社会共识保护的区块链效率实在太低,速度太慢,而且很容易使争论没完没了地持续下去(虽然困难重重但这已经发生了),因此,在短期内,经济共识(economic consensus)在保护区块链的活力(liveness)和安全性方面的作用是极其重要的。
- 因为工作量证明的安全只能来自区块奖励(用Dominic Williams的话来说,它缺少3E中的两个),而且给矿工的激励只能来自丢失未来区块奖励可能性的风险,工作量证明运行的逻辑是:只有巨额的挖矿奖励,才有巨额的算力保护网络,这是工作量证明成功运行的逻辑基础。在工作量证明机制下,从攻击中恢复是非常困难的:第一次攻击发生时,你可以使用硬分叉来改变工作量证明,从而使攻击者的ASIC失效,但第二次发生时你就不再有这个选择了,所以攻击者可以反复进行攻击。因此,挖矿网络的规模必须足够大,以至于发起攻击是无法想象的。网络每天的算力成本是X,小于X的攻击者没有动力发起攻击。我对于工作量证明的逻辑是持反对态度的,一是因为他会消耗大量能量,二是因为它并没有实现数字朋克精神——它的攻击成本和防守成本是1:1的,并没有防守优势。
- 权益证明机制通过惩罚而不是奖励打破了这一对称性。将钱“存入”保证金的验证者会获得微小的奖励,以补偿他们冻结的资本和对节点的维护,并采取额外的预防措施来保障他们的私钥安全。逆转区块的代价会是同时间获得的奖励的成百上千倍。因此,如果用“一句话哲学”来解释权益证明的话,“它的安全性不是来自于燃烧的能源,而是来自提高经济损失的经济价值”。给定的区块或状态具有X的安全性,只要证明,对于任何冲突的区块或状态而言,除非恶意节点支付X价值的协议内罚金,达到一个相同程度的确定性(finalization)是不可实现的。
- 理论上说,如果大多数验证者勾结起来,他们可以接管整条链并做出不利的举动。然而,通过巧妙的协议设计,他们通过这种操控手段可以获得的额外利润能够被尽可能地限制,更重要的是,如果他们试图阻止其他验证者的加入,或者实行51%攻击,整个社区可以简单地协调进行硬分叉,并删除有问题的验证者的存款。组织一次成功的攻击可能有5000万美元的成本,但清理其后果的过程并不会比2016年11月25日Geth/Parity共识的失效复杂太多。两天后,区块链和社区会重新回到正轨,攻击者比原来少了5000万美元,而社区的其他成员则可能变得更富有了,因为攻击会导致代币的价格由于攻击后的供应紧缩而上涨。这就是给你提供的攻击防御不对称性。
- 我们不应因为上述言论就认为计划外的硬分叉会成为常规事件;如果需要的话,在权益证明机制里的单一51%攻击成本可以设置得和在工作量证明里的永久51%攻击成本一样高,那么昂贵的攻击成本及其低效性就可以保证几乎不会有人发起攻击。
- 经济学不是一切。个人行为者可能会受到协议外动机的驱动,他们可能会被黑,他们可能会被绑架,他们可能仅仅是某天喝多了就决定破坏区块链,去你的成本。此外,从光明的一面看来,个体的道德宽容和低效的沟往往把攻击的成本提高到远高于协议中定义的所谓的损失价值(value-at-loss)水平。这是一个我们不能依赖的优势,同时这也是一个我们不应随意抛弃的优势。
- 因此,最优的协议是在各种模型和假设下都运行良好的协议––具有协调选择(coordinated choice)的经济理性,具有个人选择(individual choice)的经济理性,简单容错,拜占庭容错(理想化来说,最好同时具有适应性和非适应性对抗变体),如由Ariely和Kahneman启发的行为经济模型(我们都只是做了一点点弊)和其他经得起推敲的现实和实际的模型。拥有两个层面的防御是很重要的一点:通过经济激励,防止集中化的非法行业同盟(cartel)反社会行为,并通过去中心化激励,防止非法行业同盟的形成。
- 能够尽快处理工作的共识机制是有风险的,必须非常谨慎地处理,因为如果处理工作的效率与激励挂钩,则高效加激励的组合将奖励网络级别的中心化(例如,所有的验证者都在同一个主机服务商下面),造成系统风险。对于不介意验证者发送消息速度的共识协议来说,只要他们在可接受时间内(比如4-8秒,因为以我们的经验,我们知道在以太坊下的延迟一般约为500毫秒-1秒)完成,就不会有这些问题。一个可能的折中点是创建可以非常快速运作的协议,但其中类似于以太坊叔块机制的机制需确保,当节点使其网络连接度超过一定程度时获得的边际奖励是相当低的。
至此,虽然还有很多细节和对于细节问题的分化存在,但上述至少是我的Casper版本建立起来的核心原则。从这里出发,我们当然可以争论在竞争价值之间的权衡利弊。我们是要给每年增发1%以太币,一次补救性硬分叉要付出5000万美元的代价,还是0增发率和500万美元的补救性硬分叉代价?我们什么时候要为了降低协议在容错模式下的安全性,而增加其在经济模式下的安全性?拥有一个可预测的安全水平和拥有一个可预测的发行级别,我们更关心哪个?这些都是另一篇博客要写的问题,而实现这些价值之间的不同权衡的问题就留给以后更多的博客讨论吧。我们迟早都会说到的。:)
原文:https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51
作者:Vitalik