思考|Tornado 協議封殺事件,檢視抗審查定義與矛盾

本文嘗試從近期 Tornado 被制裁事件案例,探討項目的去中心化與抗審查定義,將思考其中矛盾關係,嘗試協助讀者面對未來多變的世界與問題。

首先了解為何需要制裁?又是否必要呢?再來探討人們高喊去中心化的精神卻都紛紛開始制裁特定地址是否符合去中心化精神?說好的無須許可呢?如果有以上疑問可以嘗試閱讀。

Tornado

Tornado 是圈內有名的「匿名交易」協議,使用者可以將特定的資產存入,並利用其機制將資金轉移至另一個新的,達成區塊鏈紀錄追蹤「中斷」的隱私交易協議,Tornado V1 基本原理可以看這篇文章。

主要原理是利用零知識證明,證明新錢包的擁有者屬於同一人。搭配取出金額僅有固定的幾個選項 (0.1ETH、1ETH、10ETH、100ETH),增加交易追蹤困難度,例如當使用 Tornado 取出 10 的人愈多,就越無法查明這些新錢包地址是分別屬於哪些舊錢包地址 (無法分辨取出 10 ETH 的新錢包地址差異)。

tornadotornado

開發者表示原意是打造一個隱私交易的場所,但是近期多次的協議駭客事件,最後駭客都將資金轉入了 Tornado 進行的動作,包含區塊鏈音樂平台Audius事件、Horizon跨鏈橋事件、Ronin 跨鏈橋事件,使鏈上追蹤面臨困難,駭客輕易規避刑責。

特別是有消息指出這些駭客來自北韓,因此踩到了美國政府的底線。

近期開發者 Roman Semenov 推出了 V2 版本,隨後遭到美國 OFAC 封殺,並要求相關產業配合共同圍堵其服務,包含:

官網前端被封鎖。
Infura 與 Alchemy 封鎖其 RPC 服務。
GitHub 封鎖了 Tornado 與創辦人的頁面。
Circle 封鎖了相關地址的 使用權。
表明相關交易地址的違法性。

目前這些措施確實已經導致其使用率降低、資金減少等情形。且因為最後一點措施,除了 Circle 之外許多協議也開始跟進封鎖相關地址的使用權限,使用率降低使協議功能性也跟著降低。

制裁是否有必要?

在繼續深入討論之前,需要先釐清美國政府本次行動是否「正確」?或者是可被眾人所接受,特別是在充滿抗審查輿論氛圍的區塊鏈世界。

首先,Tornado 確實被許多駭客用來作為的工具,甚至這件事情 Tornado 開發團隊最清楚不過,否則不會在今年四月 Ronin 被盜取資金存入 Tornado 後表示會協助美國政府制裁名單,封鎖特定地址的前端訪問權。但很明顯美國政府認為只限定前端的訪問權是不夠的。

雖然有一派人主張言論自由,認為代碼與言論自由是同等的關係,禁止特定開源代碼的使用不符合言論自由而違憲。就像是有人使用刀子傷害他人,製刀工廠就需要關門同樣離譜。

這個問題的答案超出本文範圍,最後的答案或許會隨著未來有更多判決,以判例的方式解答。但是身為區塊鏈世界的參與者,有義務了解抗審查的內涵,對於其定義有自己的看法與認知,將有助於走在法規前面甚至引領立法者。而不是隨著政府或是其他人制定的規則起舞,否則也不需要進來這個圈子受高度不確定性之苦了。

本次事件特別之處在於,不只是針對人或組織,而是制裁了協議本身。而區塊鏈的協議大多是去中心化的形式,對於去中心化精神是否相互牴觸。

人們高喊著去中心化的大旗,但是去中心化到底該如何實踐,有無任何指引協助開發者遵守或是讓使用者判別呢?本文歸納大致上架構如下:

去中心化定義

區塊鏈項目大多都希望可以遵從 web 3.0 的精神開發,其中最重要的元素是去中心化與自主擁有權,而去中心化有兩個主要面向,分別是:

無須信任 trustless
無須許可 permissionless

其中要達到服務無須許可,有三必要個條件,分別是:

匿名:使用者無需表明真實身分。
開源:任何人都可以在未經第三方許可的情況下檢視、使用或構建分叉項目。
抗審查:不因任何壓力而停止提供服務給任何人。
抗審查能力

其中,抗審查能力是去中心化不可或缺的,也是現在外界施壓相關產品之壓力點。

抗審查能力目前以軟體角度、區塊鏈技術為基底來檢視,除了區塊鏈技術達成去中心化計算,還有三個壓力點,分別是操作前端、RPC、合約本身設計。

本文從本次 Tornado 被制裁事件回顧,檢視一個項目對於抗審查,有那些地方是需要注意的,哪些部份是未來開發者與參與者可以改進的。

因為本次制裁,Tornado 的官網已經遭到封鎖。但熟悉技術的鏈上使用者都知道,可以直接與鏈上的互動。Etherscan 沒有封鎖 Tornado 頁面,代表還是可以利用 Etherscan 簡易與智能合約互動。在過去發生類似的情況時 (例如 禁止特定代幣的前端訪問權),大多數人也都是利用此方法越過前端限制。

但值得思考的是若將來甚至連區塊鏈瀏覽器都將配合制裁的那天,用戶訪問合約的難度又將會更加的提高,是值得注意的合規議題後勢發展。

因此,若是沒有相關技術背景無法利用區鏈瀏覽器與合約交易的使用者,或是發生上述區塊鏈瀏覽器遭到封鎖的情況下,是時候該重視去中心化儲存的重要性了。

若開發者有將前端儲存至去中心化儲存空間 (例如 IPFS 或是 Arweave ),將可以降低被完全封鎖的可能,甚至可以說幾乎無法完全封鎖。對於一般的使用者影響也會降低 (就只是換個網址進入)。

Tornado 官方就提供不少替代方案,以下提供兩個官方的 IPFS 網址:網址一、網址二。

Infura 與 Alchemy 是最多人與開發者所使用的免費公開 RPC API 服務供應商,但其在 Tornado 被制裁後雙雙宣布禁止關於調用 Tornado 相關的合約。更新:Pocket Network 也宣布停止服務相關合約調用!

rpcbannedrpcbanned

雖然還是有許多替代方案,但是對於一般人來說,更改可用的 RPC 網路需要對於此領域有進一步的研究,才能有能力更換,因為 Infura 甚至是 預設的 RPC API 服務供應商。

此舉確實會大幅降低使用率,穩定快速的 RPC API 不容易替代,且若是以太坊之外的其他公鏈,RPC API 替代選項將會更少。更諷刺的是 Pocket Network 主打的就是去中心化 RPC 服務,如今卻可以隨時斷線,如何克服 RPC 中心化的問題是需要受到更多重視的議題。

本文提供其他以太坊網路的 RPC API 清單,做為上述三者以外的替代選項:https://ethereumnodes.com/

rpc urlrpc url

GitHub

過去 GitHub 就有封鎖特定帳號與項目頁面的紀錄,但因為 GitHub 本身就是 web2 公司,因此此舉屬意料內的事情。但是大多數 項目的程式協作平台都以 GitHub 為重,應該需要開始思考更加去中心的選項。

現有許多其他程式協作平台,甚至部分提供類似於 IPFS 原理的去中心化儲存功能,例如 Radicle,開發者應該採用一至兩個備案。如同前述提及,去中心化的無須許可需要程式碼開源,讓參與者共同改進產品。

但是出自於大多開發者已經習慣使用 GitHub,因此不容易大規模遷移,若無法大規模遷移,就失去程式「協作」的能力與功能,因此此部分目前難以改變,抗審查能力較低。

Circle 封鎖地址已經不是頭一次,實際上每個月幾乎都有部分的地址被封鎖其使用權,可以從這個頁面追蹤其封鎖的地址與數量。注意, 也可以有權利封鎖使用權。

USDC banned addressUSDC banned address

由此可知,使用中心化穩定幣仍需要注意其與智能合約機制,USDT 與 USDC 其效力如同銀行內的存款,可以利用合約內的封鎖函數禁止特定人士使用。若要更進一步的掌控所有權需要使用其他穩定幣,例如 DAI。

但是如同 GitHub 一樣,在使用者心中的穩定幣不外乎是 USDT 與 USDC 為首選,先進者優勢的定位不容易改變,例如,當使用者看到 LP 代幣的穩定幣端是一個不常見的穩定幣,是不是就會降低其投入流動性的意願?

表明相關地址的違法性

多個與 Tornado 相關的以太坊地址,已被列入美國外國資產控制辦公室 OFAC SDN 制裁名單中,甚至表明美國人與機構都禁止與其地址互動,否則就是違法。

基本上政府無法限制區塊鏈技術上的可行性,也就是無法阻止這些地址的行動,但是可以施壓相關的實體例如或是開發單位位於美國的協議協助封殺,讓這些地址無法將資金兌現,也無法使用鏈上協議進行其他活動。

Oasis、dYdX、 等著名協議紛紛表示配合協助制裁特定地址名單。從某種程度上確實造成影響力與實質改變。這類型的施壓是最難防禦的,因為其他協議會想要「守法」,Circle 本次禁止部分地址也是出自相同原因。難怪 The 研究員 Larry Cermak 表示項目去中心化程度取決於創辦人是否願意入獄。

無須許可?一點也不,這可以說是十足的許可制,這樣不就是偏離抗審查的目標了嗎?從上述的定義來看確實如此,因此,協議本身設計與開發者態度是抗審查中最難達成的。

抗審查能力總結

經由上述說明,可以看出抗審查從簡單到困難達成,依序是前端 ( IPFS 搞定 )、RPC (還有許多節點替代選項可以使用)、GitHub ( 以抗審查來說不是非常必要 )、協議本身機制與開發者立場 ( 目前確實無解 )。

看來人們離去中心化的理想還很遠,是也不是,本事件看到抗審查定義的問題。

重新定義抗審查

總結上述,可以發現其實大多數抗審查的壓力點,都有許多替代方案可以使用,使得項目方抗審查能力提升,但是回過頭來,為什麼大多數協議卻好像沒有這樣做呢,甚至配合制裁行動?從 Tornado 的第五項制裁措施看來:大多協議目標是想要合法,換句話說也就是認可美國政府制裁行為。

本文歸納出主要有兩個矛盾點:

單一項目抗審查是假議題?

一個項目要做到抗審查其實很容易,但是那真的有用嗎?從 Tornado 案例可以看到,Tornado 技術上還是可以使用,但最關鍵的是大多數協議封鎖了相關使用者的地址使用權限,甚至一般的使用者也不想受法律制裁影響而開始撤出資金,這樣 Tornado 就算做足了抗審查基本動作,最後還是大受影響。

抗審查在技術上理論上做得到,但當它違反社會共同的價值時,很難有生態級的協作。

甚至就算所有協議都有著完整的軟體抗審查能力 (前端、RPC、合約本身機制),衛星、網路線等硬體基礎設施仍都還是掌握在政府與企業手上,其實根本就沒辦法做到十足的去中心化,除非重新建設去中心化的硬體,但現在幾乎不可能。

因此若不合規,單一項目就難以有抗審查能力,這樣還有意義嗎?

封鎖特定地址違背無須許可精神?

大多協議在本次封鎖中都是僅配合前端的封鎖,沒有涉及智能合約的層面,但也有像是 Circle 是利用 USDC 智能合約封鎖使用權。特別是智能合約層級的探討,以本次事件來說,相關地址的就像是被凍結,沒有任何辦法可以解鎖,除非 USDC 合約再次開放權限。

這對於無須許可的精神來說,幾乎沒有任何妥協空間。去中心化主打無須許可的 web3 世界,卻有許多協議卻擁有此功能,到底哪裡出錯了?

那這樣抗審查還有意義嗎?到底該如何實現?回過頭來檢視,其實抗審查的終極目標是為了去中心化,而去中心化的意思是經由大家的「共識」共同決定,特別是大事情。

犯罪其實就是大家共識上不被認可的,因為這些犯罪行為會減損其眾人的利益,甚至破壞生態,今天利用洗錢的駭客被禁止使用特定協議或是被封殺,如果大家 (與大家選出的政府) 都認可該排除這種人,這些制裁與封殺好像才是正確的。

抗審查只是去中心的手段之一,去中心化不該受制於抗審查定義,而是應該反過來修改抗審查的定義,就本文論述,不應該是「不因任何壓力而停止提供服務給任何人」,而應是把抗審查這個條件變成「審查規定由眾人決定」。去中心化無須許可的條件就變成:

匿名:使用者無需表明真實身分。
開源:任何人都可以在未經第三方許可的情況下檢視、使用或構建分叉項目。
審查規定由眾人決定:不因任何「單方面」壓力而停止提供服務給任何人。

到最後,問題就變成政府的執行是否符合大多數人真正的意見,也就是回到一開始的問題:制裁是否必要?不過這又是另一個問題了,超出本文討論範疇。

總結來說,回到共識與去中心化的架構下,單一項目的作為不代表所有人,大多數人 (協議) 選擇該怎麼做,最後的結果就是符合共識的。只要是大多數人的共識,封鎖特定地址也是符合去中心化精神的,所以 AAVE 團隊才表示若要以智能合約封鎖地只需要 同意 (當然如何治理又是另一個學問)。

沒有任何東西是真正抗審查的,只有共識是真的。



本文轉自網路,如有侵權請來信告知,本網站不代表任何投資建議,僅提供資訊,若用戶有任何投資相關行為皆與本站無關

本網站所載的任何資訊均不構成投資建議,投資有賺有賠,投資人應獨立判斷,審慎投資,自負風險

Related Posts

Comments (No)

Leave a Reply