科技隨筆
科技隨筆

| 科技閱讀 | 程式語言 | 理財規劃 | 工具推薦 | 音樂盛宴 | 生活雜談 | 科技隨筆中,不只有科技! 在這裡,我會隨筆記下科技閱讀、程式語言、理財規劃、音樂饗宴以及生活雜談等等內容。 邀請您在過程中與我一同分享也一同成長。 讓我們在人生的旅途中不斷學習,努力成為更棒的人吧~ 在其他平臺關注我: https://linkby.tw/itechnote.co

【區塊鏈知識】以太坊:不可竄改的匿名公共通訊軟體

延續上一篇利用以太坊聊天,這次要講述更多關於區塊鏈上文字訊息種類與用途,包含 IDMs/Non-IDMs 是甚麼,以及 Verified Signatures 的用途,這篇文章讓我非常有啟發,從另一個實用案例探索到區塊鏈另一個角度的應用。

在上一篇文章中我們討論了如何在區塊鏈上發送文字訊息,但老實說就算是側鏈或 L2 ,誰沒事會為了發文付出一堆手續費,我是這麼想著,於是在找資料的時候意外發現了一篇 Medium 上的文章,講述關於區塊鏈上文字訊息種類與用途,我覺得很有啟發就想來分享一下,會加入我的一些閱讀感想,不會完全照著原文走,該原文的出處網址是:https://medium.com/etherscan-blog/ethereum-the-messaging-app-51423e16061f

延伸閱讀:【區塊鏈知識】代價昂貴的區塊鏈聊天室?!

作者將這種透過錢包與世界交流的方式分成三大類:
1. Input Data Messages (IDMs)
2. Non-Standard IDMs
3. Verified Signatures

IDMs | Etherscan 開發好的 IDM 追蹤工具

在開始之前我想先介紹個小工具,是由 Etherscan 開發的工具,讓我們可以透過錢包地址來查詢鏈上的 IDMs,就像是在查詢交易或區塊那樣方便,網址可以參考:https://bi.etherscan.io/

左上角的地方可以輸入地址,追蹤後下方的表格就會是該錢包發出過的 IDMs。

而若您沒有接觸過區塊鏈瀏覽器,也可以參考之前寫的這篇文章研究研究:【區塊鏈知識】我用一萬塊買了最後一個 Traveloggers | 區塊鏈瀏覽器

一、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,內容為該合約的程式碼。

這裡附上他們對話的 IDMs 網址連結

二、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 之類的工具來進行訊息驗證簽名或瀏覽過往紀錄,網址分別是:

Etherscan:https://etherscan.io/verifiedSignatures

MyCrypto:https://app.mycrypto.com/verify-message

使用驗證簽名(Verified Signatures)與 IDM、Non-IDM 最大的差異就是不需要有一個目標地址讓你發送訊息過去,也不需要上鏈,這樣就不會因為要發送一筆交易而產生費用。

簽名驗證最有趣的就是在它的用途,大致可以分成:

1. 驗證社群媒體上的帳戶訊息
2. 驗證錢包地址的所有權是本人
3. 在快遞服務中作為貨物交付時的簽章
4. 驗證錢包地址並尋求交易所幫助
5. 發佈智能合約的許可證
……

也有人在上面寫一首印尼歌曲的歌詞片段

反正還有很多應用啦,有了這套驗證工具以後,要怎麼使用就看大家的創意發揮了。


看完這篇文章後我其實蠻受到啟發的,在以太坊或是其他區塊鏈上除了可以讓我們在上面發行代幣與 NFT、發佈一些智能合約進行 DeFi 服務、建立一些去中心化自治組織等等功能,現在可以說我們又多瞭解了它也可以拿來當作文字訊息傳遞與驗證的功能,目前這方面的資訊很少,也許未來會有人想到可以把它拿來做出一些更有意思的應用,使其發揮更大價值。


最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及小額贊助支持,讓我更有繼續寫下去的動力,EVM 兼容錢包地址為 0xae1dd06d57f582999a9c50b86ba913eecd7155ce。

也歡迎加入 Line 社群Telegram 群組 一起討論相關話題

我們下次見嚕 o((>ω< ))o~

原文連結 ITechNote 科技隨筆

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论