编者按:本文来自 链闻ChainNews(ID:chainnewscom),星球日报经授权发布。
北京时间今日凌晨 00:56,Opyn 官方推特发文宣称「官方团队发现部分 oToken 合约出现异常,已经开始着手解决这一问题。目前已经从 Uniswap 上暂时移除了受影响合约的流动性,并建议用户暂时不要创建新的合约」
事件发生后不久 @defiprime 官推发文称可能有至少 302 枚 ETH 在此次黑客攻击中失窃,而在这则消息发布后不久 @defiprime 又转发 @DegenSpartan 的结论称失窃的 ETH 数额可能会超过 1000 枚,而这一数字仍然没有得到最终确认。
据 @udon_crypto 分析指出,本次黑客攻击受影响的合约为 oETH,黑客在使用 ETH 铸造 oETH 后迅速行权,而 Opyn 合约不仅仅支付了原本就应当支付的行权价值的 USDC,还「额外返还」了铸造对应 oETH 时使用的 ETH。简单来说就是黑客通过一个简单的操作就实现了 ETH 资产的「翻倍」。
该消息在网络上迅速发酵,在此期间不止一位用户向 Opyn 官方团队反应资金遭受了损失,这些反馈以及该事件在社交媒体上的快速扩散引发了官方团队的高度重视。在经过了近 6 个小时的排查整理后,Opyn 官方 Medium 账号在北京时间 6:50 发布了本次黑客攻击事件的公告,详细还原了本次黑客攻击的全貌,并且在第一时间做出了一系列回应,全文如下:
除 ETH 看跌期权合约外的所有其他 Opyn 合约均未受到此漏洞的影响。在发现漏洞后 Opyn 官方团队已经做出了一系列应对措施尽可能控制损失,并承诺会对因此漏洞遭受损失的用户提供足够的支持及帮助。
发生了什么?
大约在 12 个小时之前官方团队成员在 Discord 中收到了用户的反馈,并发现有人正在恶意利用 Opyn 的 ETH 看跌期权漏洞牟利。黑客通过 oToken 的「双重行权」窃取了部分看跌期权卖方在发售期权时抵押的 ETH。Opyn 官方虽然利用 Convexity Protocol 通过白帽黑客攻击从保障金库中收回了 439,170 枚 USDC,但是截止发文时段仍然已经确认有 371,260 枚 USDC 被盗。
因为 Opyn 是一种无许可的去中心化协议,所以团队无法像许多其他协议一样直接关闭合约的访问权限。为了尽可能控制损失,团队在第一时间在 Uniswap 上删除了 ETH 看跌期权池的流动性,并在 Opyn.co 网站上关闭了购买 ETH 看跌期权的通道,以防止更多人购买这些 oToken。
为了确保现有 oToken 持有者的权益,团队将以高于 Deribit 期权市场价 20%的价格购买在漏洞被利用时尚未行权的所有 ETH Put oToken。(如果您目前持有 ETH Put oToken,请与通过 Discord 联系 Opyn 团队)
团队立即与 Trail of Bits 的 samczsun 合作开发了一个白帽补丁程序,该补丁程序使 Opyn 可以从未偿付的保险金库中删除了 439,170 枚 USDC 的抵押品,以便安全地向看跌期权卖方提供抵押品。如果您的保险金库中仍有资金,请通过 Discord 与我们联系。该补丁降低了现有看跌期权合约的抵押率,并允许官方团队进行自行清算,从而确保在 Opyn 团队控制的地址内,未行权看跌期权的卖方的抵押品是安全的。
除 ETH 看跌期权合约外的所有其他 Opyn 合约均不受此漏洞的影响。
我们了解到许多用户因此损失了资金,这很令人难过,毕竟保护用户资金的安全一直是团队的头等大事,我们将不懈地努力以重新获得您的信任,并确保我们的合同具有更高的安全标准。未来团队将对安全维度进行更严格的内部审查,除现有的 OpenZeppelin 审计外,还会增设审计,并采取一些措施来尽可能降低本次事件造成的用户损失。针对这次的攻击,团队还将在未来几天内发布更深入的技术分析文档。
我是 oToken 持有人,我该怎么办?
如果您当前持有 ETH 看涨期权,COMP 看跌期权,BAL 看跌期权,cToken 看跌期权或 aToken 看跌期权,您无需采取任何措施。本次攻击利用的漏洞不会影响到这些合约。
如果您目前持有 ETH 看跌权,请通过 Discord 联系 Opyn 团队,团队将以高于 Deribit 市价 20%的价格赎回您的看跌期权。
我是 oToken 卖家,我该怎么办?
如果您出售了 ETH 看涨期权,COMP 看跌期权,BAL 看跌期权或 cToken 看跌期权,则无需采取任何措施,您的资金没有任何风险。
如果您当前已出售 ETH 看跌权,请加入官方 Discord 获取最及时的解决方案。目前官方正在制定具体方案来尽可能减轻本次事件对您的影响。
一旦发现漏洞,将 Opyn 关闭会有意义吗?
官方无法关闭协议。Opyn 是无许可且去中心化的,官方团队并不能关闭或禁用 Opyn 合约。不过一旦发现漏洞,官方团队将采取积极措施以最大程度地减少用户的亏损。比如通过一些手段阻止进一步的攻击发生以及尽可能保证可能受影响用户抵押品的安全。
Opyn 将来会采取什么措施来防止这种情况的发生?
Opyn 协议的安全性一直是团队最高优先级的事项。本次攻击事件的发生让用户失望了,不过团队会在未来对安全性这个维度更加重视,目前已经确认的有以下四步:
1)对于我们发布的任何合约,都将对其进行全面的内部测试。我们将重新梳理内部测试的流程,以使其更加强大;
2)所有合同将通过 Trail of Bit 的 Echidna 系统进行验证;
3)我们将继续只发布经过审核的代码,并与 OpenZeppelin 和 Trail of Bits 等顶级审核公司合作;
4)我们将为现有的 Bug 赏金计划增加赏金奖励。
扩展阅读:
Opyn 是一个基于「Convexity 协议」, 建立在 Ethereum 区块链上的通用期权协议,允许用户使用其特有的 oToken 创建期权。Opyn.co 提供了一个易于用户使用的界面接口来买卖 ETH 的看跌和看涨期权。
Opyn 在 2019 年创立初期,进行了保证金交易的业务尝试,并在 2020 年 2 月转型为保险平台,用户可以为其 Compound 的存款购买保险来规避该平台的技术风险和相关金融风险。2020 年 3 月末,Opyn 推出了针对 ETH 持有者的第一批保护性期权,这些 oTokens 是通过 Uniswap 提供流动性的 ETH 看跌期权,故这些产品都可以视为 DeFi 用户的保险类产品。所以 Opyn 平台不是为投机而生的。
oToken 由基于智能合约的 Convexity 协议支持。oToken 智能合约的每个期权产品都必须指定的 8 个不同的参数 :(1) 到期时间 (2) 标的资产 (3) 执行价格 (4) 执行资产 (5) 看涨或看跌 (6) 抵押品类 (7) 抵押所需的保证金 (8) 美式或欧式期权。为了保障市场的流动性,目前期权的主要参数主要由 OPYN 来控制和创建。期权卖方可以通过在官方网站的界面,通过在一定期限内锁定抵押物来创设期权代币 oToken。期权卖方可以在 Uniswap 上出售这些 oTokens 以赚取期权费。
目前,Opyn 要求期权的卖方必须足额抵押。用户开具 ETH 看跌期权合约并铸造期权代币,必须存入合约行权价的 100%USDC 金额作为保证金进行锁定,同样的,用户开具 ETH 看涨期权合约并铸造期权代币,必须将相应数量的 ETH 存入合约并作为保证金进行锁定。
由前述 8 个参数的不同组合而来的不同的期权,在 Opyn 中以不同的 oTokens 进行标记区分,并由单独的智能合约控制。
参考: