原文作者:VitalikButerin
原文編譯:DeFi之道
特別感謝BenDiFrancesco、MattSolomon、ToniWahrst?tter和AntonioSanso的反饋和審閱。
以太坊生態系統中剩下的最大挑戰之一是隱私。默認情況下,進入公共區塊鏈的任何內容都是公開的。越來越多地,這不僅意味著金錢和金融交易,還意味著ENS域名、POAP、NFT、靈魂綁定代幣等等。在實踐中,使用整套以太坊應用程序涉及將你生活的重要部分公開給任何人查看和分析。
如何改善這種狀況已經成為一個重要的問題,這一點已得到廣泛認可。然而,到目前為止,關于改善隱私的討論主要圍繞一個特定的用例:ETH和主流ERC?20代幣的隱私保護轉移。這篇文章將描述一種不同類別的工具的機制和用例,這些工具可以在許多其他情況下改善以太坊的隱私狀態:隱身地址。
什么是隱身地址系統?
假設Alice想給Bob一個資產。這可能是一定數量的加密貨幣,也可能是一個NFT。當Bob收到資產時,他不想讓全世界都知道是他得到的。想要隱藏一筆轉賬發生的事實是不可能的,特別是如果它是一個鏈上只有一個副本的NFT,但隱藏誰是接收者可能更可行。Alice和Bob也很懶惰:他們想要一個支付流程與今天完全相同的系統。Bob向Alice發送某種“地址”編碼,編碼某人如何向他付款,僅此信息就足以讓Alice向他發送資產。
請注意,這與TornadoCash等工具提供的隱私不同。TornadoCash可以隱藏ETH或主要的ERC?20代幣等主流可替代資產的轉賬,但它在為不知名的ERC?20轉賬添加隱私方面非常薄弱,并且它無法為NFT轉賬添加隱私。
使用加密貨幣進行支付的普通工作流程。我們想增加隱私,但保持工作流程不變。
公告 | OKEx已完成VITE主網切換并開放VITE充提:據官方消息,OKEx已完成VITE主網切換,于2019年09月26日11:30(HKT)開放VITE的充提。[2019/9/26]
隱身地址提供了這樣的方案。隱身地址是可以由Alice或Bob生成的地址,但只能由Bob控制。Bob生成并保密一個支出密鑰,并使用該密鑰生成一個隱形元地址。他將這個元地址傳遞給Alice。Alice可以對該元地址執行計算以生成屬于Bob的隱形地址。然后她可以將她想發送的任何資產發送到這個地址,Bob將完全控制這些資產。隨著轉移,她在鏈上發布了一些額外的加密數據,幫助Bob發現這個地址屬于他。
另一種方式是:隱身地址提供與Bob相同的隱私屬性,為每筆交易生成一個新地址,但不需要Bob的任何交互。
隱身地址方案的完整工作流程如下所示:
?1.Bob生成他的根支出密鑰(m)和隱形元地址(M)。
?2.Bob添加一條ENS記錄以將M注冊為bob.eth的隱形元地址。
3.我們假設Alice知道Bob是bob.eth。Alice在ENS上查找他的隱身元地址M。
?4.Alice生成一個只有她知道的臨時密鑰,并且她只使用一次。
?5.Alice使用一種算法,將她的臨時密鑰和Bob的元地址結合起來生成一個隱身地址。她現在可以將資產發送到這個地址。
?6.Alice還生成了她的臨時公鑰,并將其發布到臨時公鑰注冊表。?
7.為了讓Bob發現屬于他的隱身地址,Bob需要掃描臨時公鑰注冊表以查找自上次掃描以來任何人出于任何原因發布的整個臨時公鑰列表。?
8.對于每個臨時公鑰,Bob嘗試將其與他的根支出密鑰結合起來生成一個隱形地址,并檢查該地址中是否有任何資產。如果有,Bob計算該地址的支出密鑰并記住它。
動態 | Gravity Earth利用區塊鏈改變難民生活:據TechCrunch報道,總部位于肯尼亞的分布式賬本技術(DLT)初創公司Gravity Earth正利用這項突破性技術,管理難民的數據,并通過區塊鏈技術讓他們獲得金融服務,從而改變難民的生活。[2018/12/4]
這一切都依賴于密碼欺騙的兩種用途。首先,我們需要一對算法來生成共享秘密:一個算法使用Alice的秘密事物和Bob的公開事物,另一個算法使用Bob的秘密事物)和Alice的公開事物。這可以通過多種方式完成;Diffie-Hellman密鑰交換是建立現代密碼學領域的成果之一,它也正是實現了這一點。
但是僅共享秘密是不夠的:如果我們只是從共享秘密生成一個私鑰,那么Alice和Bob都可以從這個地址消費。我們可以就此打住,讓Bob將資金轉移到新地址,但這樣做效率低下并且不必要地降低了安全性。所以我們還添加了一個密鑰盲化機制:一對算法,Bob可以將共享秘密與他的根支出密鑰結合起來,Alice可以將共享秘密與Bob的元地址結合起來,這樣Alice就可以生成隱身地址,并且Bob可以為該隱身地址生成支出密鑰,所有這些都無需在隱身地址和Bob的元地址之間創建公共鏈接。
使用橢圓曲線密碼術的隱身地址
使用橢圓曲線密碼術的隱身地址最初是由PeterTodd于2014年在比特幣的背景下引入的。該技術的工作原理如下:
?Bob生成一個密鑰m,并計算M=G*m,其中G是橢圓曲線的共同商定生成點。隱形元地址是M的編碼。
?Alice生成一個臨時密鑰r,并發布臨時公鑰R=G*r。
?Alice可以計算出一個共享秘密S=M*r,而Bob可以計算出相同的共享秘密S=m*R。
?一般來說,在比特幣和以太坊中,地址是包含用于驗證來自該地址的交易的公鑰的哈希。因此,如果您計算公鑰,就可以計算地址。為了計算公鑰,Alice或Bob可以計算P=MG*hash(S)
現場 | Vitalik Buterin:“去中心化”系統有三種不同的形式:金色財經現場報道,今日,由金色財經提供戰略媒體支持的以太坊產業發展峰會在香港舉辦,會上以太坊創始人Vitalik Buterin分享了“去中心”的三種不同形式,即架構上的去中心化、上的去中心化和邏輯上的去中心化。Vitalk進一步解釋了關注“去中心”的原因。他認為,去中心的系統在容錯性方面更強,更容易抵制網絡攻擊,也更容易防止參與方的作惡行為。[2018/9/8]
?為了計算該地址的私鑰,Bob可以計算p=mhash(S)這滿足了我們上面的所有要求,而且非常簡單!
今天甚至有一個EIP試圖為以太坊定義一個隱身地址標準,它既支持這種方法,又為用戶提供了開發其他方法的空間。現在你可能會想:隱身地址并不難,理論已經扎實,采用只是一個實現細節。然而,問題在于,真正有效的實施需要通過一些相當大的實施細節。
隱身地址和支付交易費用
假設有人給你發了一個NFT。考慮到您的隱私,他們會將其發送到您控制的一個隱身地址。掃描鏈上的ephem公鑰后,您的錢包會自動發現該地址。您現在可以自由證明這個NFT的所有權或將其轉讓給其他人。但是有一個問題!該帳戶中的ETH為0?,因此無法支付交易費用。即使是ERC-4337代幣付款人也不會工作,因為它們只適用于可替代的ERC?20代幣。而且你不能從你的主錢包向它發送ETH,因為那樣你就創建了一個公開可見的鏈接。
插入2017年加密騙局人物的模因是作家可以用來表示博學和受人尊敬的一項重要技術,因為這表明他們已經入圈很長時間并且品味高雅,并且不容易被像SBF這樣的人所騙。
有一種“簡單”的方法可以解決這個問題:只需使用ZK-SNARKs轉移資金來支付費用!但是這樣會消耗大量的?gas,單次轉賬就多了幾十萬gas。
現場 | Vitalik Buterin:“中心化”系統涉及高成本 分片技術能減少交易固定成本:金色財經現場報道,今日,由金色財經提供戰略媒體支持的以太坊產業發展峰會在香港舉辦,會上以太坊創始人Vitalik Buterin發表觀點:中心化系統通常涉及較高的固定成本,以太坊技術可以減少相關交易成本。[2018/9/8]
另一種聰明的方法涉及信任專門的交易聚合器。這些聚合器將允許用戶支付一次以購買一組可用于支付鏈上交易的“票”。當用戶需要在一個不包含任何其他內容的隱身地址中花費NFT時,他們會向聚合器提供其中一張票,使用Chaumian盲化方案進行編碼。這是在1980年代和1990年代提出的中心化隱私保護電子現金方案中使用的原始協議。搜索者接受“票”,并重復將交易免費包含在他們的捆綁包中,直到交易在一個區塊中被成功接受。由于涉及的資金量少,而且只能用于支付交易手續費,因此信任和監管問題遠低于“完全”實施這種中心化隱私保護電子現金。
隱身地址和分離支出和查看密鑰
假設Bob不是只有一個可以做所有事情的主“根支出密鑰”,而是想要一個單獨的根支出密鑰和查看密鑰。查看密鑰可以看到Bob的所有隱形地址,但不能從中花費。
在橢圓曲線世界中,這可以使用一個非常簡單的密碼技巧來解決:
?Bob的元地址M現在的形式為(K,V),編碼為G*k和G*v,其中k是支出密鑰,v是查看密鑰。
?共享秘密現在是S=V*r=v*R,其中r仍然是Alice的臨時密鑰,R仍然是Alice發布的臨時公鑰。
?隱身地址的公鑰是P=KG*hash(S),私鑰是p=khash(S)。
請注意,第一個聰明的加密步驟使用查看密鑰,第二個聰明的加密步驟使用根支出密鑰。
Vitalik為Plasma提供了一個擴容解決方案:周五在巴黎的ethereum社區會議EthCC上以太坊創始人Vitalik Buterin出現意外,為Plasma提供了一個擴容解決方案。Plasma是一個智能合約系統,旨在提高世界第二大區塊鏈的計算潛力。[2018/3/10]
這有很多用例。例如,如果Bob想要接收POAP,那么Bob可以給他的POAP錢包他的查看密鑰來掃描鏈并查看他的所有POAP,而不需要給這個界面花費那些POAP?的權力。
隱身地址和更容易掃描
為了更容易地掃描整個臨時公鑰集,一種技術是向每個臨時公鑰添加一個視圖標簽。在上述機制中執行此操作的一種方法是使視圖標簽成為共享秘密的一個字節。
這樣,Bob只需要為每個臨時公鑰執行一次橢圓曲線乘法來計算共享秘密,而Bob需要進行更復雜的計算以生成和檢查完整地址的時間只有1/256?。
隱身地址和抗量子安全
上面的方案依賴于橢圓曲線,它很好,但不幸的是容易受到量子計算機的攻擊。如果量子計算機成為一個問題,我們將需要切換到抗量子算法。有兩個自然的候選者:橢圓曲線同源和格。
橢圓曲線同源是一種非常不同的基于橢圓曲線的數學構造,它具有線性特性,可以讓我們使用與上面所做的類似的密碼技巧,但巧妙地避免了構造可能容易受到量子計算機離散對數攻擊的循環群。
基于同源性的密碼學的主要弱點是其高度復雜的底層數學,以及在這種復雜性下隱藏可能的攻擊的風險。去年,一些基于同種基因的協議被攻破,但其他協議仍然安全。同源性的主要優勢是相對較小的密鑰大小,以及直接移植多種基于橢圓曲線的方法的能力。
CSIDH中的3-同源性,來源在這里。
格是一種非常不同的密碼結構,它依賴于比橢圓曲線同構簡單得多的數學,并且能夠完成一些非常強大的事情)。隱形地址方案可以建立在格上,盡管設計最好的方案是一個懸而未決的問題。然而,基于格的結構往往具有更大的密鑰大小。
全同態加密,這是格的一種應用。FHE還可以用于以不同的方式幫助隱形地址協議:幫助Bob外包檢查整個鏈中是否包含資產的隱形地址的計算,而無需透露他的視圖密鑰。
第三種方法是從通用黑盒原語構建隱身地址方案:許多人出于其他原因需要的基本成分。該方案的共享秘密生成部分直接映射到密鑰交換,這是公鑰加密系統中的一個重要組成部分。更難的部分是讓Alice只生成隱形地址并讓Bob生成支出密鑰的并行算法。
不幸的是,您無法使用比構建公鑰加密系統所需的成分更簡單的成分來構建隱形地址。有一個簡單的證明:你可以用一個隱蔽的地址方案構建一個公鑰加密系統。如果Alice想給Bob加密一條消息,她可以發送N筆交易,每筆交易要么發往Bob的一個隱身地址,要么發往一個屬于她自己的隱身地址,Bob可以看到他收到了哪些交易來讀取消息。這很重要,因為有數學證明你不能只用哈希來做公鑰加密,而你可以只用哈希來做零知識證明——因此,隱形地址不能只用哈希來完成。
這是一種確實使用相對簡單成分的方法:零知識證明,可以由哈希和公鑰加密組成。Bob的元地址是一個公開的加密密鑰加上一個哈希h=hash(x),他的支出密鑰是對應的解密密鑰加上x。為了創建一個隱身地址,Alice生成一個值c,并將Bob可讀的c加密作為她的臨時公鑰發布。地址本身是一個ERC-4337帳戶,其代碼通過要求交易提供零知識證明來驗證交易,證明值x和c的所有權,使得k=hash(hash(x),c)。知道x和c,Bob可以自己重建地址及其代碼。
c的加密不會告訴Bob任何其他人任何信息,而且k是一個哈希,因此它幾乎不會透露任何關于c的信息。錢包代碼本身只包含k,c是私有的,意味著k無法追溯到h。
然而,這需要一個STARK,而STARK很大。最終,我認為后量子以太坊世界很可能會涉及許多應用程序使用許多Stark,因此我提倡像此處描述的聚合協議將所有這些STARK組合成一個遞歸STARK以節省空間。
隱身地址和社交恢復以及多L2錢包
很長一段時間以來,我一直是社交恢復錢包的粉絲:具有多重簽名機制的錢包,其密鑰在機構、您的其他設備和您的朋友之間共享,其中一些絕大多數密鑰可以恢復對您帳戶的訪問,除非您丟失主秘鑰。
然而,社交恢復錢包不能很好地與隱身地址混合:如果你必須恢復你的賬戶,你還必須執行一些步驟來改變你的N個隱身錢包的賬戶驗證邏輯,這將需要N筆交易,以高昂的費用、便利性和隱私成本為代價。
社交恢復和多個第2層協議的世界的相互作用也存在類似的擔憂:如果你在Optimism、Arbitrum、Starknet、Scroll、Polygon有賬戶,并且可能其中一些rollups上出于擴展原因有十幾個并行實例,并且您在每個實例上都有一個帳戶,那么更改密鑰可能是一個非常復雜的操作。
更改多個鏈中多個帳戶的密鑰是一項巨大的工作。
一種方法是硬著頭皮接受恢復是罕見的,而且代價高昂和痛苦是可以接受的。也許您可以使用一些自動化軟件在兩周的時間跨度內以隨機間隔將資產轉移到新的隱蔽地址,以降低基于時間的鏈接的有效性。但這遠非完美。另一種方法是在監護人之間秘密共享根密鑰,而不是使用智能合約恢復。但是,這會消除停用監護人幫助恢復您帳戶的權力的能力,因此存在長期風險。
一種更復雜的方法涉及零知識證明。考慮上面基于ZKP的方案,但修改邏輯如下。賬戶不是直接持有k=hash(hash(x),c),而是持有鏈上k位置的承諾。從該賬戶支出然后需要提供一個零知識證明你知道鏈上與該承諾匹配的位置,以及該位置的對象包含一些值k,并且你有一些值x和c滿足k=hash(hash(x),c)。
這允許許多帳戶,甚至跨越許多第2層協議,在某處由單個k值控制,其中更改一個值足以更改所有帳戶的所有權,所有這些都不會泄露您的帳戶之間的聯系。
結論
基本的隱身地址今天可以相當快地實施,并且可以顯著提高以太坊上的實際用戶隱私。他們確實需要在錢包方面做一些工作來支持他們。也就是說,我認為出于其他與隱私相關的原因,錢包應該開始轉向更原生的多地址模型。
然而,隱身地址確實會帶來一些長期的可用性問題,例如社交恢復的困難。現在可以簡單地接受這些擔憂,例如。通過接受社交恢復將涉及隱私的喪失或延遲兩周以緩慢地將恢復交易發布到各種資產。從長遠來看,這些問題是可以解決的,但從長遠來看,隱身地址生態系統看起來確實嚴重依賴于零知識證明。
DearHuobiUsers,HuobiwillbeopeningTORN(TornadoCash)?spottrading(TORN/USDT)andspotGridtrading(TORN/.
1900/1/1 0:00:001月18日消息,根據立法者周二在國民議會通過的計劃,如果法國的加密公司尚未在2024年1月1日之前在該國金融監管機構注冊,則它們必須尋求監管機構的授權才能運營.
1900/1/1 0:00:00根據zkTube項目方團隊消息,zkTube代幣合約升級時發現被盜現象,現根據項目方要求zkTube代幣將按照1:1兌換為NVG代幣.
1900/1/1 0:00:00ForesightNews消息,基于Algorand的空氣質量監測網絡?PlanetWatch?通過未來股權簡單協議與銀行貸款完成300萬歐元融資,BorderlessCapital領投.
1900/1/1 0:00:00根據Flare(FLR)網絡官方消息,Flare(FLR)節點計劃在2023年1月26日23點UTC8之前進行升級.
1900/1/1 0:00:00金色財經報道,Twitch聯合創始人JustinKan開發的游戲相關非同質代幣(NFT)平臺Fractal宣布擴展到Polygon區塊鏈協議.
1900/1/1 0:00:00