作者將這種透過錢包與世界交流的方式分成三大類:
1. Input Data Messages (IDMs)
2. Non-Standard IDMs
3. Verified Signatures
IDMs | Etherscan 開發好的 IDM 追蹤工具
左上角的地方可以輸入地址,追蹤後下方的表格就會是該錢包發出過的 IDMs。
一、Input Data Messages (IDMs)
IDM 就是
上一篇文章提到的方式,大致上在做的事情是我們可以在一筆交易內放入一些由文字轉換的十六進位 Binary data 作為 IDM,發送這筆交易到區塊鏈的同時,文字就順利地被放到區塊鏈上了!
作者在這裡舉了實際上在鏈上出現的五大種類 IDM 使用場景,還蠻有意思的:
1. Transaction receipts/notes
例如使用 Anyswap 跨鏈橋將資產在兩個鏈之間交換時,Anyswap 會在發送給用戶的交易中將另一個鏈的交易紀錄轉換為 IDM 的形式,這樣類似筆記或收據的功能,使用者只要複製該筆 Hash 就能到另一個鏈的瀏覽器上直接搜尋到該筆存款紀錄。
Anyswap 在 Etherscan 上的
參考網址、Anyswap 的 IDMs
參考網址。
2. Description of properties (in JSON)
這大概就是把一些給智能合約要使用的驗證訊息或是 log 檔之類的放到區塊鏈上吧,可以參考原文附上的
網址。
實際上拿這個錢包去 IDMs 的小工具查詢後發現,這個錢包看起來每天都會發送一筆 json 格式的資料作為紀錄,雖然不能確定它真正的用途,但可以推測這些內容應該是要對已註冊的智能合約進行日常驗證。
3. Crypto begging
這個東西很好理解,就是加密版的乞討文,一般在路邊乞討你大概只能跟路人乞討,幾乎不可能有機會可以向那些有權有勢的人乞討,但由於我們能知道那些加密大佬的錢包地址,所以區塊鏈乞討可以直接發送訊息給他們,一想到就覺得超酷的啦!
4. Advertising
利用 IDM 來發送廣告訊息,這個跟加密乞討的概念有點相似,可以向日常不可能接觸到的人們推撥發送廣告訊息。
另外如果要推一個新的協議或專案,由於區塊鏈上的交易紀錄都是公開透明的,我們很容易就能撈出競爭對手的用戶,並且直接發起廣告攻擊或是空投代幣給他們(傳說中的吸血鬼攻擊),會是一種很棒的行銷手段,就像當初 Sushiswap 對上 Uniswap;LooksRare 對上 OpenSea 的精采好戲。
5. Conversations
發起一個雙邊溝通對話,在原文中提到的故事相當有意思,兩個套利的競爭對手彼此是從未見面過的陌生人,但卻透過錢包傳遞 IDM 的方式,只花了 30 條訊息交流就能變成合作關係,這在現實世界實在是蠻難做到的,因為你甚至不知道你的競爭對手是誰,如何聯絡到他。
這張圖的大意大概是:
交易機器人A:嘿,兄弟!我知道我們是競爭對手,但是再這樣競爭下去誰都賺不到錢,不然你別跟我爭了,未來每次賺到的錢我都分你一半。
交易機器人B:給我個方式讓我可以相信你,這樣我可以放棄競爭,甚至可以彼此合作。
交易機器人A:其實很簡單,如果你先放棄下一輪競爭,我會直接把賺到的錢分你一半,這樣你就可以知道我有沒有守信了,之後我會寫一個新的合約把你應得的那一半獲利自動發送給你,到時候也會發佈程式碼讓你驗證內容。
交易機器人B:好,我會暫停下輪的交易。我會幫你看看有沒有新的競爭者,而你所有交易所花費的 Gas 我也能幫你分擔一半!
後續就是交易機器人 A 寫了一段智能合約,讓分對方一半獲利這件事自動化,他還發了一條 IDM,內容為該合約的程式碼。
二、Non-Standard IDMs
這裡指的是非標準的 IDM,也就是我們無法透過 UTF-8 編碼直接轉譯出原文,通常會需要額外的工作去解碼讓它變成人類看得懂的文字訊息。
1. Encrypted messages
這種訊息是已經先被加密過了,透過區塊鏈公開透明結合密碼學的技術,擁有私鑰的人才能將該筆訊息解碼出來。
2. Event logs
看起來是對某個東西所發生的事件儲存成記錄檔的形式,但我實在看不太懂它的例子,如果照字面的意思來看的話就是 THORChain 的攻擊者發送訊息給它要攻擊的目標,這筆訊息需要讀入六筆不同交易紀錄的 IDM,接著把他們由16進制格式轉換為文字檔?!
原文有附上一個
網址在講述當時被攻擊時的內容,可以參考看看。
3. Bytes
這個就相對容易理解了,前面說過 IDM 是透過 UTF-8 的編碼方式將文字轉換成 Binary data,若將這些 Binary data 視為文字的話,不就可以再次轉換成 Binary data 了嗎?
舉個例子,假設要輸出文字「hello」的話,經過一次轉換可以變成「68656c6c6f」,以「68656c6c6f」作為文字再次轉換就會變成「36383635366336633666」,而這個結果又可以讓我們再次轉換….
總之,對於接收的人而言,只要傳送的人告訴你他轉碼了幾次,我們只要反過來進行轉碼就可以看到原文了哦!
三、Verified Signatures
這是一種驗證機制不會存在區塊鏈上,發送訊息者透過錢包的私鑰對該筆訊息進行簽章,藉以證明這個訊息確實是這個錢包地址所發出的。
而這些簽章驗證過的訊息可以透過 Etherscan 或 MyCrypto 之類的工具來進行訊息驗證簽名或瀏覽過往紀錄,網址分別是:
使用驗證簽名(Verified Signatures)與 IDM、Non-IDM 最大的差異就是不需要有一個目標地址讓你發送訊息過去,也不需要上鏈,這樣就不會因為要發送一筆交易而產生費用。
反正還有很多應用啦,有了這套驗證工具以後,要怎麼使用就看大家的創意發揮了。
看完這篇文章後我其實蠻受到啟發的,在以太坊或是其他區塊鏈上除了可以讓我們在上面發行代幣與 NFT、發佈一些智能合約進行 DeFi 服務、建立一些去中心化自治組織等等功能,現在可以說我們又多瞭解了它也可以拿來當作文字訊息傳遞與驗證的功能,目前這方面的資訊很少,也許未來會有人想到可以把它拿來做出一些更有意思的應用,使其發揮更大價值。
最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及小額贊助支持,讓我更有繼續寫下去的動力,EVM 兼容錢包地址為 0xae1dd06d57f582999a9c50b86ba913eecd7155ce。
我們下次見嚕 o((>ω< ))o~