iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
Web 3

Web3 X 公共財系列 第 12

Day 12 - Allo Protocol Repositories

  • 分享至 

  • xImage
  •  

基本介紹

Allo Protocol是一個開源協議,旨在有效且透明地分配資金池,並借鑒Gitcoin在平方募資方面多年的經驗。Gitcoin grants 已通過18輪資助,分配了超過5000萬美元。 Allo協議是一個技術先進的框架,專為去中心化的資金分配和分發而設計。通過同時使用Registry、Anchor和Allo合約,該協議建立了一個生態系統,用戶可以在其中安全地管理資金、定義策略並參與一個以透明度和以用戶為中心的治理為特徵的DeFi生態系統。

角色定義

Allo協議為參與者分配了不同的角色,以促進有效的治理:

  • Profile Owners 資料檔擁有者:使用Registry合約創建資料檔的用戶。這些資料檔是協議互動的核心,為用戶提供唯一的身份,並通過Anchor合約啟用安全的外部調用。

  • Allo Owner Allo擁有者:控制Allo合約的個人,具有管理資金恢復、費用參數和庫房地址的權限。他們的角色對確保協議的財務穩定至關重要。

  • Profile Member 資料檔成員:Registry資料檔的成員具有由資料檔擁有者定義的特定訪問權限。

  • Pool Creator 資金池創建者:可以使用自定義或複製策略創建新資金池的用戶。他們可以在創建資金池時指定元數據、策略地址、管理者和其他參數。

  • Pool Administrator 資金池管理員:對特定資金池具有管理控制權的用戶。他們可以管理資金池管理者,實現有效的資金池治理。

  • Pool Manager 資金池管理者:**管理特定資金池內資金的用戶。**他們可以根據資金池的策略分配和分發資金。

架構圖

https://ithelp.ithome.com.tw/upload/images/20230927/20103331sRoWptqMmg.png

由以下四大合約互動產生
Registry.sol ->  
提供註冊檔案管理的檔案註冊簿
Anchor.sol ->  可以接收資金/執行交易的合約。 / 使用profile的identityId和名稱生成。 /與Registry.sol中的資料檔相連。
Allo.sol-> 資金池的管理。/ 創建資金池需要來自Registry.sol 的資料檔。/  預期一個實現BaseStrategy.sol的策略 / 預期所有與BaseStrategy.sol上的函數的互動都通過Allo.sol進行
BaseStrategy.sol -> 實作IStrategy.sol的抽象合約。/ 每個策略都應該覆寫內部函數,以被認定為有效策略。/
可以具有對策略獨特的其他函數,這些函數可以直接在策略上調用

推測:
Registry - 註冊行為+協助Allo contract
Anchor - 實際$$交易的合約 + 相依於Registry資料
Allo - 資金池創立 + 驗證Registry + 使用Basestratey
BaseStrategy - 所有募資策略選項

文字解說

Registry合約是基礎性的,管理用戶資料檔的創建和證明,每個資料檔都在協議中代表一個唯一身份。
每當創建新資料檔或更新時,它都會觸發一個Anchor合約的部署。
Anchor合約作為一個隔離的飛地,允許資料檔所有者與外部地址進行安全互動,並通過Registry合約驗證所有權。
Allo合約是協議的核心,促使去中心化的資金分配和分發,處理手續費,管理資金庫,並定義訪問控制,從而建立了一個健壯的資金管理框架。

重要功能

資料檔的創建與管理:

Allo Protocol通過Registry合約開始創建和管理資料檔。用戶可以創建資料檔,每個資料檔都由一個唯一的資料檔ID識別。創建時可以自定義資料檔的元數據、證明地址和成員。Registry合約確保只有經過所有權驗證的授權用戶才能操作資料檔。

安全的外部互動:

Anchor合約為資料檔所有者和外部地址之間搭建了橋樑。它為資料檔所有者提供了一個安全的通道,以執行對外部合約的調用。資料檔所有者可以指定隨調用發送的本地代幣數量和數據。Anchor合約結合Registry合約來驗證資料檔的所有權,確保只有合法所有者才能訪問其功能。

先進的資金分配與分發:

協議的核心功能位於Allo合約中,該合約實現了去中心化和自動化的資金管理。在此合約中創建和管理資金池,每個資金池都有可自定義策略的資金分配和分發。用戶可以創建資金池,定義參數並設置策略,而管理員和經理控制資金的實際分配和分發。

手續費處理與資金庫管理:

Allo合約整合了一個全面的手續費管理系統。它允許合約所有者設置和更新手續費參數,控制資金庫地址並回收資金。這種費用結構確保了協議的可持續性和適應性。資金庫管理機制通過啟用受控資金回收來增強合約的健壯性。

Userflow

Allo contract:

  • 用戶使用各種策略創建資金池,可以提供自定義策略或克隆現有策略。
  • 資金池獲得資金,並根據策略特定邏輯將分配的資金分發給收款人。
  • 用戶可以執行批量操作,同時向多個收款人註冊和分配資金。
  • 該合約管理資金池管理者和管理員的所有權和角色。
  • 合約所有者可以管理如手續費百分比、基本費用和批准策略等參數。
  • 用戶可以從合約中恢復資金。

Registry Contract

  • 用戶可以創建資料檔並將它們與地址關聯,以建立角色和權限。
  • 資料檔可以定義創建資金池、管理資金池和其他相關任務的權限。
  • 資料檔可以與多個地址關聯,允許用戶之間的協作。
  • Allo合約會與Registry檢查,以驗證用戶是否具有執行特定操作的所需權限。

Anchor Contract

  • 經授權的用戶,如資金池管理者,可以使用execute函數向外部目標地址發起調用。
  • 這些調用可以包括將本地代幣和數據一起發送到目標地址。
  • 這些調用可以作為Allo生態系統內某些條件或事件的一部分而觸發。
  • 該合約通過允許基於預定

想法

預計先看Allo.sol 預期會有很多看不懂,接著看互動功能最少的 Anchor.sol、Registry.sol 再回頭看 Allo.sol 最後好好看不同 BaseStrategy.sol引用的Strategy(預計QF等策略就是集中在這邊) 最後再看一次整體架構


上一篇
Day 11 - 從Gitcoin github 開始
下一篇
Day 13 - Allo contract 初探
系列文
Web3 X 公共財30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言