ccryptoo 1 1638760446
新聞

用以太坊聊天:實例介紹「鏈上訊息輸入」的不同形式

你知道嘛,鏈上不只有黑暗森林中打得不可開交的機器人、披著神秘外衣的攻擊者,其實還有許許多多被人忽視的小故事。區塊鏈不光可以用來傳遞富有經濟價值的資產,還可以是擁有「永久保存」功能的匿名公共聊天軟體。你還記得「The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.」嗎?本文源自於 Etherscan 官方部落格的《 Ethereum: the Messaging App 》,由動區專欄作者 BlockBeats  整理、編譯與撰稿。

 

8月 11 日,PolyNetwork 遭到駭客攻擊,規模史無前例,總計有 6.11 億美元被盜。然而與以往不同的是,這名駭客不僅僅盜取了巨大金額,還通過自身地址收發訊息,與 PolyNetwork 進行了持續對話,不僅如此,他甚至用自問自答的方式附上了自己攻擊過程中的心路歷程。

延伸閱讀:心路歷程》Poly Network駭客12條問答:好玩、跨鏈攻擊痕紅、責任揭露項目漏洞!

一直以來,以太坊用戶用錢包就可以與世界和彼此進行交流,方式也是多種多樣。我們將在本篇文章中對這些方式一探究竟,它們分別是:

  • 數據輸入類訊息(IDM)
  • 非標準 IDM
  • 經驗證的簽名

數據輸入類訊息(IDM)

IDM 是我們創建的一項術語,用以描述以太坊交易中輸入數據欄位所發送的訊息。該欄位主要用於通知區塊鏈交易中合約調用的詳情。由於這些數據都是以十六進制形式錄入的,我們只要對其進行解碼就能知道具體調用的功能。

ccryptoo 1 1638760447
最初 Uniswap V2 的輸入訊息
ccryptoo 1 1638760448
相同的輸入訊息被解碼後所顯示的功能參數

然而,如果該欄位中輸入的十六進制數據被轉換為 UTF-8 編碼時,這些數據將以文本的形式呈現。

ccryptoo 1 1638760448 1
V 神宣布銷毀 90% 的 SHIBA 代幣

以太坊中每天進行著大量交易,要想識別這些交易中哪些屬於 IDM 將極富挑戰,這是因為那些包含合約的交易可能會被轉換成 UTF-8 編碼,這樣的話,交易訊息就成了一堆讓人看不懂的亂碼。而那些訊息類型的交易當中又可能會出現字符格式不正確的情況,導致部分訊息依然是亂碼。
從我們可以辨識的訊息來看,它們的用途可以分為以下幾類:

  • 交易收據與票據
  • 屬性描述(以 JSON 格式呈現)
  • 加密乞討
  • 廣告宣傳
  • 溝通對話

交易收據與票據

這些訊息最主要以收據或票據的形式呈現。在包含地址子集的 IDM 中搜索常用詞時,收據和票據的出現頻率比其他任何詞都要高。

同樣的,Anyswap 中的 BSC 跨鏈橋地址也能反映這一點。 Anyswap 在發送給用戶的以太坊交易中,將用戶在 BSC 上存款的交易哈希處理為 IDM,這樣用戶只需將哈希複製黏貼到 BscScan.com 中就可以查看自己在 BSC 上的存款了。

ccryptoo 1 1638760448 2

訊息驗證

有些地址會使用 IDM 來進行訊息驗證,在它們當中,甚至有個地址每天都向自己發送一個 IDM。
檢查發現,所有的 IDM 都使用了標準的 JSON 格式,雖然還不能確定,但我們推測這是用於對已註冊的智能合約進行日常驗證。

ccryptoo 1 1638760448 3「加密」乞討

可以肯定地說,繼當年那個印度窮鬼以「救救我們家」為理由乞討施捨成功以後,任何一個熱門地址或資產大戶都逃不過被乞討的命運。

ccryptoo 1 1638760449

上圖大意:V 神!求求你幫幫我吧!請你借我 60 個 ETH 吧!自從我進了幣圈我已經虧了 15 萬美金了,而且我馬上就要結婚了。我來自印度,我爸得了心臟病,馬上要做手術了,醫藥費讓我花光了所有的積蓄,新冠也讓我丟了工作,我知道這聽起來很荒謬,但求你幫幫我吧 V 神!

如果你想要得到錢,那麼首先你要能為對方創造價值,這樣才有更大的可能。不過在這種情況下,這筆錢是否合法就是另外一回事了。

ccryptoo 1 1638760449 1
hanashiro.eth 和 PolyNetwork 攻擊者的一段小故事,hanashiro.eth 向駭客提醒其 USDT 已被凍結,黑客贈送 13.37 枚 ETH 作為感謝。

廣告宣傳

與發送乞討訊息不同的是,一些創業者為了宣傳產品,會向熱門地址發送 IDM。曾有一個地址向其他 150 多個熱門地址發送帶有 IDM 的垃圾郵件,他們打著「巨怪獵人——第一部代幣化 3D 動畫電影」的旗號,試圖拉取贊助,但最終這場募款行動並不算成功。

ccryptoo 1 1638760449 2

除了上面這種手段,還有一種「打廣告」的方式是定期在地址中發布產品連結,並將其中產品訊息均處理為 IDM,這樣這些訊息就能被我們抓取到了。 Folkspaper 是一家自稱「由網路社群策劃、成長快速的媒體」,他們會向自己不斷發送文章連結的 IDM。

ccryptoo 1 1638760450

溝通對話

對於我們這群看熱鬧的路人來說,最感興趣的 IDM 還是那些鏈上對話,就比如說,兩個 MEV 交易機器人之間的「暖心」交流就是 IDM 得到有效使用的一個最佳例子。

 

ccryptoo 1 1638760450 1

上圖大意:

交易機器人 1:嘿,朋友!我們再這麼打下去誰都賺不到錢,要不然這樣,你別跟我爭了,以後每次我賺到錢都分你一半!
交易機器人 2:這可是在加密世界裡,我怎麼信任你?你得想出讓我相信你的方案。
交易機器人 1:其實很簡單,如果你放棄下一輪競爭我會把你那一半錢打給你,你就知道我有沒有守信了,之後我會寫一個新的合約讓其自動執行,然後我把源代碼發給你讓你來驗證!
交易機器人 2:好吧,那我下輪不跟你爭了。我幫你看看有沒有別的競爭者,這樣咱們可以一起平分一下 Gas!

網上兩個不曾見面的陌生人,同時也是套利的競爭對手,僅僅在 30 條訊息的交流中,就能化敵為友,建立友好的伙伴關係,以確保雙方都能更好獲利。

ccryptoo 1 1638760450 2

到目前為止,最活躍且最有趣的對話仍然是涉及 PolyNetwork Exploiter 的對話。這個對話裡的內容應有盡有,不僅包括用 13.37 ETH 來獎勵優質建議、護士與難民請求資金援助、訊息加密,還包括揪出騙子的郵件與媒體,與駭客的談判與 Q amp;A,等等。

ccryptoo 1 1638760451
上圖為駭客 Q amp;A 環節

非標準 IDM

雖然大多數 IDM 只是以文本的形式發送,但也有些還需進行訊息解碼才能完成。

加密訊息

這些訊息結合了區塊鏈的公共性與加密訊息自身一定的隱私性,讓那些想要了解訊息內容的人,必須對其進行解密才能獲取。

 

 

 

ccryptoo 1 1638760451 1
上圖為向 PolyNetwork 攻擊者發去的加密訊息

事件記錄檔

第二次的 THORChain 剝削事件中,攻擊者向目標發送訊息,該訊息需要通過對包含 6 個交易的事件紀錄檔進行語法解析,並將逐行輸入的數據視圖從十六進制轉換為文本格式。所以,我想對未來的 DeFi 攻擊者說,請堅持採用標準的 IDM 方法。

ccryptoo 1 1638760451 2
一個區塊中的六條訊息:1、2、3、4、5、6

位元組

不僅如此,通過將數據轉換為 UTF-8 編碼,使之以位元組的形式呈現,也是一類非標準 IDM。為了讀取這類訊息,人們需要使用一種工具,將數據文本從位元組格式轉換為字串格式。

雖然 IDM 看起來只是一長串數字組合,但神奇的是,我們卻可以對其進行讀取。

ccryptoo 1 1638760452
將這條給 V 神訊息進行解析後,上圖大意:某 meme NFT 創辦人向 V 神推銷其項目。

經驗證的簽名

另一類型的訊息雖然需要使用以太坊,但並不在鏈上儲存。錢包使用者可以用私人密鑰簽署訊息,以證明該訊息來自於所簽署的地址。在這之後,其他任何人都可以用 Etherscan 和 Mycrypto 上的工具來驗證該簽名訊息。

ccryptoo 1 1638760452 1

在用平台工具進行驗證之後,Etherscan 會保留一份簽名訊息的相關記錄。雖然這些工具最初是為了讓合約創建者驗證其合約的所有權,但後來逐漸有成千上萬的人用它來做別的事情,它的使用範圍也日益廣泛。

為什麼用戶會選擇使用經過驗證的簽名訊息而非 IDM 呢?一方面,這些訊息不與接收地址掛鉤,只要登陸 Etherscan 的驗證簽名頁面,無需導航到其他地址就可以查看包含這些訊息的訊息列表。用戶可以獲得更為直觀的閱讀體驗,不用再花時間將十六進制轉換為 UTF-8 編碼。更為重要的是,這種模式將不會像使用 IDM 那樣產生交易成本。

縱觀這些訊息可以發現,它們的用途與 IDM 並不相同:

ccryptoo 1 1638760452 2

  • 其中 30% 的訊息用來驗證社群媒體上的帳戶訊息。
    (注意:對於那些想要通過驗證帳戶訊息來為地址添加公共名稱標籤的人來說,Etherscan 需要查看社群帳戶上簽名訊息的連結才能對雙方進行驗證。)
  • 29% 的訊息沒有採用 Etherscan 的格式,而是使用了另一種格式,用來對地址所有權進行驗證。
  • 只有 9% 的訊息嚴格採用了 Etherscan 中的模板進行編寫。
  • 有趣的是,有多達 1% 的訊息被用於快遞業務中的貨物交付。

除以上用途外,這些訊息還有下面這幾種有趣用法:

  •  尋求交易所幫助
  • 發布智能合約許可證
  • 在 Bitcointalk 上尋求 P2P 貸款
  • 為 DeFi 項目宣布正確的 Twitter 帳戶
  • 對 Uniswap 治理進行投票
  • 財務審計驗證
  • 更正錯誤發送的 USDT

最後,我們來看一封「情書」。

ccryptoo 1 1638760453
情書大意:為了你我放棄了所有,我愛你!我不會再重複!你是否曾看過我一眼,我是否應該繼續等你!

由於其圖靈完備性,以太坊不僅可以用於 DeFi 和 NFT,還有多種使用方式,其中之一就是用作訊息傳遞。目前,以太坊的這一功能還沒得到進一步的發掘,發展空間依然巨大,期待未來它能夠發揮出更大的價值。

📍