Aleo是一個區塊鏈項目,專注於透過零知識證明技術(ZKP)保護用戶隱私和提高安全性。專案核心理念為在不洩露個人資訊的情況下實現身份驗證和資料處理。 Aleo已獲得數千萬美元的融資,並提供了用於開發零知識應用的程式語言和工具。項目也著重於隱私性、永續性和共識機制的提升。最新演算法更新將挖礦重心從生成證明轉變為生成見證,並在挖礦過程中帶來一些變化和挑戰。此外,Aleo將啟動激勵測試網絡,並實施驗證者激勵計劃。
Aleo 致力於保護區塊鏈專案的隱私,透過零知識證明技術(ZKP)實現更高的隱私和安全性。 Aleo 的核心理念是讓使用者能夠在不洩露個人資訊的前提下進行身份驗證和資料處理。
本文主要介紹Aleo的這個專案進展,並為演算法的改進做了詳細分析。
最新演算法搶先看;)TLDR
Aleo 網路每小時隨機產生一個ZK電路;礦工在這一小時內需要嘗試不同的nonce作為電路的輸入,計算出witness(即電路中的所有變量,這個計算過程也叫synthesize),對witness 求Merkle root後,判斷是否滿足挖礦難度要求。由於電路的隨機性,這個挖礦演算法對GPU並不友好,在計算加速方面存在很大的難度。
融資
Aleo 於2021 年完成由a16z 投下的2,800 萬美元的A 輪融資,並在2024 年完成2 輪B 輪融資,投資者包括Kora Management、SoftBank Vision Fund 2、Tiger Global、Sea Capital、Slow Ventures 和Samsung Next等。這輪融資使Aleo 的估值達到了14.5 億美元。
項目概要
隱私性
Aleo 的技術是零知識證明(ZKPs)技術,它使交易和智慧合約保持隱私,並為用戶提供交易細節,例如發送者和交易金額,這些都意味著隱私的來源。這種設計不僅保護了用戶隱私,還允許在必要時進行選擇性揭露,適合DeFi 應用程式開發。其主要組件包括:
Leo編譯語言:基於Rust語言改編,專門用於開發零知識應用(ZKApps),以滿足市場上開發者對密碼學知識的要求。
snarkVM 和snarkOS:snarkVM 允許鏈下執行計算,鏈上僅驗證計算結果,從而提升了效率。 snarkOS 確保資料和運算的安全,並允許無許可的功能執行。
zkCloud:提供安全、私密的鏈下運算環境,支援使用者、組織和DAO之間的程式設計互動。
Aleo 還提供了整合開發環境(IDE)和軟體開發工具包(SDK),支援開發人員快速編寫和發布應用程式;此外,開發人員可以在Aleo 的程式故障排除中部署應用程序,而無需依賴第三方,因此該公司的平台安全性得到了極大的保障。
永續性
Aleo 資金鏈下的處理方式,首先在用戶設備上計算證明,然後將驗證結果上傳到區塊鏈。為此,請大幅提高交易的速度和系統的可靠性,避免了類似以太坊網路的擁塞和高昂費用。
意識形態
Aleo 引入了AleoBFT,不同於混合架構的共識機制,它結合了驗證者的即時性和最終證明者的運算能力。 AleoBFT 不僅提高了網路的中心化程度,還增強了效能和安全性。
區塊快速最終性:AleoBFT 確保每個區塊在生成後立即得到確認,提升了節點的穩定性和評級。
去中心化保障:點選區塊生產與coinbase生成分離,驗證者負責產生區塊,證明者進行證明計算,防止少數實體被壟斷網路。
激勵機制:驗證者共享區塊獎勵;鼓勵證明者透過質押代幣成為驗證者,從而提升網路的中心化程度和運算能力。
Aleo 允許開發者使用gas,並可長時間運行應用程式。
目前進展
Aleo 將於7月1日啟動激勵測試網絡,以下是一些重要的最新資訊:
ARC-100 投票通過:ARC-100(「Aleo 金融服務機構和營運商的合規最佳做法」提案,涉及合規方面、Aleo 網路上的資金鎖定和延時到帳等安全措施)的投票已經結束,也可通過。
驗證者激勵計畫:將於7月1日啟動,旨在驗證新的難題機制。計劃將運行至7月15日,期間將分配100萬積分作為獎勵。月產生的積分百分比將決定其獎勵在每個驗證者身上,每個驗證者至少需付出100個代幣才能獲得獎勵。具體細則尚未敲定。
初始供應量和流通供應量:初始供應量為15 億代幣,初始流通供應量約為10%(尚未最終確定)。這些代幣主要來自Coinbase 任務(7,500 萬),將在前六個月內分發,同時包括質押、運行驗證和驗證節點的獎勵。
測試網Beta重置:這是最後一次網路重置,完成後將不會新增功能,網路將與主網類似。重置是為了添加ARC-41和新的拼圖功能。
代碼凍結:代碼凍結於一周前完成。
驗證節點擴展計畫:初始驗證節點數為15 個,目標在年內增加到50 個,並最終達到500 個。成為委託者需要1 萬代幣,成為驗證者需要1000 萬代幣,這些數量將隨著時間逐漸減少。
演算法更新
Aleo 在近日公佈最新測試網訊息的同時,更新了最新版本的謎題演算法,新演算法不再著重於zk proof 結果的生成,移除了MSM 和NTT (二者是zk 中生成證明,大量使用到的計算模組,在測試網參與者以優化該演算法的效率來提升挖礦收益)的計算,著重於產生證明錯誤的中間數據見證的生成。我們在參考官方的謎題規格和程式碼後,對最新演算法做一個簡單介紹。
的流程
共識協議表面上,其流程中證明者和驗證者分別負責產生計算結果解決方案和出塊並聚合打包解決方案。流程如下:
Prover 計算難題構建解決方案並廣播到解決方案
驗證者聚合交易和解決方案為下一個新區塊,保證解決方案數量不超出共識限制(MAX_SOLUTIONS)
解決方案的合法性需要驗證其epoch_hash 符合validator 維護的latest_epoch_hash,其計算出的proof_target 符合禁用valiator 維護的latest_proof_target,同時該區塊中包含的解決方案數量小於共識限制
有效的解決方案
合成拼圖
最新版的演算法核心稱為Synthesis Puzzle,其核心是針對每個epoch固定產生一個共同的EpochProgram,透過為輸入和EpochProgram構建R1CS證明電路,產生對應R1CS assignment(即大家提到的witness)並作為Merkle tree的葉子節點,計算出所有葉子節點後生成Merkle root 並轉化為solution的proof_target。建構Synthesis Puzzle的詳細流程和規範如下:
每次puzzle計算稱為nonce,它是由接收挖礦獎勵的地址、epoch_hash和一個隨機數計數器構建,每次需要計算新的解決方案時可以透過更新計數器獲得新的nonce
在每個epoch中,指定所有prover需要計算的EpochProgram是同一個,它由當前的epoch_hash產生的隨機數從指令中心化抽樣出來,抽樣邏輯是:
指令集是固定的,每個指令(指令)包含一個或多個計算操作,每個指令有一個預設的權重和操作計數抽樣時根據當前epoch_hash生成隨機數,根據該隨機數從指令中心化結合體重取得指令並順序排列,上漲操作計數到97之後停止抽樣共同指令組成EpochProgram
使用nonce 作為隨機數種子產生EpochProgram 的輸入
聚合EpochProgram 對應的R1CS 和輸入,進行見證(R1CS 分配) 計算
計算出所有witness後,這些witness將被轉換為對應的merkle tree的葉子節點序列,merkle tree的深度為8的8元K-ary Merkle tree
計算merkle root 並將其轉換為solution 的proof_target,判斷其是否滿足當前epoch 的latest_proof_target,若滿足則計算成功,提交上文中構建輸入需要的reward address、epoch_hash 和counter 作為solution 並廣播
同一個epoch中可透過迭代計數器的方式更新EpochProgram的輸入進行多次解計算
挖礦的變化和影響
經過此次更新後,謎題由生成證明由此生成見證,每一個epoch內的所有解計算邏輯一致但是不同epoch的計算邏輯有較大區別。
從預設情況下,在生成證明階段的MSM和NTT計算中我們可以發現很多優化手段著重於使用GPU對生成證明階段的MSM和NTT計算進行優化從而提高挖礦效率,此次更新完全摒棄了這部分計算;同時由於生成見證過程產生於執行一個跟隨epoch變化的程序,其中的指令將存在部分串行執行的依賴關係,所以實現這並不包括不小的挑戰。
資訊來源:0x資訊編譯自網際網路。版權歸作者Trustless Labs所有,未經許可,不得轉載