pNouns⚡️投票システムの投票について考える(part 2)
前回に引き続き、pNouns⚡️投票システム構想について考えていきます。
前回の振り返り
前回提示したアイデアは以下の3案。
どれも一長一短ですが、個人的には、案Aは1回の投票にかかる経費が非現実的、案BはDAO純度が低くpNounsとして採用すべきでない、ということで案C推しでした。
DAO純度の高さ | 開発のしやすさ | ガス代の節約 | 判断時の考慮ポイント | |
---|---|---|---|---|
【案A】本家Nounsと同じ | ◎ | ○ | × | DAO純度は高いがお金も高い |
【案B】オフチェーン補助システム | × | △ | △ | DAO純度が低い。成長するSBTにお金がかかる |
【案C】レイヤー2補助システム | ○ | △ | ○ | レイヤー2を許容するか? |
ガスレス投票
これをpNouns⚡️DAOで提案したところ、 pajiさんから第4案のアイデアが。
gnosis safeはブロックチェーンのマルチシグアドレスを管理するシステムで、トランザクションを実行するために、複数アドレスの署名が必要となる仕組みです。この署名情報はオフチェーンに登録されるので、ガス代は不要です。
例えばトランザクションを実行するために3アドレスの署名が必要な場合は、以下のようなフローになります。
- アドレスAがトランザクションを登録(ガス代不要、アドレスAは署名済みとなる)
- アドレスBが署名(ガス代不要)
- アドレスCが署名(ガス代不要)
- 任意のアドレスがトランザクションを実行(ガス必要)
これをpNounsの投票に当てはめると、参加者は投票時に署名のみ実施するため、ガス代は不要です。投票された署名情報はオフチェーンに保存します。
投票期間終了後、誰かが投票結果をブロックチェーンに書き込むのですが、このタイミングのみガス代が必要となります。
図で書くとこんな感じ。
本家Nouns方式だと、投票者分のガス代(0.003ETH*50人だと0.15ETH≒3万円!!)が必要なのに対して、ガスレス方式だと、1回のガス代が多少UPして0.005ETHだったとしても≒1,000円で済みます。
ブリッジ投票
ガスレス投票はグッドアイデアだったんですが、このままだと成長するSBTを実現するための、投票者の投票実績をブロックチェーンに保存できないので、投票実績をPolygonに格納するようにしてみました。Polygonならガス代が気にならないレベルです。
投票結果をEthereumとPolygonの間でブリッジ(橋渡し)するので 『ブリッジ投票』 と名付けてみました。
- 投票者の投票結果はPolygonチェーンに格納する
- 投票期間終了後、賛成○票/反対○票という結果のみEthereumに登録する
- Polygon内の投票をポイント化しSBTを変化させる
(※ポイントは投票以外のDAO活動でも貯める構想があるが投票システムのスコープ外)
EthereumとPolygonの間のブリッジは、Openzeppelin DefenderのRelayというサービスでセキュアに効率化できそうです(edyさん情報ありがとうございます)。この場合、Meta transactionという仕組みでガス代を肩代わりできるため、投票者はMATICを準備する必要がありません。
いつまでも構想していても進まないので、一旦これで進めてみようかと思います。
エンジニア募集のお知らせ
この仕組みに興味のあるエンジニアさんを募集しています。
今のところ、報酬は確約できませんが、今後、この仕組みをNounsサブDAOの一つのモデルとして本家Nounsへ提案できないか検討していきます。
うまくいけば、Nounsからの報酬でDAO活実績を作れるかも!?
Discussion