建恩析 ZKByte:基於 ZK 和 BitVm 的位元幣 Layer2 拓展解決方案
提升速度、效率與安全性。
撰文:ZKBase(前 ZKSpace)
本設計的主要目標是為位元幣區塊鏈建立一個專門定製的Layer2網路。位元幣Layer2網路旨在滿足位元幣生態系統內日益增長的對更快速、更高效交易的需求。通過將某些交易處理任務從主網上釋放,旨在緩解位元幣主網的擁堵問題並大幅減少交易確認所需的時間。
鑑於位元幣虛擬機(VM)計算能力的固有限制,我們的設計使用了BitVM,它展示了在兩層網路之間執行智慧合約的潛力。通過利用挑戰和回應方案,BitVM展示了一種位元幣網路可編程性的新方法,打破了傳統的限制。
為了增強位元幣Layer2網路的安全性和完整性,該設計通過集成零知識證明(ZK)技術來實現狀態驗證。這些先進的加密技術允許位元幣主網可以有效驗證Layer2網路的狀態,而不會損害底層交易的隱私和機密性。零知識證明能夠驗證資訊而不洩露交易的具體細節,從而在保護隱私的同時確保Layer2網路的完整性。
總體而言,該設計旨在通過Layer2網路、採用BitVM進行智慧合約執行以及集成零知識證明技術進行狀態驗證,提高位元幣網路的可擴展性、速度和效率,同時保持底層交易的隱私和安全性。
0、架構
Layer2區塊鏈採用賬戶模型。整個區塊鏈的狀態是通過基於Halo2證明系統的zkVM來驗證的。Layer2狀態與位元幣主網路進行同步,並且所有Layer2狀態都由BitVM實現的零知識證明(ZKP)驗證器進行驗證。我們使用一個UTXO來追蹤所有的Layer2狀態。此外,我們還使用了一個可信的預言機來確保只有鎖定/解鎖腳本的輸入/輸出遵循Layer2協定。
1、Layer2委員會和可信預言機
由一組被選中的用戶組成的Layer2委員會負責監督Layer2網路的整體運行狀況。在出現協定問題時,委員會可以介入並停止協定,保護所有用戶的資產。可信預言機對於驗證輸入/輸出UTXO和腳本的正確性非常重要。
2、第一層到第二層
在位元幣網路上創建一個單一的Taproot地址來表示Layer2協定。當創建一個UTXO並將其轉移到Taproot地址時,相應的UTXO實際上是從位元幣主網“儲值”到Layer2。
協定或委員會賬戶專門處理所有“儲值”到Layer2的UTXO資產的“轉移”許可權。只有協定、可信預言機或委員會賬戶可以更改存入UTXO的所有權。可信預言機確保所有權轉移交易中包含正確的輸出UTXO腳本。
3、同步到位元幣主網的區塊
所有Layer2網路的狀態以區塊的形式同步到位元幣主網。對於一個區塊,應提供以下資訊:
· 一個特定區塊中的交易;
· 應用這些交易後的新賬戶狀態;
· 當前區塊狀態下的新UTXO(即使協定被破壞,也始終準備好);
· 位元幣網路的區塊資訊;
· 零知識證明(證明從上一個區塊到當前區塊的狀態轉換是正確的) 所有這些位元幣主網的狀態都記錄在一個UTXO交易歷史中。
3.1 關於證明的更多資訊
零知識證明被用來驗證Layer2的正確性。試圖證明以下內容:
· Layer2的區塊交易被正確簽名。
· 所有賬戶的新狀態被正確處理。
· 在位元幣主網的某個特定區塊之前的所有儲值交易被正確處理。
· 對於當前狀態,所有UTXO的分配都被正確創建。
3.2 區塊資訊挑戰
為了確保位元幣主網中指定的區塊資訊的正確性,我們使用了一個挑戰和回應方案。證明者可以通過指出在鎖定時間段內特定區塊之後還存在N個區塊來證明區塊資訊的準確性。
3.3 ZKP電路和BitVM增強
正如BitVM論文所示,ZKP驗證可以表示為一個二進制電路,可以由兩個參與方進行挑戰。通過預簽名交易,可以發送挑戰以獲取電路的位元承諾。如果揭示0和1,則挑戰成功。為了使用BitVM來驗證ZKP,需要注意以下兩點:
-
相同的二進制電路承諾只能使用一次。也就是說,如果相同的電路承諾用於多個區塊,可能會揭示一個位元承諾的0和1。
-
對於ZKP驗證,除了電路的滿足性外,還應檢查“公共輸入”。
為了處理這兩個缺點,對於Layer2的每個區塊,創建一個唯一的二進制電路,並且固定“公共輸入”。位元幣腳本用於處理公共輸入的哈希和檢查。正確的公共輸入位元承諾由可信的預言機進行檢查。就電路滿足性而言,委員會內的任何成員都有權利提出挑戰。
4、從Layer2到位元幣主網
資產可以通過兩種方式從Layer2移動到位元幣主網:提現(withdrawal)和強制提現(force-withdrawal)。提現交易是從Layer2觸發的,ZKP電路確保交易按預期進行處理。強制提現交易是從位元幣網路發起的。
4.1 提現和強制提現交易
從Layer2觸發的提現交易使用ZKP電路進行驗證,以確保正確處理交易。從位元幣網路發起的強制提現交易必須包含在下一個區塊狀態更新中。
4.2 UTXO分配
當一個區塊的狀態更新時,UTXO分配會進行同步。在協定停止的情況下,可以應用所有UTXO以確保所有用戶資產的安全。在這些UTXO中,只有提現或強制提現的UTXO由協定簽名。
5、Layer2退出
一旦ZKP未經驗證,委員會必須停止並退出協定。如果協定停止,委員會會為Layer2最新區塊狀態中指定的所有UTXO分配進行簽名。憑藉這些簽名,用戶可以從Layer2提現而不會有任何損失。