斯坦福研究者構思以太坊上的可逆交易:ERC-20R 與 ERC-721R
撰文:Kaili Wang,史丹佛大學區塊鏈研究者
編譯:0x11,Foresight News
區塊鏈交易的不可逆性既是福也是禍。BAYC 網路釣魚、PolyNetwork 攻擊、Harmony Bridge 妥協、Ronin 被黑,僅在 2021 年,就有 140 億美元的加密貨幣被盜。如此之多「不可否認」的盜竊頻繁發生,卻沒有「撤銷按鈕」(例如信用卡支付撤銷)來取消交易,也並非每個人都像 Wormhole 那樣幸運,有 Jump Crypto 在需要時幫他們兜底。
但是,如果有一種公平的方法可以扭轉這些盜竊行為呢?
這是我們史丹佛大學的幾個人(Dan Boneh、Qinchen Wang 和我)在過去幾個月裡一直在努力回答的問題。我們為 ERC-20 和 ERC-721 設計了支持逆向交易的代幣標準(當有足夠的證據證明時),寫了一篇關於它們的論文,並實現了它們的代碼原型。我們將這些代幣標準分別稱為 ERC-20R 和 ERC-721R。
現在,你可能在想:可逆代幣?這不是違背了區塊鏈的目的吗?實際上,沒有。該提案不會從區塊鏈中刪除交易;它只是允許事後通過去中心化的司法投票程序將資金轉回到其合法所有者手中。
工作原理
撤銷交易的流程
假設攻擊者從受害者那裡盜取資金。資金可能會進一步轉移到其他地址,如下圖 1 所示,會發生以下情況:
- 受害者要求凍結被盜資金。受害者向治理合約發布凍結請求,並提交相關證據和一些抵押資產。有爭議的交易必須是最近發生的(有一個固定的可逆時間窗口)。
- 法官接受或拒絕凍結請求。一定人數的法官通過去中心化投票的方式決定是否凍結資產,這個審議期最多需要一兩天。如果他們拒絕該請求,撤銷交易程序將停止,受害者將失去他們的抵押資產。如果他們接受請求,那麼治理合約將調用 ERC-20R/ERC-721R 合約中的 freeze 函數。
- 執行凍結。對於 NFT,凍結只是阻止 NFT 被轉移。對於 ERC-20R,它將追蹤被盜資金並禁止轉移這些資金。請注意,只要帳戶所有者的餘額在凍結金額以上,帳戶所有者仍然可以與其他人進行交易。這個過程可能會變得複雜,我將在下一節中解釋。
- 審判。雙方可以向去中心化法庭提供證據,最終法官做出判決,此時他們指示治理合約調用受影響的 ERC-20R/ERC-721R 合約的 reverse 或者 rejectReverse 函數。如果調用 rejectReverse 函數,則解除對爭議資產的凍結。審判過程可能會持續較長時間,可能需要幾週。
- 逆轉交易。調用 reverse 函數將凍結的資產發送回給受害者。
圖 1:交易圖
追蹤被盜資金
被盜取的資產很少只是放在一個地方。攻擊者通常用某些方式將資產從一個帳戶轉移到另一個帳戶。在這種情況下,攻擊者甚至可以監控 mempool,並在看到凍結請求提交時將資產轉移到前端交易中。避免這種情況的解決方案是在單筆交易中在鏈上進行整個凍結,這樣攻擊者就無法「逃脫」凍結。
但是我們不能只禁用所有相關資產的帳戶,那麼我們如何決定凍結什麼以及凍結誰的帳戶呢?如果它是 NFT,凍結非常簡單:只需查看當前擁有 NFT 的人,然後凍結該帳戶即可。然而如果是 ERC-20 資產,貨幣的可分割性使得凍結變得非常複雜。這些資金可以分配到數十個帳戶中,投入到 Tornado 等匿名混合器中,或者兌換成另一種加密貨幣。如果它通過許多帳戶,至少其中一些將與黑客相關聯,但有些人很可能是無辜的。不可能總是正確地辨別每個帳戶的是否有罪。因此,我們提供了用於追蹤和鎖定被盜資金的默認凍結流程。我們的算法確保:
- 假設沒有銷毀,將凍結足夠的資產來支付盜竊金額。(從返還的金額中減去銷毀的資產),
- 帳戶資金只有在與盜竊資產有直接交易流的情況下才會被凍結
- 相對於交易圖(圖 1),該算法以合理的運行時複雜度運行。
我們在論文中討論了算法的更多細節。
可逆性是病毒
在交易中,像往常一樣交換兩種不同的可逆代幣是安全的;如果一方要求凍結,則有可能從另一方收回資金。但是,將可逆代幣換成不可逆代幣會很危險;為了保護自己免受逆轉,交易可能僅在可逆時間窗口過去後才完成交換。這意味著可逆→不可逆交易將有很長的延遲。因此,一旦幾個主要代幣變得可逆,其他代幣也面臨著巨大的可逆壓力。
去中心化司法系統
這個難題中比較模糊的部分涉及「法官的法定人數」。這些法官是誰?他們如何投票?他們如何獲得獎勵?
這些工作最終取決於治理,即創建 ERC-20R/ERC-721R 實例的人。然而,一般來說,法官必須從交易池中隨機選擇案例(使用以太坊的隨機信標),他們的獎勵獨立於他們的投票決定。獎勵來自與凍結請求一起提交的受害者的初始權益。法官的選舉最好秘密進行,在提交選票之前不公開,以保證法官可以獨立投票。同樣,請參閱論文以進行進一步討論。
想了解更多?
在我們的論文中,我們討論了更多細節,例如如何降低法官不誠實的風險、對交易所和混幣器的影響、相關工作以及對算法和實現的深入解釋。如果有興趣,我們鼓勵你看一看。我們希望這會引發關於代幣可逆性的討論,並且你們中的一些人可能會找到更好的可逆解決方案,以幫助減少生態系統中的損失。