这两天在橙皮书的微信群里面产生了PoW和PoS的大讨论,甚是精彩,从讨论中我看到了许多有价值的观点。
由于微信群本身是一个非常不适合讨论的工具,讨论到后来很多回复被忽略,很多问题被反复提出来车轱辘说,效率实在太低,因此我在这里将讨论中提出的问题整理出来,统一回复一次,避免重复劳动。
A:POS大户坐着获得的资本利得,是小散无法逾越的鸿沟,且无法约束他的权利。
B:这个问题是社会正常现象吧,有钱的人挣钱本身就是比平民容易,他投入这么多钱收入却比别人少,那才是不公平啊,现在是大家获得的比例是一样的,大户投入的钱多,就是会获得更多的回报
这是一个PoW和PoS讨论中常见的对话。A提出了两个问题,1.(公平性问题)PoS大户坐着获利,普通人没有;2.(无法制约)PoS大户的权利无法约束。B回答了1。
对于问题1,我同意B的看法。投入多回报多是合理的,无论是pow还是pos都是这样,区块链是帮助实现过程公平而不是结果公平的工具。在区块链里面我们依然会看到马太效应。试图用区块链去解决结果公平的后果是区块链治理的内涵无限扩大,将本该由协议解决的各种问题统统推给投票去解决。
然而无论是历史还是理论早就告诉我们,世界上并没有完美的群体选择制度。区块链是一个能够记录数据,保证数据不被篡改,为所有人提供数据的工具,通过这样一个工具帮助我们更好的实现过程公平,已经是非常非常大的进步了。
问题2是一个在讨论中被忽略的关键问题。投入资源换取回报天经地义,但前提是你想投入就能投入吗?举个例子,一个明星创业团队融资,是不是任何vc想投就能投进去呢?PoW具有非常好的开放性,使得后来的共识参与者总是可以加入共识群体,而PoS不具有这样的开放性。引用这里的讨论:
在PoS中,未来的共识群体是由今天的共识群体决定的。任何新的节点想要参与共识都需要通过至少一个交易来实现,而这个交易是否被处理是由今天的共识群体决定,他们可以处理这个交易,也可以不处理这个交易,如果不处理这个交易,新的节点永远都无法参与共识。同时,“不处理交易”是容易伪装而难于惩罚的行为,我还没有看到能在共识协议中解决这个问题的方案。PoS往往是根据stake的权重来分配出块比例,考虑到大部分系统中stake的集中程度,这是一个非常实际的问题。
IPFS工具开发商Textile发布Powergate2.0版:IPFS工具开发商Textile发布基于Fielcoin和IPFS的API解决方案Powergate的2.0版本,该版本新增了许多新功能和工具,比如Dealimporting功能,同时还改进了API,新增了一套针对运营者的开发工具。...[2021/1/25 13:26:41]
PoW是彻底的Permissionless。无论什么时候,只要你愿意,都可以买矿机和电力加入出块者的行列,不需要今天的矿工给你任何形式的许可。你也许会说,我还是需要购买矿机和电力呀,这是不是一种形式的许可呢?是的,从更低一层来说,这也是一种许可。但遗憾的是,在所有的ProofofXXX中,这已经是最去中心化的许可形式了,毕竟矿机生产和电力资源的去中心化程度远高于各种tokens(的分散程度)。我们总是应该追求尽可能的去中心化,否则用回中心化系统就好了。
”是否能够投入”本身可以看作一种option,有非常高的价值。PoW能有这样的性质,是因为工作量证明的计算是一种不依赖历史的计算,无论你在任何时间点购买算力加入计算,你都和其他矿工在同一个起跑线上,这是一个非常独特的、反直觉的性质,正是这个性质使得后来者总是能打破了早期参与者的优势。
PoS不同,因为stake是系统中内生的资产,资产的所有权是由系统历史决定的,交易顺序是由系统历史决定的,因此无论是需要抵押token加入的pos,还是只需要持有token就可以参与的pos,其validator集合都是这个系统自身的历史决定,PoS和PoW在”参与共识是否需要依赖历史“上是截然不同的。我们很容易能看出,这是一个本质不同,无论什么样的上层设计都解决不了这一点。
因此PoW和PoS的设计,从根本上是两种不同的思路,体现两种不同的理念:
(PoS)系统应该让先发者获得天然的优势
以太坊EIP 1057更新:将ProgPow作为备选方案在客户端和测试网上实现:据以太坊开发者Tim Beiko推特内容,近日,在以太坊核心开发者会议第96期中,以太坊开发社区对EIP 1057 后续步骤进行了更新,就是否采用ProgPow折衷方案已达成一致。折衷方案为在客户端和测试网上(而非主网区块)实现ProgPow,使其作为后备方案。[2020/9/21]
(PoW)系统不应该让先发者获得天然的优势
注意主语是“系统”,共识参与者在系统外的优势不是任何协议设计可以解决的。如果你认为1是对的,自然应该支持PoS,反之你应该会更赞同PoW。CKB在设计中选择PoW,是因为CKB的设计目标是Layer1,一个全世界共用的基础设施,我们希望它可以长久而且中立的运行,要做到这一点,系统不应该让先发者获得天然的优势。
A:pos买币staking不就是投入了吗
确实是投入,但是这里的“投入获得回报”中的”回报”已经变了。对于投入获得的回报我们需要分开来看,一种回报是token收益,最近的pos基本都支持delegate,所以基本上所有人都有这个option.另一种是参与共识的权利,根据上面的回答,它可以被现有的validator垄断,大部分人没有option。权利有很多种,分红只是其中一种,而且不是关键的那一种。
那么共识的权利为什么重要,它有什么用呢?它意味着你可以对交易排序,而交易排序决定了链上众筹时你的交易能不能及时上链,在DEX里面交易时你的订单能不能及时成交,等等等等。在PoS的系统上做DeFi?你需要认真考虑一下validator本身是做什么的,是否和你的发送的交易有利益相关?
我们知道,DeFi的交易很可能是价值含量非常高的交易,e.g.DEX里面一个巨大的买单,这时候validator如果安排一个插队的交易怎么办?仅仅是交易顺序的不同就可以造成巨大的获利,何况共识节点能做的远大于此?
动态 | Least Authority被以太坊Cat Herders选中审计ProgPow 主要是为了检查它是否符合其声明和基准:根据先前的公告,Least Authority被以太坊Cat Herders选中审计ProgPow,主要是为了检查它是否符合其声明和基准。这个过程完全取决于社区的资金,如果资金不足,团队可以在没有基准或进行审计的情况下继续进行。以太坊核心开发者Martin Swende评论说,目前的以太坊算法Ethash“设计得相当好”,但它也有一些缺陷,现在可以通过ProgPow予以修复。他补充说,ProgPow使Ethash“对GPU更加友好”。 此外,Swende认为“不会生产ProgPow ASIC”;就算生产了,其规模也会非常小。随着与PoW的开发进行竞争,ASIC生产商也将保持与英特尔和AMD的标准,因为他们也将生产下一代GPU。[2019/3/30]
聪明的你一定会想到:“那PoW的矿工/矿池不是一样有这样的问题吗?”没错,PoW的矿工一样有这样的权利,但PoW有两个优点可以削弱这个问题:
1、出块节点和生态中的关键用户是解耦的。生态中的关键用户,指的是交易所、钱包等围绕区块链提供服务的服务商,它们为大量的用户提供优质的服务,聚集了大量的用户和交易。
在PoS中,由于拥有大量用户和交易,stake会自然的往生态中的关键用户集中,形成天然的stakepool,因此关键用户在业务上的优势可以转化成在共识和治理上的优势,使得先行者的优势更加强化。
在PoW中,矿工群体和交易所/钱包是独立的,他们有不同的专业分工,通过不同的专业知识,不同的方式获取回报,关键用户不能将自己的业务优势转化为协议中的优势,矿工也没办法将自己在协议中的优势转化为上层业务的优势。在PoW中,开发者、用户和共识节点之间可以形成制衡。
2、PoW的共识是开放的,充满了激烈的竞争。也许一个矿池/矿工可以在短时间内做到这一点,但由于新的矿工总是可以自由加入,想要长久的做到这一点是非常困难的,激烈竞争将会造就一个越来越公平的充分竞争的市场,这需要时间(30年?maybe)。
动态 | Michael Dubrovsky提出光学工作证明(oPoW)解决ASIC矿业的能源使用问题:据bitcoinexchangeguide消息,保护比特币网络的工作证明(PoW)活动需要大量能源来为ASIC挖掘硬件供电。这开始引起监管机构和政府的一些担忧,一些司法管辖区已经禁止了加密采矿活动。有些开发人员目前正在研究其他解决方案,以便使挖掘活动更加有效,PoWx的创始人Michael Dubrovsky提出了光学工作证明(oPoW),它是一种与光子集成电路相兼容的新算法,用于解决PoW生态系统的动力学问题,其目标是解决ASIC矿业的能源使用和集中化问题。[2019/1/28]
反过来,在PoS中,由于天然的先行者的优势,以及业务优势和共识优势的绑定,先行者的优势只会越来越大,竞争将逐渐消失,最后形成垄断或寡头。在基础设施级的协议里面,我们应该尽可能的去避免垄断。
区块链本身是一个大的排队机,决定排序的权利是这个系统中最关键的权利。
A:(Bitcoin)一小时51攻击的成本区区44.3万美金…
A想要表达的是,Bitcoin并不安全,因为只要44.3万美金就能攻击它了,然后PoS的token是有限的,没有攻击者可以从市场上购买到足够多的stake来攻击。
这个观点忽略了一个问题:在某一时刻,地球上的算力同样是有上限的。如果一条PoW的链只有10%的SHA256算力,这样算是没有问题的。但是如果比特币已经集中了90%的SHA256算力,你从哪里去获得另外90%的SHA256算力呢?量变会引起质变,算力地位的变化会影响安全性。
不安全的不是PoW,是没有获得足够算力的PoW链。使用PoW的区块链都会遇到比使用PoS的区块链更大的起步问题,然而正是这样真实而残酷的考验才能证明区块链的安全。不然,我也跑一条PoS链,99%的token都归我自己,1%在市场上想炒多高炒多高,安全性岂不是分分钟超过Bitcoin?Bitcoin已经运行10年了,上面承载的价值这么多,为什么攻击没发生呢?相反,某些链运行了不到一年,上面存了价值区区几十万元的智能合约被偷了无数次…理论需要不断用事实修正,当理论和事实不符的时候,一定是理论错了。
声音 | 加拿大央行:比特币使用的PoW算法比PoS算法更有前途:据bitcoinist.com消息,加拿大央行在本周发布的一篇研究论文中表示,比特币使用的PoW比各种山寨币使用的PoS算法更有前途。该论文称:“我们专注于PoW协议以达成共识。我们已经讨论的许多其他协议试图节省与运行区块链相关的成本。基于PoS的协议随机分配了在用户之间更新区块链的权利,任何用户赢得权利的机会都与他在系统中的利益有关。”然而,这些替代系统通常不具有PoW的关键特征,即作弊需要花费大量资源,并且没有获得成功意味着已经产生了很大的,不可挽回的沉没成本。[2018/7/26]
同样是有上限,在PoW链中参与共识所需要的资源上限是随着时间变化的,由科技的进步、人类的进取心和激烈的竞争不断推动前进,所需要的自然资源的获取是完全去中心化的;而PoS链中所需要的资源上限是协议规定好的,增发的token全部进入现有validator的手中,再通过validator在市场上的售卖或是stakingpool的分红分发出去,会不会有些似曾相识?
A:这两者抽象到最后都是资本,pow是以资本开支和opex计算资本成本;pos是以抵押物市场价值计算机会成本。这两种成本都是不可逆的
我不赞同这种逻辑,忽略中间过程直接捅到本质恰好忽略了关键。过程是关键,过程会产生摩擦,过程会产生损耗。即使都是资本,资本的流动性和产生垄断的速度也是有差异的,协议是否能从垄断中回复也是有差异的,见前文。
A:我不觉得PoS的持币者会一直不卖A:过度集中谁会给生态贡献A:如果筹码90%在你手里这个生态也就做不下去A:对你来说高度集中持币是没有价值的A:你都垄断90%代币,没有人给你交租
垄断也是可以建立生态的,腾讯、苹果都是例子。无论是历史还是经济学原理还是<从0到1>都很清楚的告诉我们,垄断才能获取暴利。
同时,垄断存在不代表你知道有垄断存在。token是世界上最具有流动性的资本,即使我拥有90%的token,我也会把它分散投入到100个stakingpool里面去,而不会集中在一个stakingpool里面。垄断者不会喜欢跳出来说“hey,我垄断了这个系统!”。
A:潜在作恶垄断者会因为短期利益卖出tokenA:作恶就是为了短期利益A:即,潜在谋求短期利益垄断者会因为短期利益卖出tokenB:头部抵押者都被看的很清楚,解抵押了,或者提币去交易所了,本身会导致价格下跌,他还没砸呢,就已经反映了A:我也是这个意思,垄断者不作恶不也是安全的么
这里混淆了垄断和作恶的概念。作恶指的是显式的攻击,例如双花一笔交易,作恶是可以被观察到的,系统或者生态也可以作出相应的反制。垄断是隐式的,垄断者不需要也不会攻击这个系统,但是它依然可以利用自己的共识权利获得更多的利益,正如前文说的,只要能操控交易排序,你就能操控一切。
操控交易排序是无法被发现的。在PoS系统中,操控交易排序也意味着操控未来的validator集合,意味着垄断地位可以轻易的维持,这是根据系统历史来保证系统安全的必然结果,这一点在PoW中是不存在的。
我们现在还没有找到一个方法可以在所有时间排除一切垄断的可能,但是PoW至少给了我们一个更长的时间维度上使得垄断难以存在的设计,我觉得这一点对于Layer1至关重要。
A:第一点,pos链后来者为什么不能参与?买币比买矿机门槛低多了,pos里面长期存在垄断者这个结论我是不认同的,没有经济规模效应;2攻击pos的成本比较,收购stake只是一方面,还有reputation系统,pos里面节点是非常在意自己reputation的,这个成本对节点是巨大的。
第一点问题中,垄断的问题上面已经有回答。关于门槛问题,我认为这是很多人甚至包括协议设计者常常犯的错误。区块链的首要目标是安全和去中心化,而门槛以至于一切易用性问题都不是区块链的目标。
在区块链协议里面讨论门槛问题就像是在说“你让普通人怎么去构造TCP请求包“一样,将不同层次的目标混为一谈。要降低门槛,提高易用性,我们可以在上层做很多工作,做钱包,做云挖矿,设计各种金融产品,为什么要在区块链协议里面考虑门槛的事情呢?
Nervos追求分层的协议架构,也是因为看到了易用性问题和安全问题必须分开考虑,易用性/门槛和安全从本质上就存在矛盾,强行扭在一起只会让我们一无所获。未来区块链协议的直接参与者一定是专业用户,这些专业用户通过搭建服务、降低使用门槛、提供易用性来获取生态中普通用户的支持和收益。
第二点,reputation是一个无法量化,区块链协议也无法判断的东西。将区块链的安全寄托在reputation上,只会让区块链走回现有信任体系的老路。同时reputation还有无法转让的特点,基于一个无法转让的事物建立安全模型,会不会又有些似曾相识?
A:其实这里面有很多隐含的假设,如果一个pos链出现你说的一个cartel控制1/3的token,社区是可以通过应分叉forkoutcartel;我不觉得一个pow链被51%算力控制的链,也面临同样严重的问题;另外我觉得节点隐藏最后长时间形成多数控制这种可能性是不大的;
将协议中解决不了的问题推给链外治理和硬分叉,确实可以解决一切问题,但这应该是一种成本极大的最后手段,不应该成为随便使用的工具,区块链的协议应该尽可能的避免陷入这个场景。
使用链外治理和硬分叉等价于承认协议的不足,需要人来接手了。我赞同一个区块链生态最终是需要人来治理的,但是我认为人介入的频率越低越好,如果不追求这一点,为什么还需要区块链呢?只有降低人参与的频率,协作的自动化成本才能降低,协作所需要的信任基础才能减小。
“节点隐藏最后长时间形成多数控制这种可能性是不大的”——只要时间足够长,无论多小概率的时间都会发生。金融市场的黑天鹅告诉过我们无数次了,愿我们的记忆不只是7秒。
A:xxx的筹码在不断分散A:xxx的钱包地址从ICO1000多个,不到一个月上万个
根据top100的地址或者top20stakingpool的分散程度是无法证明token是分散的。道理很简单,我们谈论的都是无需许可(permissionless)的系统,地址代表的只是一个公私钥对而已,不代表一个身份。产生地址几乎是零成本的,存有stake的地址数量无法代表持有这些stake的是不同的用户。不要混淆地址和用户。
在PoS中,validator集合中的validator数目是无关紧要的,并不能代表stake分散。如前文所说,如果你有99%的stake,你应该把它们分散到100个甚至1000个validator上去。
PoW中同样会有算力集中在大矿工手中的问题,但是由于PoW的开放性以及系统没有给后来者制造劣势,这样的集中只会是暂时的,算力将在激烈的竞争中不停的从一个人手中转移到另一个人手中。PoW赞美竞争,PoW是一个开放的系统,只有开放的系统才可能远离热力学的终局,保持长久的生机。
PoS有其价值,也有其问题,因此无法适用所有场景。Layer1的区块链协议必须使用PoW,只有使用PoW的Layer1才能解决我们希望解决的问题,实现我们希望的未来。
作者:Nervos首席架构师Jan
来源:https://talk.nervos.org/t/pow-vs-pos/1732?u=janx
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。