售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
很多人认为PoS是一种可以抵御贿赂软分叉攻击的安全共识机制,但他们对此都有不同的理由,但没有一个能说服我。我曾经写过一篇关于PoS的论文,试图论证PoS注定失败的一般结论。
在与许多对PoS技术感兴趣的人分享了那篇文章后,我收到了许多不同的反馈。本文的目的是收集各种支持PoS的观点,让我们看到为什么不同的人相信PoS能成功。
如果你认为你的观点在这里被歪曲了,或者你改变了自己的观点,请随时联系我,我会为你修改这个文件。
他试图用以下两点来论证为什么PoS是密码经济学中一种安全的共识机制。
在同样的成本下,PoS比PoW更安全。
PoS比PoW更容易从攻击中恢复。
我来试着证明这两种观点是错误的。
在第一点上,他比较了贿赂战俘矿工临时审查战俘区块链的所有交易的成本,以及购买51%的验证者承诺永久销毁战俘区块链的成本。将这两种不同的攻击放在一起并比较执行这些攻击的成本是完全不合理的。就像说我的二头肌比运动员小指上的肌肉还大,然后想证明我更强。
至于论点二,谨防言语中的小伎俩。注意这里的PoW攻击不再是贿赂51%的矿工临时检查,而是一个攻击者成功购买了超过51%的ASIC矿机,这是一个代价更高的攻击。拥有51%的质押代币比拥有51%的矿用硬件便宜很多,因为质押代币的市场流动性远高于ASIC矿用机市场。购买51%的质押代币仅相当于在区块链邮政购买的代币总量的5%左右,因为并非所有代币都是质押的。如果攻击者购买了所有PoS令牌的5%,那么购买最后一个令牌的成本与购买第一个令牌的成本相同。如果他买了现有的51%的ASIC矿机,他们买的越多,ASIC矿机的价格就会迅速上涨,付出的代价会非常昂贵。因为ASIC矿机市场的流动性远低于PoS代币市场。
在讨论的第一部分,Vitalik讨论了使用贿赂攻击来实现(非常低的成本)临时审查,因为他想表现出攻击PoW更便宜。类似于PoW中的这种攻击,通过在PoS中支付高额的交易费用,将每一个区块完全填满交易,从而达到审核所有其他发送交易的人的目的。
在第二个论点中,为了表明PoW很难从攻击中恢复,他更倾向于讨论非常昂贵的产卵-露营攻击(在竞技游戏中埋伏在对手的死亡重生点附近发动攻击),这需要购买51%的PoW采矿机。类比就是在PoS网络买51%以上的代币发动攻击。
PoS注定要失败,很大程度上是因为PoS中的对称性:进攻者联盟和防守者联盟没有先天的优劣,而是对称的。如果防守者赢了,他们惩罚进攻者的方式和进攻者赢了时惩罚防守者的方式完全一样。防守者可以注入保证金提高防守,进攻者也可以注入保证金提高攻击力,双方成本完全一样。
为了证明PoS可以工作,Vitalik试图找到打破这种对称性的方法。他希望防守看起来比进攻便宜。打破对称性的方法是采用一个非常有问题的假设:社群可以利用一个未定义的外部机制达成共识,确认哪一方是进攻方,哪一方是防守方。然后用户可以约定哪个版本的协议是正式版本。
但是有一个循环论证。如果我们从“社区本身可以就协议应该更新什么达成共识”的假设出发,很容易证明他们有一个共识机制。其实更新什么是很有争议的。什么是好的更新,什么是恶意攻击,用户意见不一。尤其是当攻击伴随着宣传的时候,社区很容易相信攻击者的版本是很好的更新。一旦社区相信了这一点,他们就会烧掉49%诚实验证者的保证金,相当于给攻击者再发一个红包。
PoS将不可避免地以以下两种方式结束:
a)一旦攻击者获得超过51%的验证者席位,就可以让攻击永远持续下去。因为他们也控制谁能加入验证者团队。他们可以审查一切,他们也可以利用审查来促进任何软分歧升级,包括将共识机制改为PoW。不喜欢新规则的用户也有动机向喜欢新规则的人出售硬币。
b)另一方面,如果用户认为当前的验证者团队绝大多数是攻击者,那么这些人就会受到惩罚;如果建立了这种恢复机制,攻击者还可以利用宣传用刀杀人(用恢复机制的刀)。只要攻击者能够说服用户当前的验证者团队是恶意的,用户就会抢诚实验证者的押金。
A和B都不是安全的共识机制。
在Jae看来,PoS安全的基础是“社会合法性”。
然而,这是一个比你退出交易所时需要达到多少个确认更慢的时间尺度。
如果我们用一种较慢的机制来化解我们在状态上的差异,那么被双花攻击的概率必然会增加。
只要攻击者在交易所出售硬币,并以法国货币退出,就没有办法回滚历史并追回这些硬币。
而如果我们能从双花中获得利益,那么我们就会保留双花,直到这个链条完全耗尽。
最终攻击者可以从中获得巨大利益,每次交易回滚,你的钱都可能回滚。别提破坏性了。
阿尔弗雷德的主张和载的类似,但阿尔弗雷德也认为可以增加一个规则,使所有的存款总额足够大,以至于当我们删除所有行贿者的存款时,攻击者无法获利。
为了防止有人从回滚中获利,我们需要(一段时间社会共识转移的资金总额)* 2(质押和网上的价值),这样到了这里,我们就有足够的存款让受贿者删除,这样偷来的钱就比他们烧的存款少了。
把资金委托给网上的人不是一个好的模式,因为很容易贿赂受托人,导致你的存款被删除,这意味着协议不安全。
最终,安全将变得像占卜一样,有足够的手续费来说服足够多的人锁定他们的资金,保持在线以验证块,并确保我们的钱不会被盗。
在占卜预测市场中,每个信息输入机制都需要很慢,所以验证者只需要不定期上线。如果我们使用这种机制达成共识,他们需要每个区块都在线。
据我所知,没有一个区块链邮政使用这条规则。例如,这种模式将限制每个区块可以转移的硬币数量。
这个模型也容易受到寄生契约的影响,就像占卜一样。如果在这种协议上开发一个合同(就像比特币上寄生的彩币),并且他们不会按照转让价值的比例向验证者支付费用,那么协议就变得不安全。
只要有子币,手续费就很难算。
Maigo认为,参与者也是在拿自己商誉的价值冒险,所以不会接受贿赂。
然而,价值的形式并不重要,无论是锁定在区块链的存款、商业信誉,还是其他任何东西,因为游戏情况没有改变,贿赂的金额仍然远远小于可以被攻击摧毁的价值。
"软分叉不能改变分叉选择规则."
我不知道这个断言如何帮助PoS抵御软分叉贿赂攻击。但是我可以证明这个说法是错误的。
如果攻击者可以随意重新分配资金,他们可以通过重新分配资金来取消系统中的任何费用。因此,如果一个分歧选择规则会给那些花费更多的人带来优势,那么可以使用一个软分歧来防止这些支出。(译者注:这里讨论的可能是防御PoS远程攻击的一种方法:在分叉选择中,事务值较大的块总是作为合法块。远程攻击的分叉除非能包含更多的交易价值,否则不会被接受。也就是说,人们花钱的主链总是由哪个链条决定的。(
如果分叉选择规则将系统外的支出考虑在内,那么系统就是一个PoW系统,而不是PoS系统。
判断2:
“少数不一致的参与者会使攻击成本更高。”
说攻击“贵”并不能解决任何问题。如果攻击者有权重新分配所有的资金,所有的费用都在系统中承担,验证者可以改变规则,使其不再昂贵。
Lion的说法是,在这次(贿赂参与者)攻击中,PoS和比特币的PoW在博弈论上是一样的。所以比特币还可以的事实证明了PoS是可以应付的。
这与Vitalik在2015年1月发表的论文《P+epsilon 攻击》的观点相同,该论文位于“进一步考虑”部分。
我还在这篇文章的“责难可能是好的”一节中解释了为什么贿赂攻击对PoW不起作用。
塞巴斯特的论点是,我们无法知道贿赂每个验证者需要多少钱,因为我们无法知道系统中有多少承诺。
解决办法是,攻击者为贿赂写一个特殊的智能合同,这些智能合同会慢慢提供越来越高的贿赂,直到它在验证者池中有足够的份额。这样,攻击者只需要花费所需的最低贿赂金额。
乔希说,“你必须贿赂整个网络价值的51%,才能摧毁整个网络”。
乍一看,似乎很合理。但至少从1833年开始,博弈论告诉我们,这不一定是真的。
假设乔希一开始是对的,那么我们就用反证法证明这不可能是正确的。
答:我们假设(贿赂用户的成本)=(它持有的Ada的价值)
b:我们知道:(贿赂成本)=(头寸价值)*(他们有批判投票的可能)
把A代入B可以得到:(位置值)=(位置值)*(他们有关键投票的可能)
两边除以(立场值):1=(他们有批判投票的可能)
综上,所有用户的投票至关重要。因此,任何独立用户都必须对投票结果拥有100%的控制权。
但是,只要用户数大于1,这是不可能的。如果两个用户对期望的结果有不同的意见,他们不可能对结果都有100%的控制权。
所以我们证明他的初始前提(贿赂一个用户的成本)=(他们持有的Ada的价值)是错误的,因为这会导致我们自相矛盾。
佩特科的论点是,如果你们中的一方不相信对方不会带钱逃跑,那就不可能贿赂他们(只有你相信他们不会收钱,不会做事,你才愿意贿赂他们)。
然而,区块链智能合同系统旨在实现无信任合同,包括贿赂。
佩特科的第二个观点和乔希的一样。
关于为什么贿赂软叉攻击不能发生,他通过这条微博表达了自己的观点:https://twitter.com/lioryaffe/status/1192320643511017473? s=20
根据Lior的说法,这种攻击是“荒谬的”,事实上永远不会发生。为了澄清他在这个问题上的立场,他引用了" NoS "攻击的例子。
我假设他说的“NoS”是无利害关系攻击,早在2014年11月就已经解决了:https://blog . ether eum . org/2014/11/25/proof-stake-leaderd-love-weak-subject这让我觉得Lior至少从2014年开始就没有关注过PoS研究。我觉得这个有道理,因为NXT是2013年推出的,而且是基于我们对2013年PoS的理解。
不知道Lior想表达什么,也不知道他是否真的看过他评论的论文。我怀疑Lior只是想发出一个好的PoS信号,而不是想从中学习什么或者教我们什么。
如果用户想保持隐私,环签名方案效果很好。
这里的问题是,区块制作者会故意暴露数据,从而破坏隐私,因为只有这样才能收受贿赂。你可能认为有可能发明一种复杂的加密机制,让你即使想也不能透露自己的投票结果。但是我有一个很强的论点,这个机制是不可能的。
共识机制的一个理想特征是共识不会因为一个参与者被放弃而停止。因为这意味着无论我是否参与创建下一个块,我都应该能够计算出下一个共识状态。这意味着块创建者可以使用块内的任何事务子集重新计算下一个一致状态。
通过比较包含可用事务子集的结果,他们最终可以知道每个事务将如何影响一致状态。
能够访问所有私钥和用于生成所有加密选票的熵的攻击者可以再次跟踪每个加密选票的生成过程。
他通过这个电报组与我联系:https://t.me/cryptocodereviews
他的第一个论点是贿赂很难协调。
但这是一个可以解决的用户体验问题。
我们必须假设用户想要更多的价值,而不是更少。计算不同策略的预期收益是一个数学问题。所以计算用户行为(采取什么策略)也是一个数学问题。也意味着安全是一个数学问题。
他的第二个论点是:“有一个很简单的抵制贿赂攻击的方法,就是反贿赂攻击。我行贿比你多一点,我就可以做个软叉协议,让你的钱归我。”。就这样,我毫无损失的捍卫了这个网络。事实上,我甚至可以从中小企业中获利。“辩护人可以尝试打击贿赂,所以这个制度退化为谁付出多谁就赢的游戏,这个模式注定要失败。
如果谁愿意多给钱谁就有完全控制权,完全控制权让你给自己多做代币,那么在这样的情况下,网络就无法就一个清晰的单个版本历史达成共识。
他还提出了第三和第四个论点,与佩特科和乔希的论点相同。
他回应了软岔受贿攻击的提议:“其实绝大多数核查员和矿工一样,都很友好,愿意按照协议的规定办事,而不是自作聪明。想象攻击很有意思,但实际上90%以上的参与者都是典型的诚实、头脑简单的人。”
但是如果可以假设90%的参与者都是诚实的,那么写一个安全的PoS共识机制就很简单了。在密码学中,这个假设是没有意义的。
通常我们对用户的动机做如下假设:10%的参与者是攻击者,愿意承担破坏协议的损失,1%是利他主义者,为了帮助协议宁愿承担损失,剩下的89%是利己主义者,只做对自己最好的事。
迷茫造成的代价是一个可以解决的用户体验问题。一个有动机的攻击者可以创造足够的工具来将混乱的成本降至零。
比如攻击者可以利用预测市场作为测谎器,这样我们就有了经济上的保证,攻击者提供的软件确实有一定的功能。即使出质人自己不知道软件。如果知道一个软件的功能就像从市场上查询股票价格那么简单,那么你就不需要专业的技术。
我们必须假设用户想要更多而不是更少的价值,这意味着安全性是一个计算问题。
他对软岔受贿攻击提议的回应是:“这种攻击不可能发生”。
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!