嗨,早!
人們在區塊鏈上的一舉一動都有跡可循,而且資料不會隨著時間消失,是真正的「凡走過必留下痕跡」。隨著鏈上數據分析技術日漸成熟,過往的駭客事件也一一被翻出。
這週幣圈媒體 Unchained 的創辦人 Laura Shin 聯手鏈上數據分析公司 Chainalysis 聲稱已經查明 2016 年盜走 The DAO 智慧合約裡 360 萬顆 ETH(現在是 ETC 價值約 1 億美元)的駭客身份 —— 前加密貨幣金融卡公司 TenX 的執行長 Toby Hoenisch。
這篇文章先回到 2016 年重溫 The DAO 事件,再討論 Laura Shin 與 Chainalysis 是如何鏈上肉搜。
創建 The DAO
2015 年 7 月 30 日,以太坊區塊鏈正式上線。當時的人即便有聽過比特幣,也對以太坊提出的「區塊鏈」和「智慧合約」概念相當陌生。大家都想知道,以太坊和比特幣究竟有何不同?根據以太坊的白皮書:
中本聰在 2009 年開發的比特幣經常被譽為金錢和貨幣的激進變革,是第一個同時沒有「內在價值」支撐,而且沒有中心化發行者及控制者的數位資產。但比比特幣更重要的是它的底層技術 —— 區塊鏈 ——人們可以在上面開發許多新應用,例如自行發行貨幣、不可替代資產、域名甚至是更複雜的智慧合約和去中心化自治組織。
現在回頭看,白皮書裡寫的應用分別就是指 ICO、NFT、ENS、DeFi 和 DAO。但當時以太坊上還沒這麼多應用,而其中最引人注目的就是由德國新創公司 Slock.it 基於 DAO 概念發起的「鏈上投資合作社」—— The DAO。
根據當時紀錄:
智慧合約能根據程式碼的規則,自動接收、支付款項。它可以用來管理群眾募資,就像是 Kickstarter 為發起者、投資者管理資金,並從中抽取手續費。另一個用法則是風險投資公司,他們向投資者募款、提供投資決策並從中獲取收益。
The DAO 則像是兩者的綜合體。它的運作模式類似於風險投資公司,但由於資金來自於群眾募資,因此投資決策是仰賴群眾智慧共同完成。並透過智慧合約的程式碼,消除中間人帶來的風險。
2016 年 4 月 30 日,The DAO 正式成立並開始為期 28 天的群眾募資。人們每向 The DAO 投資 1 顆 ETH,就可以換得 100 顆 DAO 代幣,象徵未來的投票權。只要 The DAO 投資獲利,DAO 代幣的持有者也能跟著賺錢。
Slock.it 公司原本預期從市場上募得 500 萬美元(約 60 萬顆 ETH)。沒想到,最終包括幣價的漲幅,共收到約 1.5 億美元(約 1,150 萬顆 ETH)。這可說是有史以來金額最高的群眾募資案,募得的 ETH 更佔當時全球流通量的 15%。
The DAO 的運作機制很單純。人們可以向 The DAO 發起投資提案,而 DAO 代幣的持有者則可以憑手上的代幣當成選票,決定是否同意某項投資計畫。結果採多數決。
但為了保障少數人的權益,The DAO 允許成員可以自行分裂(split)出子基金 subDAO,當不滿意眾人決定的時候,就可以將個人的資金抽離 The DAO。規則可說是相當民主。以編號第 59 號分裂提案為例,它就是創建一個名為「lonely, so lonely」這個子基金。
但誰也沒想到,這個功能卻成為日後駭客攻擊 The DAO,並用來存放「贓款」的私人金庫。
駭客出手
2016 年 6 月 17 日,有網友在 Reddit 論壇發表一篇看起來非常慌張的貼文,標題是〈我認為 TheDAO 的資金正在被榨乾〉。他的貼文內容非常短:
不好意思我正在搭火車,不方便調查這起事件。但現在 TheDAO 似乎正在遭受類似遞迴呼叫的攻擊。
從下圖的鏈上數據可以看見,駭客當時將 The DAO 的資金以每次 100 顆 ETH,轉出到他自己創建的「lonely, so lonely」這個子基金裡存放。並且不斷重複相同動作。
為什麼駭客可以在未經其它 DAO 代幣持有者同意的情況下,就不斷提領 The DAO 裡面的資產?
事後大家發現是 The DAO 智慧合約的程式碼有漏洞。駭客利用智慧合約已經撥款,但尚未更新餘額的時間差,不斷地向智慧合約提領資金到子基金。
如果以 ATM 來比喻,這就像駭客在 ATM 已經吐鈔,卻還沒更新帳戶餘額的短暫時間裡,再向 ATM 提領一次。即便自己的帳戶裡只有 1,000 元,也可以把 ATM 的現金全部領光。
幾個小時後,The DAO 持有的資金已經有 31% 都進到駭客獨自管理的子基金裡。當時還有幾位白帽駭客自主發起資金救援行動,以同樣方式跟駭客「比速度」,看誰能先把 The DAO 的資金抽乾。
可以想像,不知情的投資者看著 The DAO 的資金越來越少肯定非常恐慌。ETH 價格也應聲下跌 33%。
最終,有 364 萬顆 ETH 流入駭客的子基金裡。只不過,駭客還得想辦法把這些錢從子基金內領出來。
The DAO 創立之初就有規範提領的「冷卻期」。子基金在創立的 27 天內,不能發起任何提案。駭客得等 27 天之後才能發起提領,並再等待 14 天的審議期(即便子基金只有駭客一人)才能實施。換句話說,以太坊社群總共有 41 天的時間來思考對策。
以 Vitalik Buterin 為首的社群主張「假裝」這幾天的災難不存在,從事件發生之前分叉出一條新的區塊鏈(也就是現在的以太坊),並將資金退還給 The DAO 的投資者。
而另外一群人則主張,智慧合約像是法律文件,而駭客就像是一位仔細審查合約的律師,找出對自己有利的規則而已,並不能算是真的「被駭」。應該坦然接受這起事件發生,並持續維護原本的區塊鏈(也就是現在的以太坊經典)。
最後,以太坊就此一分為二。而駭客竊取來的資產也從原本的 ETH,變成後來的 ETC。
這起事件原已成為以太坊的歷史,沒想到這週 Laura Shin 與 Chainalysis 公開他們找到的資料,並指證歷歷前加密貨幣金融卡公司 TenX 的執行長 Toby Hoenisch 就是竊走 364 萬顆 ETC 的主謀。
凡走過必留下痕跡
根據 Laura Shin 的敘述:
駭客得手之後,將 ETC 轉到一個新錢包。並陸續透過 ShapeShift 交易所,將 ETC 交易成比特幣。由於當時 ShapeShift 交易所還沒實名制,因此即便有這些交易紀錄也不知道背後的人是誰。而其中 50 顆比特幣,被轉移到隱私錢包 Wasabi 混幣後就不知去向。
但鏈上數據分析公司 Chainalysis 這次運用未曾公開的新功能,追溯到 Wasabi 混幣後的金流是被轉到 4 家交易所。而其中一家交易所的員工證實,那些比特幣後來被換成隱私幣 Grin 並轉到一個名為 grin.toby.ai 的 Grin 節點。這個節點的 IP 地址還同時是比特幣閃電網路 ln.toby.ai 和 lnd.ln.toby.ai 的節點,以及另外一個名為 TenX 的節點。
好巧不巧前 TenX 執行長 Toby Hoenisch 的推特帳號,就是 tobyai。
簡單來說,Laura Shin 是從 ETC 贓款追到比特幣,再利用 Chainalysis 的獨家工具從 比特幣追到 Grin,並透過交易所員工的幫忙找到 Grin 的流向。最後再搭配 IP 位址與節點名稱,才推斷 Toby Hoenisch 是當年將以太坊搞得雞飛狗跳的駭客。
整起事件的突破關鍵點,在於 Chainalysis 的獨家工具破解了 Wasabi 混幣器。以往再厲害的鏈上數據分析工具,遇到混幣器就只能兩手一攤,難以再往下追查。但這次 Chainalysis 卻突破原有限制,證明只要有鏈上資料就沒有找不到的金流。不過 Chainalysis 不會公開他們是如何破解混幣器,畢竟這是他們賴以為生的獨門技術。


這起事件才剛剛發生,目前還沒有檢調單位介入。因此還不能斷言 Toby Hoenisch 就是駭客本人。不過 Laura Shin 也指出,Toby Hoenisch 在得知證據被掌握後,就悄悄將個人推特的過往發文全數刪除(已被備份),並只是簡單回應指控資訊來源有誤,卻沒有進一步澄清。
如果 Chainalysis 的追蹤結果未來被證實無誤,這肯定是鏈上數據分析工具的一大突破。不論是之前 Bitfinex 駭客遭逮或這次 The DAO 駭客被「鏈上肉搜」,兩者都是透過公開、無法竄改的鏈上數據,搭配中心化交易所的登記資料找到藏匿多年的嫌犯。
在物理世界,狡猾的嫌犯會想盡辦法滅證。但在區塊鏈世界,嫌犯根本無法滅證。隨著鏈上數據分析工具的發展日漸成熟,或許未來還會有越來越多懸案將被陸續偵破。
區塊勢是由讀者付費訂閱來維持營運的獨立媒體。如果你覺得區塊勢的文章不錯,歡迎你分享這篇文章或是成為付費會員支持我們走得更遠 🙏
此外,也請大家推薦區塊勢給親朋好友。若想查閱區塊勢過往的出刊內容,可以參考文章列表。有鑒於常會有讀者寄信來問我推薦碼,因此我將它們整理成一頁。歡迎大家使用。