Edgeware主网启动失败 开发团队连测试网BUG都不改?

9 月 17 日,Polkadot 生态知名项目 Edgeware 发布官方公告称,团队决定将两
天前上线的主网降级为测试网,接下来会在
完成全面的链上测试、所有问题全部「解决」后再重新上线。
换句话说,在「主网」上线两天后,Edgeware
便匆忙宣告「失败」、推倒重来。

这个曾汇聚镁光灯的区块链项目,在早期的辉煌消散后,代码安全问题开始暴露,加上近期主网启动失败、遭遇「分叉」,开始被疯狂涌来的吐槽、诟病淹没,Edgeware 还能「东山再起」吗?
2019 年第一个主网上线失败的项目
在挖出 2 万多个区块后,Edgeware 猛然发现主网上线没那么简单。
在 9 月 17 日发布的官方公告中,Edgeware 将此次失败的原因简单归结为「网络的初始配置存在许多问题」,导致的问题和后果被一笔带过。
通过梳理 Edgeware「主网上线前」和「上线后」的情况,区块律动 BlockBeats 发现,虽然 Edgeware 早期通过将其 90%代币免费分发出去的噱头,吸引一大批拥趸者,但却忽略了一件重要的事情:准备部分代币用于激励用户参与测试网、鼓励用户找出网络的 BUG,以及发现共识机制方面的错误,如果没有充分准备便上线主网,必将导致网络高度不稳定。
早在主网上线前,就有人对 Edgeware 持怀疑态度
直到 9 月 15 日前夕,社区里仍然有很多人担心主网能否顺利启动,社区里仍然在火热地讨论团队如何解决 slashing、会不会影响用户锁定的以太坊、代币分发等问题,但最终 Edgeware 团队还是我行我素,仍毅然决定在 9 月 15 日如期启动主网。
一意孤行带来的后果显而易见。
由于忽略了来自测试网的所有警告,还使用了许多未经测试的修改就启动了「主网」,因此,虽然 Edgeware 如期启动了「主网」,但问题频现。比如,验证者在跑 Edgeware 网络的时候,因为最初的网络设置不对,没将惩罚降低到 0,导致上线后一直被 slash 惩罚,此外,在代币分配之后,官网的数据显示就有问题,同时 Edgeware 网络还禁用了转账功能。
在 Edgeware 社群里,众人对这样粗糙的「主网」怨声载道,「昨天有节点貌似被 slash 扣了几百万个币,一直扣,项目方还没发现」、「扣一次,一个礼拜白干了」、「难道没人维护网络吗?这么多问题」、「感觉官方不管不问」、「辛苦做节点,换来测试币」,更有人戏言:「感觉这个团队实力不行,测试币也给你 slash 掉」。
问题越来越严重,最后连团队都「兜不住了」。
「主网」上线两天后的 9 月 17 日,Edgeware 不得不发布公告,「将当前网络降级为测试网,等问题得到解决后并对链上的升级进行全面测试后,再重新启动。」
根据官方公告,Edgeware 将在近期再次发布有关解决问题的进展,「正在考虑」如何认可社区中的技术领导者,并正在考虑开放赏金计划。
此前也曾出现代码漏洞
事实上,这并非 Edgeware 出现的第一次问题,早在今年 7 月,Edgeware 的智能合约就出现过严重的漏洞。
7 月 1 日,Edgeware 官方博客发布公告称,团队发现了锁仓空投(Lockdrop)合约中存在着 DoS 攻击漏洞,这是官方目前已经获悉一种攻击方式,不过当时已修复。
安全公司分析,「参与者进行锁仓获取激励操作,成功后会生成一份属于自己权限控制下的独立 Lock 合约,这份合约本身是安全的(至少我们还未发现已知潜在风险)。但有趣的是:漏洞出现在 Lock 合约生成的那一刻。」
根据区块律动 BlockBeats 当时的分析,这个漏洞可以简单理解为:攻击者用计算方式来获取未来会用于锁仓空投的合约地址,然后向这个地址发送资金,由于 Edgeware 的主合约在执行的时候会进行多次检查,以确保锁仓操作正确完成。因此,当该 Lockdrop 的合约地址真正开始建立 Lockdrop 的合约时,此时由于攻击者之前向该地址发送过资金,于是金额变多,导致主合约进行检查时会失败,于是锁定者就无法参与锁仓空投。
值得欣慰的是,这个漏洞并未造成实际的影响。
近日「被分叉」
9 月 15 日,在备受瞩目的 Edgeware「主网」上线之时,却在同一时间遭遇了「分叉」,Cosmos 及 Tendermint 研究员 Sunny Aggarwal 主导了这一次零时差分叉(Zero-Day Fork),分叉后的新项目名为 Straightedge。
根据 Straightedge 的说法,它虽然认为 Edgeware 是一个令人兴奋的新项目,并对它采用的 Lockdrop 分发代币的尝试表示赞赏,但同时它也认为,「该机制中 Signal 的设计同样会产生很多不公平的情况,并使得初始代币分发变得中心化。」
据了解,Straightedge 与 Edgeware 使用相同的软件同时启动、拥有相同的功能,唯一的区别是代币分配方式。为了更加公平,Straightedge 对代币分发做出了以下改进:

智能合约无法通过 Signal 获得代币;
去除 Generalized Locking;
所有 Signal 资金的代币分发将在创世区块完成。

根据官方说法,所有参与 Edgeware Lockdrop 的参与者都可以使用相同的助记词和地址,在 Straightedge 上领取 STR 代币,而来自非合约地址的 Signal 申明者,也可以在 Straightedge 创世区块获得 STR 代币,而无需像 Edgeware 一样等待一年的线性解锁。
Edgeware 曾被寄予厚望
作为 Lockdrop 的首个区块链项目,Edgeware 一经问世便吸引了币圈玩家关注,除了开创性提出的 ILO(Initial Lock-up Offering)模式被人津津乐道,Edgeware 还成为了 Polkadot 首个支持智能合约的项目,获得了 Polkadot 的官方支持,一时间风光无两。
由于网络资源有限,Polkadot 平行链插槽的数量也是有限的,而创世区块时插槽数量更为稀少,只有 Web3 基金会认为具有战略重要性的链或已经做出开发承诺的链,才有机会获得创始区块的插槽,其余项目只能通过后续的链下拍卖获得。Edgeware 是首批获得插槽的项目之一,很多 Polkadot 的拥护者也因此关注到了这个新项目。
汇聚了各种光环的 Edgeware,在 Lockdrop 方面大获成功,根据官方数据显示,Edgeware 一共吸引了一万多名参与者,汇聚了近 550 万枚 ETH,其中有 4,346,544 枚 ETH 参与 Signal,1,199,728 枚 ETH 则参与了锁仓。
Edgeware 不仅吸引了散户,同样引来了有大规模以太坊持仓的交易所玩家。据区块律动 BlockBeats 此前的报道,9 月 4 日,币安发布公告称将在 EDG 主网上线 2 周内,把获得的 EDG 代币分发给持仓 ETH 的用户。而此次币安参与 Edgeware 的 Signal 模式,数量高达 220 万枚 ETH,价值高达 26 亿人民币。
在惨淡的加密货币熊市背景下,Edgeware 还能吸引众多人参与,汇聚如此庞大的资金,可以算是一个奇迹了。但如今,由于团队技术的不成熟和傲慢,在还未全部完成漏洞排除和验证,便匆忙上线主网的 Edgeware,最终落了个「失败」的结局。
技术研发本身是个漫长而持续的过程,而区块链项目本身又与用户的资产深度绑定,一旦智能合约出现漏洞,影响的将是每一个用户的切身利益,因此,Edgeware 的经历至少可以告诫区块链项目方们,技术安全急不得,每一步研发都需脚踏实地。