“ZKP+Bitcoin”會帶來什麼新的可能?
原文標題:《"ZKP+Bitcoin"會帶來什麼?》
作者:Kyle Liu, Bing Ventures投資經理
關鍵要點
- 零知識證明可以提高比特幣的隱私性,因為它可以隱藏交易的細節,如金額、地址、輸入和輸出等,同時保留交易的有效性和完整性,這樣就可以防止第三方追蹤以及分析用戶的交易活動。
- 零知識證明可以提高比特幣的可擴展性,因為它可以減少交易數據的大小和驗證時間。 例如,使用ZK-STARKs或其改進版本就可以將多個交易打包在一起,並使用零知識證明來驗證它們,從而節省空間和時間。
- 零知識證明可以提高比特幣的創新性,因為它可以支持更多的功能和應用。 例如使用ZK-SNARKs,就可以實現更多的邏輯和計算,在不暴露信息或增加開銷的情況下執行更複雜和更靈活的合約。
- 最終,零知識證明將使比特幣更加無需信任和去中心化,符合其核心價值觀。隨著技術的不斷發展和改進,比特幣和ZKP的潛力也將不斷得到挖掘。
越來越多的團隊在區塊鏈基礎設施和dApp中採用零知識證明技術。但是,大部分項目都是基於以太坊進行的開發。然而,比特幣與零知識證明實際上具有天然的結合基因,這一領域目前缺乏應有的關注。零知識證明技術與比特幣的結合將可能為比特幣網絡帶來哪些賦能?在本期Bing Ventures研究文章中,我們將從技術原理和應用前景角度對這一話題進行探索。
零知識證明(ZKP)是一種數學方法,允許一方(稱為證明者)向另一方(稱為驗證者)證明一個事實,而無需向驗證者提供任何有關證明的信息。這種方法對於保護隱私非常有效,因為證明者可以向驗證者提供證明,而不會洩露任何有關證明本身的信息。
比特幣可以與零知識證明具備天然結合的基因。比特幣是一種去中心化的虛擬貨幣,它使用區塊鏈來記錄交易,並且所有交易信息都是公開的。然而,這也意味著比特幣的交易信息可以被任何人查看,因此存在隱私洩露的風險。而零知識證明可以解決這個問題。
通過使用零知識證明,比特幣用戶可以將交易信息進行加密,並在不洩露信息的情況下證明其有效性,從而實現更高水平的隱私保護。零知識證明還可以提高比特幣的可擴展性。目前,比特幣的交易速度受到區塊鏈大小和網絡擁堵的限制,這限制了其在大規模商業應用中的使用。但是,通過使用零知識證明,比特幣用戶可以將大量交易信息進行批量處理,並將其證明的大小壓縮到極小,從而提高比特幣的可擴展性和效率。
背景和基本原理:
ZK-SNARKs和ZK-STARKs
ZK-SNARKs和ZK-STARKs都是零知識證明的變種,它們的共同點是在不洩露敏感信息的情況下證明某些數據或操作的有效性。但是,它們的實現方式、性能和應用範圍有所不同。
ZK-SNARKs(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)是一種基於橢圓曲線密碼學的零知識證明技術。它可以將一個複雜的計算問題轉換成一個簡單的證明,證明的大小非常小,且不需要交互。這意味著ZK-SNARKs可以在不洩露任何計算信息的情況下驗證計算的正確性。ZK-SNARKs的應用領域主要包括加密貨幣和隱私保護。
ZK-STARKs(Zero-Knowledge Scalable Transparent Argument of Knowledge)是一種新型的零知識證明技術,相對於ZK-SNARKs更加靈活和安全。ZK-STARKs的實現方式不依賴於橢圓曲線密碼學,而是使用了哈希函數和多項式插值技術。這使得ZK-STARKs更加可靠,因為它不依賴於不可預測的數學難題,而是依賴於哈希函數的不可逆性。另外,ZK-STARKs的證明大小比ZK-SNARKs更大,但是它的證明可驗證性更好,因此可以應用於更廣泛的領域,例如分佈式計算和物聯網安全等。
比特幣採用零知識證明的難點
以Zcash為例,Zcash 采用的是零知識證明技術中的 ZK-SNARKs,該技術可以用於隱藏交易的詳細信息,包括交易金額、參與者身份等,以實現更好的隱私保護。Zcash采用ZK-SNARKS的技術原理大致如下:
- Zcash中有兩種類型的地址:透明地址(t-address)和隱藏地址(z-address)。 透明地址類似於比特幣地址,它們在區塊鏈上公開交易金額和參與者。 隱藏地址則使用零知識證明來保護交易金額和參與者的隱私。
- 當一個用戶從一個隱藏地址發送資金到另一個隱藏地址時,他們需要生成一個ZK-SNARKS證明來表明他們擁有足夠的資金,並且沒有花費任何已經花費過的資金。 這個過程涉及到一些複雜的數學和密碼學操作,比如生成公開參數、計算哈希、構造算術電路等。
- 生成ZK-SNARKS證明需要大量的計算資源和時間,但驗證ZK-SNARKS證明卻非常快速和簡單。 驗證者只需要檢查交易是否符合區塊鏈的規則,而不需要知道任何關於交易金額或參與者的信息。
- 通過使用ZK-SNARKS,Zcash可以實現完全匿名和可驗證的交易,在保持區塊鏈安全性和去中心化性的同時,提高用戶隱私性和可用性。
但是,Zcash 采用的零知識證明技術也存在一些局限性。首先,Zcash 是基於 UTXO 的,這意味著交易信息並沒有被完全掩蓋,而只是被屏蔽了。因此,攻擊者可以通過分析交易信息的模式和流量來推斷出一些有用的信息。這也就導致了 Zcash 對於隱私保護的程度並不是完全可靠的。
其次,Zcash 是基於比特幣的獨立網絡,這使得它與其他應用程序結合變得更加困難。這也就限制了它在更廣泛的範圍內應用的可能性,進一步阻礙了它的發展。雖然 Zcash 實現了隱私交易,但實際使用率卻不高。其中一個原因是,隱私交易的成本比公開交易高得多,這也就限制了它的應用範圍。
ZK-STARKs的技術優勢
在比特幣上採用 ZK-SNARKs 技術確實可以實現交易的匿名性和隱私保護,但是該技術存在一些缺點,比如需要可信的設定和設備,需要大量的計算和存儲資源等。為了解決這些問題,一些新的零知識證明技術,如 ZK-STARKs 技術也出現了。
簡單來說,ZK-STARKs的過程包括以下幾個步驟:
- 證明者將他想要證明的計算轉換成一個多項式方程組,並用秘密信息作為變量。
- 證明者對這個方程組進行一系列的變換和簡化,得到一個更簡單的方程組。
- 證明者對這個簡化後的方程組進行採樣和編碼,得到一個低維度的向量。
- 證明者對這個向量進行哈希和簽名,得到一個短小的字符串,作為他的證明。
- 驗證者收到這個字符串後,可以通過一些公開的參數和算法來檢驗它是否正確,而不需要知道秘密信息或原始計算。
相較於 ZK-SNARKs 技術,ZK-STARKs 技術具有以下優勢:
- ZK-STARKs 技術不需要可信的設定,也就是說,不需要信任某個特定的生成器,這提高了技術的安全性。
- ZK-STARKs 技術因為需要的計算和存儲資源更少,因此可以更好地適應輕量級設備和更廣泛的應用場景。這是因為它相比ZK-SNARKs中需要進行複雜的加密和解密運算的過程,其證明生成過程更加高效。此外,ZK-STARKs技術還可以更好地利用並行計算和分佈式計算的能力,從而在某些情況下可以更高效地處理計算任務。
- ZK-STARKs 技術還可以支持更多的算法和操作,比如哈希函數、多項式運算等,這也為技術的拓展和升級提供了更多的可能性。
比特幣和ZK-STARKs的結合
EC-STARKs技術
STARKs技術是一種新型的密碼學證明技術,可以通過傳遞數據與第三方進行通信,同時保持數據的隱私性。這種技術可以將計算和存儲驗證數據轉移到鏈下,從而提高了可擴展性。相比於ZK-SNARKs技術,STARKs技術更為先進,能夠抵抗來自量子計算機的攻擊。
EC-STARKs技術是STARKs技術的下一代,旨在通過用橢圓曲線替換哈希函數來提高比特幣的可擴展性和安全性。這項技術可以讓已經存在於以太坊上的可擴展性解決方案與比特幣兼容。使用EC-STARKs技術,可以在鏈下運行比特幣協議,並將證明存儲在STARK中。
簡而言之,比特幣可以在STARK中被仿真,從而允許使用相同的橢圓曲線密鑰建立基於比特幣的代幣的高度複雜的協議。EC-STARKs技術的使用可以在比特幣的鏈下協議中運行,同時保持證明在STARK中。這種方法不僅可以提高比特幣的可擴展性,而且可以在比特幣上建立高度複雜的協議,從而具有更高的隱私性。
這項技術將比特幣的可擴展性和隱私性提高到了一个全新的水平,從而讓比特幣成為了一個更好的平台。這樣,開發者可以在比特幣上創建更加複雜的應用程序,使得比特幣在加密貨幣市場上的地位更加穩固。
ZK-STARKs在比特幣中的應用前景
ZK-STARKs的應用也符合比特幣的保守設計哲學,不需要可信任的集合,而是使用哈希函數、Merkle樹和多項式等技術,提高了比特幣的透明度和安全性。EC-STARKS在比特幣上的一個優勢是它可以提高比特幣的隱私性,因為它不需要公開交易的細節。 另一個優勢是它可以減少比特幣的存儲需求,因為它可以將大量的數據壓縮成一個小的證明。 EC-STARKS在比特幣上的一個挑戰是它需要更多的計算資源,因為它需要執行複雜的數學運算。 另一個挑戰是它需要更多的協調和標準化,因為它需要與比特幣的現有協議和基礎設施兼容。
從技術實現的角度來看,ZK-STARKs的應用可以分為輕節點、全節點和驗證方式等方面。輕節點可以利用stark證明區塊頭狀態,實現快速的同步。全節點可以通過UTXO狀態實現有效性證明,並使用utreexo技術,用新格式代表UTXO狀態,從而不需要查看整個UTXO狀態。驗證方式方面,只需給定utreexo根+最終狀態,就能夠開始驗證傳入的區塊。
此外,ZK-STARKs的應用還有很多潛在的方向。例如,與Taro協議相結合,將比特幣打造成更加通用的資產,使得比特幣的應用場景得到進一步擴展,通過將ZK-STARKs與TARO結合,可以提高TARO協議的可擴展性,使其能夠處理更多的交易並支持更大規模的應用,這將為TARO協議的多鏈部署打開大門。此外,比特幣的隱私性一直是個問題,而ZK-STARKs技術的應用可以大幅提高比特幣的隱私性。通過使用ZK-STARKs技術,可以將整個交易歷史記錄壓縮到一個單一的交易中,從而有效地隱藏用戶的交易信息。
未來的看點
更進一步來說,ZK-STARKs可以用於比特幣交易的驗證,包括比特幣交易的序列化、雙SHA計算、secp256k1操作等。這些操作是比特幣交易驗證的核心,使用ZK-STARKs可以確保比特幣交易的驗證過程高度安全和可靠。ZK-STARKs還可以用於驗證比特幣的加速Cairo內置功能。Cairo是一種高效的零知識證明系統,與比特幣的加速Cairo內置功能結合使用,可以實現高效的比特幣交易驗證和安全保障。
ZK-STARKs還可以用於實現Taro原語和資產TLV序列化,以及MS-SMT實現和驗證等。這些操作可以有效地保護比特幣交易的隱私和安全性,進一步提高比特幣交易的可信度和可靠性。閃電網絡作為比特幣交易的二層解決方案,可以通過結合ZK-STARKs技術實現更高效、更安全的比特幣交易。利用ZK-STARKs技術,可以在不犧牲交易隱私的前提下,快速驗證閃電網絡上的比特幣交易。
我們看到越來越多的團隊在區塊鏈基礎設施和dApp中採用零知識證明技術。其中一些新方案可能有可能加速零知識證明在區塊鏈空間中的應用,並以更好的方式幫助隱私和可擴展性。然而,大部分項目都是基於以太坊進行開發,而比特幣則在零知識證明領域缺乏應有的關注。更糟糕的是,工程實踐在某種意義上並沒有趕上學術成就。我們需要在這方面進行更多的實施和探索,同時也應該對該領域進行更多的關注和支持。