14

Gavin Wood撰文回应雪崩协议质疑:雪崩协议不安全也无可拓展性

 3 years ago
source link: https://news.huoxing24.com/20200729140059714570.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

原文标题:《反击!Gavin Wood 撰文 PK 雪崩协议》

原文作者: Gavin Wood 原文翻译:Phala 团队 

前情提要:

7 月 28 日,雪崩协议一名成员收集了雪崩协议社区内部一些对波卡的质疑,发布在了波卡 Riot 官方群,个中不乏对波卡可拓展性、插槽机制、跨链性能的贬损。此文为 Polkadot 联合创始人 Gavin Wood 对此事的回应。

以下为 Gavin Wood 原文翻译:

显然,雪崩协议社区似乎对波卡有些误解。希望这篇可以让雪崩协议的各位看个明白。

关于:

「波卡只有 100 条平行链」(假设这些平行链对应 1000 个节点)

「你们只有 100 条平行链」(假设这些平行链都有 1000 个节点高速运作在中继链上)

「『波卡预计将有 1000 个验证人』,但愿您这么古板的共识能走得通——这么多的时间不花在共识上而是花在验证区块上」

「就算 100 条平行链本身不是硬限制,但归根结底每个平行链都需要有人来做验证人。这可能就是一个硬限制了,涉及到可拓展性。或许波卡平行链可以比 100 条多一点,但什么用呢,100 个应用链真的不算多」

波卡的设计期望是,每一个区块都可以并行的执行 100 条平行链/平行线程。

抛开缩写的涵义,GRANDPA[3] 共识并不古板。在有 400 个验证人的 Kusama 网络上,GRANDPA 可以实现亚秒级的区块确认速度。这还只是 400 个验证人。而经过我们的测算 1000 个验证人是很容易达到的。

鉴于目前这些核心功能的复杂性在可控范围之内,随着网络的完善和开发语言的优化,门槛降低后这个数字肯定会良性增加。到那时会有远超 1000 名的验证人和远超 100 个插槽的平行链加入波卡网络。

关于:

「各个节点到各个节点间的通信会越来越困难,区块大小会越来越大,带宽要求和处理要求也会越来越高,从而导致节点运行者的中心化(就像 Solona 一样)」

波卡的设计很干净,不会有子系统(主要就是 GRANDPA 共识和其他确保可用性的部分)大量占用通信资源。这些模块的带宽要求也不高,要么很低,要么即便是增加也是线性增加。可能这确实无法百分之百保证所有平行链都平安无事,但我们有理由相信波卡的交易吞吐能力是可以随着时间的推移而增加的。

认为雪崩协议和 Polkadot 一样允许任意数量的链「被连接」是一种错误的误导。Polkadot 平行链插槽(很像 Eth2.0 分片)调动整个网络的能力来确保安全。而雪崩协议可能允许更多的链被「连接」(就像 Cosmos 一样),但一般来说,这些连接的链远不如中央链安全。

一个有用的跨链应用不应在跨链运行时顾虑共识层面的安全隐患。这意味着它要么跑在中央部分极其安全的链上(只比我们的现行方案安全一丝),但受制于效率;要么让跨链应用(inter-chain application)只在安全性最低的链上跑(会有被攻击的可能,所以也只比我们现行的侧链桥接方案安全一丝)。

雪崩协议并不是第一个将「可拓展」和「有很多链」偷换概念的项目。一个真正可拓展的共识系统应该能以同质量的安全性执行状态转换,同时它还是去中心化的且拜占庭容错(BFT)的。如果能像波卡一样,以近乎本地运算的速度完成图灵完备的状态转换,那您们是真的很棒。

可惜雪崩协议目前做不到这一点。

关于:

「中继链的确认时间是 12-60 秒。但肯定不止,因为 Fisherman 节点还要留有挑战时间,白皮书上说这也需要 60 秒。那他们(指波卡团队)的目标就是 60 秒(这还是很高)。」

「只不过这可能通过 Fisherman 节点来调整(这就是他们的猫腻,因为他们没有写明 Fisherman 节点的区块确认时间)。所以,尽管概率不大,但已经确定好的区块有可能在 GRANDPA 中被逆转(如波卡官网自己放的视频里提到的)」

平行链交易确认大概需要 60 秒,比中继链慢几秒。但它与桥接网络不同,跨链分片是完全安全且零延迟的。

从最近发布的设计更新来看,我们已经从验证人模块引入了明确的二级确认机制。因为我们已经从验证者集中引入了明确任命的二级检查员,所以不再需要渔民获得我们的基线安全保证(请参阅概述文件中的 4.4.2 节「有效性和可用性」)。不过 Fisherman 节点将被保留,因为他们有助于加强整个网络的安全性。

在实际操作中,如果你的交易很小或风险不是那么大,你所需的确认时间会远远小于理论最大值。比特币的确认机制分三级,内存池(跟买瓶啤酒感觉差不多的交易)、1 个区块(跟网购感觉差不多的交易)、6-12 个区块(剩下的所有类型的交易)。这便是所有的区块确认等级,他代表了不同的经济成本。比如说 12 个区块的确认,就意味着逆转 12 个区块的成本,本质上就是在同样时间内挖出 13 个区块的能力(即,51% 攻击)。逆转一个区块,就需要能挖 2 个区块。如果要逆转内存池里的交易,则只需要在交易被矿工打包前用另一个交易替换掉它。这一层相对容易。

也可以说 Polkadot 是有次级确认阶段的,视情况不同,回滚成本也不同。区块的终结性一般不是理论上的确认,而是由具体的情况,就某些特定的经济成本而言确认的。比如你已经有了 5 辆兰博基尼,现在要买第 6 辆,那你大概需要等 60 秒左右等待交易在中继链上确认。而如果你只是想买一杯咖啡,那显然交易只要在平行链的内存池或 PoV 区块里进行确认就足够了,这只要几秒的时间。

值得一提的是,大家都明白比特币的这样的 PoW 链只存在「概率性确认」,但 PoS 链,即便是声称「瞬时确认」的链,也不能完全保证百分之百不会出问题。而且其实所有代币经济共识系统(不管是区块链,DAG[4] 还是其他),最终极的保护来源于其经济本身。它们的安全保障其实来源于经济上的考量,因为一个攻击者一般都是一个经济上理性的个体,或者他根本承担不起攻击的成本。如果上述保障都不成立,那您的共识算法写得再天花乱坠也没有意义。

关于:

「插槽名额有限所以 100 条平行链要内卷」

波卡会提供两种市场经济式的机制,让买家的平行链体验安全无虞:

1、一次性买断 6-24 个月的插槽租赁权。

2、借用平行线程,每次仅在区块链逻辑迭代的时候支付一点点费用。

所有系统都需要一定程度上的反羊毛和反垃圾信息机制,所以我们采取了收费的方式。由市场决定收费标准和市场化执行机制在加密经济生态中也是很典型且常见的。

根据我们的初步估计,初始版波卡每秒可以处理的交易量可以达到以太坊的 4000 倍。由于供应量提高了 4000 倍,在传统经济学意义上,交易价格也会相应降低。

关于:

「中继链无法验证区块时,就相当于可被审查」

「这就可能会导致审核」

不知道你怎么得出的这种结论。它是错的。

关于:

「可能最终要交巨额服务费」

平行链插槽不收服务费,只是会有根据市场需求进行公平拍卖的机会成本和保证金。

关于:

「必须每隔几年就参加一次拍卖,不然(你的槽位会被占)导致整个解决方案不能继续用」

「必须被迫支付巨额费用以继续在波卡上运行你的项目。要么就要在内卷中胜出,还要时刻做好万一情况下迁移到新链的准备……」

平行链一次性只可以买断 24 个月。如果要续约,需提前 18 个月进行续租。所以,一条平行链有 18 个月的提醒期。如果在这 18 个月中,你没有一次赢得拍卖并最终没有拿下槽位,你的保证金会被释还给你。你可以再次用这些钱参与下一次竞标。

而且,即使没有拿到槽位,也完全没有迁移的必要。虽然目前我们无法预测插槽市场的情况,但我们会尽力保证平行线程能作为一种完美的候补。

假设我们有 70 个平行链插槽,则:这其中任何一个插槽的租赁成本都不会超过第 70 个插槽的竞标价格任何一个平行链的租赁成本也不会超过波卡维护成本的 1/70,且波卡的共享安全性是非常高效的,根据验证人数量的不同,维护成本相比其他非跨链更低。

后两点意味着,吞吐量相同的情况下,使用波卡会比使用其他非跨链更便宜。

于此,可以预见,平行链成本仅仅会是为波卡安全性和互操作性付费的一小部分。

关于:

「跨链到别的生态的时候,比如 ETH、BTC,每一次都需要用到平行链(槽位将更难抢)」

「与 BTC 和 ETH 进行跨链的时候因为有个平行链在中间所以区块确认时间会大大增加」

一个桥不太可能占用整个平行链的资源。特别是像比特币这种 TPS 不高的链的桥,工作负载不会很大,可能只会占用一个平行线程,或仅仅作为某一平行链上的众多桥之一。

关于:

「ETH 2.0 的确认时间都要 6 分钟,波卡说只要 12-60 秒(实际上可能更长……因为 Fisherman 节点还要确认一遍,而且可能会导致已经确认的区块回滚……」

「即使你声称有超过 VISA 的 TPS,但如果确认时间为 60 分钟也没什么实用价值。」

不是。小交易只要几秒就可以确认完。如果是为了百分之百安全,那您可能要等待 60 秒(尽管这种情况在正常操作中并不常见)。

关于:

「在雪崩协议上你对自己的区块有完整的主权,可以发链,不会被勒索收费以验证你的区块。」

「雪崩协议的确认时间不到 3 秒。而且由于每个人都可以用子网进行验证,这是一个绝对安全的绝佳跨链操作环境。」

雪崩协议所谓的「子网安全性」和波卡的共享安全性完全不是一回事。何谈性能上的比较。

实际上,雪崩协议类似一个中心化的 Cosmos,由选出来的重叠的验证人组充当了子网安全性。

这将导致整个系统内各个链间的安全性有极大的不均。跨分片攻击是可行的,因为来自一个(低安全性)链的消息可以导致另一个(更安全的)子网上的状态迁移。这样一来整个网络的安全性就等同于安全性最差的那个链。

跟 Cosmos 的问题一样,任何试图设计一个中央区域以执行敏感逻辑的解决方案都会遇到可拓展性瓶颈,且会让一部分链劣化为状态转换无法信任的「二等公民」。不管程序在哪个链上执行,都有同等级的安全性保障,这才是一个可拓展的系统。

综上,雪崩协议并不安全,也不具备可拓展性。

原文地址

原文翻译


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK