トレジャリーのマルチシグ管理

コミュニティトレジャリー管理をマルチシグに移行することを検討したいと思います。管理方針のドラフトを記載します。決定後は、移行する資金額とともに投票にかけていきます。

TLDR

セキュリティ強化のため、すべてのコミュニティ資産をマルチシグウォレットに移して管理します。管理方法と署名者選定方法を議論していきます。

Whyマルチシグ?

マルチシグ運営の目的

目的は、トレジャリーの永続性を高めることと、トレジャリーの安全性を客観的に示すことの2点です。

現在DFGCでは、トレジャリーをEOAウォレットで保有しており、管理人が報酬分配やTXJPディストリビューション等のトランザクションを実行しています。これは、管理人がいつでもトレジャリーの全資産をラグる(持ち逃げする)ことができ、あるいは管理人に不慮の事故があったときにトレジャリーへのアクセスができなくなることを意味します。DFGCの行動原則にある「永続性」の観点から、この運用を見直し、永続性の高い形に移行したいと思います。

またマルチシグ運用に移行することで、ステークホルダーのみならずコミュニティ外部に対しても資産管理の安全性を示す効果もあります。

マルチシグのデメリット

一方でマルチシグにすることで以下のデメリットもあります。必要署名数をどうするか、一部の運用をEOAアドレスに残すかどうかは要検討です。

  1. 署名が集まらないとトランザクションが実行されず、投票結果が実行されない
  2. コミュニティファンド運用において、マルチシグではDeFiトランザクションが実行しにくいケースが発生しうる

:warning:コミュニティファンド運用では、相場急変時の緊急出動があることも考慮。

管理方法

運営資金とファンド運用を分ける。TXJPはCirculating Supplyに含まないものと、Distributeされたものとを区分する。

1. 運営資金 :Safe

単純な送金のみを行います。

  1. 用途:報酬配布、経費支払い、ラウンド資金
  2. TXJPはすべてSafeウォレットで管理する = Circulating Supplyに含まれない
  3. 報酬に必要なETH、USDC等のリザーブを入れる = 四半期単位
  4. ラウンドだけさらに別個に切り離すのもあり

2. コミュニティファンド :Safe or EOA

WalletConnectを使えるサービスに限定して利用、またはEOAのままとする。

  1. 用途:LP管理、Buy& Pool、Fuseリワード補充
  2. ファンド運用 Compound、Curve、Bribe投票など
  3. 運営リザーブへの資金補充

3. 開発トレジャリー

開発部で独自に予算執行できるものであり開発部内で決定する

参考:過去のトランザクション

今後必要になるトランザクションを予測するため、過去1年のコミュニティ運営で発生したトランザクションをサマりました。ファンド運用を除きます。

  • 定期報酬は一斉送信と個別送信ともカウント
  • 下記の理由でtx数はもう少し多くなると思います。
    • 開発部報酬は途中まで dev 側で行っていた
    • トレジャリー/dev間の資金移動は含めていない
    • 少額の送金(リレイヤー)は含めていない

署名者の選出(Safeオーナー)

Safeオーナー選出基準案は以下の通り。定期的に候補者を選出し、投票にかけて決定する。

  • ロールメンバー
    • 在籍期間(NFT保持期間とか)で重み付けをする
    • アクティブ率による重み付け(主観に頼りそう、GitPOAPか何かDiscordアプリで完結できるか)
  • TXJP保有率上位
    • 希望者のみ。アクティブ率はSnapshot投票で判断。

:warning:トランザクションを実行するオーナーがガス代を払うため、精算処理が必要になるかも。

参考:Safeオーナーの証明

  • 署名者の本人証明は当初はEOAアドレス指定。投票後にOwner変更のトランザクション。
  • ゆくゆくはNFT保有証明とする。選出投票の都度SafeオーナーNFTを発行。

参考:Safe Wrapper

  • 運営上、Safeを使い勝手をよくするサービスを利用する。
  • Parcel, CoinShift, Utopia 等からロールメンバーが選定する。
「いいね!」 1

大枠賛成です、細部を詰めてミニマムにスタートし、運転しながら適用範囲を広げていきましょう。

ふたつ質問を、
1、「ラウンド資金」とは、"フェーズ2寄付イベント"のTXJPのことで合っていますか?
2、「SafeオーナーNFT」この機能はドラフト上がっていますか?

safeが対応できるDappを明らかにする必要があります。
投資運用面では主にEOAになりそうな?

ちょうど新報酬テーブルの稼働と合わせて、マルチシグ鍵基準を仮作成しておいたので、必要鍵数の設定の参考にしましょう。

gas負担者(TX実行最終署名者)へは、四半期精算等でトレジャリーから補填すると良さそう。
若しくは、署名だけ集めて"基本はdefigeek.ethが最終署名する"とか?
実行可能段階で〇日(〇時間?)以上放置された場合(≒defigeek.eth(優先実行署名者)が何らかの理由で不動の場合。)は、第二第三の優先実行署名者を決めておいて、gas補填を散らばらせないことで効率化できるかもしれない。

  1. 「ラウンド資金」はその通りで"フェーズ2寄付イベント"のTXJPのことです。
  2. 「SafeオーナーNFT」はSafe Wrapperがトークンゲートを実装したらゆくゆくはですね。Safeオーナー登録まで自動化ができず。

Safe(WalletConnect)に対応するDeFiを明らかにするのは、マトリックスを作って in-app, WC, 不可、を:white_check_mark:付けしていくと分かりやすくなります。

ガスは、ひよこさんの言う後者の defigeek.eth +セカンダリーに集めるのに賛成です。

「いいね!」 1

@nekomatu
ディスコードにて「マルチシグ署名依頼」チャンネルを作って、署名状況の周知と適切なタイミングでの発効を管理したいです。

現行の「トレジャリー管理チャンネル」が活性していないので、チャンネル増やすのも雑多になるので名称変更で対応できそう。

チャンネルのルールとマルチシグwallet(safe)署名ガイドラインを公式docに完備もしたいです。

チャンネルルール提案:
1、署名が必要なTXのリンクをチャンネルに貼る。
2、各自署名実行
3、閾値到達署名実行者は、エクゼキュート依頼のためにコメントを「署名到達」と返信(←又は何某かの印を。)
4、エグゼキュート優先者は実行(その後実行済みTXリンクを掲示(チャンネル内返信で。さらに#財務月報用履歴チャンネルにも概要を添えて。))

↑こんな感じでどうでしょう?

ガイドラインはスクショ等と共にユーザーガイド的に。

宜しくお願い致します。

署名チャンネル、伸びそうですね。
一応、TXが作成されたらSafeオーナーにスマホ通知がいって署名を促されます。SafeアプリだとTXの内容説明がないので、DiscordにParcelのURLを付けるのがいいですね。

「いいね!」 1

必要署名数のドラフト

署名数基準

これも参考にして下さい~☆

悪用を許さないために、“「非署名者+1」の正直(正当)な署名者が必要である”
という考えに基づいています。

例えば4of5なら2人の正当者、4of7なら4人の正当者が存在すれば、悪用を阻止できる。ということです。
必要な正直(正当)な署名者を何人に設定するか?という視点でも構成可能かもしれません。
逆の見方は、署名者数=結託人数で悪用可能ということ。

safeの仕様について再確認させてください。

1、safeオーナーは=署名候補者で、新たな署名候補者を追加設定可能ですか?、又は必要署名数の設定の変更。
その場合その権限は特定のアカウントに限定可能ですか?
(誰でも署名アカウントを追加可能なら、自己サイナーを増やして登録することで悪用可能。)

もし初期設定者のみが管理権限を持つなら、BurnerWallet等の捨てアカウントで作って、管理鍵を捨ててしまうという手もあるかもしれない。(初期設定を一発でやる必要はあるけど。)

2、safeアカウントでsafeアカウントに署名できますか?
これはtake3315さんのアイディアで、
署名者をカテゴリ―分け(例えば一般、開発、モデレーター等)して各カテゴリーアカウントからの署名成立という構造にて、よりセキュリティと分散性の高いマルチシグ管理ができるかと。
(実際の導入には規模と管理コスト等の精査が必要ではあるかも。可能であれば後々の導入選択肢になるかと。)

署名者の追加・削除はマルチシグです。必要署名数の変更もマルチシグです。

マルチシグをマルチシグするのは聞いたことないですね。

「いいね!」 1

なるほど!
設定変更はマルチシグか。そりゃそうですよね :sweat_smile:
設定に関連するアカウント問題は解決、と。

マルチシグのマルチシグは、一旦放置で。

署名者候補をディスコで具体化していきましょうか。(ここでも良い。

ディスコでやりましょう!

出だしはロール以外のTXJPホルダー上位は控えめに1, 2名までにしませんか? ウォレット分散をしてないか一応チェックはしたものの、ディープに簡単に追う方法が確立できず。

下記でホルダーランキングと投票参加数が見えるのでアクティブ率は参考にできます(fTXJP-102ホルダーがカウントされてないけど。)
https://deepdao.io/organization/b6c253f6-6962-4a7c-8db3-b91dc2c2663f/organization_data/members

「いいね!」 1

それと署名者数は、運営資金とファンド運営でルールを分けましょう。

  • 運営資金は送金だけだから多くてもOK = ひよこさん案に賛成
  • ファンド運用は、approve, deposit, stake とか approve, lend, approve, borrow のように大人数でやっていると捌けない。緊急時も考えて少数が望ましい。
「いいね!」 1

1、金庫&単純送金用の強固なセキュリティ(署名者、署名比率高め)のsafe

2、事前の計画に基づき迅速なマルチ署名展開TXを用いるファンド運用(スマコン(≒Dapp)利用)のsafe

まずは、「1」を完成させ、稼働させてみるところから一歩目を踏み出しましょう☆

「いいね!」 1

safe.defigeek.eth

運用中