下記はDAOの利点を複雑さとリスクを最小限に抑えた形で取り入れ、ICOのモデルを改善するためのアイデアです。
アイデアは次のとおりです。DAICOコントラクトは、プロジェクトの資金調達を希望する単一の開発チームによって発行されます。 DAICO コントラクトは 「寄付モード(contribution mode)」から開始されます。このモード中は誰でもがDAICOコントラクトに対してETHを寄付し、対価としてトークンを受け取ることができます。これはキャップ付きセール、キャップなしセール、ダッチオークション形式、Interactive Coin Offering、KYCベースのパーソナルなキャップ付きセール、または他の、開発チームが選択するどのような仕組みでも良い。 寄付ができる期間が終わると、ETHを寄付することはできなくなり、そのタイミングでのトークンの残高が設定され、またこのタイミングからトークンが売買可能にすることができます。
寄付期間のあと、コントラクトはゼロで初期化された1つの主要なステート、tap (単位: wei / sec)を持ちます。 tapは開発チームがコントラクトから取り出せる1秒あたりの金額を決定します。これは以下の用に実装できます:
tap: num(wei / sec)
lastWithdrawn: timestamp # Make sure to initialize this to the contribution period end time
@public
def withdraw():
send(self.owner, (block.timestamp - self.lastWithdrawn) * self.tap)
self.lastWithdrawn = block.timestamp
@private
def modify_tap(new_tap: num(wei / sec)):
self.withdraw()
self.tap = new_tap
また、トークン保持者が議決に対して投票ができるメカニズムも存在します。議決には2つの種類があり、
tap
を上昇させる- DAICOコントラクトを永久的に破壊させる。(より正確には、コントラクトを「引き出しモード(withdraw mode)に切り替え、トークン保持者がコントラクトに残ったETHを引き出せる」)
いずれの議決でも定足数に達した参加数(例: 賛成 - 反対 - 棄権 ÷ 6 > 0)での多数決で決議されます。投票によってtapを下げることはできません。開発チームは自活的にtapを下げることができますが、一方的にtapを上げることはできません。
これらの仕組みによって、有権者は開発チームに合理的な、高すぎない月次予算を与え、開発チームがその予算で競争力を発揮できると証明できたときに、その予算を上げることができます。 それに、もし有権者が開発チームの進捗状況に非常に不満を持った場合、DAICOコントラクトを完全に閉鎖し、資金を取り戻すことができます。
あらゆる投票には 51% 攻撃、賄賂攻撃、その他ゲーム理論的な脆弱性が存在し、あらゆるICOにはチームが無責任になることや、単純な詐欺であるというリスクが存在します。しかしDAICOでは開発チームと投票者両方が実際の損害を被ることを了承させることで、それらのリスクを最小化することができます。
-
51%攻撃による悪意をもったtapの上昇
- 誠実な開発者ならtapを再び下げることができるし、tapが上がっていたとしても過剰に資金を要求しない
-
開発者が仕事をせず、資金を濫用する
- 投票者はこれを防ぐためにtapを早く、高く上げることをしなければよい。どうしてもそれが起こった場合は、コントラクトの自己破壊のための投票をすることができる
-
51%攻撃による悪意を持った自己破壊
- 誠実な開発者であれば、別のDAICOを立ち上げればよい
👍