📢 Gate廣場 #MBG任务挑战# 發帖贏大獎活動火熱開啓!
想要瓜分1,000枚MBG?現在就來參與,展示你的洞察與實操,成爲MBG推廣達人!
💰️ 本期將評選出20位優質發帖用戶,每人可輕鬆獲得50枚MBG!
如何參與:
1️⃣ 調研MBG項目
對MBG的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與MBG相關活動(包括CandyDrop、Launchpool或現貨交易),並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是現貨行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
MBG熱門活動(帖文需附下列活動連結):
Gate第287期Launchpool:MBG — 質押ETH、MBG即可免費瓜分112,500 MBG,每小時領取獎勵!參與攻略見公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通過首次交易、交易MBG、邀請好友註冊交易即可分187,500 MBG!參與攻略見公告:https://www.gate.com/announcements
Cardano上實現燃燒證明協議:Iagon團隊打造抗審查解決方案
燃燒證明協議:在Cardano上的創新應用
Iagon團隊近期完成了一項挑戰,爲Cardano生態系統開發了燃燒證明(PoB)協議。這是對某位區塊鏈領域知名人士提出問題的回應。本文將介紹Iagon團隊的解決方案,主要包括以下幾個方面:
燃燒證明及其應用
代幣燃燒(銷毀)是一種常見做法,本質上是將代幣發送到一個無法訪問的"黑洞"地址。這個地址沒有私鑰,因此被銷毀的代幣無法再被取回。公衆可以驗證銷毀確實發生了,但只知道一個"祕密"承諾值。這種機制可以防止中間人審查被銷毀的資金。
燃燒機制有多種用途,可以增加剩餘代幣的價值,也可以作爲區塊鏈協議的承諾證明。大規模燃燒代幣可能會產生通縮壓力,因爲它減少了流通中的代幣總量。盡管燃燒是一種常見的區塊鏈交易,但仍需要礦工接受。雖然這些機制有一定好處,但也有人反對燃燒代幣。針對這個問題,Iagon致力於開發一種不可審查的代幣燃燒協議。這種特殊的無審查操作引起了業內知名人士的關注。
燃燒證明的安全性基於與代幣轉帳交易相同的機制,即加密哈希函數。這些函數易於計算,但難以逆向計算。本質上,輸入的微小變化會導致輸出結果完全不同。這意味着,從哈希函數的輸出開始逆向計算會耗費大量時間。簡而言之,通過翻轉加密哈希函數的最低位可以創建一個黑洞地址。發送到這個地址的任何內容都將變得難以或無法恢復。
加密交易的安全性完全基於公鑰密碼學和加密哈希函數:"每次發送資金時,都會創建一個新的未花費交易輸出(UTxO)。"這個UTxO記錄了資金數量和接收者公鑰的哈希值。如果接收者想使用這筆資金,必須用相同的公鑰簽署一個新的支出交易。
爲什麼要翻轉哈希函數輸出的最低位,而不是直接使用0x0的哈希值?原因是使用已知值會使燃燒立即可見。然而,該協議的設計是先燃燒資金,然後(在獨立的步驟中)證明它已被燃燒。爲了實現這一點,需要先創建一個承諾值的哈希。隨後,承諾值顯示已創建了一個黑洞地址。
Cardano網路上的燃燒證明智能合約
Cardano智能合約是在Cardano網路上運行的程序,允許開發者根據預定規則執行(金融)交易。智能合約旨在建立交易方之間的透明和可驗證的交易。近期,去中心化金融服務和去中心化組織的興起推動了智能合約應用的快速增長。
與以太坊的智能合約不同,Cardano採用了不同的結構。它允許用戶在自己的錢包中模擬每筆交易,以增加網路攻擊的難度。交易產生的變化通過區塊鏈節點驗證後被記錄。爲此,Cardano智能合約包含三個組成部分:
這意味着Cardano智能合約在帳本上沒有中心化狀態。每個eUTxO都有獨立的狀態(數據),且與其資金不可分割。這就產生了以下四種可能的操作:
需要注意的是,端點在用戶錢包中運行。端點腳本在錢包中完成運行後,生成的交易會移至區塊鏈。在本案例中,這個交易會將資金移至贖回者腳本。該腳本驗證資金只能被持有其哈希值的目標地址訪問。
在鎖定操作中,哈希值可能是我們自己的地址。在燃燒操作中,哈希值指向一個黑洞地址。我們通過給哈希一個祕密的承諾值,然後翻轉它來實現這一點。由於使用了加密哈希函數,幾乎不可能找到與結果匹配的哈希值。
承接交易的中間人無法知道該筆交易是燃燒還是鎖定。利用這個腳本,中間人無法選擇性地審查任何燃燒交易。燃燒和鎖定使用相同的贖回者格式,只有交易發起者知道這是燃燒還是鎖定交易。燃燒值可以通過使用給定承諾值的驗證燃燒端點來檢驗。在承諾值公布前,沒有人知道被銷毀的資金數量。
智能合約的測試網部署
要在測試網上部署智能合約,需要執行以下步驟:
通過執行上述步驟,外界無法知曉該交易是燃燒還是鎖定。然而,發布這個腳本後,人們可能會嘗試編譯拒絕贖回者,對應其提議的贖回者腳本的哈希。這需要付出巨大努力,但可能導致某些燃燒被審查。爲了防止這種情況發生,並使違規行爲更難實施,Iagon正在努力提高該解決方案的安全性。
從智能合約到錢包腳本
利用大部分智能合約操作發生在用戶錢包中這一事實,可以創建僅使用錢包的執行方案,從而使智能合約變得不再必要。這種做法的實際意義在於,不可能有選擇性地阻止對應燃燒的智能合約交易。然而,想要阻止所有燃燒的審查者可以通過阻止所有腳本來達到目的。只使用錢包的話,審查燃燒的唯一方法就是審查所有Cardano交易。這對審查而言是一種終極抵抗。
要實現這一點,需要用承諾值的哈希替換公鑰的哈希,並翻轉承諾值的最低位。但這還不夠。Cardano會通過檢查結構和CRC代碼來防止地址中的輸入錯誤。因此,從承諾生成地址的最簡單方式是使用特定腳本和Cardano API庫。
可以使用提供的代碼生成燃燒地址,然後將交易提交到Cardano區塊鏈。爲了驗證燃燒,需要查看發送到燃燒地址的交易。
結語
本文將燃燒證明協議的實現分爲智能合約和錢包交易兩種方式。然而,由於Alonzo智能合約目前缺乏必要的基礎設施(如PAB庫),我們推薦使用錢包腳本。無論如何,PAB庫將在不久的將來支持基於Cardano的應用開發,結合錢包腳本,可能會創造一個更復雜、更具抗審查性的智能合約解決方案。如果想深入了解這個解決方案,可以在Github上查看所有相關信息。