分佈式證明生成

本文為機器翻譯
展示原文

基於以太坊等共識協議的分散式證明生成規範

概述

本規範定義了一個與以太坊(或任何共識協議)整合的分散式證明生成協議,引入了兩個不同的角色:

  • 驗證者:現有的以太坊驗證者,參與區塊共識並驗證提交的零知識證明。
  • 證明者:一個新角色,獨立於驗證者,負責使用GPU生成零知識證明。證明者需要與以太坊驗證者分開進行質押。

該系統旨在透過激勵性的多階段協議(T1–T5)確保及時、冗餘和可驗證的證明生成。

變數

// 數字需要調整,這只是一些初步想法。 PROVERS_PER_PROOF = 200 PROVERS_PER_AGGPROOF = 5 REWARD_FULL_PROOF_PROVER_T1 = 9000 // 如果在T1階段提交有效的完整證明,每個選定的證明者獲得的獎勵。 REWARD_FULL_PROOF_SENDER_T1 = 50 // 在T1階段提交有效完整證明的證明者獲得的額外獎勵。 REWARD_FULL_PROOF_VALIDATOR_T1 = 1000 REWARD_T1_VALIDATOR = 3 PENALTY_T1_PROVER = -1 REWARD_FULL_PROOF_PROVER_T2 = 8000 REWARD_FULL_PROOF_SENDER_T2 = 40 REWARD_FULL_PROOF_VALIDATOR_T2 = 900 REWARD_T2_VALIDATOR = 3 PENALTY_T2_PROVER = -3 REWARD_PROVER_REUSING_T3 = 40 REWARD_PROVER_REUSED_T3 = 40 REWARD_PROVER_T3 = 50 REWARD_VALIDATOR_T3 = 1 PENALTY_PROVER_T3 = -1 PENALTY_PROVER_NOTREUSED_T3 = -1 REWARD_PROVER_REUSING_T4 = 30 REWARD_PROVER_REUSED_T4 = 30 REWARD_PROVER_T4 = 40 REWARD_VALIDATOR_T4 = 1 PENALTY_PROVER_T4 = -2 PENALTY_PROVER_NOTREUSED_T4 = -1 REWARD_PROVER_REUSING_T5 = 20 REWARD_PROVER_REUSED_T5 = 20 REWARD_PROVER_T5 = 40 REWARD_VALIDATOR_T5 = 1 PENALTY_PROVER_T5 = -4 PENALTY_PROVER_NOTREUSED_T5 = -1 REWARD_AGG_PROOF_PROVER = 50 REWARD_AGG_PROOF_VALIDATOR = 3

證明者選擇和分配

  • 對於每個新區塊,使用如RANDAO等機制選擇一個確定性隨機的證明者子集
  • 選定的證明者數量取決於區塊的gas使用情況:
num_provers_selected = Min(PROVERS_PER_PROOF, availableProvers / 2)
  • 每個選定的證明者被隨機分配一組部分證明(子任務)生成,並具有冗餘因子:
num_airs_assigned = (num_of_partial_proofs / num_provers_selected) * redundancy_factor
  • 每個選定證明者的分配partial_proofs在計數和計劃階段後以隨機確定性方式確定。
  • 具有有效提交歷史的證明者可能在未來輪次中具有增加的(但有界的)被選擇機率
  • 一個證明者一次只能被分配到一個證明

多階段證明生成

T1:挑戰承諾階段

  • 所有選定的證明者必須:

    • 承諾簽名的挑戰(例如,他們負責構建的子AIR的多項式承諾)。
    • 可選提交完整證明。
  • 每個證明者只允許一筆交易。證明必須包括證明者的公鑰作為公共輸出,以防止證明被盜。

激勵:

  • 如果在T1階段提交有效的完整證明:

    • 每個選定的證明者獲得REWARD_FULL_PROOF_PROVER_T1
    • 驗證者獲得REWARD_FULL_PROOF_VALIDATOR_T1
    • 提交證明的證明者額外獲得REWARD_FULL_PROOF_SENDER_T1
  • 否則:

    • 驗證者獲得REWARD_T1_VALIDATOR × 有效承諾數
    • 未能承諾的證明者受到PENALTY_T1_PROVER

T2:部分證明提交階段

  • 所有選定的證明者必須:
    • 提交他們的部分證明,引用T1階段的挑戰。
    • 可選提交完整證明。

激勵:

  • 如果提交有效的完整證明:

    • 每個選定的證明者獲得REWARD_FULL_PROOF_PROVER_T2
    • 驗證者獲得REWARD_FULL_PROOF_VALIDATOR_T2
    • 提交證明的證明者額外獲得REWARD_FULL_PROOF_SENDER_T2
  • 否則:

    • 提交有效部分證明的證明者獲得REWARD_T2_PROVER
    • 提交失敗的證明者受到PENALTY_T2_PROVER
    • 驗證者獲得REWARD_T2_VALIDATOR × 有效部分證明數

T3:完整證明聚合階段

  • 任何證明者可以提交完整證明,包括總結重用部分證明的布隆雜湊

獎勵:

  • REWARD_PROVER_REUSING_T3 × 重用的部分證明
  • REWARD_PROVER_REUSED_T3 × 被他人重用的次數
  • PENALTY_PROVER_NOTREUSED_T3 × 未被他人重用的次數
  • 如果提交了多個有效的完整證明,上述獎勵將在它們之間平均
  • 提交證明的證明者獲得REWARD_PROVER_T3
  • 驗證者獲得REWARD_VALIDATOR_T3 × 有效完整證明數
  • 未參與的證明者受到PENALTY_PROVER_T3

T4 / T5:備用聚合階段

  • 如果T3未能完成有效證明:
    • 進入T4,如有需要則進入T5。
    • 使用相同或新的證明者集重試(如果T5失敗)。
    • 獎勵/懲罰與T3相同,但按定義的百分比調整(降低/提高)

多子區塊擴充套件(Gigagas)

  • 子區塊數量受系統上限和證明者可用性限制。
  • 每個子區塊分配一個證明者集。上述協議獨立應用於每個子區塊。
  • 選擇一組PROVERS_PER_AGGPROOF證明者將子區塊聚合成完整區塊。

在T1階段:

  • 選定的證明者可以提交區塊的聚合證明

激勵:

  • 每個聚合器證明者獲得REWARD_AGG_PROOF_PROVER
  • 包含聚合證明的每個驗證者獲得REWARD_AGG_PROOF_VALIDATOR

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論