区块链项目的共识之路

区块链技术,改变了需要第三方信任机构作为担保的记账方式,其中区块链技术使用的共识算法起到了至关重要的作用。当前主流的共识算法有两种:PoW (Proof of Work)工作量证明,PoS (Proof of Stake)权益证明。本文将以以太坊发展历史为例,详细讨论两种共识机制的运行原理。

一、以太坊发展简史

2013年年末,以太坊创始人 Vitalik Buterin 发布了以太坊初版白皮书,在全球的密码学货币社区陆续召集到一批认可以太坊理念的开发者,启动了项目。

以太坊团队将项目发布分成了四个阶段,即 Frontier(前沿)、Homestead(家园)、Metropolis(大都会)和 Serenity(宁静),在前三个阶段以太坊共识算法采用工作量证明机制(PoW),在第四阶段会切换到权益证明机制(PoS)。

在2015年7月30日,以太坊发布了 Frontier 阶段。Frontier 是空白版的以太坊网络:一个用于挖矿的界面和一种上传和执行合约的方法。Frontier 的主要用途是:将挖矿和交易所交易运行起来,从而社区可以运行挖矿设备,和开始建立一个环境,人们可以在里面测试分布式应用(DApps)。随着 Frontier 的发布,以太币也开始在世界各地的交易所进行交易。在2016年初,以太币的价格开始暴涨,以太坊的技术实力开始在市场上得到认可,吸引了大量开发者以外的人进入以太坊的世界。

在2016年3月14日,以太坊发了 Homestead 阶段。Homestead 阶段与 Frontier 阶段相比,没有明显的技术性里程碑,只是表明以太坊网络已经平稳运行,不再是不安全和不可靠的网络了。在此阶段,以太坊提供了图形界面的钱包,易用性得到极大改善,以太坊不再是开发者的专属,普通用户也可以方便地体验和使用以太坊。

Metropolis 阶段发布日期尚未确定。在 Metropolis 阶段,团队将最终正式发布一个为非技术用户设计的、功能相对完善的用户界面,也就是发布 Mist 浏览器。团队期望 Mist 的发布将包括一个去中心化应用商店和一些功能完善、设计良好的基础性应用,表现以太坊网络的强大。Mist 浏览器将非常简单易用,只要会使用普通浏览器就会使用 Mist 。在以太坊平台上,第三方开发者为普通用户开发的去中心化应用逐渐增多,以太坊不仅是一个开发平台,还逐渐成为一个应用市场,开发者和用户都是不可或缺的部分。

Serenity 阶段发布日期尚未确定。在 Serenity 阶段,以太坊将从 PoW 转换到 PoS 。工作量证明意味着将电力转换为热量、以太币和网络稳定性。但是若非必要,以太坊不想因为挖矿排放过多热量,所以需要修改算法:权益证明(PoS)。网络从工作量证明(PoW)转换到权益证明(PoS)将需要一个实质性的转换,一个转变过程,这似乎是一个长期过程,但并不是那么遥远:这类开发工作正在进行中。

二、什么是 PoW

PoW(Proof of Work)"工作量证明"。字面意思是确认你做过一定量工作的证明。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。

比特币是最先使用 PoW 记账方式方式区块链项目。比特币的矿工通过计算机算力来争夺比特币区块链的记账权,当每一个比特币区块产生时,系统会为最先成功记账的矿工给予一定数量的奖励。

PoW 使用经济激励的方式来刺激参与者完成真实记账,做假账者并不能在这个网络中存活并获得奖励。这是一种简单粗暴的共识机制,但是又非常有效。现在体量最大的两条区块链,比特币和以太坊都是用 PoW 挖矿的方式。

三、什么是 PoS

PoS(Proof of Stake)“权益证明” 是一种公有区块链中的共识算法,可作为 PoW (Proof of Work)“工作量证明”算法的一种替换。PoW 是保证比特币、当前以太坊和许多其它区块链安全运行的一种机制,但是 PoW 算法在挖矿过程中因消耗电力浪费能源而受到指责。据统计,为了维护比特币的区块链,比特币 PoW 算法在2014年所消耗的电力是整个爱尔兰2014年消耗电力的总和。PoS 试图通过以一种不同的机制取代挖矿的概念,从而解决能源消耗问题。

PoS 机制可以被描述成一种虚拟挖矿。鉴于 PoW 主要依赖于计算机硬件的稀缺性来防止女巫攻击,PoS 则主要依赖于区块链自身里的代币。在 PoW 中,一个用户可能拿 1000 美元来买矿机,加入网络来挖矿产生新区块,从而得到奖励。而在 PoS 中,用户可以拿 1000 美元购买等价值的代币,把这些代币当作押金放入 PoS 机制中,这样用户就有机会产生新块而得到奖励。

总体上说,PoS 算法如下所示。存在一个持币人的集合,他们把手中的代币放入 PoS 机制中,这样他们就变成验证者。假设在区块链最前面一个区块(区块链中最新的块),这时 PoS 算法在这些验证者中随机选取一个(选择验证者的权重依据他们投入的代币多少,比如一个投入押金为 10000 代币的验证者被选择的概率是一个投入 1000 代币验证者的 10 倍),给他们权利产生下一个区块。如果在一定时间内,这个验证者没有产生一个区块,则选出第二个验证者来代替来产生新区块。与 PoW 一样,以最长的链为准。

四、PoS 的优势何在

简而言之:不再需要为了安全产生区块而大量消耗电能。

由于不再需要大量能耗,通过发行新币以激励参与者继续参与网络的压力会下降。理论上负总发行量甚至成为可能,由于一部分交易费“被烧”掉因此货币供应随着时间减少。

随着规模经济(指扩大生产规模引起经济效益增加的现象)的消失,中心化所带来的风险减小了。价值一千万美元的代笔带来的回报不多不少是价值一百万美元代币的10倍,不会有人因为负担得起大规模生产工具得到不成比例的额外回报。

相较工作证明制度,PoS 制度中实施经济惩罚的可能会使各种51攻击变得极其昂贵-引用 Vlad Zamfir 的话说“参加51攻击就好比你的 ASIC 农场着火了”。

总结

区块链技术的一项重要优势是通过共识算法解决经济活动中的信任问题。PoW 共识技术已经发展的非常成熟,但它的实现需要消耗大量的电力成本。PoS 共识技术仍处于发展的幼年时期,但在效率和成本方面有诸多优势,相信在未来会有更加广泛的应用出现。