📜 [專欄新文章] 從 Rollups 來聊聊以太坊 Layer2 的演進
✍️ Kimi Wu
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Photo by Clark Van Der Beken on Unsplash
去年 Defi summer 的熱潮後,以太上 Defi 應用呈現爆炸性成長,造就高昂的交易手續費,為了有更快的交易速度及可負擔的交易費用,人們對側鏈、Layer2 的需求更加強烈。Rollups 是 Layer2 的一種技術,在今年相當熱門,幾個耕耘已久的專案 zkSync、Optimism、Arbitrum 等也開始廣為人知。今天想來聊聊以太坊上 Layer2 技術的演進。
State Channel
state channel 最一開始是建立在 Bitcoin 上,最廣為人知的就是 lightning network。簡單來說,就是兩方在私下建立一條可以互相轉帳的通道,轉帳完畢後把通道關閉,接著將交易後的狀態更新到鏈上。若交易一筆後即關閉通道,那交易成本就跟在鏈上一樣,所以在實務上,通道一直開著(或是一段時間),交易數筆、數百筆後再上鏈更新狀態,藉此平均每筆的交易手續費就大幅降低。也因為只需通道雙方驗證交易內容,交易速度能大幅提升,讓小額支付能夠實現,就不需等10分鐘(Bitcoin)後交易才會被打包,甚至要等6個區塊的時間。而最早在以太上的 state channel 是 Raiden。
對於 Raiden 技術有興趣的可以參考這篇文章。
Plasma
Plasma 於2017年8月由 V 跟 Joseph Poon (Lightning Network的創始人之一)所提出,概念上是可以有鏈中鏈中鏈(就是Layer2 → Layer3 → … LayerN),藉此可達到百萬級甚至更高的交易量,不過概念太美好,沒人知道怎麼實作。
隔年1月 V 提出了 Plasma 的第一個版本 Plasma MVP,是以 UTXOs 模型的設計,接著3月提出了第二個版本 Plasma Cash,同年(2018)Plasma 的提案數呈現著爆炸性的成長(絕大部分都是基於 Plasma MVP 跟 Plasma Cash 做改進)(如下圖),強大的社群力量,讓大部分關鍵的問題在同年年底都找到了解答。也為之後的 Optimistic Rollup 打下了基礎。
而較著名的開發團隊,除了 EF 出來的 Plasma Group 外,還有 OmiseGo 跟 Matic(現在的 Polygon)。
對 Plasma 技術有興趣的,可以參考這篇、這篇跟這篇
https://ethresear.ch/t/plasma-world-map-the-hitchhiker-s-guide-to-the-plasma/4333
Plasma 看似一切美好,但因為資料的可取得性(data availability)的問題,使得在使用者體驗上有點糟糕。
Plasma 的所有交易資料都在 Plasma 鏈上,而 Plasma 鏈的礦工(即operator)只需繳交 Merkle root 到 L1 的合約作公證就好。因此若 operator 作惡,在 Plasma 鏈上交易者,就需有能力證明 operator 作惡。
在 Plasma 設計中有”所有者”的概念(UTXOs 的設計中,收款者需要到拿送款者的轉出證明,才能動用這筆款項,轉出證明只有收款人會擁有),如果該所有者不關心自己的資產,就可能造成資產無效的結果(account-based 的設計,若你不理你的帳號,別人一樣可以轉帳到你的戶頭中)。因此每個交易者須有能力自行提出證明,無法委託第三方。
而要證明這件事,用戶需要把 Plasma 鏈上的交易都下載下來,才能證明 operator 做了一件不合法的行為,也才能產生詐欺證明(fraud proof)到 L1 上的合約來證明 operator 作惡。而這個送出的詐欺證明,必需要被確保可以安全地送到 L1 上的合約被執行,因此需要有一段挑戰期,讓使用者可以下載及驗證資料(或是網路塞車造成詐欺證明無法被合約執行)。
題外話,Eth 2.0 light client利用了 ECC (Error Correction Code)的原理,所以只需要部分資料就可以驗證正確性。
Rollups
同年(2018) 9月,在支線專注隱私性的開發的 Barry Whitehat 提出了 zk Rollup,隨後 V 也在以太坊研究員論壇發了一篇文章,解釋 zk Rollup 是如何運作的,並以On-chain scaling to potentially ~500 tx/sec through mass tx validation 為標題,也因此開啟了 Layer2 新的一頁。隔年(2019)三月,Matter Labs 獲得了 EF 的 grant 將 zk Rollup 產品化,也就是大家所知的 zkSync。
所謂的 rollups,一樣是在 Layer2 上做交易,不同的是 L1 上會記錄每一筆的交易紀錄。什麼!如果每一筆交易紀錄都上鏈,跟一般 L1 交易有什麼不同?想了解細節可以看這篇。簡單來說,在合約裡用了一顆樹來記錄每個帳號的狀態,樹的第幾片葉子(index)代表一個帳號地址,因此帳號就從20 bytes 的地址變成了幾個 bytes 的 index。以 ZK Rollups 來說,交易都是在 Layer2 被驗證過的,所以簽章資訊(65 bytes)也不用上鏈,Optimistic Rollups 會利用簽章聚合的技術,數百個簽章最終會被聚合成一個。因此,交易資料從原本100多 bytes 變成了10幾個 bytes。因為交易紀錄都 ”放上鏈“,資料可取得性也就不是問題了。
”放上鏈”指的是利用 calldata 的方式放在鏈上,並非一般認知的寫進合約裡。非0值的 calldata 每 byte 需要耗費 16 gas,而合約寫進一個 32bytes 的資料需要花 20,000(新增) or 5,000(修改) gas,相當於每個 byte 的成本為625 or 156 gas,約為 calldata 的 40 or 10倍。
同年(2019)六月 John Adler 在以太坊研究者論壇提出了Minimal Viable Merged Consensus,也就是大家熟知的 Optimistic Rollups 的原型,接著 Plasma Group 基於John Adler 的提案,提出了 OVM,從此 Layer2 上除了單純的轉帳外,還可以執行合約,也奠定了 Rollups 在 Layer2 的地位,開啟 rollups 的新世代。
StarkWare 團隊建立了可評估的數學模型,驗證了 calldata 的成本從64 gas 降到 16 gas並不會對鏈的安全造成危害,提出了 EIP-2028(在 Istanbul 上線),也是推動 rollups 可行性的重要一環。
Validity Proof v.s. Fraud Proof
Optimistic Rollups 跟 ZK Rollups 最近有很多文章在介紹跟比較,這邊就不贅述。這邊想聊的是資料的有效性,這篇文章解釋地很好,這裏擷取部分敘述。ZK Rollups 保證了上鏈的資料都是正確的,資料必須被驗證過是合法的(例如沒有被雙花)才會改變使用者的狀態(例如 balance),跟現在各個主鏈的設計是一樣的,稱作有效性證明(Validity Proof),這種設計假設大家都是壞人,要通過驗證才會相信你,確認資料是百分之百的正確聽起來很理所當然,但是背後要維護資料的正確性,需要相當高的成本。
Optimistic Rollups 則是相反,假設大家都是好人,送上鏈的交易都接受,當發現有人作弊,再靠檢舉機制來更正狀態,這稱作詐欺證明(Fraud Proof)。這樣的機制系統維護成本較低(L1 上不需要驗證每一筆資料的正確性),但需要多一個爪耙子的角色來維護系統的安全,也就多一個系統潛在的風險。而要確保爪耙子有足過的時間反應,就不能讓使用者即時地離開系統,這是 Optimistic Rollups 最被詬病的一點,提款要等七天(現在有第三方流動性提供者,使用者可以請第三方流動性提供者預付使用者的提款。使用者支付手續費來換取快速提款的服務,而流動性提供者則承擔資產鎖住七天的風險來賺取手續費。不過在 protocol 層以安全性為主要考量,還是需要較長的挑戰期)。
ZK Rollups 的實作上,也有數個小時的提款期,不過那是基於成本考量,而非安全性。
此外對照於 Plasma, rollups 的設計是 account-based,交易也都公開在鏈上,每個人都可以參與監督及提出詐欺證明。
ZK Rollups v.s. Optimistic Rollups
ZK Rollups 從資料的有效性來看勝過 Optimistic Rollups,離開系統時不需要額外的挑戰期,能即時提款離開系統,不過付出的代價就是交易延遲上鏈。因為產生 zkp 證明需要龐大的運算量,產生一次證明,大約需要10 ~ 20分鐘,所以說在 Layer2 上做一筆交易,10分鐘後你的交易才是有 L1 的安全性。
為了能盡早得知發出的交易是否完成,實作上會把完成的交易先丟上鏈,等zkp 證明產生後再上鏈驗證其正確性,若驗證成功,則交易視同有 L1 的安全性。
但是在通用性上,Optimistic Rollups 沒有複雜的 zkp 電路的限制,對於合約的支援度上更好,而且 zkp(SNAKRKs)在使用前需要一個盛大的啟用典禮(trusted setup ceremony)。
zkSync
zkSync 1.0 在去年(2020) 六月上線,因為不能執行合約,使用的專案並不多。同年的年初,Matter Labs 已經默默在開發一種新語言 Zinc,是可以在 zkSync 上開發合約的語言。年底,與 Defi 專案 Curve 合作,發表了在 zkSync上可以跑基本版的 Curve(兩幣交換)。今年(2021)三月,Matter Labs 發表了令人振奮的消息,zkSync 支援 EVM!只需要部分修改現有的合約就可以部署到 zkSync 上,測試網今年五月已經上線,主網預計8月上線。不過目前測試網上的交易量非常地少,相信在初期還是有相當多問題或是困難,以短期來看,Optimistic Rollups 陣營的速度跟支援度略勝一籌,不過個人相信長期會是 ZK Rollups 的世代(私心認為 lol),但最終還是由生態系的大小來決定贏家。
在 ZK 這個陣線上有延伸出不同的設計,為了加快速度及減少上鏈成本,StarkWare 提出了 Validium 的概念,資料不上鏈但使用 zkp 確保資料的正確性,像是 StarkWare 的 Volition 跟 Matter Labs 的 zkPorter 都是同樣概念的實作,不過不是本篇的重點,就不多解釋。
ETH 2
V在2020年10月提出了 A Rollup Centric Ethereum,rollup 也因此進到 Eth2 的規劃中。Eth2 的設計中 shard chain 是資料層,而在 phase 2 後才有執行層(也就是才能執行合約),V 的提案 除了讓 shard chain 當資料層外,也會內建 rollups 的邏輯。至於會採用哪種 rollups 目前沒看到結論,不過 V 本人是傾向 ZK Rollups。如果成真,那未來數百個 rollups 之間的溝通,將會是另一個挑戰 。
專案比較
ZK Rollups 有目前這幾個較知名的專案: zkSync(Matter Labs)、 Hermez(Iden3)、 Loopring(Loopring)、 StarkNet(StarkWare)跟 Aztec(Aztec)。
Optimistic Rollups 目前幾個專案 Optimism(Optimisim,前Plasma Group 成員)、 Arbitrum(Offchain Labs)、 Fuel(Fuel)。
這是目前幾大 rollups 的生態系(今年3月時的統計),比較值得一提的是,Uniswap 團隊因為社群的投票,也將會在 Arbitrum 上面部署,對於整個 Arbitrum 的生態,相信有很大的影響。
https://www.chainnews.com/articles/872971457746.htm
感謝 NIC Lin 及 Chih-Cheng Liang 的審查跟建議。若有錯誤或不同觀點,歡迎指教。
從 Rollups 來聊聊以太坊 Layer2 的演進 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有3部Youtube影片,追蹤數超過12萬的網紅一二三渡辺,也在其Youtube影片中提到,下ろしたての新車です、 さすが風早さん、 日本初のダチョウ料理専門店、 ライダーズカフェMACHⅢ 大阪府堺市美原区北余部469-6 TEL&FAX072-361ー3171 http://www.h4.dion.ne.jp/~maltuha/index.html GN125は12...
「gas gas技術車」的推薦目錄:
- 關於gas gas技術車 在 Taipei Ethereum Meetup Facebook 的精選貼文
- 關於gas gas技術車 在 文茜的世界周報 Sisy's World News Facebook 的最佳貼文
- 關於gas gas技術車 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於gas gas技術車 在 一二三渡辺 Youtube 的最讚貼文
- 關於gas gas技術車 在 一二三渡辺 Youtube 的精選貼文
- 關於gas gas技術車 在 一二三渡辺 Youtube 的最讚貼文
- 關於gas gas技術車 在 展億車業190 Racing - GAS GAS CONTACT 280新車出售 ... 的評價
- 關於gas gas技術車 在 GAS GAS 技術車都出來了,那我家的RALLY 也來亮相. 的評價
- 關於gas gas技術車 在 gas gas技術車的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於gas gas技術車 在 gas gas技術車的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於gas gas技術車 在 gas gas技術車的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於gas gas技術車 在 大型重型機車GasGas SM/ES 700 發表! - 重機板 的評價
gas gas技術車 在 文茜的世界周報 Sisy's World News Facebook 的最佳貼文
0707紐約時報
*【Eric Adams贏得紐約市長選舉民主黨初選】
在對11.8萬張缺席選票進行統計後,布魯克林區區長Eric Adams的領先優勢縮小至一個百分點(8400票),險勝Kathryn Garcia,拿下民主黨提名。目前尚不清楚其他參選人是否會對結果提出異議。若沒有人這樣做,Eric Adams將有可能成為這個美國最大城市的第二位黑人市長。
https://www.nytimes.com/2021/07/06/nyregion/eric-adams-wins.html
*【瓦礫中發現了更多遇難者遺體】
邁阿密公寓倒塌死亡人數升至36人,熱帶風暴“Elsa”加大搜尋難度。在剩餘樓體被拆除後,更多遇難者遺體被發現;救援人員沒有在廢墟中發現生命跡象。搜尋工作仍在繼續,官員們試圖確認在倒塌時大樓裡到底有多少人。
https://www.nytimes.com/live/2021/07/06/us/miami-building-collapse-updates
*【不斷上漲的石油和天然氣價格增加了美國的經濟挑戰】
專家表示,燃料價格上漲的時期可能很短暫。但如果消費者開始有感,這可能會給拜登和美聯準會帶來問題。美國油價基準西德克薩斯中質原油週二觸及每桶 76.98 美元,為六年來的最高水平,因為OPEC、俄羅斯及其盟友再次未能就增產達成一致。當天晚些時候價格有所緩和,但仍比 5 月中旬高出近 10 美元/桶。
https://www.nytimes.com/2021/07/06/business/economy/gas-oil-biden-economy.html
*【OPEC衝突的背後:海灣地區日益激烈的競爭】
阿拉伯聯合大公國希望增加石油產量,這讓它的競爭對手沙烏地阿拉伯很惱火。
https://www.nytimes.com/2021/07/06/business/Saudi-Arabia-UAE-OPEC.html
*【五角大樓取消了有爭議的100億美元技術合約】
美國國防部新聞發佈會上說,被稱為“JEDI”的聯合企業防禦基礎設施的合同“不再滿足其需求”,但它表示將就未來的雲計算合同向亞馬遜和微軟招標。五角大樓的聲明是為了安靜地結束多年的法律糾紛和技術索賠,許多人認為這是一個為聯邦政府提供雲計算服務的重要合約。
https://www.nytimes.com/2021/07/06/technology/JEDI-contract-cancelled.html
*【“不要為了參觀泰姬瑪哈陵而犧牲生命”:印度重新開放但恐懼蔓延】
印度從第二波疫情重創中逐漸復甦,並且開始逐步放鬆限制性措施,包括重新開放泰姬瑪哈陵等最著名的旅遊勝地。但對新一波感染可能來臨的擔憂給正在恢復正常的生活蒙上了一層陰影,該國14億人口中僅有 4%接種了疫苗。一名導遊說:不要為了參觀泰姬瑪哈陵而送了你的命。
https://www.nytimes.com/2021/07/06/world/asia/india-covid-taj-mahal.html
*【Covid-19實時更新】
#Delta 變種席捲全球,研究人員正在追踪疫苗對它的預防效果,並得到不同的答案。在英國,研究人員在 5 月份報告說,兩劑輝瑞-BioNTech 疫苗對預防 Delta 引起的症狀疾病的有效性為88%。蘇格蘭 6 月的一項研究得出結論,該疫苗對該變體的有效率為79%。加拿大的一組研究人員將其有效性定為87%。以色列衛生部宣布,輝瑞-BioNTech 疫苗對所有冠狀病毒感染的有效性為 64%,低於5 月份的約95%,之後 Delta 變種開始在以色列幾乎完全佔據主導地位。儘管這些數字的範圍似乎令人困惑,但疫苗專家表示,這是意料之中的,因為單一研究很難準確確定疫苗的有效性。
#美國冠狀病毒疫苗接種的步伐相對平穩,拜登總統週二呼籲雇主在工作場所設立診所,並為工人提供帶薪休假,這是重新推動數千萬仍未接種疫苗的美國人的一部分。拜登在簡短的評論中說:請現在接種疫苗,它有效,免費,從未如此簡單,它從未如此重要。
#上個月在德州參加一個宗教營地的超過 125 名兒童和成人的 Covid-19 檢測呈陽性,該聲明還警告說,可能還有更多人接觸過該病毒。
#美國移民拘留中心報告說,被拘留者冠狀病毒感染的人數大幅增加。公共衛生官員指出,很少有被拘留者接種了該病毒的疫苗,而日益擁擠的設施可能是爆發的熱區。
#以色列和韓國達成輝瑞疫苗置換協定。根據該協定,以色列將把70萬劑即將過期的疫苗送往有緊迫需求的韓國,韓國將在9月和10月送回同樣劑量。此前以色列與巴勒斯坦的一項類似協議宣告破產,後者認為該批疫苗過於接近保質期。據時報資料庫,以色列是世界上接種疫苗最快的國家之一,該國57%的人口已完全接種疫苗,韓國這一數字僅有10%。
#經濟困境開始出現在吉隆坡和其他馬來西亞城市的社區:人們家門外掛著白旗,表明他們需要食物或其他援助。根據《紐約時報》的數據,隨著馬來西亞冠狀病毒病例繼續上升,過去兩周平均每日感染率上升了 19% ,政府週六宣布收緊幾個地區的限制,包括吉隆坡和雪蘭莪州的大部分地區。根據《紐約時報》的數據,該國上週每天有 6,539 例病例,只有 8% 的人口接種了疫苗。
#希臘是一個嚴重依賴旅遊業的國家,該國於 5 月重新開放給外國遊客,該國的官員周二宣布對該國的酒吧和俱樂部實施更嚴格的規定,原因是新的Covid-19感染突然急劇增加。病例激增加劇了人們對在旅遊旺季爆發第四波疫情的擔憂。
#澳洲最大的兩項體育賽事大獎賽和機車大獎賽原定於秋季舉行,但當局宣布,將連續第二年取消。維多利亞省體育部長Martin Pakula發表聲明:令人非常失望的是,這些備受喜愛的賽事無法繼續進行,因為這就是大流行的現實,在我們獲得更高的疫苗接種率之前,我們無法恢復更多正常設置。
https://www.nytimes.com/live/2021/07/06/world/covid-19-vaccine-coronavirus-updates
*【塔利班在爭取勝利的過程中試圖美化自己的形象】
叛亂分子在佔領新的領土時,正試圖把自己重新包裝成有效的統治者。但有更多的證據表明它們是未經改革的。
https://www.nytimes.com/2021/07/06/world/asia/afghanistan-taliban-women.html
*【俄羅斯一架載有28人的客機墜毀,據悉無人生還】
當地媒體報導,這架飛機當時正在執飛遠東堪察加半島的區域航線,似乎是在大霧天氣,第二次試圖降落時,撞上了山崖。這是過去三年半以來俄羅斯發生的第三起重大民航事故。
https://www.nytimes.com/2021/07/06/world/europe/russia-plane.html
*【員警被刺傷暴力事件分裂香港】
警方週二稱逮捕了包括六名中學生在內的九名男女,稱其涉嫌製作炸彈、策劃恐襲。此前一名男子在七一當天刺傷員警後自殺,港府同樣如臨大敵。當局認為,這些“黑色暴力”突顯了北京實施新國安法的必要性,並暗示可能需要採取更嚴厲的措施。這也在民主運動內部重新引發了令人不安的辯論:在沒有一個合法和平抗議的威權環境下,民主運動是否可以寬恕乃至支持暴力。
https://www.nytimes.com/2021/07/06/world/asia/hong-kong-bomb-violence.html
*【對中國商業精英來說,不碰政治不再是可能選項】
自去年螞蟻集團上市被叫停以來,中國開始不斷加強對本土科技公司的監管。對滴滴的打擊可能會產生更深遠的影響。商界人士和企業家表示,這是北京發出的一個強烈信號,即不鼓勵中國科技公司在美國上市,尤其是在兩國為科技霸主地位而爭鬥之際。而對於商界人士來說,不管他們喜歡與否,中國現在的科技與政治已經密不可分。
https://www.nytimes.com/2021/07/06/technology/china-business-politics-didi.html
*【死在學校裡的孩子:原住民兒童遺骸揭開加拿大的種族傷疤】
幾代加拿大原住民家庭被迫將孩子送到寄宿學校,接受同化教育。這些學校中還廣泛存在著身體、性和情感虐待。新近發現的一批兒童遺骸令這段歷史再次成為輿論焦點。
https://cn.nytimes.com/world/20210706/indigenous-residential-schools-photos/
gas gas技術車 在 Taipei Ethereum Meetup Facebook 的最讚貼文
📜 [專欄新文章] [ZKP 讀書會] Tornado Cash
✍️ Jerry Ho
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Disclaimer: 本人與Tornade Cash專案及其員工無任何利益往來。
Tornado Cash是一個Ethereum上的原生隱私轉帳解決方案,使用zk-SNARK+Merkle Tree的路徑證明作為其核心隱私保護機制。
你知我知,Ethereum上的交易記錄是公開的,這使得任何一個人只要知道你的address,便可以在https://etherscan.io/ 之類的網站上查出有多少人和這個位置進行過交易,你做過什麼消費行為或是交易行為等。
或許這聽來不像是個問題,而想要隱藏自己的交易記錄甚至聽起來反而像是不法分子的銷贓行為。
但試想下開情境:因為我曾經使用ethereum捐款給一個政治不正確的專案/組織,而我在接受dd/kyc/reference check的時候因為我的ethereum address就寫在自己的blog上而被查了個底朝天,因而被拒絕入職/拒絕開戶/拒絕服務。
這並不是一個很遙遠的情境…
Tl;dr
解決交易隱私問題分為兩個層次,Assuming你的目的是讓自己的金錢流向無法被追蹤。
層次一:我的錢「丟進了」Tornado Cash的contract,我要如何在不使用與轉入時同一個address的情況下— 若是同一個address就沒有隱私可言了 — 取出我的錢?contract如何知道我存過錢,餘額還夠,所以現在我來領錢了他讓我領?
層次二:就算層次一成立,我的隱私如何達成?到底有多隱私?到底有多不隱私?
技術上來說(細節下文詳談),層次一使用zero-knowledge的set-membership proof來證明,透過預先在Merkle Tree中「登記」一個自己的entry/leaf,tornado cash稱為note,爾後在提款時提出該leaf之zk proof,來解決這個提款時的認證問題。
層次二則是所謂的藏樹於林。既然轉出和轉入無法被連結在一起,那麼只要使用Tornado Cash的人數夠多,總轉出和總轉入的交易總筆數就會太多,以致無法輕易重新關聯轉入與轉出地址背後的真人。
使用界面
https://tornado.cash/
當然你也可以直接和合約地址互動啦
上圖左方紅框為存入幣種與金額大小,右方紅框為該額度對應之帳戶內有多少顆「樹」。
記得藏樹於林嗎?右方的 Anonymity set 就是告訴你現在森林的規模有多大。數量一大,跑資料分析試圖重新關聯某筆特定存款到某筆特定提款就變得更為困難。
提款界面如上。
值得注意的是,提款時的以上兩個選項(Wallet/Relayer),是在目前Account Abstraction尚未實現時的一個折衷方案。
這裡有個死循環:既然我提款的時候需要支付gas,那麼我的gas從哪裡來?是不是勢必得從交易所或是其他帳號來?簡言之,若是無法直接新建立一個地址然後直接將其作為Tornado Cash提款用,達到的隱私強度就大打折扣。
Relayer就是針對這個問題所設計的。透過付出一些手續費來提供社群架設relayer node的誘因,提款時該筆轉帳的gas費用,便可以讓relayer node來負責先出。relayer node收到使用者的zk proof後將其轉交給tornado cash的合約,合約就會會將應有的relayer手續費與扣除手續費+gas後的款項分別轉給relayer與使用者。
社群治理
Tornado Cash天生是一個比較沒有銅臭味的專案 — 社群治理和funded的味道相當強烈。
透過預先設計好的proxy contract與staking/locking機制,任何一個Tornado Cash的使用者都能夠提出對合約實行的改動建議,並交由社群來投票決定是否要執行該改動。
技術細節可以參照此篇,同時Tornado Cash的第一輪社群治理提案也剛投票過關,回顧可參考此處之討論。
誘因設計
本文作者比較任性不在意錢,請移駕此處閱讀官方如何設計Anonymity Mining來確保以下兩點:
機制能讓使用者願意加入存錢,提供流動性同時也讓樹林變大,增加隱私程度。
產生TORN(ERC20 token)與領取TORN的機制,透過在原本的tornado cash上面再加一層,來避免TORN激勵層錯誤的設計導致下一層之隱私洩漏(激勵層出事不影響核心隱私之意)。
技術細節
首先本文不打算解釋何為zero-knowledge proof,請接受以下描述:
若有一NP statement分類上是satisfiability problem(例:merkle tree中的hash chaining H(H(H(a,b),c),d) ),則我們可以設計出一個arithmetic circuit來確保能夠有效率的產生proof, 有效率的驗證, 無法產生假的且能說服人的proof…且其電路驗證的statement是我們想要的,像是此例中的merkle tree opening.
存款
存款者透過送出C = H(k, r) 以及存入之數額給tornado cash的合約來進行存款的動作。其中k在之後會成為存款者領錢的憑證,稱為nullifier,r則是增加randomness而已,此二值需要記下。此時合約端會將這個C(commitment)丟入Merkle Tree上其中一個空的leaf,並更新root hash。存款者還需要記下自己的C對應之leaf index。
產生proof,用此proof作為提款憑證
用一段話來概括,若是我
知道Merkle Tree上某個leaf的commitment的preimage, 代表我能在電路中證明我知道H(k, r) 中的 k, r, 同時不洩漏k, r到底是多少(zk特性, magic)。
我知道該leaf至root的路徑上會經過哪些點,我也提供了一個可以讓電路驗證root hash的hash chaining過程,代表我知道他是從哪個leaf開始走的。因而,這證明了我提出的1.中的commitment確實屬於某顆公開的、大家都知道的merkle tree中的特定leaf(就是我之前存款對應到的leaf)。
就可以在不需要提供像是原本存款地址的簽章之類的驗證機制情況下,透過zk proof,亦能正確做permission control讓unlinkable的提款能夠成真。
另,讀者可以看到在proof中已然預設了relayer的存在。這使得上開所提到之「使用者提款, 拜託relayer執行=>relayer預付gas發起transaction,將內容送給tornado cash合約=>合約處理proof並將款項拆成兩份給relayer與使用者」這個行為得以成立,且relayer無法得知或假造proof內容。
提款流程
基本上在上方的產生證明都講過一次了,這邊就是pseudo code順過一次提款流程而已,大家自己看啊。
值得一提的是,使用者除了需要提出上一部分提到的證明之外,還需要將k的部分額外拿出來再做一次H(k),將值一併傳給contract。
這裡的設計哲學,簡單來講是這樣的:zero-knowledge太強了,強到就算證明了我知道H(k, r)的k跟r, 收到的驗證者並沒有辦法知道H(k)是什麼東西。為了讓同一筆款項不會被提領兩次,在提款流程中合約會將「每一筆成功提款中的H(k)」記錄下來,另外開個表存著。爾後若是其他提款交易中的H(k)與表中的重複了,這就代表有人試圖想要騙合約重複提款,自然該提款嘗試就不會成立。
洗錢失敗例
工程師都知道使用者從來不看說明書,看了可能也不會懂。
Koh Wei Jie分析了Kucoin的駭客事件。Kucoin的駭客使用Tornado Cash來洗錢,但忽略了Tornado Cash官方一直三令五申的使用需知,因而讓款項在進入Tornado Cash跑了一輪之後還是能夠被追蹤,哈哈UCCU。
簡單來說,hacker為了節省多次使用relayer的手續費,而將大多數的提領過程都變成直接提領到wallet。雖然該wallet的位置是全新產生的沒有gas,但是透過只讓第一次的提款使用relayer,hacker便能從第一次提款中取得手續費並分發給其他全新產生的wallet address。
那問題在哪?還要問?
要達到隱私需要保持藏樹於林原則,同時使用者不應自己破壞tornado cash幫你達成的address unlinkability。這位hacker因為愛省手續費,所以違背了後者;同時他因為太心急又愛省手續費,太快、分太少次提領、每次提領的數額又太大了,所以side-channel去給他做簡單的traffic analysis就能夠用虛無假設推出:「綜觀歷史上所有的存款位置與數額,扣掉駭客存錢的那些位址之後,我們還需要14個unique address/user共謀,才能有能力一次提這麼多錢。」
這看起來可能嗎?自然是不可能的。
所以這位駭客就是錯誤的沒有遵守藏樹於林的原則,才導致自己的金流重新被和帳號聯繫在一起。
提供一些延伸閱讀,圈子內的”名人”對這種不看說明書的使用者的看法:
tornado * Gavin Andresen
如何避免洗錢失敗
我自己的投影片,我自己翻譯:
打開你的VPN 打開你的TOR 打開你的無痕瀏覽器分頁 用上你全新的VM PC VPS instance 最好連data-link layer安全都顧到 產生全新的地址不要懶惰 自己跑一個fullnode 乖乖用relayer付手續費提款 領錢之後記得把C(k,r)的記錄刪掉 不要急一次存或提領大額 時間拉長數目減少…..
簡而言之:要設計相對安全但又讓使用者可以直覺上手的安全系統真的很他媽難 - 使用者永遠會想辦法抄近路,然後系統的security assumption就爆炸了。
結論上來講,你想要多安全取決於你在臺大水源校區的腳踏車平常都上幾個大鎖=想付出多少成本。只要不要學Kucoin Hacker那樣連鎖都不鎖車還是新的,大部分時間都沒啥問題 lol。
參考資料與文中出現過的連結,不按先後順序:
https://tornado.cash/Tornado.cash_whitepaper_v1.4.pdf
https://tornado.cash/audits/TornadoCash_cryptographic_review_ABDK.pdf
https://tornado.cash/audits/TornadoCash_circuit_audit_ABDK.pdf
https://torn.community/t/whats-next-for-tornado-cash-governance/250
https://weijiek.medium.com/deanonymising-the-kucoin-hacker-418fa5e9911d
https://tornado-cash.medium.com/tornado-cash-governance-proposal-a55c5c7d0703#2084
https://eips.ethereum.org/EIPS/eip-2938
http://gavinandresen.ninja/private-thoughts
[ZKP 讀書會] Tornado Cash was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
gas gas技術車 在 一二三渡辺 Youtube 的最讚貼文
下ろしたての新車です、
さすが風早さん、
日本初のダチョウ料理専門店、
ライダーズカフェMACHⅢ
大阪府堺市美原区北余部469-6
TEL&FAX072-361ー3171
http://www.h4.dion.ne.jp/~maltuha/index.html
GN125は125cc4ストローク単気筒エンジンを搭載し、1982年4月に発売された。
日本国内では全車GN125Eという名称で販売されていたが、これは発表当時の命名基準(キャストホイール仕様のモデルには末尾にEを付ける)に倣ったためであり、スポークホイールの設定があった海外輸出向けモデルには、GN125(末尾にEが付かない)が存在する。
なお後述する中国生産GN125は全車キャストホイールであるが、上記命名基準に倣わず独自の命名方法を行っている。
大幅な変更もなく18年間に渡り生産され続けてきたが、販売台数が減少したことに加え、最新の排ガス・騒音規制へ対応させることが難しくなったために、1999年日本国内での販売は終了になった。(海外向けへはその後も数年間生産を継続。)
現在では、スズキから技術供与を受けた中国のオートバイメーカー大長江集団が、中国・広東省にてGN125のOEM生産を行っており、並行輸入という形になるが日本国内でも購入することが可能である。
なお中国では中小のバイクメーカーがGN125の構造の簡易さに目を付け、スズキの許可なく模倣を行っており、数多くのコピー車が出回る事態になっている。
It is a new car of the lower setting up.
It is Mr./Ms. Kazahaya though it is made to do.
First ostrich dish specialty store and Raidarzcafe MACH? in Japan3171-..
Yo 469?6 TEL&FAX072?361.. V Osaka Prefecture Sakai City Mihara Ward
north .... http://www.h4.dion.ne.jp/~maltuha/index.html
GN125 installed 125cc4 stroke single cylinder engine, and was put on the market
in April, 1982.
This it is because it followed the nomenclatural type (E is put on the end in the model of the Cast wheel specification) at the announcement this time, and has GN125 (E doesn't adhere to the end) in the model for overseas export in which the spoke wheel is set though was sold by the name of all cars GN125E in Japan.
The above-mentioned naming standard is not followed and an original naming method is done though China production GN125 described later is all car Cast wheel.
There was not a great change and either it was produced for 18 years, and sales in Japan were ended in 1999 though it had continued because making it correspond to the latest exhaust gas and the noise regulation in addition to numbers of sales' having decreased had become difficult. (Afterwards, production for several years is continued for foreign countries. )
The motorcycle manufacturer Daicho inlet group in China that received the licensing of technology from the sea bass is producing OEM of GN125 in the Hiroshi east ministry in China Japan can buy it though it becomes shape of parallel import now.
The motorcycle manufacturer of the medium-small business marks down structural simplicity of GN125 in China, it imitates without the permission of the sea bass, and the situation where a lot of copy cars appear on the market.
![post-title](https://i.ytimg.com/vi/Qry-5HMBqoA/hqdefault.jpg)
gas gas技術車 在 一二三渡辺 Youtube 的精選貼文
いつもありがとうございます、
今年もよろしくね、
日本初のダチョウ料理専門店、
ライダーズカフェMACHⅢ
大阪府堺市美原区北余部469-6
TEL&FAX072-361ー3171
http://www.h4.dion.ne.jp/~maltuha/index.html
店休日のお知らせ、
毎月第一火曜日その翌日が店休日になります
ヤマハの600ccクラスのスポーツマシンとして1998年のインターモト98(第1回国際オートバイ・スクーター専門見本市)で発表され、その後年末に発売されている。YZF600Rサンダーキャットの実質的な後継車種にあたり、前年に発売されたYZF-R1の技術・設計思想を取り入れて製造された。
GSX-R1000(ジーエスエックスアールせん)は、スズキが製造しているスーパースポーツタイプのオートバイである。GSX-Rシリーズにおける旗艦として位置付けられ、現在も海外向けに生産されている。略称は「R1000」。
...this year.. my best regards.
First ostrich dish specialty store and Raidarzcafe MACH? in Japan
Osaka Prefecture Sakai City Mihara Ward north Yo 469?6
TEL&FAX
072?361ー3171
http://www.h4.dion.ne.jp/~maltuha/index.html
Information on shop holiday
The next day on the first Tuesday every month becomes shop holiday.
It is announced as a sports machine of 600cc class of Yamaha Motor Co., Ltd. with Intarmot 98(the 1st international motorcycle scooter special trade fair) in 1998, and it is put on the market at the end of the year afterwards. The technology and the architecture of YZF-R1 that had been put on the market to a substantial succession model of YZF600R Sanda Cat in around and the previous year were taken and it was manufactured.
It restyles it by the model in 2003, 2006, and 2008. The taillight of the LED method is turned on in the model in 2001, and an electronically controlled throttle is turned on in the model in 2006 and the advanced technology has been turned on positively respectively as a mass production two-wheeled vehicle with a rear frame made of magnesium as the first time adoption in the world etc. in the model in 2008. It became a champion machine in the super-sports world championship that had been held since 1997 in 2000, and it contributed to the market cultivation of 600cc class middle sports machine in European market.
GSX-R1000 (Gaeseccsarl cork) is a motorcycle of the super-sports type that the sea bass is manufacturing. It is located as a flagship in the GSX-R series, and it is being produced for foreign countries now. Abbreviation is "R1000".
Restyling that became the third times of the series in 2007 was received. The central improvement muffler was not adopted and made a both sides putting out muffler to correspond to automobile exhaust gas regulations of EU this time. As a result, power is improved to the engine up to 185 PS, and the keep almost does equivalence to the power weight ratio though the dry weight increases from 172kg and predecessors by 6kg as 0.93kg/PS and the predecessor. Moreover, mechanism (S-DMS) that was able to switch the engine output characteristic to three modes according to the running scene was installed. The model stood for the first time in the top of the commendation stand as GSX-R series by Kaga Yamatsshin/class of Tagaya Akiyoshi in the endurance road racing of 8 hours in Suzuka including 750cc regulation age in 2007 July 29, 2007,Moreover, Atsushi Watanabe acquired the series champion in JSB1000 of this age.
![post-title](https://i.ytimg.com/vi/v9FJlLeoRag/hqdefault.jpg)
gas gas技術車 在 一二三渡辺 Youtube 的最讚貼文
下ろしたての新車です、
さすが風早さん、
日本初のダチョウ料理専門店、
ライダーズカフェMACHⅢ
大阪府堺市美原区北余部469-6
TEL&FAX072-361ー3171
http://www.h4.dion.ne.jp/~maltuha/index.html
GN125は125cc4ストローク単気筒エンジンを搭載し、1982年4月に発売された。
日本国内では全車GN125Eという名称で販売されていたが、これは発表当時の命名基準(キャストホイール仕様のモデルには末尾にEを付ける)に倣ったためであり、スポークホイールの設定があった海外輸出向けモデルには、GN125(末尾にEが付かない)が存在する。
なお後述する中国生産GN125は全車キャストホイールであるが、上記命名基準に倣わず独自の命名方法を行っている。
大幅な変更もなく18年間に渡り生産され続けてきたが、販売台数が減少したことに加え、最新の排ガス・騒音規制へ対応させることが難しくなったために、1999年日本国内での販売は終了になった。(海外向けへはその後も数年間生産を継続。)
現在では、スズキから技術供与を受けた中国のオートバイメーカー大長江集団が、中国・広東省にてGN125のOEM生産を行っており、並行輸入という形になるが日本国内でも購入することが可能である。
なお中国では中小のバイクメーカーがGN125の構造の簡易さに目を付け、スズキの許可なく模倣を行っており、数多くのコピー車が出回る事態になっている。
It is a new car of the lower setting up.
It is Mr./Ms. Kazahaya though it is made to do.
First ostrich dish specialty store and Raidarzcafe MACH? in Japan3171-..
Yo 469?6 TEL&FAX072?361.. V Osaka Prefecture Sakai City Mihara Ward
north .... http://www.h4.dion.ne.jp/~maltuha/index.html
GN125 installed 125cc4 stroke single cylinder engine, and was put on the market
in April, 1982.
This it is because it followed the nomenclatural type (E is put on the end in the model of the Cast wheel specification) at the announcement this time, and has GN125 (E doesn't adhere to the end) in the model for overseas export in which the spoke wheel is set though was sold by the name of all cars GN125E in Japan.
The above-mentioned naming standard is not followed and an original naming method is done though China production GN125 described later is all car Cast wheel.
There was not a great change and either it was produced for 18 years, and sales in Japan were ended in 1999 though it had continued because making it correspond to the latest exhaust gas and the noise regulation in addition to numbers of sales' having decreased had become difficult. (Afterwards, production for several years is continued for foreign countries. )
The motorcycle manufacturer Daicho inlet group in China that received the licensing of technology from the sea bass is producing OEM of GN125 in the Hiroshi east ministry in China Japan can buy it though it becomes shape of parallel import now.
The motorcycle manufacturer of the medium-small business marks down structural simplicity of GN125 in China, it imitates without the permission of the sea bass, and the situation where a lot of copy cars appear on the market.
![post-title](https://i.ytimg.com/vi/RXDc6-IiAeI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAb9e56Z2vpcUDDJsbwN0AWbSLCAw)
gas gas技術車 在 GAS GAS 技術車都出來了,那我家的RALLY 也來亮相. 的推薦與評價
驗明正身,16年的老傢伙.Aprillia Rally 125左側面右側面正面小屁屁,因為是二行程的車,所以排氣管就裝個手套,以免噴油.十幾年前就有配備的到叉式前插. ... <看更多>
gas gas技術車 在 gas gas技術車的問題包括PTT、Dcard、Mobile01,我們都能 ... 的推薦與評價
朝陽科技大學環境工程與管理系楊錫賢所指導王勢雄的 新型冠狀病毒(COVID-19)疫情對公車空氣污染改善效益影響研究(2021),提出gas gas技術車關鍵因素是什麼,來自於新型 ... ... <看更多>
gas gas技術車 在 展億車業190 Racing - GAS GAS CONTACT 280新車出售 ... 的推薦與評價
GAS GAS CONTACT 280新車出售技術車加上林道車元素的好車!! 電啟動+腳啟動+大燈~國際6檔(前4速爬直角爬大坡~5~6檔高速林道~尾速100kmh) 車重68KG~油箱 ... ... <看更多>