主页 > 苹果版imtoken钱包怎么下载 > 这次我们在以太坊上杀死了德尔福的黑暗森林,节省了 960 万美元

这次我们在以太坊上杀死了德尔福的黑暗森林,节省了 960 万美元

2020 年 9 月 15 日,一个运营团队通宵工作,从一个易受攻击的智能合约中挽救了 960 万美元。 这是他们的故事。

Sam sun 又名 samczsun

让我总结一些关于智能合约的故事。

当然,我没想到会有什么有趣的事情。 就像两颗豌豆的产量种植克隆项目一样,我在过去几周看到了同样的迹象:你可以成为下一个百万富翁。 大多数克隆项目只需要对经过良好审核的代码进行一些调整,这有时会导致灾难性的结果。

但是在所有的噪音中,有一些我以前从未见过的代码。 本文的主题是智能合约,当时持有超过 25,000 个以太币,价值超过 960 万美元。 对于那些努力寻找逻辑错误的人来说,这将是一次全面的搜寻。

这次我们杀出了以太坊 DeFi 黑暗森林,完美拯救 960 万美元

我快速浏览了剥离 ETH 的代码并找到了两个匹配项。 其中之一将 ETH 转移到硬编码的令牌地址,因此可以忽略它。 第二个是将 ETH 转移给发送者的销毁功能。 在跟踪这个功能的使用后,我发现任何人都可以很容易地为自己伪造一个代币,然后为智能合约中的所有以太体销毁它。 我的心跳得更快了。 突然,问题变得严重了。

我的智能合约是留置权融资协议。 不幸的是,他们的团队是匿名的! 即时通讯唯一受支持的平台是电报,我不确定电报频道的管理员是开发者还是早期支持者。 我不想不小心把这个漏洞暴露给错误的人。

在他们的网站上花了一些时间后,我发现他们已经与 consensys dility 和 certik 合作进行代码审计。 这似乎是一个很好的方法,consensysdiligence 和 certik 必须在审核期间与开发人员进行交互。 我很快在 Telegram 上与 Consensys Diligence 的安全工程师 John Mardlin(又名 Maurelian)私下聊天。

这次我们杀出了以太坊 DeFi 黑暗森林,完美拯救 960 万美元

难以开始聊天或回复。 不幸的是,几分钟过去了,莫里安没有回应。 他好像睡着了。 如果您有关于 hsecur 的消息,请与我联系。

sitebihu.com 以太以太坊价格_以太坊与以太基金_以太坊内存

这次我们杀出了以太坊 DeFi 黑暗森林,完美拯救 960 万美元

几分钟后以太坊内存,我收到了过去共事过几次的人的回复——Alex Wade,他是 consensys diligence 的另一位安全工程师。

亚历克斯韦德

当我听到室友敲门声时,我正把头放在枕头上。 “Sam 在 ETHsec Telegram 频道上询问了任何了解 Consons 勤奋工作的人。”

这次我们杀出了以太坊 DeFi 黑暗森林,完美拯救 960 万美元

这可能是一个漫长的夜晚,山姆和亚历克斯在一次谈话中说以太坊内存,这是真的

我一听到是山姆,就知道这不是什么好事。 我找到了几个月前与 Lien 建立的沟通渠道和电子邮件地址。 他们的队伍是匿名的。 拥有这些总比没有好。

我还在半睡半醒中。 山姆不想在聊天中详细谈论这件事,并要求放大谈话。我很后悔为什么起床,我正在评估情况的严重性

这次我们杀出了以太坊 DeFi 黑暗森林,完美拯救 960 万美元

五分钟后,我知道我必须拿起咖啡去上班。

sitebihu.com 以太以太坊价格_以太坊与以太基金_以太坊内存

山姆和我检查了密码。 Sam 准备了一个样本测试来确认他机器上的问题。 我们的谈话转向讨论可行的选择:

我们自己存钱。

联系留置权团队,要求他们公开身份,并敦促用户提取资金。

两者都不是一个非常令人满意的选择。 第一步是非常危险的。 如果你看过 Dan Robinson 和 Paradigm 研究伙伴 Georgios konstantopoulos 讨论以太坊 DeFi 黑暗森林的文章(中文版),我们的交易被切断的可能性非常大。 第二种选择几乎同样危险,因为公开声明可以引起人们对问题的关注,并给攻击者可乘之机。 我们需要的是第三种选择。

回忆起以太坊“黑暗森林”一文的部分内容,Sam 联系上了 amberdata 工程副总裁 Scott Bigelow。 “如果你真的陷入这样的困境,我建议你去找 Amberda Engineering 的副总裁 Scott Bigelow。他是一名安全研究员,一直在研究这个课题,并且有一套独创的实施策略,可以更好地解决这个问题。”达到欺天渡海的目的。”

斯科特毕格罗

在我参加了以太坊DEFI暗林救援输给了暗林狙击手之后,我就渴望复赛了。 我花了一些时间监控拦截并设计了一个简单的系统,似乎可以愚弄普通跑步者。 我的个人投资测试至少成功挽救了200美元。 当萨姆半夜打电话给我并诚实地说:“你介意占用我一个小时左右的时间吗?” 我准备好了! 我想象这张照片,我将如何进行一些技术调整,花几个小时,然后设法为用户节省数千美元的资产,并带着那种成就感,睡个好觉。

当我和 Sam 分享这份聪明的合约时,计划就告吹了:大约 25,000 个以太币,价值 960 万美元。 我很想有这样的重赛,但我的几行破解代码并不是为价值 960 万美元的资产设计的。

在过去的几个月里,我一直在尝试与矿工取得联系,这就是我所做的:一种白帽救援协议。 如果矿工需要帮助编写一个挖矿协议,这样钱就不会被离家出走者偷走,就是这样。 幸运的是,在过去的几个月里,Tina Zhen 和我一直在努力建立这种伙伴关系。 当时,救援成功的机会微乎其微,但值得一试:让蒂娜参与救援,与矿场合作,进行私人交易挖矿。

通过 Tina Zhen

以太坊与以太基金_sitebihu.com 以太以太坊价格_以太坊内存

由于代号为“山猫”的加州野火,我刚刚撤离了我的家。 我喝着一种不知名的海滩饮料,听着从阴暗的太平洋传来的海浪拍打声。 Sam 的 Telegram 私信让我回到了一个更黑暗的现实:“资金有风险,可能被拦截。” 在过去的几周里,我一直在与 Sam 和 Scott 合作进行矿工可提取价值 (MeV) 研究项目,在他们提出要求之前我就猜到了:一个直接渠道来保护白帽交易免受“黑森林”的影响(一套以太坊内存池的未决、未确认交易)。

由于这是一个冒险的举动,需要将我们的策略暴露给矿工,我们决定首先尝试获得 Lien Anonymous 团队的批准。 当 Alex 尝试通过 consensys 内部渠道联系时,我们也尝试联系 certik。

我意识到certik在美国的auditor需要四个小时才能起床,但是时间不多了。 我对certik不是很了解,只知道他们在亚洲review了几个项目,所以我尝试联系了certik中国团队。 我分别在“DeFi 世界”和“黄帽子”上留言。 在我的私聊中,30分钟内收到了4条消息,确认我的微信好友身份是certik的真正CTO倪兆忠。 我被拉进了一个5个certik团队成员的微信群,当时还是不能透露相关项目或者漏洞。 为了尽量减少暴露风险和潜在责任,我们只能邀请一名 certik 成员加入我们的白帽计划。 在最终确认官方电子邮件后,certik 的工程总监 Georgios Delkos 加入了我们的对话。

在Georgios的帮助下,Alex得以迅速与连战团队取得联系,并核实了自己的身份。 我们第一时间让他们了解了严峻的形势,并征得他们同意直接与矿山合作,挽救这笔脆弱的资金。 我们同意连战的说法,这是一个先发制人的救援方案,也就是说,我们应该提前发出警告,否则我们会直接向救援队发出警告。

现在我们需要尽快找到基础设施足够、愿意与我们合作的矿场。 我们应该寻找哪一个? 该矿的哪个联系人可以快速做出技术决策来帮助我们开展这项行动?

我们想到了星火矿池,我了解到他们一直在建设一个叫做太极网络的公共基础设施,可以很方便地为我们提供我们需要的支持。 我决定与星火矿业联合创始人张少平私聊,他曾帮助我调查 MemPool 安全事件。

半小时后,邵平回复道:“你的意思是我会为这笔交易做一个白名单?抱歉,我们输了。在中文里,‘white hat’和‘white list’有点像。”

“有 1000 万美元的风险。我正在与 samczsun 在线沟通,”再次试图在不提供任何细节的情况下传达情况。

这次我们杀出了以太坊 DeFi 黑暗森林,完美拯救 960 万美元

“你们两个是在拯救世界吗?需要矿山帮忙吗?” 有点意外让我松了口气,邵平开玩笑说他愿意帮忙。 得到官方邮件确认后,少平进入了我们的马拉松zoom大会,众多星火矿池开发者提供了技术支持。

以太坊内存_以太坊与以太基金_sitebihu.com 以太以太坊价格

邵平自传

吃完午饭,正准备小睡,突然收到Tina发来的微信:“星火矿池对白帽交易有帮助吗?” 起初我错了。 我将其视为白名单。 之前没有人联系过我们做白帽交易,我们也不熟悉“白帽交易”的具体情况。 在蒂娜详细解释后,我意识到他们需要一个私人交易服务。 例如,白帽黑客想要发送一笔交易来保存一个DeFi智能合约,但为了防止被他人抢劫和拦截,他们需要矿池将交易写入区块而不广播交易。

我们在太极网上设置了私密交易功能,该功能还在开发中,还没有进行测试。 我将白帽黑客的要求告知了我们的开发团队,并强调了我们的隐私交易能力需要在几个小时内顺利上线的紧迫性。 我们的开发人员表示他们将竭尽全力,并很快开始工作。 我们用了两个小时完成了隐私交易功能的开发,并花了一些时间修复了这个bug。

在我们完成内部测试后,taijiquan.com 端点被发送到 scottbigelow 以完成白帽任务。

斯科特毕格罗

新的星火池挖矿后推出了新的 API。 Sam 和我还完成了脚本编程,以生成四个连续连接的签名交易。 顺序处理这些交易将不需要 25,000 个 ETH,而是 30,000 个 SBT+LBT 代币(由“错误”生成)给留置权团队,留置权团队可以将它们提交到最终交易并将它们转换为 ETH。

通过将不确定的SBT+LBT代币转移到留置团队而不是ETH,我们用更多的交易作为掩护,混淆了一般胁迫的攻击(如果重组),让960万美元的收入永远不会进入我的口袋,不为片刻。

在我们生成四笔签名交易后,我和 Sam 花了很多时间,使用各种多方交易模拟工具来验证他们的串行操作。 这四个交易程序的总数据大小小于 1.5 KB,这是节省 960 万美元资产的杀手,并确保在火花池捕获它们之前没有人知道这些交易。

我用一个无意义的交易测试了火花池白帽端点,执行是正确的:在 MemPool 中看不到该交易,然后突然出现在一个火花池块中! 就像看着水蒸气直接变成冰一样,恼人的液化过程完全看不见!

我们调整了交易生成脚本,将交易直接提交到火花池的新端点。 是时候行动了。 我犹豫了一会儿,但这绝对是我们能做的最好的。 我们可能会损失 960 万美元,但我们不会后悔:我在 IntelliJ 中点击了“运行”,我不知道为什么,但我认为整个过程需要一点时间,就像节点了解情况的严重性一样,并在其中花费一些时间。 但事实并非如此。 交易在几毫秒内发送。

以太坊内存_sitebihu.com 以太以太坊价格_以太坊与以太基金

zoom 通话中的每个人都开始疯狂地刷新 ETHerscan,我怀疑 ETHerscan 团队看到了 3 分钟的流量峰值。 由于只有星火池才有交易,而且只有星火池的一部分算力专门用于此,我们只能冷汗等待。 每个矿工都挖出了我们感到兴奋的每个区块。 在 zoom 电话会议上,有人会紧张地笑着说出开采区块的矿工的名字。 在我们的交易被写入一个区块之前大约需要 15 个区块,但我们觉得我们正在经历几个小时,但最终,我们拥有了完美的交易:顺序挖掘,而不是滚动。

我们欣慰地看着越来越多的区块叠加在我们的区块上,对区块重组的担忧很快就消失了。 连战的团队现在有足够的 SBT+LBT 代币来通关整个系统,Sam 负责协调最后阶段的救援工作。

孙三

现在我们已经成功将代币转移给连战团队,没有任何强制截断、尝试或其他任何迹象,我们很快在私聊中告诉他们这个好消息。 他们确认已收到代币并立即发送交易以取回智能合约中锁定的大部分 ETH。 几秒钟后,待处理的交易出现在 ETHerscan 上。

我借此机会一边看着进度条一边反思动作。 最初着眼于智能合约的行动最终演变成“拯救大兵瑞恩”行动,吸引了来自世界各地的专家。 没有 Alex 和 Georgios,我们将无法联系到留置权开发商。 如果没有斯科特,我们的救援可能早就陷入困境。 如果没有 Tina,我们将无法联系到 certik 或 spark pool。 没有 Sparkpool,我们注定要重演丹几周前写下的悲剧。

然而,周二晚些时候,我们看似不可能的团队齐心协力实现了同样的目标,最终获得了 960 万美元的回报。 我们在过去七个小时的努力最终达成了一项有待确认的协议和一个围绕它的进度条。

当进度条终于出现了一个绿色的勾时,zoom会议中的紧张气氛终于烟消云散,所有人都松了一口气。

这次我们杀出了以太坊 DeFi 黑暗森林,完美拯救 960 万美元

我们终于设法走出了黑暗的森林。

这篇文章记录了很多人努力工作的成功。 特别感谢 Alex Wade、Scott Bigelow、Tina Zhen、Georgios delkos 和 spark pool 挽救了危机,感谢 Alex obadia 和 Dan Robinson 审阅本文并提供反馈。

如果您对移动背后的技术细节感兴趣,请单击此处了解更多信息。 如果出于某种原因,你还没有读过以太坊的“黑暗森林”,你应该读一读。

以太坊与以太基金_以太坊内存_sitebihu.com 以太以太坊价格