文章閱讀頁通欄

河南22选5预测推荐:鏈上富人尋「隱私」記(一:Mixer 篇)

來源: 安比實驗室 作者:p0n1
一篇文章讓我徹底暴露了。什么能拯救,零知識證明?! 最近有人說,誰掌握了區塊鏈技術就掌握了財富。 好吧我攤牌了,我就是一個這樣的「鏈上......
一篇文章讓我徹底暴露了。什么能拯救,零知識證明?!

最近有人說,誰掌握了區塊鏈技術就掌握了財富。

好吧我攤牌了,我就是一個這樣的「鏈上富人」。

10 月底,在最愛的《橙皮書》公眾號里看到了自己,心里卻不是滋味,背后甚至有些發涼。Bowen 的一篇文章——「Top 10 DeFi 大戶的鏈上人生」讓我徹底暴露了。

我被描繪成了大戶。我可不喜歡這個詞,在我的字典里這就是土豪的近義詞啊。嚴正聲明,我不是大戶,而是「鏈上富人」。

更要命的是,一舉一動都被別人分析記錄下來。區塊鏈前人人平等,鏈上富人真是一點面子都沒有。誰都能看穿我如何發家致富,現在又在干些什么。這還僅僅是很簡單的人肉分析,倘若配合上更高級的工具,相信不久就會有更深入的扒皮文章出爐。

面子事小,關鍵這讓我很沒有安全感。上一次有類似的感覺還是 The DAO 那件事兒,我都不愿意多提,真的是過山車般的經歷。

這次關于「隱私」的不安全感也很好理解。盡管以太坊/區塊鏈通常被認為有匿名性(Anonymity),但實際僅僅只提供了一個假名(Pseudonymity)級別的?;?,并不是真正的隱私?;?。賬戶地址上的交易記錄永久公開保存,任何人從這些數據中能分析出大量有價值的信息。這與傳統支付寶或銀行卡賬戶很不一樣(Satoshi Has No Clothes)。

比如作為「鏈上富人」,我都不敢用賬戶去超市買一瓶快樂水。只要交易發出的那一瞬間,對方就可能立馬知道我所有用過的地址,以及資產總額(怕被搶)。

再比如,我也不敢用賬戶在網上購物,因為所有的消費歷史會被全網一覽無余(怕被扒)。

這種鏈上「隱私」的缺失,顯然也阻礙了區塊鏈的落地,導致鏈無法與真實世界發生大規模交互。所謂的“資產上鏈”都成為了空談,什么樣的資產會愿意上這樣的鏈呢?

哎,以太坊,這個讓我又愛又恨的平臺。有好幾個瞬間,我甚至都想拋售。

我的酒肉朋友聰哥跟我說,做人要低調,他們王家就從來不愿意碰區塊鏈這玩意兒,至于原因自己品。

不沖動,為了信仰,我決定自己去尋找安全感。

Mr 4242 是一個十分低調注重隱私的用戶 ,不想讓其他人通過鏈上數據跟蹤。

《橙皮書》文章里提到用戶 Mr 4242 “使用過 Coin Mixer 很難追蹤之前的交易記錄”。

Mixer 這我了解,俗稱「混幣器」,而原理也一句話就能說明白:把自己的資產和其他很多人的混合到一起,再轉移到新的地址,從而抹去與原來地址的直接聯系。

舉個例子,聰哥、賈哥、羅哥三個哥都轉給我 100 塊錢,然后再經由我轉給另外三個人。那么,其他人根據轉賬記錄就不能夠分辨出究竟誰想轉賬給誰,新的三個人與最初的三個哥并沒有直接聯系?!拔搖痹謖飧隼永锍淶鋇木褪且桓?Mixer 的角色。

知名的 Monero、CoinJoin、Mimblewimble 都是基于這個極簡單的邏輯來實現轉賬的隱私?;?。

既然 Mixer 技術似乎說得通,我便以 "Ethereum Mixer" 為關鍵詞搜索,看看究竟有沒有好用的產品。

河南22选5第202期开奖 www.lyedr.com

搜索結果不多。不過排名靠前的倆網站還都挺精美,各種介紹和保證。致命問題在于他們是中心化服務,這種咱們當然不會用。
關于中心化 Mixer 的問題,讓我繼續用前面舉的例子來說明:

聰、賈、羅三個哥都轉賬給我,我完全能夠私吞了這些錢

我實際知道他們每個人的真實轉賬意圖,可以進行出賣

所以不管這些 Mixer 如何宣傳自己,使用他們不僅無法達到目的,反而有損失全部本金的風險。他們都是需要資產托管的 Mixer。一句老話:他們看中的可能是你的本金!

區塊鏈世界里,在資產安全面前,不得不先假設所有「中心化的第三方」都是邪惡的,都是會跑路的,然后慎重考慮自己的資產是否愿意承受這種風險。

不難想到,智能合約在這個場景里可以完美取代中心化網站,成為無需信任的第三方。于是,我將目光投向了智能合約。各式各樣的隱私方案和項目還真不少,為了聚焦,我先定下一個足夠明確的小目標——尋找基于智能合約的去中心化 Mixer 可用方案。

很快,我發現了一份很有價值的資料。

https://github.com/tvanepps/State-of-the-Mixers-Summer-2019

這是一篇被分散式自治組織先鋒 Moloch DAO 資助的調查報告,由 Trent Van Epps 總結了截止到 2019 年以太坊生態內 Mixer 項目的現狀。如果你像我一樣想詳細了解 Mixer 的歷史背景和最新進展,這篇必讀。

眾所周知,以太坊和絕大部分區塊鏈項目一樣,賬本都是公開的(Satoshi Has No Clothes Again)。這意味著幾乎每筆交易都可被追溯,都有交易發起者和接受者。這里說“幾乎”是因為存在一個例外——挖礦獎勵可以被認為是“干凈”無法追溯的。但很顯然,目前的以太坊,普通人很難直接參與挖礦得到獎勵,因此唯一一個獲得干凈資產的機會并不存在。

順著交易鏈條能挖掘出非常多有用的信息。無論你有多少地址,只要這些地址相互關聯,理論上都能通過分析被發現。因此鏈上幾乎毫無隱私可言。一次普通的付款,暴露一次地址,都可能讓你鏈上所有的行為都無處遁藏。

鑒于這種背景,Mixer 技術顯得尤為重要,一定程度上可以?;ち瓷弦?。

上面這篇報告很詳細地列舉出了所有知名的 Mixer 項目。

如獲至寶,我決定從這個列表中找出適合的產品。

Mixer 項目其實還真不少,可認為有兩大類的 Mixer,一種基于零知識證明技術(主要是 zk-SNARKs),另一種基于環簽名技術(Ring Signature)。

很快,我發現很多項目作者已經棄坑了。這倒讓我輕松不少,我只需關注還在活躍開發和有實際產品可試用的即可。

這是我初步覺得比較靠譜的四個開源 Mixer 項目。

MicroMix https://github.com/weijiekoh/mixer
Hopper https://github.com/argentlabs/hopper
Tornado Mixer https://github.com/tornadocash/tornado-core
Heiswap https://github.com/kendricktan/heiswap-dapp

其實不難發現,幾乎所有還在活躍開發的 Mixer 項目都不約而同地選擇了零知識證明技術。

正如安比實驗室郭宇所言:

零知識證明是打通鏈上數據與鏈下計算的關鍵技術,也是實現鏈上數據隱私?;さ鬧匾揪?。

關于「零知識證明」技術的更多思考,可以關注安比實驗室「探索零知識證明系列」,特別是《初識「零知識」與「證明」》。

https://sec-bit.github.io/blog/2019/07/31/zero-knowledge-and-proof/

MicroMix 原名 Semaphore Mixer,由以太坊社區中的 Barry Whitehat, Kobi, Wei Jie 等大 V 自行組隊開發,基于 Semaphore (一個零知識匿名暗號系統)擴展而來。MicroMix 利用了 zk-SNARKs 方案,已部署在 Kovan 測試網絡。目前支持的金額為 0.1 ETH 或 20 DAI 。

Hopper 是一個移動端優先/友好的 Mixer,由 Argent Wallet 團隊開發,基于 HarryR 的 ethsnarks-miximus 開發而來。Hopper 是目前唯一有移動客戶端的 Mixer,但暫時只支持 iOS。Hopper 利用 zk-SNARKs,已經部署至以太坊主網和 Ropsten 測試網絡??上У氖?,目前還無法很方便地安裝客戶端,只能由用戶自行編譯安裝??贍蓯前滄骯灘還揮押玫腦倒?,Hopper 在以太坊主網和測試網絡上的 Mixer 合約近幾個月內都沒有任何交易。因此現在的 iOS 版本更像是一個 POC 產品,核心意義在于拓寬了 Mixer 客戶端種類。從另一個角度考慮,移動客戶端的使用范圍和匿名性可能都略遜于桌面應用。好消息是 MolochDAO 目前正資助另一個團隊 BlockX 為 Hopper 開發一個 Web UI。Hopper 的終極目標是有盡可能多的客戶端支持,從而擴大 Mixer 的參與人數。

Tornado Mixer 由 Peppersec 團隊開發,同樣基于零知識證明,利用 zk-SNARKs 技術,在主網和 Kovan 測試網均已部署。Peppersec 本身為一個安全咨詢公司,該項目由團隊獨立開發,之后又受到 MolochDAO 的兩筆資助。當前支持的金額為 0.1 ETH,后期會開放更大的金額。Tornado 團隊開發相當活躍,最近還完成了電路代碼和智能合約的第三方安全審計。這可能是第一個完成完整外部安全審計的 Mixer 項目。

值得一提的是,Tornado 團隊在開發 Mixer 過程中,還發現了影響很多零知識證明項目(包括很多 Mixer)的“雙花漏洞”。具體討論可以參考安比實驗室此前的分析文章。

https://sec-bit.github.io/blog/2019/07/29/the-input-aliasing-bug-caused-by-a-contract-library-of-zksnarks/
Heiswap (黑 swap) 由 Kendrick Tan 開發,是四個中唯一基于環簽名和隱身地址技術的 Mixer,而這兩個技術是 CryptoNote 協議的關鍵部分,也是 Monero 能夠實現匿名的重要原因。Kendrick Tan 認為,從成熟的技術和產品中借鑒而不是非要使用最新的技術(比如 zk-SNARKs),有時候反而能夠事半功倍。Heiswap 目前在 Ropsten 測試網上線,支持的可選金額最高到 64 ETH。

經過仔細研究上面幾個項目的設計和實現,不難發現智能合約 Mixer 的核心思想都很類似。通過混合多人的等額資金到同一個智能合約,構造出一個匿名集合,之后再提供證據證明自己在合約中有一筆資金未提現,合約驗證通過就轉賬給新的提款地址。通過引入匿名集合,來抹去原始轉賬發起人和收款人之間的直接關聯。智能合約負責的就是保存用戶存款記錄、校驗用戶是否真的在合約中存過款,以及校驗某筆存款是否已經被提現過。

原理類似,各項目的側重點和技術路線略有不同。

零知識證明技術能夠讓證明者在不泄露知識(秘密)的前提下向驗證者證明一個命題成立。對應到 Mixer 中就是證明用戶在智能合約中存入了一筆資產(所有權)而且從來沒有被提現過,并且最妙的是證明過程不會暴露具體是哪筆資產。這就讓零知識證明技術天生特別適合 Mixer。

基于零知識證明技術的項目都依賴 Merkle Tree 來保存 Commitment(用戶存款記錄),因此 Merkle Tree 的算法選擇與實現、Tree 層數的設定、Hash 算法的選擇都會影響 Mixer 上限和性能,具體就是樹的最大數量、電路中的約束數量、鏈下證明生成時間以及鏈上 Gas 消耗。zk-SNARKs 電路代碼編寫上也有不同的可選項,開發者會根據各自在性能、編寫難度、跨平臺支持等方面的需求,選擇適合自己的技術棧。比如 MicroMix 和 Tornado 都選擇了 Circom 電路語言和 snarkjs(zkSNARKs Javascript 實現),優點則是開發維護成本低并且特別適合 Web 應用;而 Hopper 則選用了基于更成熟的 libsnark 開發的 ethsnarks,性能更好并且更容易移植至其他平臺。此外,SNARKs 方案需要 trusted setup,這增加了此類 mixer 的正式上線成本。

基于環簽名技術的項目本質上可以認為采用了更成熟的密碼學方案,也無需 trusted setup,并且證明(也就是簽名)生成耗時會短很多。缺點則是鏈上驗證消耗與匿名集合中的用戶數量成正比。另外匿名集合大小依賴 Ring 大小的設置,為了用戶體驗通?;岜?SNARKs 方案中的匿名集合更小。

Mixer 核心原理都類似,實現也都不算復雜,技術層面看,完全已經到了可以正式產品化的臨界點了。但為什么遲遲沒有大規模應用呢?實際上,以太坊去中心化的 Mixer 也都面臨著共同的問題。

首當其沖的一個問題是,目前社區參與人數較少。決定 Mixer 效果的一個關鍵因素就是匿名集合的大小,參與的人越多?;ばЧ膠?。

正如 Vitalik 所說,匿名集合總是會比想象中小的多,最終會讓隱私模型變得不可靠。只有越來越多的人了解到區塊鏈上的隱私問題,并且意識到 Mixer 是一個簡易可行的解決方案,Mixer 的參與人數才能越來越多,才會越來越安全。

If your privacy model has a medium anonymity set, it really has a small anonymity set. If your privacy model has a small anonymity set, it has an anonymity set of 1. Only global anonymity sets (eg. as done with ZK-SNARKs) are truly robustly secure.

第二個問題也是由 Mixer 的特性所決定,也就是只能處理固定金額的資產,并且可以預見較長一段時間內這個金額都很難大幅提升。

目前以太坊上的 Mixer 可以做到隱藏轉賬路徑,但是無法做到隱藏轉賬金額。而如果跟 Mixer 交互的金額可以任意由用戶自定義,則對外暴露了太多信息,很容易被用于分析。比如某用戶轉入 Mixer 1.71158 個 Ether,過了段時間又有人從 Mixer 合約中提走相同金額,那么很容易被看出來原始的轉賬意圖。

雖然 Mixer 合約很容易支持任意多個固定金額,但是從匿名集合大小角度考慮,Mixer 運營者往往只會選擇開啟使用人數最多的幾個選項。所以在 Mixer 產品尚沒有大規模流行之前,只會開啟小額選項試運行(這倒不一定完全是壞事:P)。

第三個問題在于 Mixer 的使用相對于普通轉賬還有較高門檻。普通用戶從挑選適合自己的 Mixer 產品,到真正能夠安全使用,還有挺多的新概念要去學。更需要注意的是并不是使用了 Mixer,就能完全?;ぷ艘槳踩?。比如用戶直接向 Mixer 轉入了一筆,兩分鐘后又使用新地址直接提出來。倘若這段時間內 Mixer 合約恰好又沒有其他人調用過,則很容易被識別出來。

對于這一點,主要的幾個 Mixer 都在頁面進行強調,提醒用戶注意規避。處理細節也提現了各家產品思路的差異。

比如 Tornado 比較極客風,直接顯示當前匿名集合的大小具體是多少,以及最近幾筆轉入的時間是什么時候。

而 MicroMix 則更貼心,默認設置就是要求用戶至少過了午夜零點之后再進行提款,頁面有倒計時,提醒用戶保持頁面開啟,到時間后自動提示用戶。

MicroMix 的這個處理,也可以防止「匿名集合偽裝攻擊」的問題,即假設最近一段時間內雖然一直有不同地址在使用 Mixer,實際控制人是同一人。這種攻擊方式下,匿名集合雖然對于外部觀察者看起來還比較大,還對于攻擊者卻很小,很有助于攻擊者進行數據關聯分析。

第四個問題與 Mixer 中的一個核心角色 Relayer 有關。由于與合約的交互必須消耗 Gas,而用戶從 Mixer 中提現時正常應該使用一個全新地址,這個地址的 Gas 從哪兒來就成了問題。Relayer 的引入則是為了解決這一「雞生蛋蛋生雞」的問題,由 Relayer 替用戶出 Gas 費用來調合約,相應的獲得一定報酬。用戶需要把 Proof 發送給 Relayer,由 Relayer 負責發送交易。這個過程用戶 IP 和新的收款地址可能會向 Relayer 暴露(用戶需要自行隱藏)。目前各 Mixer 產品都在嘗試不同的 Relayer 方案,來降低對單個 Relayer 的依賴,并試圖往形成 Relayer 生態的方向在發展。

可以看到,對于小額場景,Mixer 技術已經相對成熟,同時也存在不少難點。

盡管很多技術團隊都已經進行過 POC,但真正投入運營的項目還不多,而且社區關注度還不夠。

不過,很高興看到 Tornado 和 MicroMix 這些項目正在發力,持續地打磨產品。以太坊短期內并不會在底層提供隱私?;ぃㄕ餿盟錮鮮Φ?Tron “又”領先了),而 Mixer 作為提高鏈上隱私最直接有效的方案,只有吸引更多的人參與進來,才能發揮其真正的威力。百聞不如一見,大家不妨體驗一下?

對了,提到 Mixer 還有兩個很重要問題也別忘記:一個是所在地的資產合規問題,另一個是技術是把雙刃劍,既可用來?;ぷ約閡部贍鼙揮美瓷撕Ρ鶉?。

著名區塊鏈分析公司 Chainalysis 最新報告中就提到 PlusToken 詐騙團伙大規模使用地下私人混幣服務或 OTC 來洗錢。由于數額巨大,居然也被識別出來了。這么看來,本文討論的去中心化開源 Mixer 支持金額固定且較小倒真不是壞事,至少讓這些 Trustless Mixer 更適合普通人,而不是有“大額特殊非法需求”的人。

上圖出處: https://blog.chainalysis.com/reports/plustoken-scam-bitcoin-price。

精神上作為「鏈上富人」,我還是真心希望能看到以太坊本身有更多隱私?;さ奶匭?,能讓我們無痛地使用各種 DeFi 和 DApp 而不用再擔心隱私安全問題。隨著以太坊伊斯坦布爾升級中 EIP-152、EIP-1108、EIP-1344、EIP-2028 這幾個重要提案被激活,不久的未來我們應該會看到更多基于零知識證明技術的隱私項目上線,甚至可以期待看到以太坊和 ZCash 的互通。要知道,Mixer 僅是零知識證明小試牛刀的試驗場,零知識證明技術真正的威力還遠沒有發揮出來。我們不妨一起期待,一起尋找,一起探索。

(PS:不光如此,零知識證明也給以太坊擴容帶來了新的希望。不由地感慨一句:零知識證明拯救以太坊,ZKP saves the world.)
這可能是關鍵的第一步,先?;で榱矗ㄒ蘊唬┍舊淼囊?,再去談利用區塊鏈技術解決傳統世界中數據泄漏和隱私?;さ奈侍?。

本系列純屬虛構,如有雷同,都是編的。

關鍵詞: Mixer  零知識證明  
0/300
?