今天為大家介紹一個連 Vitalik 也用來作交易的隱私協議及錢包。如果你擁有巨額的加密幣或代幣。而想把它們隱藏起來,讓人在區塊鏈瀏覽器查找不了,這是一個理想的工具。如果你在 defi 平台作代幣兌換 (swapping),在作大額兌換時,可能都會特別小心。因為有不少 validators 也都在窺視着這方面的訊息,在組成區塊交易順序時,在你的大額交易前插入自己的買入交易,然後當你的大額交易完成後,再作一條賣出交易。這樣就可以進行套利。或者,當你的錢包地址具有一定名氣後 (vitalik.eth 便是一例),會有人在監視着這錢包地址的一舉一動,那這帳戶在 defi 平台上作上一定額度的交易時,都會被視為市場訊號給仔細分析。
這時 Railgun 協議及其前端 Railway 錢包,可以幫助用戶提高隱私性。
不知大家有没有玩過 StarCraft II,人類種族有一支 ghost 的部隊,他們有 cloaking 的技能可把自身隱藏起來作潛入或突破。Railgun 協議有些類似 cloaking 功能,可把用戶的代幣隱藏起來,在 railgun 協議內這叫作 shielding, 直到那錢包主人把代幣 unshield 公開回來。
以下這圖可很好描述 Railgun 協議是如何運作的。
代幣在你最原本的公開地址之下 (上圖的 "Your Public 0x Address")
Shield Tokens 的操作可把代幣隱藏起來。隱藏後的代幣在區塊鏈瀏覽器上是查詢不了,被轉發到一個以 0zk 開首的加密地址。
它背後的運作原理是以 UTXO 方式儲存未用的代幣餘額,然後以零知証明來證明戶口內擁有相當數量的可用代幣額 (這裡有詳細說明)。
用戶可對被隱藏的代幣作以下操作:
當你發現需要把代幣重新公開時,可對其作 Unshield Tokens 的操作。Unshield 同時也可指定一個 0x 地址。即是說 Unshield 同時也能轉賬給另一個錢包。這時區塊鏈看到的發款方會是 broadcaster 和 railgun 的合約交互,也會看到收款方的地址,但可以把發款方隱藏起來。
因為 Railgun 是一種協議,用戶需要一個前端 (錢包) 與這個協議交互。Railway 是現時社區最流行的前端 (這裡還有列出其他前端)。以下教程也會以 Railway 作試範。
首先下載 Railway app, 這前端没有瀏覽器版本,以下以桌面版 macOS 版本試範。
Railgun 現時支持的鏈有:Ethereum, BNB Smart Chain, Polygon, Arbitrum, 及 Sepolia Testnet.
在該鏈上試用需要有該鏈的原生幣支付起始的交易手續費。以下以 Polygon 鏈作例子。