关于PoW和PoS(续 )

张亚宁   |     |   868 次阅读

priewienv:

这种情况下,对于PoS一旦发生分区,如果形成多个链,网络恢复之后将无法判断哪个链是合法的,因为没有一个客观的标尺来判断。

首先,并不是所有的 PoS 都会发生分区,形成多条链,譬如一些使用了混合共识的项目;其次,就算有分叉的可能性,已经发表在正规学术会议上的一些知名项目基本都给出了收敛的证明。就算你的说法指的是一些 方案不够成熟的 PoS 的项目,但我并没有看出来 PoW 在这件事情上有什么优越性,方案不成熟无法收敛的 PoW 项目也并不是没有。

priewienv:

私钥攻击。对于PoS,由于需要持有者需要时刻签名,所以私钥需要时刻在线。这种情况下,私钥就成为一个非常容易被攻击的点,一旦攻击者获得私钥,就可以获得签名权,做任何恶意处理。如果攻击者通过各种方式控制了大多数的私钥,最终可能会导致网络停止出块或者将持有者的押金罚沒(押金罚沒等同于矿场烧毁)。在PoW中,如果攻击者控制coinbase的私钥,最坏情况是攻击者获得短暂时期的一段收益。如果攻击者通过某种方式短时间内获得大多数算力,最坏情况是在短暂时间内网络容易遭受51%攻击等。我们发现,在PoS中,攻击者一旦短期获取私钥,危害致命;而PoW中攻击者短期获得大量算力,对网络的影响有限。

我对上述的对比表示疑惑,为什么在 PoS 那里是控制私钥,而在 PoW 那里只是变成了控制算力?无论是 PoS 还是 PoW,私钥被控制都是致命的威胁,因为私钥在这两种方案中,通常都是唯一的身份凭证。如果要与 PoW 被控制算力相类比,应该是 PoS 被控制票数,而不是私钥。这两者不是一回事。

priewienv:

在PoW中,攻击者即便在拥有算力的情况下,发动攻击行为仍然需要付出大量的电力和时间成本用于挖矿,这样的二次投入,对于整个系统来讲,也是更安全的。

这样的二次投入不可否认会使得攻击成本提升,但是 PoS 中,控制大量 Stake 也需要付出资金的时间成本啊,PoS 当然也需要二次投入。虽然这两种二次投入不是完全相同的,但我不觉得这一点可以不加说明地成为 PoW 的优势。

u2:

首先,并不是所有的 PoS 都会发生分区,形成多条链,譬如一些使用了混合共识的项目;其次,就算有分叉的可能性,已经发表在正规学术会议上的一些知名项目基本都给出了收敛的证明。就算你的说法指的是一些 方案不够成熟的 PoS 的项目,但我并没有看出来 PoW 在这件事情上有什么优越性,方案不成熟无法收敛的 PoW 项目也并不是没有。

嗯,应该是我了解的PoS项目有限,可能刚好我所理解的少数几个有这些问题。现在大量应用VRF的,受限于数学水平其实我都并不是非常了解,所以这里的结论有些武断,谢谢指正。

priewienv:

那我能问一下你指的是哪些项目吗,我也非常好奇他们会有怎样的问题。

u2:

我对上述的对比表示疑惑,为什么在 PoS 那里是控制私钥,而在 PoW 那里只是变成了控制算力?无论是 PoS 还是 PoW,私钥被控制都是致命的威胁,因为私钥在这两种方案中,通常都是唯一的身份凭证。如果要与 PoW 被控制算力相类比,应该是 PoS 被控制票数,而不是私钥。这两者不是一回事。

都是对比的私钥攻击的情况,可能有一句话容易引起大家的误解。这里并没有讨论算力控制和stake的控制,我觉得这两个没有太大差别。PoW和PoS控制私钥的后危害不一样,至少对于有罚没机制的差别太大了。

u2:

那我能问一下你指的是哪些项目吗,我也非常好奇他们会有怎样的问题。

比如之前的casper,如果不用混合挖矿的话,后面转纯粹pos,就会有这种问题。所以搞混合挖矿。

牵强的讲eos这种也算pos吧,这种要么分区,要么不出块。这种就是干脆不解决。

priewienv:

“控制私钥”我的理解是,攻击者通过入侵和监听手段获取到了原本网络中用户的私钥,除了这部分用户的财产会损失以外,剩下的情况在这里可以简单地约简到 控制算力/控制 stake 的情况。那么确实,由于罚没机制的引入,PoS 会增加其他诚实用户 stake 丢失的风险。

u2:

我说这里的私钥,是签名用的私钥,为了安全这两个可以分开的。所以我这里没有考虑stake被盗,只是考虑攻击者通过作恶,导致stake被罚没。

priewienv:

私钥除了签名还能干嘛。。。我没理解你说的“两个可以分开”是哪两个。

u2:

签名用的私钥和控制stake的私钥可以是两个不同的私钥。

u2:

我明白了,你是说抵押 stake 和认证区块的私钥可以是不同的两个私钥。你这个罚没说的是 Casper 吗。。。但是这不是 PoS 本身的问题。 Casper 我不是很了解,如果它有这样的问题,那只能说它设计有缺陷。

嗯,很多类似的PoS都有罚沒机制,主要是为了约束Staker作恶的,否则实际上Staker可以偷偷地挖另外一条链。我觉得所有的PoS可能都有这样的问题。

这会带来两个问题:1. 如果token放在那儿就能参与共识,意味着用户对参与共识没有任何承诺,不参与共识也没有任何成本和惩罚(用户可能根本都没上线),这样的共识是很难设计的;2. 会有Nothing at stake 的问题,这里不再多言。

priewienv:

对,是的,为了防止 Nothing at stake. 如果控制认证私钥确实可以造伪证来将 stake 罚没。Nothing at stake 确实是 PoS 才会有的问题。


原文见个人公众号:风马宁不相及

 
0 人喜欢