Skip to content

Instantly share code, notes, and snippets.

@takashi
Last active January 23, 2018 09:07
Show Gist options
  • Save takashi/738779681e31c92cabbcd3c6ba87a7aa to your computer and use it in GitHub Desktop.
Save takashi/738779681e31c92cabbcd3c6ba87a7aa to your computer and use it in GitHub Desktop.
DAICOについて(邦訳)

下記はDAOの利点を複雑さとリスクを最小限に抑えた形で取り入れ、ICOのモデルを改善するためのアイデアです。

https://ethresear.ch/uploads/default/optimized/1X/d422da54d200e5dc8e119de3a65ec885a542b4c3_1_500x249.png

アイデアは次のとおりです。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を立ち上げればよい
@7jin16
Copy link

7jin16 commented Jan 23, 2018

👍

@takashi
Copy link
Author

takashi commented Jan 23, 2018

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment