TON.Vote是由 Orbs 團隊開發的完全去中心化、基於鏈上的DAO治理平台,專門為TON生態系統打造。預計核心用戶將是TON DAO、項目和其他需要治理活動的TON相關社區。本白皮書將描述平台的設計和技術方面。

設計目標

● 去中心化基礎架構,允許所有終端用戶審計所有投票的完整性 ● 無燃料投票,以增加參與度(用戶通常不想花費幾分錢進行投票) ● 快照指定歷史區塊的代幣持有量,以防止投票操縱 ● 支持各種治理策略(NFT/jettons/委託/層級等) ● 受snapshot.org的啟發,他為EVM生態系統建立了一個非常成功的產品

存儲

該系統依賴於兩種類型的去中心化存儲來存儲其所有數據:

  1. TON智能合約-作為僅用於標題的合約持久狀態數據,存儲在TON主網上(更新此存儲需要燃氣)。
  2. IPFS-用於原始數據的較便宜的不可變存儲(保持實際投票)。一旦TON Storage正式推出,將完全遷移至TON Storage。

該系統在TON主網上充當次要邏輯“區塊鏈”。區塊每天關閉一次(UTC時間23:59:59)。有兩種類型的區塊(參見上圖):

● “項目N投票”第D天的區塊-一個JSON文件,其中包含DAO項目N社區在特定日期D提交的所有投票和提案。 ● “所有項目”第D天的區塊-包含所有現有DAO項目的列表,每個項目都指向其自己的最新“項目N投票”區塊,用於特定日期D更新。

TON智能合約指向最新的“所有項目”區塊(其狀態數據包含最新“所有項目”區塊的IPFS URL)。每天會寫入一個新的“所有項目”區塊。對於“項目N投票”,我們僅在有活動的日子(有新的投票或在其中提交了新的項目的日子)存儲新塊。塊包含:

● 提案-除了描述、投票持續時間(以天為單位)和可用答案(所有投票都是多項選擇)之外,提案還包括在TON主網上拍攝持有快照的邏輯時間戳記,以及相關主網鏈的狀態根。提案是用建議者的公鑰在鏈下簽署的。 ● 投票-除了所選答案和此投票屬於的提案外,一個投票還包括選民的TON主網代幣餘額的Merkle證明(與在提案中發布的狀態根匹配)。投票是由選民的公鑰在鏈下簽署的。 ● 提案結果-當提案投票期結束時,可以對投票進行統計,並可以發布獲勝結果。有關計算的具體信息,請參見下面的“統計投票”。提案結果是由操作者的公鑰在鏈下簽署的。

統計投票

對於某個提案的投票僅在有限的時間內開放(例如7天)。要統計投票,需要檢索屬於此提案的所有投票,例如從發布提案的時間開始連續閱讀7個“項目N投票”區塊。首先,通過檢查投票者的鏈下簽名來驗證每個投票。通過使用提案中出現的狀態根驗證包含在投票中的投票者的代幣餘額。

通過在餘額上運行獨立的“策略”(此術語來自snapshot.org)TypeScript類來進行投票統計。社區成員將能夠提交新的策略,這將使各種自定義治理模型成為可能-例如,按稀有度加權的NFT投票。

用戶的信任證明

終端用戶可以完全信任地確認投票結果的真實性:

● 用戶如何知道他們的投票沒有被審查?用戶的客戶端將檢查用戶的投票是否添加到了當天的不可變塊中。客戶端將從TON智能合約中檢索最新的“所有項目”區塊,從IPFS中讀取此區塊以查看最新的項目塊,並從IPFS中讀取此塊以查看該投票是否出現在其中。 ● 用戶如何審核提案的投票結果?任何用戶都可以執行“統計投票”過程,因為包含所有所需信息的塊都是不可變且公共的。要檢索投票,用戶客戶端將從TON智能合約中檢索最新的“所有項目”區塊,從IPFS中讀取此區塊以查看最新的項目塊,然後從此塊開始向後讀取,直到達到相關的日期區間。高級客戶端將包括此邏輯,以滿足懷疑的用戶,證明某個提案的投票結果確實是真實的。

● 用戶如何確保沒有人被偽裝?在統計投票時,會驗證投票者的鏈下簽名。這保證了沒有人可以偽裝真實的投票者並代表他們投票。

添加新塊