比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 聚幣 > Info

隱私交易的實現:Aztec 隱私架構介紹_ETH

Author:

Time:1900/1/1 0:00:00

Aztec 是以太坊上一個旨在解決隱私問題的 zk-rollup:也就是說它是唯一一個從頭開始構建的完全保護用戶隱私的 Layer 2。

為了理解隱私交易這種范式改變以及直接在網絡架構中建立隱私的重要性,我們得先討論“為什么說以太坊不是一條隱私的鏈”。

以太坊:一條公共區塊鏈

大家可能已經聽說過公共賬本這個詞,它由兩個部分組成:賬戶和余額。

以太坊上最原始的交易是將 ETH 從一個賬戶 (地址) 發送到另一個賬戶。網絡通過增加某個賬戶的余額和減少另一個賬戶的余額來記錄這些交易 —— 換句話說,ETH 實際上并沒有”轉移“。

讓我們詳細看看一個例子:snoopdogg.eth 想發送一筆交易給 cozomomedici.eth。

只是兩個商人

以下是交易的經過:Snoop 一開始有 100 個 ETH,然后他的賬戶扣了 20 個 ETH。而 Cozomo 一開始有 0 個 ETH,然后他的賬戶被計入 20 個 ETH。Snoop 的最終賬戶余額為 80 ETH,Cozomo 則為 20 ETH。轉賬完成。

ETH 轉賬交易的賬本示意圖

加密經紀商Hidden Road與隱私交易平臺Enclave達成合作:7月27日消息,面向機構的加密貨幣經紀和信貸網絡 Hidden Road 宣布與 Enclave Markets 建立合作伙伴關系。

Enclave Markets 是一家完全加密的交易平臺(Fully Encrypted Exchange),允許參與者秘密交易數字資產。該平臺通過使用定價預言機創建一個交叉網絡,以建立資產的中點價格,在各個交易場所進行平均交易,從而實現一個保密的交易環境。[2023/7/27 16:02:50]

我們可以在 etherscan.io 上看到每個賬戶計入和扣除的交易款項,下圖中顯示的 ”ins“(轉入) 和 "outs"(轉出) 記錄是公開的,所有人可見。下面是一個 ENS 名為 twinkienft.eth 的近期交易歷史記錄。

在這里記錄了 ta 所有的光輝事跡:twinkienft.eth 的公共交易!

你可能會問:”誰是 twinkienft.eth 啊?” 我也沒有頭緒,但我可以看到 ta 所有的交易記錄!你去 etherscan.io 上看看,你也可以觀察所有被記錄在區塊鏈的交易。

就在 etherscan.io 的首頁!

DEX聚合器1inch發布新功能 支持隱私交易等:DEX聚合器1inch發布新功能,包括所有人可用的隱私交易(Metamask不支持);避免提前交易(FRONT-RUNNING)和連接到10個以太坊礦工,以便直接向礦工廣播用戶交易,從而縮短交易挖掘時間。

注:提前知道其他人的交易意圖并提前買賣的行為叫Front-Running。[2020/12/5 14:06:33]

大家可以看到這里明顯有問題:我們不僅可以看到所有的賬戶交易,還可以看到它們的金額、資產和交易方。

這其實就是公共區塊鏈帶來的作用。由于其公開屬性,公共區塊鏈具有可審計性和可驗證性。

但這也意味著,如果某人的隱私泄露了 (無論是有意還是無意的) —— 我們可以查看他們的完整交易歷史。

跟蹤公共交易數據是一項大生意:像 Chainalysis 和 Nansen 這樣的公司會做一些復雜的分析來關聯各種錢包并監控其交易活動,并對誰持有著什么資產做出概率假設。

大家想象一下,如果你每次刷卡買羊角包時,都得向全世界展示你的銀行賬單。這真的很傻,對吧?

這就是以太坊的現狀。

解決方案:賬戶加密?

"呃,好吧," 你可能會說,"這很容易解決,只要將賬戶、余額和持有者加密就可以了。" 咄,白癡!我怎么會這么蠢。

這就是我每天的感受...

動態 | Tornado Cash推出間接解決方案,可支持在以太坊網絡上進行隱私交易:Tornado Cash創建了一種間接解決方案,允許在以太坊網絡上進行隱私交易,用戶可以在不透露所涉及ETH數量或創建此前交易記錄的情況下進行交易。從理論上講,這使得以太坊的使用更接近于在銀行賬戶中使用現金,因為應該沒有人能看到你把錢花在了什么地方。(Decrypt)[2019/8/10]

除了討論一下加密賬戶如何實現之外:

請回憶一下之前所講的賬本。經過對賬戶和交易加密之后,我們會得到:

似乎行得通

那么加密之后,網絡應該如何檢查賬戶,確保沒有雙花或者共謀的作惡行為。事實證明,要解決這個問題是非常困難的。

回到剛才那個例子。如果 Snoop 和 Cozomo 需要進行交易,那么他們必須要交互,因為網絡不能幫助檢查他們是否進行了有效的交易。

1. Snoop 請求 Cozomo 的加密賬戶狀態

2. Cozomo 向 Snoop 發送已加密的狀態

3.?Snoop 對 Cozomo 的狀態進行解密,確認交易前的余額

4.?Snoop 向 Cozomo 發送一筆加密支付

5.?Cozomo 向 Snoop 發送他最新的加密狀態

6. Snoop 解密 Cozomo 的最新狀態,確認交易后的余額 (并且 Cozomo 確實獲得了他被承諾的金額)

這種精心設計的流程有很嚴重的缺點:很昂貴、很耗時,并且你每次只能和一個人進行交互 —— 雙方還必須同時在線。

動態 | Tornado.Cash推出在以太坊上完全隱私交易功能工具Tornado.cash:為了能在以太坊上實現徹底的隱私交易,Tornado團隊推出Tornado.cash工具,不需要集中托管,可以用以太坊實現隱私交易。在Tornado.cash里,一個地址可以向一個智能合約存款,隨后另一個地址可以把這筆款取出來,基于零知識證明,其他人無法把判斷這筆交易的雙方是誰。而且這個過程中沒有任何托管行為,用戶可以時刻控制自己的資產[2019/8/7]

更糟糕的是,當他們結束了一場雙方對話之后,任何一方都沒有辦法說服世界上的其他人,他們只是互相驗證了他們的一筆交易。

使用票據 (note) 記賬不香嗎?

但是,如果我們把歸屬結構顛倒過來呢?以太坊默認使用賬戶模式,其中賬戶中包含余額。換句話說,查一下賬戶,你就會得到它的余額信息。

那如果我們換一種思維方式呢?比如說某筆資產 (用 note 來表示) 的持有者是某人。

賬戶里包含余額信息 vs. 資產票據推導出持有者

Bitcoin 就是使用這種模式,叫做 UTXO (unspent transaction output, 未使用的交易輸出)。但是不用糾結這個術語是什么意思了,把 UTXO 當作現金 (銀行票據) 就好。

讓我們先思考一下,為什么使用現金記賬會更安全、更隱私 —— 或者更準確地說,比基于賬戶的系統更安全、更隱私。

動態 | 以太坊隱私交易方案Hopper開源代碼 發布移動應用內測版:以太坊隱私交易方案Hopper宣布完全開源代碼,并發布iOS端移動應用內測版。Hopper使用零知識證明(ZKP)技術“混合”用戶交易,用戶可將ETH存入Hopper智能合約,而從另一個賬戶提取資金。目前用戶一次僅可存入1枚ETH以保持匿名,Hopper還提醒由于應用尚處于內測階段,沒有進行完全審計,因而資金有丟失的風險。[2019/6/24]

它之所以安全,是因為只有交易現金的雙方知道其所有權已經易手!而全宇宙的其他人都不會知道。

你可以把現金交易模式想象成某件物品 (note) 的所有權的變更,而賬戶交易模式則是兩個賬戶的狀態的變更。

圖示:某張加密票據的所有權變更

當一筆 Aztec 交易在進行時,網絡只需簡單地為給定的票據重新分配所有權,而不是更新賬戶余額 (增加或減少余額)。

為什么這個模式這么有用?事實證明,加密一張票據要簡單得多,因為只需在上面寫兩個東西:這個票據值多少錢以及它的所有者是誰。那么當它轉手時,只需涂掉舊的所有者的名字,然后寫上新的所有者的名字。

在 Aztec 上進行簡單轉賬

那么,在一筆簡單的票據交易中,到底會發生什么呢?

假設 Snoop 有兩張面值為 50 ETH 的票據 (總額為 100 ETH),而 Cozomo 手上沒有任何票據。

Snoop 手上的那兩張票據需要銷毀掉,并且要創建兩張新票據:面值為 80 ETH 的票據分給 Snoop,面值為 20 ETH 的票據則分給其新的所有者 Cozomo。

但是,如果必須披露這些票據的價值,如何保護隱私呢?

嗯..他們并沒有披露這些信息,至少沒有公開。當然,Snoop 和 Cozomo 知道他們交易的資產價值,就像一筆現金交易一樣,但他們不需要向全世界公開。

為了保護他們相互的隱私,Snoop 發布了一筆帶鎖的交易,他知道只有 Cozomo 的私鑰才能解開這把鎖。類比一下,這有點像將這張票據放進一個小小的保險箱中。當然,他們都知道箱子里有什么 (20 ETH),所以 Snoop 必須要相信 Cozomo 不會在屋頂上大喊:“有人剛給我轉了 20 個 ETH!”

但除此之外,所有權被重新分配的票據會返回到一個數據結構中,這個數據結構包含了所有曾經創建的票據 —— 這是一個默克爾樹哈希,我將在下文簡要地介紹一下它。

在網絡觀察者看來,系統的狀態會是什么樣子的 —— 每張票據的面值和所有者都是完全加密的。

好管家

我們知道 Snoop 銷毀了兩張票據,創建了兩張新的票據,然后把其中一張新票據轉給了他的朋友 Cozomo。那么我們如何確保他們不會共謀作惡,比如雙花?如果 Snoop 銷毀了總值為 100 ETH 的兩張票據,然后創建了總值為 200 ETH 的兩張新票據,那怎么辦?或者,他們直接創建任意數額大小的票據呢?

回想一下這兩個步驟:

1.?Snoop 銷毀了兩張面值為 50 ETH 的票據并分別創建了面值為 20 ETH 和 80 ETH 的票據

2.?Snoop 將面值為 20 ETH 的票據轉給 Cozomo

為了確保第一步沒有發生可疑的行為,Snoop 需要做的就是向系統 (Aztec) 證明他打算創建的兩張票據和他準備銷毀的兩張票據是等值的。

這被稱為連接-分割交易,這種交易符合這條簡單的等式:A + B = C + D

下面是燒腦部分,跟上了!

為了證明轉出票據 (C + D) 等值于轉入票據 (A + B, 或者說 100 ETH),Snoop 在他的瀏覽器中本地生成了一個零知識證明 (zero-knowledge proof,ZKP)。

利用零知識證明,他能夠證明出這條等式 A + B = C + D,而無需揭露他們的任意資產價值。

然后 Aztec 驗證了這一證明,并表示:”由于這是零知識證明,那么這一定是有效的。“ 此時,智能合約銷毀這兩個轉入票據,然后生成兩個轉出票據,并將新的轉出票據作為加密承諾記錄在票據登記表中。

所有權證明

值得討論的是,如何在 Aztec 中證明票據的所有權,這和在以太坊中證明類似。你如何證明你控制了某個以太坊地址的訪問權 —— 通過使用你的錢包對一個信息進行簽名。

那么你如何證明你能夠訪問 Aztec 的某張票據?一個非常非常奇特的加密簽名叫做零知識證明。

這個證明說,”在 Aztec 狀態中,a) 存在著一張特定價值的票據,b) 我擁有這張票據的所有權。“

那么 Aztec 系統的狀態怎么存儲?它存儲在兩個默克爾樹中:

一顆是票據樹,包含著所有曾經創建的票據;

一顆是無效樹,包含著所有曾經被銷毀的票據

如果你在 Aztec 中擁有一張票據,這意味著這張票據存在于”票據樹“中,并且在”無效樹“中不存在對應的無效票據。

左邊這棵”票據樹“生氣勃勃,而右邊這個”無效樹“則傷心欲絕。如果右邊的樹會說話,它可能會說”我討厭死你了“之類的話。

當我們說到”銷毀“一張票據,這實際上意味著添加一張無效票據到”無效樹“中,而不是刪掉”票據樹“中的一張票據。

默克爾樹簡圖

為了發送那些已證明為我所有的票據,將需要創建一個全新的默克爾樹 (和默克爾根)。一旦”票據樹“和”無效樹“的默克爾根移動到新的值中 (換句話說,系統的狀態已更新),這些默克爾根就會被發布到以太坊的主鏈上,且交易就會被視為已記錄。

寫在最后

我希望本文能讓讀者深刻地理解到為什么隱私如此具有挑戰性:我們需要在不違反或暴露用戶數據的情況下,驗證交易是合法且正確執行的。

這些獨特的限制意味著隱私保護架構必須從頭開始架構。Aztec 是唯一一個以這種方式構建的 L2 —— 用戶的隱私通過其核心架構受到保護,并利用零知識證明來維護網絡運作。

來源 |? Aztec Network

作者 |?Jon Wu

Tags:ETHSNOOSNOOPSNOeth官網查詢LOVESNOOPY幣SNOGE

聚幣
預告:《國潮故宮冰嬉圖》NFT于12月24日登陸唯一藝術平臺正式發售_CRYPT

600 年前的宮殿,5000 年的文明,故宮博物院收藏的文物貫穿了整個中華文明史,故宮的美一是美在建筑,二是美在古物.

1900/1/1 0:00:00
鄧建鵬:穩定幣的風險表現在哪些方面_SDT

根據美國區塊鏈知名信息網站Cointelegraph 12月20日消息,在美國金融穩定監督委員會于2021年11月發布關于穩定幣的報告之后.

1900/1/1 0:00:00
一周必讀10篇 | 激蕩浮沉 2021年加密領域十大事件_比特幣

1.年終盤點 | 激蕩浮沉 2021年加密領域十大事件2021年絕對是加密史上不斷破紀錄的一年,也是加密不斷走向成熟的一年.

1900/1/1 0:00:00
通往Web3還需幾步?_以太坊

「有人看過Web3嗎?我沒有找到它。」12月21日,特斯拉創始人埃隆·馬斯克又一次提到這一火熱概念.

1900/1/1 0:00:00
Findora為Venice AMM DEX提供1000萬美元的流動性挖礦激勵計劃_IND

在宣布1億美元的Findora生態系統基金的六周后,今天Findora為Venice正式推出了共計1000萬美元的流動性挖礦獎勵計劃.

1900/1/1 0:00:00
一文讀懂元宇宙地產經濟學_ULTI

"現實世界中的租金太他媽高了。喬治,讓我們不要在數字世界中重復同樣的錯誤。?"最近的新熱點是以 "數字房地產 "為特色的游戲.

1900/1/1 0:00:00
ads