无论是 PoW 还是 PoS,最终都将趋于中心化

POS 的中心化问题首先,POS 会造成不平等加剧是个老生常谈的问题,这其中有三个维度:

POS 的中心化问题

首先,POS 会造成不平等加剧是个老生常谈的问题,这其中有三个维度:

第一个维度是累积效应:无论 POS 的奖励机制设计得再怎么精妙,都无法解决一个 POS 根本性的循环,即「钱越多的人获得出块权的几率越大——他们付出的维护系统的努力越多——获得的奖励越多——钱越多」。换言之,从 POS 的原理上,就有「多得者多劳——多劳者多得」这样的一个设定,所以,在钱不流动的一个静态环境里,有钱的人一定会越有钱,这是 POS 原理上造成但是 POW 中不存在的。

第二个维度是大节点的特权和优势——尽管一个理想的 POS 算法会把权益均匀地按照持币比例分给持币人,但是第一,之前我们已经介绍了无利益攻击,而抵御无利益攻击的最有效方法就是设置进入门槛,而这样实际上就隔绝一些小持币者获得区块奖励的可能;第二,即便从算法上不设这个门槛,实际上任何共识算法对于共识参与者都是有门槛的,也就是他们的带宽、计算能力和储存必须能够满足参与共识的要求,例如需要能够及时更新区块,进行验证并且更新状态。而小持币者如果不满足这个门槛,他们仍旧是无法获得区块奖励的,甚至可能因为一些惩罚机制而损失权益。除此之外,大持币者还在很多方面有优势,例如大持币者可能可以获知更多的交易,从而获得更多的交易费。因此,从这个角度看,小持币者将币委托给大持币者挖矿并获得奖励可以更好地避免权益集中。

第三个维度是经济学维度——即便完全不考虑激励机制,在任何系统中有钱的人都会更容易获得钱,于是变得更加有钱,这是个经济学的定律,无论什么共识算法都解决不了,除非我们在激励机制上故意反其道而行之。当然,我们也需要考虑这个生态和其他区块链竞争的问题——大持币者其实在垄断到一定程度也有卖出自己持币的动力,才能在一个更大的环境之中维持币价从而保证自己在现实中,而不是仅仅在这个系统里,的权益。但是,有句话说的好,「只有背叛阶级的个人,没有背叛利益的阶级」,现实中的每个社会也都不是孤立的,然而,最终社会中的权益还是会逐渐击中,只有少数能够由既得利益者发起的,成功的自上而下的改革,而大多数的结果还是自下而上的革命。至于 POS 系统中的大持币者会走上那条路现在还不好说,但是这并不是这篇文章的讨论范畴。

总之,对于 POS 中心化的结论是——没错,POS 的系统实际上就是更极致的资本主义,所以它大概率会走向中心化。然而残酷的是,现实也一样。的确,区块链也许是个能够改变这种现实的工具,然而,第一,在目前的阶段,我不觉得区块链技术有这个能力,也不觉得它承载得起这样的「重任」;第二,在安全性没有解决的时候,谈未来有可能的「中心化」问题毫无意义;第三,区块链不是孤立的,POS 项目也同样,过度中心化会造成币价下跌,于是大持币者完全有动力在币价高的时候抛掉自己手中的货币。不过,以上都不在我们考虑的范畴——

我们同样认同,POS 的区块链,多半和大部分资本主义的社会一样,大多数财富是集中在少部分人手中的。

POW 的中心化问题

关于 POS 会更趋近于权益集中也就是中心化我们就不赘述了,因为这个没什么争议。但是 POW 最终会趋向于中心化我估计会很有争议——因为我们都知道目前几乎所有的头部数字货币的算力都相当中心化,但大家通常会把锅甩给 ASIC 矿机或者矿机制造商,甩给算法,甩给矿池和可外包的挖矿任务等等,而通常,所有人都把 POW 当做一个比 POS 更去中心化,更能够令人平等地参与和竞争的算法。

然而,我在这里却想提这样一个非常离经叛道的结论——

不,我不是说目前采用 POW 算法的货币很中心化,我是说,所有采用 POW 算法的区块链,他们最终都会变得中心化,或者更确切一点说,对于一个正常的,采用 POW 算法的区块链而言,算力集中和中心化就是它必然的结局。当然,这里的例外是「这不是一个正常的区块链」,我们最后再说它是什么意思。

我们来通过几个重要的事件来推理一下为什么中心化是任何 POW 算法演化的必然结果。

1,专业矿工的出现

很多采用 POW 的区块链,包括比特币,都经历过一个让很多人神往的「田园时代」,那个时候大家用显卡甚至用电脑都能挖矿,没有专业矿工,没有 ASIC,没有矿池,也没有中心化。所以一个自然而然的想法是,我们可不可能一直保持这样的状态,让专业矿工不出现。换句话说,没有人(或者极少人)有意愿购置专门的设备进行挖矿,而大部分人都会选择用普通家用设备进行挖矿——这才是真正的零门槛谁都能加入的区块链。

答案是能——如果挖矿永远不赚钱的话。(条件 1)

POW 是个非许可系统,换句话说,如果业余矿工能够赚到钱,那么没理由不会有人打「购置两倍的设备赚双份的钱」的主意。而在这个定义里,当他买来设备的时候,他的身份就转变为了专业矿工,而他的目的也变成了赚钱。这里听起来会有一些别扭,难道早期挖比特币的人不是因为信仰吗?

但信仰和赚钱本来就是一体的,比特币之所以成功,也恰恰是因为它将两者统一了起来从而避免了公地悲剧。赚钱并不一定指赚现金,也包括对于币升值的预期。无论是现实中的钱,还是未来的钱,当网络中认可「能赚钱」这件事多了之后,自然而然地会出现矿工。

而矿工和业余挖矿者的区别在于——既然矿工已经有了投入,所以会将收益放在非常重要的位置上。

2,专用矿机(ASIC)的出现

随着专业矿工诞生的是竞争,而竞争的原因是,奖励并不是按照算力发放的,而是按照算力比例发放的。于是,如果这是一个**开放的系统(条件 2)**中,即所有人都能加入的系统,所有矿工将需要根据算力上涨的趋势持续投入设备,并算出相应的盈利成本,而无法负担这个成本的人将会退出,或者,想办法削减成本。

而削减成本的方法当然就是采用更高效的挖矿设备,于是,针对每个 POW 的算法,由于在通常情况下,专用设备一定比通用设备有效(条件 3)。所以,最终,我们会得到效率越来越高并且越来越专用的设备,如果竞争的时间充分长,(条件 4),即,很多人看好对这个算法进行挖矿会有远期的盈利,我们最终会得到 ASIC 矿机。

3,矿场的出现

在一个竞争激烈的环境中,挖矿的收益应该略高于投入。而伴随着 ASIC 矿机的出现,假定矿工都采用了效率接近的 ASIC 矿机的情况下,在其他方面的成本上的竞争就会空前激烈,例如:电费,矿机购买费用,场地租用费用,人工和管理维护费用等等……这也就是所谓的规模化效应。

而所有的这些费用,在现实中都只会导致一个结果——矿场的诞生。

因为:电费有地域性,而矿场可以在电费低廉的地方选址;矿机无论是从研发、制造还是销售的角度考虑,大批量购买价格都会低于零售;场地租用和管理的成本矿场也具有优势。

因此,无论矿场的规模大小,可以肯定的一点是,在一个**矿工竞争激烈(条件 5)**的 POW 区块链之中,个人矿工会慢慢减少以至于被淘汰。

4,矿池的出现

与 POS 的情况类似,在多数情况下,POW 的大矿池在共识的参与方面相对于独立矿工有多方面的优势(条件 6),例如带宽,收到的交易,计算能力,等等。而且中最大的优势,是大矿池因为在可以获得更加稳定的收入来支付电费。因此,POW 的独立矿工比 POS 的矿工更有动机去加入矿池。于是,就形成了矿工以「矿池」的形式进行竞争的局面,但是由于矿池对于矿工没有约束性,于是,矿工只会自发选择收益较高的矿池,最终导致无论矿工加入哪个矿池,矿池这个行业最终都只会留下少数的几个竞争者。换句话说,最终几大矿池会垄断整个算力市场。

当然,这里有争议的地方在于矿池是不是一定等于中心化,因为矿工仍旧可以决定加入哪个矿池。的确,两者有些许的区别,但是我觉得最容易进行判断的标准就是——如果从矿池层面进行 51% 攻击,有多少矿工能够做到及时察觉并且抽出算力呢?更何况,如果矿池可以藉由 51% 攻击给矿工更高的回报,真的所有的矿工都愿意发起抵制吗?

POW 的去中心化尝试

以上,我们通过推理,纯粹从现实世界和 POW 算法本质的角度分析了为什么 POW 一定会形成中心化的矿池。然而,这其中我们做了六个假设,也就是以粗体「条件」标在推理中的——1,挖矿赚钱;2,开放系统;3,专用设备比通用设备有效;4,竞争时间充分长;5,矿工竞争激烈;6,大矿池有优势。这六个条件是推理中不可或缺的部分,换句话说,如果这些条件不成立,那么我们的推理是有问题的。实际上,当一个 POW 区块链不满足这样的条件时,它多半不是一个「正常」的区块链。

而且,这样的区块链,其实很可能更加中心化。

我们先来看一些简单的情况:在挖矿不赚钱的情况下,其实就不可能出现竞争时间长,竞争激烈这种事情。而实际上大部分没有 ASIC 矿机的 POW 其实都处于这个状况,因此,没有 ASIC 矿机和算法难度关系不大,只不过是因为研发 ASIC 矿机的投入不值得而已。而另一种情况是,整个系统的生态并不是完全开放的,比如对于加入挖矿有特殊的许可,或者是不够主流因此购买矿机的途径少等等。可是在以上这两种情况之中,区块链其实并没有变得更加去中心化——一个挖矿不赚钱,竞争不激烈,不够开放,或者竞争才刚刚起步的系统,恰恰表示参与挖矿的人还不够多。实际上,几乎所有的 POW 系统,包括比特币和以太坊起步的时候,算力都是十分中心化的。而比特币和以太坊真正去中心化的,至今被认为是人人都能挖矿的黄金时代,实际上是很「短暂」的,可能再也不会出现的,市场进入充分竞争之前的过度时期。

从这个角度讲,POW 对于 POS 的优势不在于共识算法本身,而在于区块链目前的商业模式——在当前的热度下,一个 POW 区块链项目的币价早在主网上线之前就已经有了很高的估值了,于是,相比于 POS 在主网上线之前就有了很高的获币门槛而言,POW 在主网刚刚上线的时候,会有那么一段「挖矿赚钱但是竞争还不激烈于是人人都可以挖矿」的红利时期,这段时期的参与是真正「无许可」而且几乎「零门槛」的,使它可以在初期就获得数量众多的参与者,这一点是 POS 所不具备的。但是,这其实与算力分布的中心化,也就是我们在这里的议题无关(我们在之后会更深入地探讨一下这个问题)。因为,对于任何 POW 区块链而言,在目前区块链以及寻找所谓「百倍币」「千倍币」的热度下,这个窗口都会十分短暂,在正常的市场下一定会出现我们上文叙述的情况——要么会出现 ASIC 矿机使得普通设备无法进行挖矿,然后专业挖矿者会因为电费的牵制加入大矿池或者干脆用云挖矿或者托管的方式购买挖矿服务,要么,由于挖矿无法盈利而造成矿工退出,为了维持系统的安全性,较为中心化的项目方会逐渐封闭系统。最终,系统都会变得中心化。

那么,有没有例外呢?

答案是有——我们可以从以上的几个条件入手。

1,专用设备比通用设备有效

最早的进行 POW 去中心化的尝试大约就是从这个点下手的,也就是,如何从算法上防止 ASIC 矿机的出现,即 ASIC 抵抗算法。然而,ASIC 抵抗是不存在的,因为以上的假设是在各个领域都颠扑不破的真理,即专用的一定比通用的更有效,唯一的区别就是有效程度,以及设计、开发和制造的难度而已。所谓的 ASIC 抵抗挖矿算法是将 SHA256 中对于计算速度的要求转移到内存甚至硬盘上,例如著名的 Ethash,Equihash,以及用了 11 种算法的 X11 等,他们希望能够提高硬件的设计和制造难度,同时降低专用设备对于通用设备的优势。然而,我们已经看到了他们的结果——他们高估了硬件制造的难度,也低估了专用设备的优势。其实从学术的角度讲,设计 ASIC 抵抗算法,即「如何在现行的硬件条件和电子工业制造的环境下,设计一个制造开发成本最高同时安全的哈希算法」是个相当复杂甚至可以说是一个全新的学术问题,我毫不怀疑这个问题可以被学术界所解决,但是想发展出系统的理论最终要给出一个「开发最昂贵并且对于通用设备优势最小的算法」可能需要数年的时间。而在这之前的所有算法都面临着许多的风险,例如高估硬件开发难度,低估 ASIC 的优势,或者就是干脆算法中有安全隐患,而这些其实都会带来实实在在的安全性风险,因为使用者无法判断 51% 的难度。现在,我们仍旧能看到许多「尚未有 ASIC 矿机」的 ASIC 抵抗 POW 算法,但是,根据他们前辈的经历判断,我认为他们抵抗不了太久。

2,竞争时间充分长

于是,门罗币(Monero)带来了另一种解决思路,就是在任何 ASIC 矿机可能出现之前切换算法。但首先这本身就是一个相当中心化的行为,只不过不是以算力为中心而是决策者为中心,同时,想要彻底避免 ASIC 的出现,他们必须选用一些没有 ASIC(也就是没其他主流币在用的)的冷门算法,这也增大了前面所说的安全隐患。同时,实际上 ASIC 并不是「只能用于一种算法」的硬件的代称,它也可以被设计来「用于大部分主流的哈希算法的挖矿」,换句话说,硬件开发者其实是有能力做出一个能够用于「挖矿」的专用矿机的,虽然开发成本可能会更高一些。归根结底,门罗币的行为只是用一种中心化代替了另一种中心化。

3,大矿池有优势

目前一个比较热门的研究领域是「不可外包的挖矿算法」,目的是防止大矿池的出现。目前,有很多这方面的提议和想法,例如让挖矿结果和私钥挂钩或者让矿池无法准确评估每个矿工工作量等等,但是目前,还没有很成熟的算法出现。就让我们假定这种算法存在,于是矿池无法存在。然而,这种算法无法改变的是矿池之所以出现的原因——1,虽然挖矿奖励的长期预期回报是一样的,但是独立矿工获得相应的设备奖励的几率较小,所以需要负担极大的概率风险和币价波动的风险;2,独立矿工并没有兴趣或者相关的知识和能力来参与共识,或者干脆说,即便是买了矿机的矿工,又有多少人是想要参与共识,又有多少人是单纯想要赚钱呢?所以说,彻底消灭矿池这样的组织形式只会导致两个结果:1,独立矿工无法承担挖矿的回报风险或者不愿意投入设备验证交易而退出,导致最终剩下的只有能够保证稳定获利的大矿场;2,矿池采取更中心化的组织形式,于是独立矿工以托管的方式加入矿池,于是矿池变得更加中心化。而两者,实际上虽然解决了矿池,但是没有解决中心化的问题。

「计算去中心化」是你手中的电脑给你带来的幻觉

再说了以上的这些,也许有人会想到——假如我们真的能找到一种理想的算法呢——一种 ASIC 无法占有优势所以人人都可以加入,一种独立矿工无需加入矿池也能获得稳定的收入(例如一些 DAG 算法里有这样的考虑),或者说,一种真正的 one CPU one vote 的算法。好吧,那我们考虑一种极端的情况,假设我们真的能找到一个这样的算法:每个节点可以提交一个工作证明参与共识并且得到奖励,而这个证明必须来自于某个 CPU,否则都是非法的。那么,首先,其实无论是 POW,POS,POA(许可链)或者其他的什么,所有的公链共识算法,不都是希望我们能够在一个非许可的恶意环境中,找到某种能够防止女巫攻击的,识别真正的用户的方法吗?只不过,POW 认为,「计算」这件事情,是最好的用于识别的东西。那如果这样,上述的那种算法就已经不能叫做 POW 了,因为我们并不是在用「计算」来判别节点在系统中的贡献,而是在用「是否是一个 CPU」。此外,即便我们有了这样的系统,它真的是我们想要的系统吗?什么才是系统的参与者,什么样的节点才应该来参与共识,而什么样的节点可以获得更高的加权,POS 主张用持币数来判断,POA 或者其他联盟链的算法主张用现实身份和物理世界中的可信度来判断,而 POW 主张用计算能力来判断,上文中一个「理想的 POW」,主张用是否拥有 CPU,以及拥有几个 CPU 来判断……

但归根结底,为什么我们认为「计算」甚至 CPU,是一个更「理想」,更「公平」的方案?

其实无非是因为,我们每个人几乎都有一个,或者几个 CPU,于是,让我们有了计算(CPU)=人人平等=去中心化的错觉。

实际上,这一段我的核心观点是这样的——POW 是一种采用运算某种哈希函数的能力来作为「工作量」的证明,它唯一的优势在于便于验证——这并不意外,因为这是哈希函数的设计要求。然而,无论是 ASIC,矿场还是矿池,都是伴随哈希函数而产生的东西,而这些东西最终还是会导致中心化。我们之所以产生「计算」是个比「权益」,比「身份」,比「授权」更加去中心化,更加非许可,更加隐私,更加平等的东西的幻觉,只不过是因为我们这个时代我们恰好每人都有一台电脑而已。

当然,如果我们把现实纳入考量——

既然「计算」还没那么中心化,而现在我们恰好每个人都有一台计算设备,那么是不是用这种设备来决定参与者在系统中的话语权是一个好主意呢?答案是否定的——我们可以看看整个和计算相关的行业和上下游,从研究,到晶圆机制造,到芯片制造,到能源,到互联网行业,几乎每个相关的核心产业都是高度中心化的,有些行业的中心化程度甚至超过了我们一直嗤之以鼻的银行业和政府。然后,我们为什么会认为这样的行业,在同样中心化的资本介入之后,会比其他的东西更加「去中心化」?也就是说,我认为,我们之所以认为「计算」这个东西去中心化,不过是「我们都有电脑」所带来的幻觉——「我也许并没有钱,但是我有一台电脑,你也只有一台电脑,所以我们是平等的」。然而,事实是,当一个公有链采用 POW 算法并且成功地变成了它所期望的规模形成了一个真正的算力市场之后,那么「计算」只可能会以更快的速度中心化起来,有钱的人和有资源的人可以用更快的速度抢占算力市场,那个时候,算力去中心化就会变得和现在拿 CPU 挖矿一样可笑。

关于区块链共识算法的现实

说到这里,我还一点也没有提安全性的问题——我只是在从 POW 和 POS 的基本逻辑来解释,为什么在现实中,这两种算法最终都会是相当中心化的。

然而,我们之前提过了,两者的区别在于,POW 对于 51% 攻击的抵御非常弱,而 POS 则正相反,POS 对于 51% 攻击的抵御很强,但是对于无利益攻击就是小矿工的作恶没有什么办法。所以,前文中我们说,POW 其实在一个更加去中心的环境中更安全,而 POS 在一个更加中心化的环境中更安全。于是,既然现实是两者最终都会趋向于中心化,POS 是个更安全的共识算法。

然而,我猜有人看到这里会说:差点被你忽悠了,一边说 POW 容易受到 51% 攻击,一边说 POW 容易中心化,但是这并不能够得出 POW 容易被 51% 攻击的结论或者 POW 不安全好不好?比特币,以太坊,以及其他的很多采用 POW 的区块链现在也很中心化,但是并没有受到攻击啊。

因为,实际上正在保证 POW 算法安全性的,不是别的,正是 ASIC 矿机和中心化。

之前我们已经提到了,当然,大家也能多少感觉出来,进行 51% 攻击其实最重要的成本,就是获得算力的成本。至于什么挖矿的未来获利,什么币价的波动,什么手续费和风险,什么攻击之后所付出的社会成本……其实都是浮云。什么是浮云呢,就是说,当有人真的想进行 51% 攻击的时候,以上这些是毫无意义的,或者说,都是有办法避开的。

那么,在一个「中心化的 POW 系统中」,也就是算力掌握在一些大矿池或者矿场手中的时候,攻击的成本是多少呢?

我们再从投资的角度考虑一下这个问题:

现在,我们有 8 位同学投身于虚拟货币挖矿。

1,A 租用某主流矿机,每天 100 元,按照当前币价预计获利 110。

2,B 租用某非主流矿机,每天 100 元,按照当前币价预计获利 120,但是币价有可能会有波动。

3,C 购买某主流矿机,投资 60000 元,平均三月可以挖到一次矿获利 12000 元。

4,D 购买某非主流矿机,投资 10000 元,平均每周能挖到一次矿获利 1000 元。

5,E 购买显卡矿机,投资 10000 元,平均每月获利依挖到的币种币价而定。

6,F 购买某主流矿机并加入某矿池,投资 50000 元,然后每月固定回报 3900 元。

7,G 购买某非主流矿机并加入某矿池,投资 10000 元,每月固定收入 4100 元。

8,H 购买显卡矿机并加入矿池,投资 10000 元,平均每月获利 3500 元。

以上的获利是指以当前币价折合的净利润(排除电费),主流和非主流矿机指的是该 POW 算法有多少人使用,然后场景都是我瞎编的,只是为了说明一些问题。

其实,对于每个人而言,他可以任选自己的投资策略——购买矿机需要更多的前期投入,但是长远回报肯定高于租用,而租用基本上仅限于币价上涨的时候,刚刚想要加入挖矿的新人试试水。然后,矿池和独立挖矿相比的优势在于更稳定的回报,因此对于币价波动的风险抵御能力更强。此外,主流矿机和非主流矿机的区别在于,主流货币竞争更激烈,但是币价相对稳定,非主流货币竞争相对容易所以获利高,然而受到币价的风险也高。显卡挖矿则需要对市场的判断,因为能用显卡挖到的币都基本不是主流货币,同时,如果采用显卡矿机加入矿池让矿池代为分配算力到币价最高的币上的话,仍旧会受市场影响,收益高于或者低于主流货币都有可能。

但这里,我们需要讨论的不是收益问题,而是——

假设,现在某 M 想要进行 51% 攻击,那么,以上哪些同学手中的算力它收购起来更加容易?

首先,租用的算力一定是最简单的,因为实际上既然 A 和 B 可以租到算力,那么 M 可以用同样的方法租到算力。实际上,之前受到攻击的 POW 算法,基本上都是攻击所需的算力小于在可租用算力市场上能够获得的算力的区块链。

相比而言,想要从后面几位同学手中搞到算力就要复杂一些了。这里我们假定他们都是理性的人,那么 M 肯定可以说:不管你多少钱买的矿机我加价买下来……我猜大部分人应该都不会拒绝这样的条件,然而,这显然是最蠢的一种办法(然而,大部分对于 POW 的安全性分析都认为攻击者会采用这种最蠢的方法获得算力)。M 也可以说,我用高于你一小时收入的价格租你一小时的算力。然而,基本上也不会有人愿意搭理这样的要求,因为时间太短了,不要说小时,就算是一天可能吸引力都不大。但是,聪明的 M 可以跟他们说:我租你一年的算力,但是我按天付你钱……这样,我猜就会有不少人心动了。然而,如果他们足够警觉能够意识到 M 可能有恶意,他们可能仍旧会拒绝这种要求,因为如果 M 进行了 51% 攻击,可能会导致他们在矿机上的收入打水漂——这点,对于非主流矿机所有者尤其如此,因为主流矿机还可以挖别的币,而非主流矿机也许就会失去用途。所以说,实际上,从 M 收购算力的角度讲,矿工在购买矿机上投入的成本越高,在双重支付之后的损失越大,收购他们的算力就越难。但这个时候,可能会有人意识到「获得算力困难」的另一个维度——去中心化不也是吗?没错,也许 M 能够买通 C 或者 D 加入他,或者从他们手中买到算力,但是这世界上有成千上万个 M 不知道是谁也不知道在哪的 C 或者 D……

那么,M 如何能够一个一个地说服自己并无恶意,并且让他们放心地把他们花大价钱买来的矿机租给自己用呢?

然而,其实 M 并不需要说服他们,只要给他们稍微高一点的奖励就够了。

因为 F,G 和 H,又何尝知道他们加入的矿池不属于 M 呢?换句话说,实际上,矿池这种组织形式本身,就已经非常方便地解决了我们提到的两个收购算力的难点。

而我们之前也说了,这其实并不是矿池的问题,无论不可外包的 POW 能否消灭掉现在矿池的组织性质,这类中心化的系统最终一定会以某种方式存在,因为对于普通矿工而言,排在第一位的是收益,排在第二位的是易用性,至于安全……看看去中心化的交易所的交易量就好了。因此,其实在 POW 中,除非独立矿工能够理解自己的行为并且愿意主动维护系统的安全性,否则,去中心化只会让恶意节点有机可乘,可以更加轻易地获得算力而已。

我知道有人会反驳我矿工和普通用户的区别,并认为矿工其实会对于区块链更加有责任心,但是这更加印证了我的论点——

其实,我们本来就是希望矿工对于区块链的安全更有责任心,也就是区块链的共识节点的利益能够和系统一致,于是我们才有了安全性,才有了「恶意节点不超过 50%」这个假设,整个共识算法才有意义。无论是 POW 还是 POS,其实这个 proof 本身,就是希望节点能够提供一个「我在乎这个系统安全的理由」,来证明他们是对于这个系统有责任心的。而在这一点上,POW 是不如 POS 的,因为实际上挖矿的奖励相对于整个系统的价值来说只是九牛一毛,也就是说,「我挖了矿」其实作为理由并不充分。而其实,在大众的认知中,我们现在通常认为「我买了矿机,要是我作恶矿机就白买了」是个足够充分的理由,但是事实上「我买了矿机,但是我把它委托给矿池了」,同样是不负责任的行为。

而在负责任这件事上,在 POS 中把权益委托给矿池也同样不负责任。但,POS 的天然优于 POW 的一点是,由于如果你拥有的权益多,你可能会受到的损失远多于 POW(在前文中论述过),所以,大一些的持币者更有理由负更多的责任,于是「我买了很多币」是一个比「我挖了矿」或者「我有矿机」更充分的,他们愿意负起责任的理由。

而这其实就得出了一个可能在比特币原教旨主义者看来相当大逆不道,但是实际上在区块链学术界并不算是新鲜的结论——

一个人人都能加入的区块链没什么意义——因为将不负责任的节点纳入共识只会降低系统的安全性,因为他们手中的资源会很容易地被恶意节点获取,无论是 POW 还是 POS,或者是其他的共识算法,都是如此。因此,我们希望节点能够负责,他们的利益能够在某些程度被和区块链绑定起来,所以,其实所有共识算法都需要一个进入门槛。否则,无论算法如何保证,无论他们对于区块链能够理解多少,无论他们本性是否诚实,他们在系统中的利益决定了他们本身就不可能在共识中负起多少责任。于是,POS 会面临无利益攻击,在 POW 中,虽然小矿工的作恶成本很高,但是他们会有更大的意愿加入矿池,于是实际上也没有对安全性有多大的贡献。

到了最后,我们发现一个相当可悲的问题——其实大部分公链区块链共识算法的安全性证明都没什么意义,因为没人拥有超过 50% 算力(权益)的这个假设都在大多数区块链项目中都很难成立。因为被寄予厚望的去中心化的「大多数」,并没有真正的参与到共识中来,而是如同中心化系统一般,选择信任大矿池,大矿工,或者交易所,把他们的算力和权益贡献给了某些中心。于是,实际上正在保证安全性的,是大矿工,大矿池,大持币者,意见领袖,现实中的大公司,或者干脆是项目创始人,创始团队。他们在区块链中投入最多,链没了他们损失最大,而进行 51% 攻击他们需要付出的经济代价和社会代价也最高。

那么,现在还剩最后一个问题——

以上我们说的都是从安全角度出发,那么,安全到底有多重要?只从安全角度的优劣来评价 POW 和 POS 是不是有失公允?

生成图片
10

发表评论

无论是 PoW 还是 PoS,最终都将趋于中心化

星期二 2019-08-27 22:19:49

POS 的中心化问题

首先,POS 会造成不平等加剧是个老生常谈的问题,这其中有三个维度:

第一个维度是累积效应:无论 POS 的奖励机制设计得再怎么精妙,都无法解决一个 POS 根本性的循环,即「钱越多的人获得出块权的几率越大——他们付出的维护系统的努力越多——获得的奖励越多——钱越多」。换言之,从 POS 的原理上,就有「多得者多劳——多劳者多得」这样的一个设定,所以,在钱不流动的一个静态环境里,有钱的人一定会越有钱,这是 POS 原理上造成但是 POW 中不存在的。

第二个维度是大节点的特权和优势——尽管一个理想的 POS 算法会把权益均匀地按照持币比例分给持币人,但是第一,之前我们已经介绍了无利益攻击,而抵御无利益攻击的最有效方法就是设置进入门槛,而这样实际上就隔绝一些小持币者获得区块奖励的可能;第二,即便从算法上不设这个门槛,实际上任何共识算法对于共识参与者都是有门槛的,也就是他们的带宽、计算能力和储存必须能够满足参与共识的要求,例如需要能够及时更新区块,进行验证并且更新状态。而小持币者如果不满足这个门槛,他们仍旧是无法获得区块奖励的,甚至可能因为一些惩罚机制而损失权益。除此之外,大持币者还在很多方面有优势,例如大持币者可能可以获知更多的交易,从而获得更多的交易费。因此,从这个角度看,小持币者将币委托给大持币者挖矿并获得奖励可以更好地避免权益集中。

第三个维度是经济学维度——即便完全不考虑激励机制,在任何系统中有钱的人都会更容易获得钱,于是变得更加有钱,这是个经济学的定律,无论什么共识算法都解决不了,除非我们在激励机制上故意反其道而行之。当然,我们也需要考虑这个生态和其他区块链竞争的问题——大持币者其实在垄断到一定程度也有卖出自己持币的动力,才能在一个更大的环境之中维持币价从而保证自己在现实中,而不是仅仅在这个系统里,的权益。但是,有句话说的好,「只有背叛阶级的个人,没有背叛利益的阶级」,现实中的每个社会也都不是孤立的,然而,最终社会中的权益还是会逐渐击中,只有少数能够由既得利益者发起的,成功的自上而下的改革,而大多数的结果还是自下而上的革命。至于 POS 系统中的大持币者会走上那条路现在还不好说,但是这并不是这篇文章的讨论范畴。

总之,对于 POS 中心化的结论是——没错,POS 的系统实际上就是更极致的资本主义,所以它大概率会走向中心化。然而残酷的是,现实也一样。的确,区块链也许是个能够改变这种现实的工具,然而,第一,在目前的阶段,我不觉得区块链技术有这个能力,也不觉得它承载得起这样的「重任」;第二,在安全性没有解决的时候,谈未来有可能的「中心化」问题毫无意义;第三,区块链不是孤立的,POS 项目也同样,过度中心化会造成币价下跌,于是大持币者完全有动力在币价高的时候抛掉自己手中的货币。不过,以上都不在我们考虑的范畴——

我们同样认同,POS 的区块链,多半和大部分资本主义的社会一样,大多数财富是集中在少部分人手中的。

POW 的中心化问题

关于 POS 会更趋近于权益集中也就是中心化我们就不赘述了,因为这个没什么争议。但是 POW 最终会趋向于中心化我估计会很有争议——因为我们都知道目前几乎所有的头部数字货币的算力都相当中心化,但大家通常会把锅甩给 ASIC 矿机或者矿机制造商,甩给算法,甩给矿池和可外包的挖矿任务等等,而通常,所有人都把 POW 当做一个比 POS 更去中心化,更能够令人平等地参与和竞争的算法。

然而,我在这里却想提这样一个非常离经叛道的结论——

不,我不是说目前采用 POW 算法的货币很中心化,我是说,所有采用 POW 算法的区块链,他们最终都会变得中心化,或者更确切一点说,对于一个正常的,采用 POW 算法的区块链而言,算力集中和中心化就是它必然的结局。当然,这里的例外是「这不是一个正常的区块链」,我们最后再说它是什么意思。

我们来通过几个重要的事件来推理一下为什么中心化是任何 POW 算法演化的必然结果。

1,专业矿工的出现

很多采用 POW 的区块链,包括比特币,都经历过一个让很多人神往的「田园时代」,那个时候大家用显卡甚至用电脑都能挖矿,没有专业矿工,没有 ASIC,没有矿池,也没有中心化。所以一个自然而然的想法是,我们可不可能一直保持这样的状态,让专业矿工不出现。换句话说,没有人(或者极少人)有意愿购置专门的设备进行挖矿,而大部分人都会选择用普通家用设备进行挖矿——这才是真正的零门槛谁都能加入的区块链。

答案是能——如果挖矿永远不赚钱的话。(条件 1)

POW 是个非许可系统,换句话说,如果业余矿工能够赚到钱,那么没理由不会有人打「购置两倍的设备赚双份的钱」的主意。而在这个定义里,当他买来设备的时候,他的身份就转变为了专业矿工,而他的目的也变成了赚钱。这里听起来会有一些别扭,难道早期挖比特币的人不是因为信仰吗?

但信仰和赚钱本来就是一体的,比特币之所以成功,也恰恰是因为它将两者统一了起来从而避免了公地悲剧。赚钱并不一定指赚现金,也包括对于币升值的预期。无论是现实中的钱,还是未来的钱,当网络中认可「能赚钱」这件事多了之后,自然而然地会出现矿工。

而矿工和业余挖矿者的区别在于——既然矿工已经有了投入,所以会将收益放在非常重要的位置上。

2,专用矿机(ASIC)的出现

随着专业矿工诞生的是竞争,而竞争的原因是,奖励并不是按照算力发放的,而是按照算力比例发放的。于是,如果这是一个**开放的系统(条件 2)**中,即所有人都能加入的系统,所有矿工将需要根据算力上涨的趋势持续投入设备,并算出相应的盈利成本,而无法负担这个成本的人将会退出,或者,想办法削减成本。

而削减成本的方法当然就是采用更高效的挖矿设备,于是,针对每个 POW 的算法,由于在通常情况下,专用设备一定比通用设备有效(条件 3)。所以,最终,我们会得到效率越来越高并且越来越专用的设备,如果竞争的时间充分长,(条件 4),即,很多人看好对这个算法进行挖矿会有远期的盈利,我们最终会得到 ASIC 矿机。

3,矿场的出现

在一个竞争激烈的环境中,挖矿的收益应该略高于投入。而伴随着 ASIC 矿机的出现,假定矿工都采用了效率接近的 ASIC 矿机的情况下,在其他方面的成本上的竞争就会空前激烈,例如:电费,矿机购买费用,场地租用费用,人工和管理维护费用等等……这也就是所谓的规模化效应。

而所有的这些费用,在现实中都只会导致一个结果——矿场的诞生。

因为:电费有地域性,而矿场可以在电费低廉的地方选址;矿机无论是从研发、制造还是销售的角度考虑,大批量购买价格都会低于零售;场地租用和管理的成本矿场也具有优势。

因此,无论矿场的规模大小,可以肯定的一点是,在一个**矿工竞争激烈(条件 5)**的 POW 区块链之中,个人矿工会慢慢减少以至于被淘汰。

4,矿池的出现

与 POS 的情况类似,在多数情况下,POW 的大矿池在共识的参与方面相对于独立矿工有多方面的优势(条件 6),例如带宽,收到的交易,计算能力,等等。而且中最大的优势,是大矿池因为在可以获得更加稳定的收入来支付电费。因此,POW 的独立矿工比 POS 的矿工更有动机去加入矿池。于是,就形成了矿工以「矿池」的形式进行竞争的局面,但是由于矿池对于矿工没有约束性,于是,矿工只会自发选择收益较高的矿池,最终导致无论矿工加入哪个矿池,矿池这个行业最终都只会留下少数的几个竞争者。换句话说,最终几大矿池会垄断整个算力市场。

当然,这里有争议的地方在于矿池是不是一定等于中心化,因为矿工仍旧可以决定加入哪个矿池。的确,两者有些许的区别,但是我觉得最容易进行判断的标准就是——如果从矿池层面进行 51% 攻击,有多少矿工能够做到及时察觉并且抽出算力呢?更何况,如果矿池可以藉由 51% 攻击给矿工更高的回报,真的所有的矿工都愿意发起抵制吗?

POW 的去中心化尝试

以上,我们通过推理,纯粹从现实世界和 POW 算法本质的角度分析了为什么 POW 一定会形成中心化的矿池。然而,这其中我们做了六个假设,也就是以粗体「条件」标在推理中的——1,挖矿赚钱;2,开放系统;3,专用设备比通用设备有效;4,竞争时间充分长;5,矿工竞争激烈;6,大矿池有优势。这六个条件是推理中不可或缺的部分,换句话说,如果这些条件不成立,那么我们的推理是有问题的。实际上,当一个 POW 区块链不满足这样的条件时,它多半不是一个「正常」的区块链。

而且,这样的区块链,其实很可能更加中心化。

我们先来看一些简单的情况:在挖矿不赚钱的情况下,其实就不可能出现竞争时间长,竞争激烈这种事情。而实际上大部分没有 ASIC 矿机的 POW 其实都处于这个状况,因此,没有 ASIC 矿机和算法难度关系不大,只不过是因为研发 ASIC 矿机的投入不值得而已。而另一种情况是,整个系统的生态并不是完全开放的,比如对于加入挖矿有特殊的许可,或者是不够主流因此购买矿机的途径少等等。可是在以上这两种情况之中,区块链其实并没有变得更加去中心化——一个挖矿不赚钱,竞争不激烈,不够开放,或者竞争才刚刚起步的系统,恰恰表示参与挖矿的人还不够多。实际上,几乎所有的 POW 系统,包括比特币和以太坊起步的时候,算力都是十分中心化的。而比特币和以太坊真正去中心化的,至今被认为是人人都能挖矿的黄金时代,实际上是很「短暂」的,可能再也不会出现的,市场进入充分竞争之前的过度时期。

从这个角度讲,POW 对于 POS 的优势不在于共识算法本身,而在于区块链目前的商业模式——在当前的热度下,一个 POW 区块链项目的币价早在主网上线之前就已经有了很高的估值了,于是,相比于 POS 在主网上线之前就有了很高的获币门槛而言,POW 在主网刚刚上线的时候,会有那么一段「挖矿赚钱但是竞争还不激烈于是人人都可以挖矿」的红利时期,这段时期的参与是真正「无许可」而且几乎「零门槛」的,使它可以在初期就获得数量众多的参与者,这一点是 POS 所不具备的。但是,这其实与算力分布的中心化,也就是我们在这里的议题无关(我们在之后会更深入地探讨一下这个问题)。因为,对于任何 POW 区块链而言,在目前区块链以及寻找所谓「百倍币」「千倍币」的热度下,这个窗口都会十分短暂,在正常的市场下一定会出现我们上文叙述的情况——要么会出现 ASIC 矿机使得普通设备无法进行挖矿,然后专业挖矿者会因为电费的牵制加入大矿池或者干脆用云挖矿或者托管的方式购买挖矿服务,要么,由于挖矿无法盈利而造成矿工退出,为了维持系统的安全性,较为中心化的项目方会逐渐封闭系统。最终,系统都会变得中心化。

那么,有没有例外呢?

答案是有——我们可以从以上的几个条件入手。

1,专用设备比通用设备有效

最早的进行 POW 去中心化的尝试大约就是从这个点下手的,也就是,如何从算法上防止 ASIC 矿机的出现,即 ASIC 抵抗算法。然而,ASIC 抵抗是不存在的,因为以上的假设是在各个领域都颠扑不破的真理,即专用的一定比通用的更有效,唯一的区别就是有效程度,以及设计、开发和制造的难度而已。所谓的 ASIC 抵抗挖矿算法是将 SHA256 中对于计算速度的要求转移到内存甚至硬盘上,例如著名的 Ethash,Equihash,以及用了 11 种算法的 X11 等,他们希望能够提高硬件的设计和制造难度,同时降低专用设备对于通用设备的优势。然而,我们已经看到了他们的结果——他们高估了硬件制造的难度,也低估了专用设备的优势。其实从学术的角度讲,设计 ASIC 抵抗算法,即「如何在现行的硬件条件和电子工业制造的环境下,设计一个制造开发成本最高同时安全的哈希算法」是个相当复杂甚至可以说是一个全新的学术问题,我毫不怀疑这个问题可以被学术界所解决,但是想发展出系统的理论最终要给出一个「开发最昂贵并且对于通用设备优势最小的算法」可能需要数年的时间。而在这之前的所有算法都面临着许多的风险,例如高估硬件开发难度,低估 ASIC 的优势,或者就是干脆算法中有安全隐患,而这些其实都会带来实实在在的安全性风险,因为使用者无法判断 51% 的难度。现在,我们仍旧能看到许多「尚未有 ASIC 矿机」的 ASIC 抵抗 POW 算法,但是,根据他们前辈的经历判断,我认为他们抵抗不了太久。

2,竞争时间充分长

于是,门罗币(Monero)带来了另一种解决思路,就是在任何 ASIC 矿机可能出现之前切换算法。但首先这本身就是一个相当中心化的行为,只不过不是以算力为中心而是决策者为中心,同时,想要彻底避免 ASIC 的出现,他们必须选用一些没有 ASIC(也就是没其他主流币在用的)的冷门算法,这也增大了前面所说的安全隐患。同时,实际上 ASIC 并不是「只能用于一种算法」的硬件的代称,它也可以被设计来「用于大部分主流的哈希算法的挖矿」,换句话说,硬件开发者其实是有能力做出一个能够用于「挖矿」的专用矿机的,虽然开发成本可能会更高一些。归根结底,门罗币的行为只是用一种中心化代替了另一种中心化。

3,大矿池有优势

目前一个比较热门的研究领域是「不可外包的挖矿算法」,目的是防止大矿池的出现。目前,有很多这方面的提议和想法,例如让挖矿结果和私钥挂钩或者让矿池无法准确评估每个矿工工作量等等,但是目前,还没有很成熟的算法出现。就让我们假定这种算法存在,于是矿池无法存在。然而,这种算法无法改变的是矿池之所以出现的原因——1,虽然挖矿奖励的长期预期回报是一样的,但是独立矿工获得相应的设备奖励的几率较小,所以需要负担极大的概率风险和币价波动的风险;2,独立矿工并没有兴趣或者相关的知识和能力来参与共识,或者干脆说,即便是买了矿机的矿工,又有多少人是想要参与共识,又有多少人是单纯想要赚钱呢?所以说,彻底消灭矿池这样的组织形式只会导致两个结果:1,独立矿工无法承担挖矿的回报风险或者不愿意投入设备验证交易而退出,导致最终剩下的只有能够保证稳定获利的大矿场;2,矿池采取更中心化的组织形式,于是独立矿工以托管的方式加入矿池,于是矿池变得更加中心化。而两者,实际上虽然解决了矿池,但是没有解决中心化的问题。

「计算去中心化」是你手中的电脑给你带来的幻觉

再说了以上的这些,也许有人会想到——假如我们真的能找到一种理想的算法呢——一种 ASIC 无法占有优势所以人人都可以加入,一种独立矿工无需加入矿池也能获得稳定的收入(例如一些 DAG 算法里有这样的考虑),或者说,一种真正的 one CPU one vote 的算法。好吧,那我们考虑一种极端的情况,假设我们真的能找到一个这样的算法:每个节点可以提交一个工作证明参与共识并且得到奖励,而这个证明必须来自于某个 CPU,否则都是非法的。那么,首先,其实无论是 POW,POS,POA(许可链)或者其他的什么,所有的公链共识算法,不都是希望我们能够在一个非许可的恶意环境中,找到某种能够防止女巫攻击的,识别真正的用户的方法吗?只不过,POW 认为,「计算」这件事情,是最好的用于识别的东西。那如果这样,上述的那种算法就已经不能叫做 POW 了,因为我们并不是在用「计算」来判别节点在系统中的贡献,而是在用「是否是一个 CPU」。此外,即便我们有了这样的系统,它真的是我们想要的系统吗?什么才是系统的参与者,什么样的节点才应该来参与共识,而什么样的节点可以获得更高的加权,POS 主张用持币数来判断,POA 或者其他联盟链的算法主张用现实身份和物理世界中的可信度来判断,而 POW 主张用计算能力来判断,上文中一个「理想的 POW」,主张用是否拥有 CPU,以及拥有几个 CPU 来判断……

但归根结底,为什么我们认为「计算」甚至 CPU,是一个更「理想」,更「公平」的方案?

其实无非是因为,我们每个人几乎都有一个,或者几个 CPU,于是,让我们有了计算(CPU)=人人平等=去中心化的错觉。

实际上,这一段我的核心观点是这样的——POW 是一种采用运算某种哈希函数的能力来作为「工作量」的证明,它唯一的优势在于便于验证——这并不意外,因为这是哈希函数的设计要求。然而,无论是 ASIC,矿场还是矿池,都是伴随哈希函数而产生的东西,而这些东西最终还是会导致中心化。我们之所以产生「计算」是个比「权益」,比「身份」,比「授权」更加去中心化,更加非许可,更加隐私,更加平等的东西的幻觉,只不过是因为我们这个时代我们恰好每人都有一台电脑而已。

当然,如果我们把现实纳入考量——

既然「计算」还没那么中心化,而现在我们恰好每个人都有一台计算设备,那么是不是用这种设备来决定参与者在系统中的话语权是一个好主意呢?答案是否定的——我们可以看看整个和计算相关的行业和上下游,从研究,到晶圆机制造,到芯片制造,到能源,到互联网行业,几乎每个相关的核心产业都是高度中心化的,有些行业的中心化程度甚至超过了我们一直嗤之以鼻的银行业和政府。然后,我们为什么会认为这样的行业,在同样中心化的资本介入之后,会比其他的东西更加「去中心化」?也就是说,我认为,我们之所以认为「计算」这个东西去中心化,不过是「我们都有电脑」所带来的幻觉——「我也许并没有钱,但是我有一台电脑,你也只有一台电脑,所以我们是平等的」。然而,事实是,当一个公有链采用 POW 算法并且成功地变成了它所期望的规模形成了一个真正的算力市场之后,那么「计算」只可能会以更快的速度中心化起来,有钱的人和有资源的人可以用更快的速度抢占算力市场,那个时候,算力去中心化就会变得和现在拿 CPU 挖矿一样可笑。

关于区块链共识算法的现实

说到这里,我还一点也没有提安全性的问题——我只是在从 POW 和 POS 的基本逻辑来解释,为什么在现实中,这两种算法最终都会是相当中心化的。

然而,我们之前提过了,两者的区别在于,POW 对于 51% 攻击的抵御非常弱,而 POS 则正相反,POS 对于 51% 攻击的抵御很强,但是对于无利益攻击就是小矿工的作恶没有什么办法。所以,前文中我们说,POW 其实在一个更加去中心的环境中更安全,而 POS 在一个更加中心化的环境中更安全。于是,既然现实是两者最终都会趋向于中心化,POS 是个更安全的共识算法。

然而,我猜有人看到这里会说:差点被你忽悠了,一边说 POW 容易受到 51% 攻击,一边说 POW 容易中心化,但是这并不能够得出 POW 容易被 51% 攻击的结论或者 POW 不安全好不好?比特币,以太坊,以及其他的很多采用 POW 的区块链现在也很中心化,但是并没有受到攻击啊。

因为,实际上正在保证 POW 算法安全性的,不是别的,正是 ASIC 矿机和中心化。

之前我们已经提到了,当然,大家也能多少感觉出来,进行 51% 攻击其实最重要的成本,就是获得算力的成本。至于什么挖矿的未来获利,什么币价的波动,什么手续费和风险,什么攻击之后所付出的社会成本……其实都是浮云。什么是浮云呢,就是说,当有人真的想进行 51% 攻击的时候,以上这些是毫无意义的,或者说,都是有办法避开的。

那么,在一个「中心化的 POW 系统中」,也就是算力掌握在一些大矿池或者矿场手中的时候,攻击的成本是多少呢?

我们再从投资的角度考虑一下这个问题:

现在,我们有 8 位同学投身于虚拟货币挖矿。

1,A 租用某主流矿机,每天 100 元,按照当前币价预计获利 110。

2,B 租用某非主流矿机,每天 100 元,按照当前币价预计获利 120,但是币价有可能会有波动。

3,C 购买某主流矿机,投资 60000 元,平均三月可以挖到一次矿获利 12000 元。

4,D 购买某非主流矿机,投资 10000 元,平均每周能挖到一次矿获利 1000 元。

5,E 购买显卡矿机,投资 10000 元,平均每月获利依挖到的币种币价而定。

6,F 购买某主流矿机并加入某矿池,投资 50000 元,然后每月固定回报 3900 元。

7,G 购买某非主流矿机并加入某矿池,投资 10000 元,每月固定收入 4100 元。

8,H 购买显卡矿机并加入矿池,投资 10000 元,平均每月获利 3500 元。

以上的获利是指以当前币价折合的净利润(排除电费),主流和非主流矿机指的是该 POW 算法有多少人使用,然后场景都是我瞎编的,只是为了说明一些问题。

其实,对于每个人而言,他可以任选自己的投资策略——购买矿机需要更多的前期投入,但是长远回报肯定高于租用,而租用基本上仅限于币价上涨的时候,刚刚想要加入挖矿的新人试试水。然后,矿池和独立挖矿相比的优势在于更稳定的回报,因此对于币价波动的风险抵御能力更强。此外,主流矿机和非主流矿机的区别在于,主流货币竞争更激烈,但是币价相对稳定,非主流货币竞争相对容易所以获利高,然而受到币价的风险也高。显卡挖矿则需要对市场的判断,因为能用显卡挖到的币都基本不是主流货币,同时,如果采用显卡矿机加入矿池让矿池代为分配算力到币价最高的币上的话,仍旧会受市场影响,收益高于或者低于主流货币都有可能。

但这里,我们需要讨论的不是收益问题,而是——

假设,现在某 M 想要进行 51% 攻击,那么,以上哪些同学手中的算力它收购起来更加容易?

首先,租用的算力一定是最简单的,因为实际上既然 A 和 B 可以租到算力,那么 M 可以用同样的方法租到算力。实际上,之前受到攻击的 POW 算法,基本上都是攻击所需的算力小于在可租用算力市场上能够获得的算力的区块链。

相比而言,想要从后面几位同学手中搞到算力就要复杂一些了。这里我们假定他们都是理性的人,那么 M 肯定可以说:不管你多少钱买的矿机我加价买下来……我猜大部分人应该都不会拒绝这样的条件,然而,这显然是最蠢的一种办法(然而,大部分对于 POW 的安全性分析都认为攻击者会采用这种最蠢的方法获得算力)。M 也可以说,我用高于你一小时收入的价格租你一小时的算力。然而,基本上也不会有人愿意搭理这样的要求,因为时间太短了,不要说小时,就算是一天可能吸引力都不大。但是,聪明的 M 可以跟他们说:我租你一年的算力,但是我按天付你钱……这样,我猜就会有不少人心动了。然而,如果他们足够警觉能够意识到 M 可能有恶意,他们可能仍旧会拒绝这种要求,因为如果 M 进行了 51% 攻击,可能会导致他们在矿机上的收入打水漂——这点,对于非主流矿机所有者尤其如此,因为主流矿机还可以挖别的币,而非主流矿机也许就会失去用途。所以说,实际上,从 M 收购算力的角度讲,矿工在购买矿机上投入的成本越高,在双重支付之后的损失越大,收购他们的算力就越难。但这个时候,可能会有人意识到「获得算力困难」的另一个维度——去中心化不也是吗?没错,也许 M 能够买通 C 或者 D 加入他,或者从他们手中买到算力,但是这世界上有成千上万个 M 不知道是谁也不知道在哪的 C 或者 D……

那么,M 如何能够一个一个地说服自己并无恶意,并且让他们放心地把他们花大价钱买来的矿机租给自己用呢?

然而,其实 M 并不需要说服他们,只要给他们稍微高一点的奖励就够了。

因为 F,G 和 H,又何尝知道他们加入的矿池不属于 M 呢?换句话说,实际上,矿池这种组织形式本身,就已经非常方便地解决了我们提到的两个收购算力的难点。

而我们之前也说了,这其实并不是矿池的问题,无论不可外包的 POW 能否消灭掉现在矿池的组织性质,这类中心化的系统最终一定会以某种方式存在,因为对于普通矿工而言,排在第一位的是收益,排在第二位的是易用性,至于安全……看看去中心化的交易所的交易量就好了。因此,其实在 POW 中,除非独立矿工能够理解自己的行为并且愿意主动维护系统的安全性,否则,去中心化只会让恶意节点有机可乘,可以更加轻易地获得算力而已。

我知道有人会反驳我矿工和普通用户的区别,并认为矿工其实会对于区块链更加有责任心,但是这更加印证了我的论点——

其实,我们本来就是希望矿工对于区块链的安全更有责任心,也就是区块链的共识节点的利益能够和系统一致,于是我们才有了安全性,才有了「恶意节点不超过 50%」这个假设,整个共识算法才有意义。无论是 POW 还是 POS,其实这个 proof 本身,就是希望节点能够提供一个「我在乎这个系统安全的理由」,来证明他们是对于这个系统有责任心的。而在这一点上,POW 是不如 POS 的,因为实际上挖矿的奖励相对于整个系统的价值来说只是九牛一毛,也就是说,「我挖了矿」其实作为理由并不充分。而其实,在大众的认知中,我们现在通常认为「我买了矿机,要是我作恶矿机就白买了」是个足够充分的理由,但是事实上「我买了矿机,但是我把它委托给矿池了」,同样是不负责任的行为。

而在负责任这件事上,在 POS 中把权益委托给矿池也同样不负责任。但,POS 的天然优于 POW 的一点是,由于如果你拥有的权益多,你可能会受到的损失远多于 POW(在前文中论述过),所以,大一些的持币者更有理由负更多的责任,于是「我买了很多币」是一个比「我挖了矿」或者「我有矿机」更充分的,他们愿意负起责任的理由。

而这其实就得出了一个可能在比特币原教旨主义者看来相当大逆不道,但是实际上在区块链学术界并不算是新鲜的结论——

一个人人都能加入的区块链没什么意义——因为将不负责任的节点纳入共识只会降低系统的安全性,因为他们手中的资源会很容易地被恶意节点获取,无论是 POW 还是 POS,或者是其他的共识算法,都是如此。因此,我们希望节点能够负责,他们的利益能够在某些程度被和区块链绑定起来,所以,其实所有共识算法都需要一个进入门槛。否则,无论算法如何保证,无论他们对于区块链能够理解多少,无论他们本性是否诚实,他们在系统中的利益决定了他们本身就不可能在共识中负起多少责任。于是,POS 会面临无利益攻击,在 POW 中,虽然小矿工的作恶成本很高,但是他们会有更大的意愿加入矿池,于是实际上也没有对安全性有多大的贡献。

到了最后,我们发现一个相当可悲的问题——其实大部分公链区块链共识算法的安全性证明都没什么意义,因为没人拥有超过 50% 算力(权益)的这个假设都在大多数区块链项目中都很难成立。因为被寄予厚望的去中心化的「大多数」,并没有真正的参与到共识中来,而是如同中心化系统一般,选择信任大矿池,大矿工,或者交易所,把他们的算力和权益贡献给了某些中心。于是,实际上正在保证安全性的,是大矿工,大矿池,大持币者,意见领袖,现实中的大公司,或者干脆是项目创始人,创始团队。他们在区块链中投入最多,链没了他们损失最大,而进行 51% 攻击他们需要付出的经济代价和社会代价也最高。

那么,现在还剩最后一个问题——

以上我们说的都是从安全角度出发,那么,安全到底有多重要?只从安全角度的优劣来评价 POW 和 POS 是不是有失公允?