作者:Kiara Bickers
來源:https://blog.blockstream.com/bitcoins-shielded-csv-protocol-explained/
今日的比特幣開發主要關注兩個方向:(1)擴容;(2)隱私性。常見的提議往往需要向比特幣的腳本系統添加新的操作碼和編程工具。但一種古老的想法也在迴歸:可以用更加隱私和點對點的方式來製作交易。當前,每一筆比特幣交易都會廣播到整個網絡中,用於驗證。這是防止重複花費的有效方法、但也意味著所暴露的信息超過了嚴格必要的程度。這導致了更重的計算負擔、更高的代價,以及難以擴大吞吐量的系統。但如果我們將交易處理的一部分交給受益方(client-side),這豈不是既提高了效率、又給比特幣的隱私性打開了一個新天地?
在我們最近出版的論文中,Blockstream 與 Alpen Labs、ZeroSync 一起,開發出了 “暗影 CSV 協議(Shielded CSV Protocol)”,是對受益方驗證協議(譯者注:有時也譯為 “客戶端驗證協議”)的提升,提供了完全隱私的交易。這一新協議是加強比特幣交易隱私性道路上的重大一步,而且,通過我們會在本文中介紹的額外措施,有望將交易吞吐量從每秒 11 筆提升到超過每秒 100 筆。
本文提供了對暗影 CSV 協議的概要介紹。暗影 CSV 協議的目標是提高一層區塊鏈的性能,同時保持跟比特幣的完全兼容。該協議由 Jonas Nick、Liam Eagen 和 Robin Linus 聯手打造。以下是暗影 CSV 協議背後的故事,以及何以它有潛力改變一切。
比特幣的過去和現在
重複花費問題:比特幣如何解決它
在比特幣誕生以前,人們普遍相信,創建一種沒有受信任中間人的可靠電子貨幣是不可能的。重複花費問題意味著,沒有辦法可以保證一個 “電子錢幣” 只能花費一次。這是阻礙電子貨幣成為現實的根本問題。
然後,在 2009 年,中本聰通過引入現在稱為 “區塊鏈” 的共享公開賬本解決了這個問題。比特幣不依賴於哪一個受信任的權威,而在共享公開賬本的基礎上形成一個由節點組成的網絡;每一筆交易都會在公開賬本中得到記錄和驗證。這個系統保證了每一個錢幣都是唯一的,所以你沒法一幣多花。
當我們要讓區塊鏈記錄一筆比特幣交易時,需要經歷這樣一個流程:
- 用戶的錢包軟件簽名這筆交易,並將它廣播到比特幣網絡中;
- 網絡中的全節點會驗證這筆交易,保證一切都沒有出問題;
- 然後這筆交易會被包含在一個區塊中,得到整個網絡的確認,然後永久記錄在共享的公開賬本中。
在驗證過程中,節點要確認被這筆交易花費的錢幣真的存在、檢查電子簽名的有效性,然後強制執行關鍵的抗重複花費規則 —— 確保每一個錢幣都只被花費了一次。賬本的唯一意義是確定交易的順序、明確地展示誰擁有某一個錢幣、這些錢幣什麼時候轉移了。
自比特幣誕生以來,開發者們一直在思考同一個問題:這真的是最好、最隱私的交易處理方式嗎?我們如何讓這個系統更精簡、更高效、更隱私呢?
隱私問題:公開的交易
比特幣最大的隱私性挑戰在於,比特幣的交易是公開在區塊鏈上的。中本聰從一開始就看出了這個問題。在原版的白皮書中,他提出了一種直截了當的解決方案:用戶應該為每一筆交易創建新的公鑰,避免重複使用舊地址。
這個點子使交易難以跟單個所有者關聯起來。然而,在現實中,使用今天可得的各種高級區塊鏈分析方法,保護隱私筆看起來要難得多。即使換用了新地址,對於有心跟蹤用戶活動的人來說,將交易關聯起來、識別特徵,都變得比以前更容易了。
作為應對,Zcash 這樣專注隱私的協議已經進入了取消交易細節的創新方法;它使用了更加高級的密碼學,比如 zk-SNARKs。但這些方法也有巨大的代價:交易的體積變得更大,讓節點的驗證過程耗費更多資源。
溝通問題:溝通是低效的
在比特幣的設計中,挖礦服務於兩個基礎目標:(1)交易的 “出版證明”;(2)為交易的順序提供共識。然而,比特幣系統也讓這兩個核心功能與不那麼核心的任務交織在一起:交易的驗證和貨幣發行。
縱觀所有區塊鏈系統,無論是比特幣、以太坊、Zcash 還是 Dogecoin,交易的流程看起來都是一樣個:錢包簽名交易、廣播到網絡中、全節點驗證它們。但是,直接驗證區塊鏈上的每一筆交易是必要的嗎?
我們認為有更好的方法。這個觀念可以追溯到一個於 2013 年提出的洞見,來自 Peter Todd 的 “受益方驗證(CSV)”。在這篇郵件組帖子中,他問道,“如果只有出版證明和對交易順序的共識,我們能創造一個成功的密碼貨幣系統嗎?令人驚訝,答案是肯定的!”
CSV 不要求每一個全節點都驗證每一筆交易,而讓你可以將錢幣以及關於其有效性的證據直接發送給接受方。這就意味著,即使一個區塊包含了一筆無效交易,全節點也不會拒絕它。結果?結果是更少的鏈上溝通,以及整體上更加高效的系統。
CSV:一種點對點的擴容方案
CSV 將交易驗證的負擔從網絡的每一個全節點處轉移給各個交易的接收者。這讓比特幣變得更加 點對點。設想如果我們不需要使用區塊鏈來存儲所有的交易細節。你不使用一筆詳細的、可能跟你的身犯關聯起來的交易,而僅僅使用一個簡單的 64 字節的廢止符(nullifier),它對於觀察區塊鏈上的公開記錄的任何人都毫無意義,只對發送者和接收者有意義。
如果每個節點都需要驗證每一筆交易,整個網絡自然就被拖慢了。將交易的驗證轉移給受益方,存儲在區塊鏈上的數據可以大大縮減 —— 從平均 560 重量單位(WU)變成 64 WU,縮小大約 8.75 倍,系統會變得更加精簡和高效。
這樣的可塑性協議給比特幣帶來了巨大的可擴展性能量,讓用戶可以處理額外 10 倍數量的交易 —— 大約是每秒 100 筆。
比特幣的今天
你可能會說,“說起來容易,做起來難。它到底是怎麼回事?有什麼取捨?”
暗影 CSV 如何讓比特幣變得更加隱私?
相比於透明的區塊鏈交易,CSV 協議一般都會提高隱私性,因為一些信息只轉移給了受益方。但是,在傳統的 CSV 協議,比如 RGB 和 Taproot Assets 中,一個錢幣一旦發送出去,發送方和接收方就都能看到完整的交易歷史。
而在暗影 CSV 協議中,我們使用類似於 zk-SNARK 的方案來 “壓縮” 證據,保證不洩露任何交易信息。這意味著,交易的歷史是隱藏的;相比於現有的協議,提供了更好的隱私性。
什麼是 “廢止符”,它如何防止重複花費?
在發起一筆支付的時候,發送者將交易直接傳給接收者。從交易推導處的一小段數據會被寫入區塊鏈,稱做 “廢止符”。
網絡中的全節點只需要對每一個暗影 CSV 廢止符執行一次 Schnorr 簽名驗證。接收者檢查錢幣的有效性,並確保廢止符放在了區塊鏈上,以阻止任何重複花費。
其它 CSV 協議也有廢止符,但在許多情況下,它們都是完整的比特幣交易,而不是我們這裡使用的派生出來的 “隨機泡沫”。暗影 CSV 廢止符使得區塊鏈分析更難執行。
暗影 CSV 是否需要軟分叉或者硬分叉?
暗影 CSV 不需要軟分叉和硬分叉。它自始至終與比特幣兼容。CSV 將交易的驗證從共識規則中脫離出來,獲得了靈活性,又不需要變更核心協議。因為比特幣可以存儲任意類型的數據,不同的 CSV 協議,比如 RGB、Taproot Assets,乃至多個版本的暗影 CSV,都可以一起存在,沒有衝突。
節點不必因為區塊包含了不熟悉的數據就拒絕它。相反,這些數據只需要在 “受益方” 處解析,如果這些數據與他們有關的話。通過卸除交易驗證的負載,區塊鏈的主要目標就化簡成了:以一致認可的順序確認交易數據、防止重複花費。
暗影 CSV 是否允許我交易比特幣?
暗影 CSV 會作為一個獨立的系統,使用比特幣區塊鏈來記錄廢止符以及防止 CSV 協議中的重複花費。但若要讓它直接與比特幣集成、實現無摩擦的交易,就依然需要一種橋接方案。當前的協議沒有深入探究 BitVM 的橋接方案是如何工作的,但這是一個開發和研究依然活躍的領域。
當前,通過使用一個受信任的第三方或者一個聯盟,橋接是可以實現的,但最終目標是一個完全免信任的系統。實現這個目標意味著要在比特幣和暗影 CSV 之間建立真實、無縫的互動,讓用戶能夠從加強的隱私性中獲益,而不需要放棄比特幣的免信任數據。這是一個複雜的挑戰,但也是可以重新定義比特幣如何擴展、如何保證交易安全性的挑戰。
閱讀完整的論文
暗影 CSV 協議提供了一種方法來提升比特幣的可擴展性和隱私性,有望為更加高效的點對點交易打開新天地。通過將交易驗證的負擔轉移給受益方,鏈上數據得以極大減少,因此更高的交易吞吐量和更強的隱私性得以實現 —— 所有這些都不需要軟分叉和硬分叉。如果你好奇這套協議的工作原理和其中的取捨,非常推薦你閱讀完整的論文:“暗影 CSV:隱私而高效的受益方驗證”。這可能是比特幣的未來。
譯者注:令人遺憾的是本文僅止步於介紹 CSV 的基本原理及其潛力,並未透徹地介紹暗影 CSV 協議及其與現有其它協議的區別。簡單來說,暗影 CSV 放棄了 RGB 和 Taproot Assets 所使用的 “一次性密封” 範式,轉而加入了一種賬戶。賬戶有自身的狀態,錢幣也有自身的狀態,交易意味著同步更新錢幣的狀態以及發送者賬戶的狀態,從而允許驗證廢止符只生效了一次。
儘管協議作者們加入了許多壓縮證據體積的方法(比如基於證明系統的證據壓縮,以及基於 Schnorr 簽名的非交互式聚合簽名),提高了協議的吞吐量,但由於其放棄了一次性密封範式,它與基於比特幣 UTXO 的擴容方案會面臨更多隔閡。




