时间:2023-07-21|浏览:176
然而,一种观点一再重复就容易被视为真理。当大家都在重复同一观点时,人们往往选择相信这个观点,而不去深入思考波卡的安全性设计是否牢固。波卡基于Validator的巡查制度能提供多高的安全性,值得质疑。
在最近的一篇博客中,烤仔提到了波卡的跨链延迟问题。根据GavinWood在hackmd.io的博客中所说,一个平行链的确认时间可能需要一分钟左右。烤仔对此感到吃惊,因为波卡的Validator数量相对较少。如果这些少数Validator存在问题,错误的账本状态可能会通过中继链传播到其他平行链,最终破坏整个波卡的正确性和安全性。
为了缓解这种安全威胁,波卡允许任何人提交错误证明,并给予足够的时间来提交这些错误证明,这是波卡公链安全性的重要组成部分。在以太坊的二层协议OptimisticRollup中,错误证明的提交窗口是以天计算的。但是,在波卡中,这个窗口时间被设定为不到一分钟。
GavinWood解释了为什么设计如此短的窗口时间。由于波卡引入了secondary-checkers,原本的允许任何人提交错误证明的设计就没有必要了。如果fishermen能够在一分钟内提交错误证明,那么他们仍然可以这样做,但是波卡对此并不关心。
那么,为什么secondary-checkers可以替代fishermen的位置呢?根据白皮书4.4.2章节的介绍,第三级的有效性检查由一些随机和私密分配的Validator执行。Validator的数量取决于fishermen和collator报告的异常数量。这种设计可以防止攻击者与当前平行链的Validator相互勾结,因为你不知道哪些Validator是秘密检查组的成员。
然而,这种设计无法阻止一个坏的Validator被选入秘密检查组中,因此无法完全取代fishermen。尽管该设计可以提高波卡生态的安全性并增加攻击的难度,但它不足以完全取代fishermen,因为它无法排除暗访的Validator本身是恶意的情况。
然而,波卡放弃了fishermen这一设计。在白皮书中没有提到他们设定了极短的错误证明窗口,也没有提到他们在安全设计中放弃了fishermen。在与另一个公链项目比较性能时,GavinWood又提到了一分钟的参数来展示波卡的性能,对安全性则只字未提。
波卡的跨链延迟一小时固然有一定局限性,但如果为了追求效率而放弃安全性,波卡越发繁荣,也就越容易吸引攻击,最终可能会破坏整个波卡生态。
对于波卡平行链的开发者,建议是要做一个诚实的开发者。上述讨论的所有安全威胁都需要平行链全节点的参与。只要保证自己的平行链不出错,无需担心其他平行链的问题,即可问心无愧。
对于波卡未来生态的用户,应谨慎选择平行链。波卡的Validator机制并不能提供足够的安全性,但平行链的全节点可以弥补这一不足。选择节点数量足够多、分散度足够高的平行链,可以缓解安全性问题。然而,一个平行链被Validator操纵的后果会通过跨链消息传播。即使自己选择的平行链很可靠,也会受到来自其他不可靠平行链的跨链资产的影响。
对于DeFi合约的开发者来说,波卡的跨链故事可能很新颖,但波卡生态并没有带来太多新功能。相关功能,如零知卷叠和隐私计算等,都可以通过EVM合约或二层网络设计完成。在性能方面,波卡的技术架构注定了单个平行链的性能不如以太坊,因此波卡只能通过增加多链性能来超越以太坊单链性能。然而,多链无法很好地平衡跨链延迟和安全性,使得互操作性成为一种需牺牲安全性才能实现的功能,这在公链领域是独一无二的。而EVM生态的性能问题已经被许多新兴公链解决。
最后,波卡放弃fishermen的改动是一颗定时炸弹,你永远不知道它何时会爆炸。选择在一个足够去中心化、兼容EVM、有用户和生态基础、高性能的