Whisker17 / Reading_Note

This repo contains some reading note about Blockchain
2 stars 0 forks source link

PoW vs. PoS #5

Open Whisker17 opened 3 years ago

Whisker17 commented 3 years ago

PoW vs. PoS

Whisker17 commented 3 years ago

POS大户坐着获得的资本利得,是小散无法逾越的鸿沟,且无法约束他的权利。

这个想法是没有问题,投入多回报多是合理的,无论是pow还是pos都是这样, 区块链是帮助实现过程公平而不是结果公平的工具

试图用区块链去解决结果公平的后果是区块链治理的内涵无限扩大,将本该由协议解决的各种问题(后面会看到)统统推给投票去解决。然而无论是历史还是理论早就告诉我们,世界上并没有完美的群体选择制度。区块链是一个能够记录数据,保证数据不被篡改,为所有人提供数据的工具,通过这样一个工具帮助我们更好的实现过程公平,已经是非常非常大的进步了。

Whisker17 commented 3 years ago

在PoS中,未来的共识群体是由今天的共识群体决定的。任何新的节点想要参与共识都需要通过至少一个交易来实现(e.g. 抵押,投票,etc.),而这个交易是否被处理是由今天的共识群体决定,他们可以处理这个交易,也可以不处理这个交易, 如果不处理这个交易,新的节点永远都无法参与共识。同时,“不处理交易”是容易伪装而难于惩罚的行为,我还没有看到能在共识协议中解决这个问题的方案。PoS往往是根据 stake 的权重来分配出块比例(和节点数量没关系),考虑到大部分系统中 stake 的集中程度,这是一个非常实际的问题。

Whisker17 commented 3 years ago

PoW是彻底的Permissionless。无论什么时候,只要你愿意,都可以买矿机和电力加入出块者的行列,不需要今天的矿工给你任何形式的许可。你也许会说,我还是需要购买矿机和电力呀,这是不是一种形式的许可呢?是的,从更低一层来说,这也是一种许可。但遗憾的是,在所有的Proof of XXX中,这已经是最去中心化的许可形式了,毕竟矿机生产和电力资源的去中心化程度远高于各种 tokens (的分散程度)。我们总是应该追求尽可能的去中心化,否则用回中心化系统就好了。

Whisker17 commented 3 years ago

PoW能有这样的性质,是因为工作量证明的计算是一种不依赖历史的计算, 无论你在任何时间点购买算力加入计算,你都和其他矿工在同一个起跑线上, 这是一个非常独特的、反直觉的性质,正是这个性质使得后来者总是能打破了早期参与者的优势。PoS不同,因为stake是系统中内生的资产,资产的所有权是由系统历史决定的,交易顺序是由系统历史决定的,因此无论是需要抵押token加入的pos,还是只需要持有token就可以参与的pos,其validator集合都是这个系统自身的历史决定,PoS和PoW在”参与共识是否需要依赖历史“上是截然不同的。

Whisker17 commented 3 years ago

因此PoW和PoS的设计,从根本上是两种不同的思路,体现两种不同的理念:

  1. (PoS) 系统应该让先发者获得天然的优势

  2. (PoW) 系统不应该让先发者获得天然的优势

Whisker17 commented 3 years ago

共识的权利为什么重要,它有什么用呢?它意味着你可以对交易排序,而交易排序决定了链上众筹时你的交易能不能及时上链,在DEX里面交易时你的订单能不能及时成交,等等等等。

Whisker17 commented 3 years ago

PoW的矿工一样有这样的权利,但PoW有两个优点可以削弱这个问题:

  1. 出块节点和生态中的关键用户是解耦的。生态中的关键用户,指的是交易所、钱包等围绕区块链提供服务的服务商,它们为大量的用户提供优质的服务,聚集了大量的用户和交易。在PoS中,由于拥有大量用户和交易,stake会自然的往生态中的关键用户集中,形成天然的stake pool,因此关键用户在业务上的优势可以转化成在共识和治理上的优势(在某些链里面已经体现的非常明显了),使得先行者的优势更加强化。在PoW中,矿工群体和交易所/钱包是独立的,他们有不同的专业分工,通过不同的专业知识,不同的方式获取回报,关键用户不能将自己的业务优势转化为协议中的优势,矿工也没办法将自己在协议中的优势转化为上层业务的优势。在PoW中,开发者、用户和共识节点之间可以形成制衡

  2. PoW的共识是开放的,充满了激烈的竞争。也许一个矿池/矿工可以在短时间内做到这一点,但由于新的矿工总是可以自由加入,想要长久的做到这一点是非常困难的,激烈竞争将会造就一个越来越公平的充分竞争的市场,这需要时间(30年?maybe)。反过来,在PoS中,由于天然的先行者的优势,以及业务优势和共识优势的绑定,先行者的优势只会越来越大,竞争将逐渐消失,最后形成垄断或寡头。在基础设施级的协议里面,我们应该尽可能的去避免垄断。

Whisker17 commented 3 years ago

区块链本身是一个大的排队机,决定排序的权利是这个系统中最关键的权利

Whisker17 commented 3 years ago

不安全的不是PoW,是没有获得足够算力的PoW链。使用PoW的区块链都会遇到比使用PoS的区块链更大的起步问题,然而正是这样真实而残酷的考验才能证明区块链的安全。

Whisker17 commented 3 years ago

垄断是隐式的 ,垄断者不需要也不会攻击这个系统,但是它依然可以利用自己的共识权利获得更多的利益,只要能操控交易排序,你就能操控一切。 操控交易排序是无法被发现的 。在PoS系统中,操控交易排序也意味着操控未来的validator集合,意味着垄断地位可以轻易的维持,这是根据系统历史来保证系统安全的必然结果,这一点在PoW中是不存在的。

Whisker17 commented 3 years ago

区块链的首要目标是安全去中心化,而门槛以至于一切易用性问题都不是区块链的目标。

要降低门槛,提高易用性,我们可以在上层做很多工作,做钱包,做云挖矿,设计各种金融产品,为什么要在区块链协议里面考虑门槛的事情呢?

易用性问题和安全问题必须分开考虑,易用性/门槛和安全从本质上就存在矛盾,强行扭在一起只会让我们一无所获。未来区块链协议的直接参与者一定是专业用户,这些专业用户通过搭建(可信的)服务、降低使用门槛、提供易用性来获取生态中普通用户的支持和收益。

Whisker17 commented 3 years ago

PoS 是这样一种机制设计,它将财富权力同时集中,并且增发的财富首先分配给了资本方。这种模式与区块链最初反对的金融资本模式如此之相似,以至于令人怀疑是否就是那批金融资本家手中新的扯线布偶。

PoW 追求的是财富获取权力的公平

公平指的是愿意付出更多成本的人应该获得更多的收益。PoS 是持有资本更多的人获得更多的收益,这里有微妙但本质的区别。虽然 PoS 中持有资本也是付出了成本但和 PoW 付出的电费、矿机有本质不同,因为前者是无损耗、可积累的,后者是一次性损耗、不可积累的。恰恰对应现实世界持续积累的金融资本和一次性消耗的劳动。所以 PoW 是一种任何人都可以通过付出获得公平收益的新模式,PoS 则是金融资本家持续积累金融资本的旧模式。 两种模式本身没有谁对谁错,只跟你的立场有关。

Whisker17 commented 3 years ago

在区块链中,51% 攻击能够制造 分叉攻击交易审查 。这里分叉攻击是指攻击者从已确认的区块之前进行分叉,这可能导致已确认的交易失效,并可能附带双花攻击。

分叉攻击一旦出现就会被察觉,其将带来巨大的信任危机。

交易审查是指攻击者具备控制交易能否上链以及上链顺序的能力,交易审查不容易察觉。

Whisker17 commented 3 years ago

假设市值相同的情况下,从外部攻击成本的角度来说,PoS 的 51% 代币价值是远远高于 PoW 的 51% 算力成本的。因为 *PoW 的 51% 攻击成本 = 51% 算力 攻击时长 ≈ 攻击时长内产生的矿工收益的 51%**。 在这里攻击时长与交易确认时间紧密相关。

但是这种比较对 PoW 并不公平。 因为攻击者必须持续投入算力,才能维持 51% 攻击的能力。而 PoS 里,一旦攻击者掌握了 51% 的代币,其便自此始终掌握着区块链的控制权。

Whisker17 commented 3 years ago

在 PoW 中,小矿工的资本回报率低于矿池/矿场,我觉得这是无法避免的,必然导致大部分算力集中在几个大矿池/矿场中。对于小矿工来说,这就是不够公平的。而在 PoS 中,共识收益与持有的 token 基本成正比,因此从挖矿的资本回报率角度来说,PoS 更加公平

而从交易的角度来说,PoW 比 PoS 更透明也更不易被审查,因而更公平。在 PoW 中大矿池/矿场的算力都很透明,单个矿池/矿场很难也不会去垄断 51% 的算力,而由于这些大矿池/矿场显然会被业界密切关注,因而多个矿池/矿场联合作恶的动力和可操作性不强。相反,在 PoS 中,没有人知道是否有单个实体通过持有大量的地址获得超过 51% 的代币,垄断的发生寂静无声,这是非常可怕的。

所以,如果要评估 PoW 和 PoS 的公平性,看你更看重挖矿公平还是交易公平了

另外,在评估挖矿公平时,仅考虑了挖矿奖励的收益,并且是在所有共识参与者采用默认策略挖矿的前提下,如果考虑自私挖矿等策略以及加上交易审查的收益,那么 PoS 中同样会存在着不公平,甚至这种不公平可能远超 PoW

至于矿池的交易加速,这确实是交易审查的一种形式,所不同的是,这种交易审查一方面是暂时的,另一方面这很透明。

Whisker17 commented 3 years ago

单纯从共识算法层面来看,两者有着相同的核心思想,都能解决permissionless场景下女巫攻击的问题。

最突出的区别还是在确定性上。

对于某一个块高度来说:

PoW对应的总算力是没有确定值的。上面都讨论过,算力无需许可,可以随时进场。而且算力还可以回头去挖以前的高度,虽然很不划算。所以说总量是当时全球总算力都不太准确。 但是PoS的总Stake是固定的。就如前面讨论,因为新增Stake是需要现有的Validator共识的,形成一个因果链条,不会导致新增的Stake跑去改之前的共识结果。所以如果某个高度有超过当时Stake总量的2/3的Stake确认,这个高度的状态就确定了。而PoW是永远无法100%确定的

激励部分:

激励有两个来源:增发腐败

腐败即validator去识别交易的具体内容,利用自己排序交易的权利去牟利。比如针对菠菜类Dapp。

这部分收入是所有区块链系统都不希望看到的,但是就像前面讲的,实际没有有效的解决办法。前面说在这方面PoW比PoS会好一点,因为PoW的权利中心和财富中心是分离的。但是我觉得在有明显链外因素干扰的情况下很难说这是一定的。

增发就是前面一直在讨论的马太效应。但是对于这点我有不一样的想法,PoW是有扩张系统总算力的需求的,总算力的扩张会让结果的确定性更高,更安全。就像前面说的,如果全球有90%的算力都投入比特币,那攻击者就没法找到足够的算力发起攻击。但是在朴素的方案里,PoS并没有强烈的增发Stake的需求,因为PoS的安全性并不跟Stake总量成线性关系。

综上所述,在简化模型下(Hash算法一样,不考虑币价波动等),PoW是具有强烈的排他性的,会希望将全球的算力都吸引到自己的链上,让其他链都饿死。而PoS恰恰相反,多个PoS系统可以和平共处,因为大家的Stake是不一样的。

所以PoS其实是介于BFT和PoW之间的一种共识系统。

Whisker17 commented 3 years ago

网络中安全的提供者和消费者需要解耦,怎么重复都不为过。如果消费者保护协会的成员都是大企业家,这样的消费者保护者协会是没有意义的。