首頁  >  文章  >  解讀Aleo最新演算法Synthesis Puzzle:引領Web3隱私革命

解讀Aleo最新演算法Synthesis Puzzle:引領Web3隱私革命

WBOY
WBOY原創
2024-06-29 03:52:071036瀏覽

Aleo 是一個專注於隱私保護的區塊鏈項目,透過零知識證明技術(ZKP)實現更高的隱私和可擴展性。 Aleo 的核心理念是讓使用者能夠在不洩露個人資料的前提下進行身份驗證和資料處理。本文主要介紹了 Aleo 的專案摘要及最新進展,對市場十分關心的 puzzle 演算法更新做了詳細的解讀。最新演算法搶先看;)TLDRAleo 網路每小時隨機產生一個ZK電路;礦工在這一小時內需要嘗試不同的nonce 作為電路的輸入,計算出witness(即電路中的所有變量,這個計算過程也叫synthesize) ,在對witness 求Merkle root 後,判斷是否符合挖礦難度要求。由於電路的隨機性,這個挖礦演算法對 GPU 並不友好,在計算加速方面存在很大的難度。融資背景Aleo 於2021 年完成了由a16z 領投的2800 萬美元的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 採用了 off-chain 的處理方式,交易首先在用戶設備上計算證明,然後僅將驗證結果上傳到區塊鏈。這種方式大大提高了交易的處理速度和系統的可擴展性,避免了類似以太坊的網路擁塞和高昂的費用。共識機制Aleo 引進了 AleoBFT,這是一種混合架構的共識機制,結合了驗證者的即時最終性和證明者的運算能力。 AleoBFT 不僅提高了網路的去中心化程度,還增強了效能和安全性。區塊快速最終性:AleoBFT 確保每個區塊在生成後立即確認,提升了節點穩定性和用戶體驗。去中心化保障:透過將區塊生產與 coinbase 生成分離,驗證者負責產生區塊,證明者進行證明計算,防止少數實體壟斷網路。激勵機制:驗證者和證明者共享區塊獎勵;鼓勵證明者透過質押代幣成為驗證者,從而提升網路的去中心化程度和運算能力。 Aleo 允許開發者創建不受 gas 限制的應用程序,因此尤其適用於機器學習等需要長時間運行的應用。目前進展Aleo 將於7月1日啟動激勵測試網,以下是一些重要的最新資訊:ARC-100 投票通過:ARC-100(「Aleo 開發人員和營運商的合規最佳實踐」提案,涉及合規方面、Aleo 網路上資金的鎖定和延時到帳等安全措施) 的投票已經結束,並獲得通過。團隊正在進行最終的調整。驗證者激勵計畫:該計畫將於 7 月 1 日啟動,旨在驗證新的 puzzle 機制。該計劃將運行至 7 月 15 日,期間將分配 100 萬 Aleo 積分作為獎勵。節點產生的積分百分比將決定其獎勵份額,每個驗證者至少需賺取 100 個代幣才能獲得獎勵。具體細則尚未敲定。初始供應和流通供應:初始供應量為 15 億代幣,初始流通供應量約為 10%(尚未最終確定)。這些代幣主要來自 Coinbase 任務(7,500 萬),將在前六個月內分發,同時包括質押、運行驗證者和驗證節點的獎勵。 Testnet Beta 重置:這是最後一次網路重置,完成後將不會新增功能,網路將與主網類似。重置是為了添加 ARC-41 和新 puzzle 功能。程式碼凍結:程式碼凍結已於一週前完成。驗證節點擴展計畫:初始驗證節點數量為 15 個,目標在年內增加到 50 個,並最終達到 500 個。成為委託者需要 1 萬代幣,成為驗證者需要 1,000 萬代幣,這些金額將隨著時間逐漸減少。

解读Aleo最新算法Synthesis Puzzle:引领Web3隐私革命

演算法更新解讀

Aleo 在近日公佈最新測試網消息的同時,更新了最新版本的puzzle 演算法,新演算法不再著重於zk proof 結果的生成,移除了MSM 和NTT (二者是zk 中生成proof 大量使用到的計算模組,先前測試網參與者以優化該演算法的效率來提升挖礦收益)的計算,著重於產生proof 之前的中間數據witness 的生成。我們在參考官方的 puzzle spec 和程式碼後,對最新演算法做一個簡單介紹。

共識流程

共識協議層面上,其流程中 prover 和 validator 分別負責產生計算結果 solution 和出塊並聚合打包 solution。流程如下:

  1. Prover 計算puzzle 建構出solutions 並廣播到網路中
  2. Validator 聚合交易和solution 為下一個新區塊,保證solution 數量不超出共識限制(MAX_SOLUTIONS)
  3. ution 的合法性需要校驗其Solution epoch_hash 符合validator 維護的latest_epoch_hash,其計算出的proof_target 符合網絡中valiator 維護的latest_proof_target,同時該block 中包含的solution 數量小於共識限制
  4. 的有效的solution 可以獲得共識演算法核心稱為Synthesis Puzzle,其核心是針對每個epoch 固定產生一個共同的EpochProgram,透過為輸入和EpochProgram 建構R1CS 證明電路,產生對應R1CS assignment (即大家提到的witness)並作為Merkle tree 的葉子節點,計算出所有葉子節點後產生Merkle root 並轉換為solution 的proof_target。建構Synthesis Puzzle 的詳細流程和規範如下:

每次puzzle 計算稱為nonce,它是由接收挖礦獎勵的地址、epoch_hash 和一個隨機數counter 構建,每次需要計算新的solution 時可以透過更新counter 取得新的nonce

每一個epoch 中,網絡中所有prover 需要計算的EpochProgram 是同一個,它由當前的epoch_hash 產生的隨機數從指令集中抽樣出來,抽樣邏輯是:
  1. 指令集是
  2. 指令集是
  3. 指令集是固定的,每一個指令(instruction)包含一個或多個計算操作,每一個指令有一個預設的權重和操作計數

    抽樣時根據當前epoch_hash 生成隨機數,根據該隨機數從指令集中結合權重獲取指令並順序排列,累積操作計數到97 之後停止抽樣
    • 將所有指令組成EpochProgram
    • 使用nonce 作為隨機數種子產生EpochProgram 的輸入
    聚合EpochProgramCS 對應的R1 和CS計算
  4. 計算出所有witness 後,這些witness 將被轉換為對應的merkle tree 的葉子節點序列,merkle tree 是一個深度為8 的8 元K-ary Merkle tree
  5. 計算merkle root 並將其轉換為solution的proof_target,判斷其是否滿足當前epoch 的latest_proof_target,若滿足則計算成功,提交上文中構建輸入需要的reward address、epoch_hash 和counter 作為solution 並廣播
  6. 同一個epoch 中可透過迭代輸入進行多次solution 計算
  7. 挖礦的變化和影響
  8. 解读Aleo最新算法Synthesis Puzzle:引领Web3隐私革命經過此次更新後,puzzle 由生成proof 轉變為生成witness,每一個epoch 內的所有solution 計算邏輯一致,但不同epoch 計算邏輯有較大區別。

  9. 從先前的測試網中我們可以發現許多最佳化手段著重於使用 GPU 對產生 proof 階段的 MSM 和 NTT 計算進行最佳化,從而提高挖礦效率。這次更新完全摒棄了這部分計算;同時由於生成 witness 的過程產生於執行一個跟隨 epoch 變化的 program,其中的指令將存在部分串行執行的依賴關係,所以實現並行化具有不小的挑戰。

以上是解讀Aleo最新演算法Synthesis Puzzle:引領Web3隱私革命的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn