时间:2021-11-27|浏览:1644
对于任何公链来说,安全都是重中之重的问题。新兴公链中虽不乏佼佼者,但网络性能及安全方面仍有优化空间,即使是自去年 9 月上线以来表现出亮眼 BSC 不可避免。在过去的几个月里,BSC 多次发生网络停止和黑客攻击事件 BSC 带来很多负面影响。 DeFi 协议本身就有问题,有人说项目代码重叠度高,社区的热烈讨论进一步推动了我们的思考。
2021 年 6 月 8 日,在由 Hash Global、Mask Network 主办,链闻,Winkrypto 联合主办的主题是「BSC 迭代演进之路」的 Meetup 闭门会动圆桌对话环节,链闻研究总监潘致雄,HashQuark CMO Dora、DODO 联合创始人 CEO 雷达熊、Mask Network 创始人兼 CEO Suji Yan、EigenPhi 联合创始人程显峰和安比实验室合同安全总监孙志鹏围绕「如何避免和优化? BSC 网络停机、节点服务缓慢、黑客攻击频繁等问题」话题展开深度讨论。
这篇文章是圆桌讨论的精彩内容集锦,内容有编辑。潘致雄:早些时候 BSC 网络也出现了网络停机的问题。这些问题的根本原因是什么?当时对各协议的影响有多大?Dora:Hash Quark 作为战斗一线的节点,我发现虽然在 BSC 在大面积拥堵期间,我们面临着很大的压力,但是我们的服务器没有停止,所以 BSC 其实网络停机停机的说法并不存在。原因可以从 BSC 从发展路径及其机制设计来看这个问题。
首先,与以太坊相比,BSC 设置更大的块,出块速度更快,性能更好。我认为正是因为 BSC 好用又便宜,用的人多,导致堵塞。
第二,很多人会觉得 BSC 21 节点机制会有集中化问题,但 BSC 对服务器的要求和成本都很高,Hash Quark 运营了大概 40 条公链节点,BSC 服务器硬件要求和投入成本可以排在前五位,高门槛保证节点平稳运行。另一方面,随着硬件的不断升级,BSC 性能也有提升的空间。
潘致雄:每个人的项目都部署在 BSC 上了吗?
雷达熊:DODO 在 BSC 以前,上述业务也受到很大影响。广播节点和验证节点不同步导致块延迟,网络节点受到很大影响,直到 BSC 更新节点服务器后解决问题。经历过这件事之后,我觉得物理世界是有限的,不要对任何链期望太高。 BSC 随着发展规模的扩大,没有人能保证可用性。现在我们在连接每一条新链时都会做很多准备,这是从 BSC 吸取的经验。我们相信 BSC 将来能很好地解决这类问题,发展得越来越稳定。
Suji Yan:BSC 任何人都可以在上面写代码,任何人都敢在上面写代码,这可能会导致节点资源浪费在毫无意义的地方,所以从另一个角度来看,Gas 贵也不是没有好处。现在每次看到很多大项目即将上线,我们都很紧张,担心他们会在主网上做什么测试,会发生什么。这是我们的一些经历,但还是很脆弱的。每个人都觉得 BSC 比较集中,但在我眼里,BSC 和以太坊都有集中化的弊端。
90 时代大家都在做网页,没人做服务器。后来大面积网页瘫痪,后来发展成服务器链行业。我觉得随着公链的深入发展,无论是多节点公链还是少节点公链,都像 PoS 或者 BSC 这种公链很可能进入大型提供商自建机房的阶段,自己重新阅读所有的客户端代码,或者像安比实验室一样重新检查。
潘致雄:补充问题 Dora,BSC 遇到这些问题后,具体采取什么措施?Dora:其实 BSC 本身没有被 DDOS 攻击,所以我们不是特别紧急。但是有一个数据可以分享:作为第一批 BSC 做节点团队,现在我们的 BSC 节点一共做了 18 次客户端升级,包括 16 次都发生了 4 月和 5 月初,即 BSC 最拥时间最拥堵。此期间,技术同事压力很大。他们经常半夜收到短信,所以他们必须起床升级客户端。非常感谢所有同事的团结努力,帮助我们一起度过难关。
潘致雄:5 月份 BSC 网络超过 10 一个项目遭遇黑客攻击产生连锁效应,涉及闪电贷款等问题。造成这个问题的本质原因是什么?孙志鹏:我认为可能是因为每个项目之间的代码相互 Copy导致漏洞也在这些项目之间传播,导致一个项目被攻击,多个项目被陆续攻击。此外,还会造成 BSC 在 5 黑客攻击在月亮上接连爆发的原因,以及许多开发商无论是闪电贷款还是闪电贷款 DeFi 协议之间相互组合的风险意识薄弱有重要关系。此外,目前可能有一些工具可以帮助快速发现类似的漏洞,这加速了这些漏洞的利用,但闪电贷款只是降低了攻击门槛,提高了攻击收入。
程显峰:我一直对智能合同的攻击持悲观态度,比如现在 2021 年,windows 平台上还是有病毒的。面对无尽的组合,很难防范风险。从另一个角度来说,人们认为攻击是一件坏事,但攻击反向推动了智能合同的进步。闪电贷款不仅是核武器,也是核能。虽然显示了更高的效率、更好的资金杠杆和更高效的资金利用率,但也有很大的破坏力。
Suji Yan攻击还包括与人有关的问题,即使用 DAO 攻击别人。 DAO 在治理模型中,虽然链条是透明的,但 DAO 投票机制的治理也存在风险,例如,Gitcoin 社区通过提案投票 Vitalik Buterin 捐赠的 49 万亿枚 AKITA 兑换为 ETH,对于 AKITA 这是一个新的风险,DAO 风险,有控票现象,不讲道理。当经济体制很大时,不要相信自治投票。
潘致雄:Suji Yan 谈到攻击的新思路。雷达熊:我认为它正在建设中。 DeFi 开发者在编码项目时,应该思考与经济学相关的问题。开发者除了技术知识,还需要掌握相关的经济学知识。潘志雄:接下来,既然有这么多问题,对我们未来的发展有什么建议?无论是安全审计还是经济学,如何尽可能避免?有什么缓解方案吗?雷达熊:很多项目因为寻求创新而开发复杂的系统,但这种创新会带来整体风险的增加。建议开发者用简单的代码让系统变得简单。可以用简短的代码写完,不要加太多东西,这是我对开发者的一些建议。
Suji Yan:建议不要太相信自己的投票机制。现在大部分自己的投票系统都很脆弱。当经济体系很大的时候,很容易出现很多问题。原来我很反对留在后门的行为,我觉得不应该有这种东西。但是现在我觉得应该留一个后门,然后设计一个机制被滥用,这对项目后期的优化发展很重要。
程显峰:我非常同意这种观点。很多开发者认为代码是法律,但经验不可能覆盖未来的所有情况,法律本身也不可能完美。一般合同都有不完美的等等。换句话说,法律有后门,经济模式的设计也是如此。我们不应该写死,留一点改变的空间。因为很多时候,开发者认为自己设计的很完整,但总有人能找到漏洞。
孙志鹏:对开发者的建议有两个方面:一是开发者真正了解漏洞的深入原理,提高后续代码的安全性;二是借助专家的力量。另外,建议开发者适当放慢节奏,很多项目从开发到上线时间太短。相反,我个人最喜欢 Uniswap 核心代码不仅代码极简,而且有非常详细的测试用例,甚至有形式化验证,值得学习。Dora:我对用户的建议是永远不要考验人性。每个人都应该对参与的项目做一个基本的调整。当你发现这个项目设计不合理时,你应该保持怀疑和警惕。