我們都知道ETH的帳戶是一串十分長的英文數字所組成,理論上可以隨意地創造出來,非常的低成本且便利,為什麼會需要隱身帳戶這項技術呢,要解決那些痛點? 就讓我們一起閱讀下去。本文會隨著作者理解持續更新。
出現那些問題 ETH的帳戶有金額以後,不會任意的棄置或是改動,資金也不會持續轉移(會消耗Gas Fee),導致外部人士可以依照帳戶的交易狀況(公開帳本)來分析了解,這個帳戶的交易特點是甚麼,擁有哪些NFT,
POAP(出席證明協議) ,
SBT(靈魂綁定代幣) 的狀態等等。當一個帳號用的越頻繁,層面越廣,導致資訊越多,用刪去法不斷地排除,最終可以鎖定真實帳戶擁有者,如同L找到夜神月的方式,這個明顯違反了ETH帳戶地址本來的初衷,就是要去中心化且匿名。
更糟糕的是,任何交易與創建合約,都需要在網路上完成,對方可以連結ETH帳號,與更多非帳本上面看到的資訊,比如說你的YT帳號,FaceBook帳號,等等。這會讓ETH的帳戶使用者,面臨一旦暴露了身分(如果對於本身的隱私保護敏感的用戶),就必須要重新創帳戶,面臨時常要轉移資金的窘境 (消耗非常多的Gas Fee,複雜且浪費時間),於是V神(Vitalik Buterin) 發布了《
隱身地址不完整指南 》,想要讓一切回歸正軌,解決帳戶的隱身問題。
隱身地址 簡單的說,就是每一次要交易的時候,雙方都會自行產生一組額外的地址,這樣交易雙方的真實帳戶地址就可以獲得匿名保護。假設今天Bob 和 Alice 要做交易,Bob會生成一組隱身地址公鑰 ( stealth meta-address )發到ENS網路上面,Alice 看到以後,會專門生成一組臨時的隱身地址 (ephemeral key) ,結合Bob的隱身地址,只給這次交易做使用,Bob這端只要看這個隱身地址底下是否有資金的轉移,就能完成交易。這樣一來雙方都不會知道彼此的帳戶地址真實資訊,有心人士也無法將雙方用於支出的臨時隱身地址與用於收入的隱身地址,和實際的帳戶地址做連結。
來自V神整理的 隱身帳戶不完全指南,解釋了交易雙方要如何隱藏彼此的真實帳戶地址,也能完成交易的流程,裡面涉及很多細節,需要細細品味
V神提供隱身地址藉由橢圓曲線密碼學,可以完美的滿足交易雙方的隱私需求,而且實作起來概念簡單
隱身地址看起來是相對成熟的概念與技術,有
EIP 提供規範(ERC-5564),在2004也有引入的案例,使用橢圓曲線密碼學隱藏地址最初是
由 Peter Todd 於 2014 年 在比特幣背景下引入的,這時要問的問題就是,為什麼還沒有發生? 有那些困難與配套的開發要完成,這樣或許能回答,預計何時才能實現的問題。
隱身帳戶與Gas Fee 隱身帳戶的帳上如果沒有ETH,這時候必須從其他帳戶轉帳過去,這樣不就無法隱身了? 彷彿一切又回到原點,如果用零知識證明(ZK-SNARKs)來轉移ETH並支付 Gas Fee,會是一個簡單的做法,但是這樣會額外消耗許多Gas。所以需要一個
聚合器 ,蒐集所有的隱身地址需求,打包一次性的處理完,這樣只會消耗一次Gas Fee,分攤下來以後,成本可以大幅降低。
隱身帳戶查看密鑰 當POAP(出席證明協議)相關應用有需要查看所有隱身帳戶裡面的訊息,可以產生查看密鑰允許他們查看,但不會讓它們取得這些隱身帳戶的支出使用權。
V神提供隱身地址使用權和查看權分開的做法,依樣可以藉由橢圓曲縣密碼學達成
隱身地址和易掃描 在隱身地址中,額外加一組標籤,這樣方便掃描帳號的所有隱身地址,如果這個標籤是一個Byte的大小,可以加快掃描速度256倍。
隱身地址和抗量子安全 橢圓曲線同源技術,用來抵抗量子計算的攻擊,來源PPT ,有興趣可以往下研究
隱身地址和社交恢復以及多L2 錢包 社交錢包的概念是希望能藉由彼此之間交互的關係,來恢復遺失的帳戶,這會涉及改變控制帳戶的私鑰,這時候隱身地址就會涉及許多次的額外計算,成本將會是非常高,同時如果在多個L2上面都有帳號,這樣額外的計算會更多更複雜。
結論 隱身地址提高了用戶的隱私性,可以替每一個帳號設定隱身地址,來跟別人產生交易。但是目前有長期的可用性問題,會影響社交恢復的困難度,長期可能需要更多的解法來支援。此外,目前隱身帳戶非常依賴零知識證明(ZK-SNARKs)技術,需要
聚合器 打包再一起發出去驗證,以降低成本。