トレジャリー管理をもう一歩進めるのに、Zodiac Realityモジュールを用いてSnapshotの投票をトリガーにしたSafeウォレットからの送金を試してみる。
Gnosis SafeのZodiacアプリでOracleを設定
SnapshotでSafeSnapプラグインを追加
Batch Transactionを手入力してETHを送金。普通にできる。けど、簡単すぎる。
✖️ Quorum関係なく実行をリクエストできてしまう。
✖️ TX実行の条件はマルチシグではなく投票。投票だけを信頼することになる。
Batch Transactionを手入力して、複数の宛先にETHとERC20を送金。普通にできる。
✖️ これを定期的に手入力するとなるとめんどい。
Batch TransactionをJSONで入力してパース。
○ 一括入力で1 Batchに入るのは楽。CSV→JSON変換して貼り付けで運用できそう。
✖️ だけどERC20の表示が関数名のみで、中身がぱっと見でわからない。全TXを展開するかJSONを見ないと正しいのかわからない。これ投票する人がみんなやるの? 見にくいからCSVの方を見てくださいと言ってもトラストすぎない?
マルチシグ署名者ではない最小閾値の1トークンだけを持ったEOAがプロポーザル。
✖️ 24hの待機時間をしのげばトレジャリーから盗めそう。
これはQuorum未達でも、投票結果がどうでも、TX実行をリクエストできるから、頑張ってコミュニティを騙せば盗める。
当分の間はSnapshotとマルチシグは別々で運用した方が安全なのでは。使いやすさではParcelとかCoinShiftの方が直感的で目に優しいし。Snapshot = トラストレスではなく、トラストレスな環境が揃ってからでもいいかな。
もしSnapshotでRealityモジュールを使うなら、下記を組み合わせることが条件になりそう。いくらか使いづらくなっちゃうけど。
トレジャリーハックする提案をコミュニティが検知できるよう監視の仕組みを持つ
Voting delay, Voting periodを長めに設定する、OracleのSet Outcome待機時間を長めに設定する、Bond金額を高くする
プロポーザル提出の閾値を可能な限り高くする
