Aztec是以太坊上一個旨在解決隱私問題的zk-rollup:也就是說它是唯一一個從頭開始構建的完全保護用戶隱私的Layer2。
為了理解隱私交易這種范式改變以及直接在網絡架構中建立隱私的重要性,我們得先討論“為什么說以太坊不是一條隱私的鏈”。
以太坊:一條公共區塊鏈
大家可能已經聽說過公共賬本這個詞,它由兩個部分組成:賬戶和余額。
以太坊上最原始的交易是將ETH從一個賬戶(地址)發送到另一個賬戶。網絡通過增加某個賬戶的余額和減少另一個賬戶的余額來記錄這些交易——換句話說,ETH實際上并沒有”轉移“。
讓我們詳細看看一個例子:snoopdogg.eth想發送一筆交易給cozomomedici.eth。
只是兩個商人
以下是交易的經過:Snoop一開始有100個ETH,然后他的賬戶扣了20個ETH。而Cozomo一開始有0個ETH,然后他的賬戶被計入20個ETH。Snoop的最終賬戶余額為80ETH,Cozomo則為20ETH。轉賬完成。
ETH轉賬交易的賬本示意圖
數字資產隱私交易工具Houdini Swap完成25萬美元融資:5月23日消息,數字資產隱私交易工具Houdini Swap完成25萬美元融資,Theia Blockchain參投。此輪融資資金將用于加速產品和技術開發。
據悉,Houdini Swap允許用戶進行匿名加密貨幣的發送、Swap和跨鏈交易,旨在為協議、DEX、錢包等提供隱私即服務(privacy as a service)基礎設施層和合規匿名交易解決方案。[2023/5/23 15:20:07]
我們可以在etherscan.io上看到每個賬戶計入和扣除的交易款項,下圖中顯示的”ins“(轉入)和"outs"(轉出)記錄是公開的,所有人可見。下面是一個ENS名為twinkienft.eth的近期交易歷史記錄。
在這里記錄了ta所有的光輝事跡:twinkienft.eth的公共交易!
你可能會問:”誰是twinkienft.eth啊?”我也沒有頭緒,但我可以看到ta所有的交易記錄!你去etherscan.io上看看,你也可以觀察所有被記錄在區塊鏈的交易。
就在etherscan.io的首頁!
zkSync與加密基礎設施公司Espresso Systems合作,將集成CAPE技術以實現隱私交易:1月19日消息,基于ZK Rollup的以太坊二層網絡 zkSync 正與加密基礎設施公司 Espresso Systems 合作,將集成“可配置資產隱私”CAPE(Configurable Asset Privacy)的新技術,以實現隱私交易。任何用戶都可以在不暴露區塊鏈的私人數據的情況下進行交易,從而為不希望余額、鏈上活動和其他可公開訪問的私人數據暴露的機構消除障礙。
據悉,該合作仍在計劃中,尚未部署在 zkSync 的測試網上,預計今年晚些時候將更新現實世界資產、供應鏈、身份、支付和貿易融資的代幣化。[2023/1/19 11:20:18]
大家可以看到這里明顯有問題:我們不僅可以看到所有的賬戶交易,還可以看到它們的金額、資產和交易方。
這其實就是公共區塊鏈帶來的作用。由于其公開屬性,公共區塊鏈具有可審計性和可驗證性。
但這也意味著,如果某人的隱私泄露了(無論是有意還是無意的)——我們可以查看他們的完整交易歷史。
跟蹤公共交易數據是一項大生意:像Chainalysis和Nansen這樣的公司會做一些復雜的分析來關聯各種錢包并監控其交易活動,并對誰持有著什么資產做出概率假設。
大家想象一下,如果你每次刷卡買羊角包時,都得向全世界展示你的銀行賬單。這真的很傻,對吧?
這就是以太坊的現狀。
解決方案:賬戶加密?
Alchemy 與 Flashbots 合作支持在以太坊上發送隱私交易:金色財經消息,區塊鏈開發平臺 Alchemy 宣布與 Flashbots 合作支持在以太坊上發送隱私交易,Alchemy 表示實現隱私的方式是將交易直接發送給礦工而不是公共內存池,這將使得包含該交易的區塊未上鏈前保持隱私狀態,從而防止搶先交易、套利等行為。[2022/5/27 3:44:55]
"呃,好吧,"你可能會說,"這很容易解決,只要將賬戶、余額和持有者加密就可以了。"咄,白癡!我怎么會這么蠢。
這就是我每天的感受...
除了討論一下加密賬戶如何實現之外:
請回憶一下之前所講的賬本。經過對賬戶和交易加密之后,我們會得到:
似乎行得通
那么加密之后,網絡應該如何檢查賬戶,確保沒有雙花或者共謀的作惡行為。事實證明,要解決這個問題是非常困難的。
回到剛才那個例子。如果Snoop和Cozomo需要進行交易,那么他們必須要交互,因為網絡不能幫助檢查他們是否進行了有效的交易。
1.Snoop請求Cozomo的加密賬戶狀態
以太坊隱私交易平臺Tornado.Cash計劃上線以太坊側鏈xDai:以太坊隱私交易平臺Tornado.Cash計劃上線以太坊側鏈xDAI上。其中Tornado.Cash將創建新的池來擴大其使用范圍,使得xDai持有人可通過訪問100 xDai pool、1000 xDai pool、10000 xDai pool、100000 xDai pool以實現隱私交易。[2021/8/26 22:38:15]
2.Cozomo向Snoop發送已加密的狀態
3.?Snoop對Cozomo的狀態進行解密,確認交易前的余額
4.?Snoop向Cozomo發送一筆加密支付
5.?Cozomo向Snoop發送他最新的加密狀態
6.Snoop解密Cozomo的最新狀態,確認交易后的余額(并且Cozomo確實獲得了他被承諾的金額)
這種精心設計的流程有很嚴重的缺點:很昂貴、很耗時,并且你每次只能和一個人進行交互——雙方還必須同時在線。
更糟糕的是,當他們結束了一場雙方對話之后,任何一方都沒有辦法說服世界上的其他人,他們只是互相驗證了他們的一筆交易。
使用票據(note)記賬不香嗎?
但是,如果我們把歸屬結構顛倒過來呢?以太坊默認使用賬戶模式,其中賬戶中包含余額。換句話說,查一下賬戶,你就會得到它的余額信息。
那如果我們換一種思維方式呢?比如說某筆資產(用note來表示)的持有者是某人。
動態 | Tornado.Cash推出在以太坊上完全隱私交易功能工具Tornado.cash:為了能在以太坊上實現徹底的隱私交易,Tornado團隊推出Tornado.cash工具,不需要集中托管,可以用以太坊實現隱私交易。在Tornado.cash里,一個地址可以向一個智能合約存款,隨后另一個地址可以把這筆款取出來,基于零知識證明,其他人無法把判斷這筆交易的雙方是誰。而且這個過程中沒有任何托管行為,用戶可以時刻控制自己的資產[2019/8/7]
賬戶里包含余額信息vs.資產票據推導出持有者
Bitcoin就是使用這種模式,叫做UTXO(unspenttransactionoutput,未使用的交易輸出)。但是不用糾結這個術語是什么意思了,把UTXO當作現金(銀行票據)就好。
讓我們先思考一下,為什么使用現金記賬會更安全、更隱私——或者更準確地說,比基于賬戶的系統更安全、更隱私。
它之所以安全,是因為只有交易現金的雙方知道其所有權已經易手!而全宇宙的其他人都不會知道。
你可以把現金交易模式想象成某件物品(note)的所有權的變更,而賬戶交易模式則是兩個賬戶的狀態的變更。
圖示:某張加密票據的所有權變更
當一筆Aztec交易在進行時,網絡只需簡單地為給定的票據重新分配所有權,而不是更新賬戶余額(增加或減少余額)。
為什么這個模式這么有用?事實證明,加密一張票據要簡單得多,因為只需在上面寫兩個東西:這個票據值多少錢以及它的所有者是誰。那么當它轉手時,只需涂掉舊的所有者的名字,然后寫上新的所有者的名字。
在Aztec上進行簡單轉賬
那么,在一筆簡單的票據交易中,到底會發生什么呢?
假設Snoop有兩張面值為50ETH的票據(總額為100ETH),而Cozomo手上沒有任何票據。
Snoop手上的那兩張票據需要銷毀掉,并且要創建兩張新票據:面值為80ETH的票據分給Snoop,面值為20ETH的票據則分給其新的所有者Cozomo。
但是,如果必須披露這些票據的價值,如何保護隱私呢?
嗯..他們并沒有披露這些信息,至少沒有公開。當然,Snoop和Cozomo知道他們交易的資產價值,就像一筆現金交易一樣,但他們不需要向全世界公開。
為了保護他們相互的隱私,Snoop發布了一筆帶鎖的交易,他知道只有Cozomo的私鑰才能解開這把鎖。類比一下,這有點像將這張票據放進一個小小的保險箱中。當然,他們都知道箱子里有什么(20ETH),所以Snoop必須要相信Cozomo不會在屋頂上大喊:“有人剛給我轉了20個ETH!”
但除此之外,所有權被重新分配的票據會返回到一個數據結構中,這個數據結構包含了所有曾經創建的票據——這是一個默克爾樹哈希,我將在下文簡要地介紹一下它。
在網絡觀察者看來,系統的狀態會是什么樣子的——每張票據的面值和所有者都是完全加密的。
好管家
我們知道Snoop銷毀了兩張票據,創建了兩張新的票據,然后把其中一張新票據轉給了他的朋友Cozomo。那么我們如何確保他們不會共謀作惡,比如雙花?如果Snoop銷毀了總值為100ETH的兩張票據,然后創建了總值為200ETH的兩張新票據,那怎么辦?或者,他們直接創建任意數額大小的票據呢?
回想一下這兩個步驟:
1.?Snoop銷毀了兩張面值為50ETH的票據并分別創建了面值為20ETH和80ETH的票據
2.?Snoop將面值為20ETH的票據轉給Cozomo
為了確保第一步沒有發生可疑的行為,Snoop需要做的就是向系統(Aztec)證明他打算創建的兩張票據和他準備銷毀的兩張票據是等值的。
這被稱為連接-分割交易,這種交易符合這條簡單的等式:A+B=C+D
下面是燒腦部分,跟上了!
為了證明轉出票據(C+D)等值于轉入票據(A+B,或者說100ETH),Snoop在他的瀏覽器中本地生成了一個零知識證明(zero-knowledgeproof,ZKP)。
利用零知識證明,他能夠證明出這條等式A+B=C+D,而無需揭露他們的任意資產價值。
然后Aztec驗證了這一證明,并表示:”由于這是零知識證明,那么這一定是有效的。“此時,智能合約銷毀這兩個轉入票據,然后生成兩個轉出票據,并將新的轉出票據作為加密承諾記錄在票據登記表中。
所有權證明
值得討論的是,如何在Aztec中證明票據的所有權,這和在以太坊中證明類似。你如何證明你控制了某個以太坊地址的訪問權——通過使用你的錢包對一個信息進行簽名。
那么你如何證明你能夠訪問Aztec的某張票據?一個非常非常奇特的加密簽名叫做零知識證明。
這個證明說,”在Aztec狀態中,a)存在著一張特定價值的票據,b)我擁有這張票據的所有權。“
那么Aztec系統的狀態怎么存儲?它存儲在兩個默克爾樹中:
一顆是票據樹,包含著所有曾經創建的票據;
一顆是無效樹,包含著所有曾經被銷毀的票據
如果你在Aztec中擁有一張票據,這意味著這張票據存在于”票據樹“中,并且在”無效樹“中不存在對應的無效票據。
左邊這棵”票據樹“生氣勃勃,而右邊這個”無效樹“則傷心欲絕。如果右邊的樹會說話,它可能會說”我討厭死你了“之類的話。
當我們說到”銷毀“一張票據,這實際上意味著添加一張無效票據到”無效樹“中,而不是刪掉”票據樹“中的一張票據。
默克爾樹簡圖
為了發送那些已證明為我所有的票據,將需要創建一個全新的默克爾樹(和默克爾根)。一旦”票據樹“和”無效樹“的默克爾根移動到新的值中(換句話說,系統的狀態已更新),這些默克爾根就會被發布到以太坊的主鏈上,且交易就會被視為已記錄。
寫在最后
我希望本文能讓讀者深刻地理解到為什么隱私如此具有挑戰性:我們需要在不違反或暴露用戶數據的情況下,驗證交易是合法且正確執行的。
這些獨特的限制意味著隱私保護架構必須從頭開始架構。Aztec是唯一一個以這種方式構建的L2——用戶的隱私通過其核心架構受到保護,并利用零知識證明來維護網絡運作。
來源|?AztecNetwork
作者|?JonWu
12月24日20:00 一套特別的藏品即將上線 新華社通過區塊鏈NFT技術將精選的2021年新聞攝影報道鑄成中國首套“新聞數字藏品”動態 | 新華社:區塊鏈技術可直接連接消費者和共享經濟提供者:.
1900/1/1 0:00:00擁有14億人口的印度正在成為增長最快的加密貨幣市場,約2000萬以上的加密貨幣持有者正在等待該國相關監管政策的落地.
1900/1/1 0:00:002021年是NFT突破性的一年,買家在數字收藏品上的花費幾乎與傳統藝術品一樣多。2021年初,只有小眾的加密貨幣愛好者知道什么是不可偽造的代幣.
1900/1/1 0:00:00區塊鏈以無審查著稱,是一片鼓勵創新的熱土,也是滋生犯罪的溫床。當年眾籌超過1.5億美金的TheDao被黑客盜幣后,進行了硬分叉操作,由此產生了如今的以太坊.
1900/1/1 0:00:00.new_summary,blockquote{position:relative;font-size:16px;letter-spacing:1px;line-height:28px;marg.
1900/1/1 0:00:00目前,數字人民幣已經形成覆蓋深圳、蘇州、雄安、成都、上海、海南、長沙、西安、青島、大連和2022北京冬奧會場景的“10+1”試點格局.
1900/1/1 0:00:00