Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DAICOを実装してみた
Search
syrohei
February 02, 2018
Research
0
11k
DAICOを実装してみた
communityはこちら =>
http://community.dri.network
syrohei
February 02, 2018
Tweet
Share
More Decks by syrohei
See All by syrohei
しっかり学ぶICOのベストプラックティス
syrohei
5
3.1k
Other Decks in Research
See All in Research
Learning to (Learn at Test Time): RNNs with Expressive Hidden States
kurita
1
280
MIRU2025 チュートリアル講演「ロボット基盤モデルの最前線」
haraduka
15
9.5k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
63
33k
Sat2City:3D City Generation from A Single Satellite Image with Cascaded Latent Diffusion
satai
3
220
一人称視点映像解析の最先端(MIRU2025 チュートリアル)
takumayagi
6
4.1k
Generative Models 2025
takahashihiroshi
25
14k
Combining Deep Learning and Street View Imagery to Map Smallholder Crop Types
satai
3
160
投資戦略202508
pw
0
570
2025/7/5 応用音響研究会招待講演@北海道大学
takuma_okamoto
1
230
Adaptive Experimental Design for Efficient Average Treatment Effect Estimation and Treatment Choice
masakat0
0
130
論文紹介:Not All Tokens Are What You Need for Pretraining
kosuken
0
200
論文読み会 SNLP2025 Learning Dynamics of LLM Finetuning. In: ICLR 2025
s_mizuki_nlp
0
300
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
It's Worth the Effort
3n
187
28k
Navigating Team Friction
lara
190
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Typedesign – Prime Four
hannesfritz
42
2.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Scaling GitHub
holman
463
140k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
GraphQLとの向き合い方2022年版
quramy
49
14k
Why Our Code Smells
bkeepers
PRO
340
57k
Transcript
DAICOを実装してみた 2018/2/2 千賀 優作 Yusaku Senga DRI代表
[email protected]
@syrohei
自己紹介・DRI (分散技術総合研究所) について 2 ミッション ブロックチェーンを始めとする 分散技術によって、あらゆる取引と 価値保存をスマートにする RICO オープンソースとして開発している
Decentralized ICOフレームワーク DRIは、トークンエコノミーの基盤となる技術を作る、DAO志向のエンジニア集団です
DAICOってなに? 参考: https://ethresear.ch/t/explanation-of-daicos/465 DAICO(本人曰く ディ・エィ・アイシーオー)は、1月6日にVitalikが提案した、分散型自立 組織(DAO) と Initial Coin Offering
(ICO)の両方の機能を持つICO手法 - Ethereum Research forumで発表された - forumの中でダントツでView数が多く、 コメントも活発にやり取りされている - “Better ICOs” がホットトピックに 3
投資家・開発チーム双方に、プロジェクトを前進させる責任を持たせる 開発チームが毎月利用できる資金量を、投票でコントロールする - 結果を出している良いチームなら、支援者は毎月利用できる資金量を増や して応援する - 開発をバックれたチームからは、資金を返金させる 結果的に、詐欺的なICOを実施できない環境を作り出す DAICOの目的 4
DAICOは主に2つのことができる - チームが毎月引き出せる資金量をコントロール - 調達したETHは、トークホールダーの投票で引き出し可能量 tap(wei/sec)を上げることが可能 - プロジェクトオーナーはtapを自主的に下げることが可能 - 投票により、プロジェクトの解散・残った資金の回収が可能
(withdraw modeに移行) DAICOの提案仕様 参考: https://gist.github.com/takashi/738779681e31c92cabbcd3c6ba87a7aa 5
あらゆる投票には、様々な攻撃が予想される。 - もし攻撃によってtapが上昇したら? - 良識あるチームなら、tapを下げて元に戻すはずだし、必要な分しか引 き出さないはず。 - 開発者が開発を停止・資金を濫用しだしたら? - 投票者はtapを上昇させない、もしくは投票によってプロジェクトを解散
させる - 51%攻撃によってプロジェクトが解散されたら? - もう一度DAICOコントラクトを作り直せばいい DAICOはセキュリティリスクを最小化するアイデア 参考: https://gist.github.com/takashi/738779681e31c92cabbcd3c6ba87a7aa 6
コンセプトは非常に面白い! しかし懸念も... - トークンホールダー達が結託すると意味がないのでは? - The DAOの時のように、期待するほど投票するインセンティブが ないのでは? → (有権者の無関心問題)
議論だけではどうにもならないし、僕たちはプログラマーなので、 まずは実装してみよう! 見た時の感想・・・ 7
2日後・・・・ 8
DAICOを実装! (たぶん世界初) RICOの機能として 利用できるようにしました! (英語と日本語で解説記事を 出しました) 参考: https://blog.dri.network/the-first-implementation-of-daico-4b90d9668471 9
資金を集めるコントラクトは、RICOそのままの機能 DAICOはまず、寄付を募るContribution modeからスタートする - 資金を集めるための方法一覧として説明されているもの - キャップ付きセール - キャップ無しセール -
ダッチオークション - KYC付きセール - etc... RICOはこれらをモジュールとして選択・カスタマイズして組み込める 10
RICOを使っているからこそ簡単にできること RICOは Proof of Donation (PoD)という設計を提案・採用 寄付をトリガーとし、複数のコントラクトを数珠つなぎに利用できる。モジュール はPoD Moduleと呼ばれ、柔軟にカスタマイズ可能。 例)
11 ETH SimpleICO DAICO MultisigWallet ETH DutchAuction DAICO MultisigWallet ETH [Pre-Sale] SimpleICO [Public-Sale] DutchAuction DAICO MultisigWallet
- 投票モデルは全て独自実装 - 投票のための最低保持トークン量を規定 複数アドレスによる投票には、大量のトークンロックが必要 - Proof of Stakeに近い意思決定モデル
ロックしたトークンの量によって実行権利が与えられる DAICOの投票機能 実装で意識したこと 12 プロポーザルの送信 Tokenを一定量ロックして投票 投票の方法 ↑ と同等の方法 議決権の数 格差是正のため、1アドレス当たり1票 可決票数の閾値 計算式: 賛成票 - 反対票 - 不投票/6 > 0
実装して見えた現状のDAICOの問題点 - ICOのトークン市場価格がICO時の取得価格を割ると、コミュニティは解散 するインセンティブが大きくなる (ETHを取得価格でコントラクトから引き出す) - tapを引き上げるコミュニティ投票のインセンティブがあまりない。 - Proposalを出し続けて他の人が提出できないように妨害できる (DDoSアタック)
- アドレスを増やして攻撃しようとする行為(シビルアタック) - 今回の実装では投票のための最低保持トークン量を規定 13
実装した結論 DAICOはまだ議論され始めたばかりなので、今のタイミングでの実戦投入はお 勧めできない。 とはいえ、改良を続ければ、間違いなくこれまでよりもフェアなICOが実現でき る。 また、DAICOを採用したICOプロジェクトはコミュニティーと密接に 関わり合うことができ、良い影響を受けるようになる 14
本日の会で共有したい、DAICOの改良アイデア - トークンのロック期間を投票時だけでなく、一定期間強制する (TendermintやCasper-FFGに近いアプローチ) - Proposalを出すアドレスに手数料を支払わせる (DDoS攻撃の防衛) - Slasherなどの懲罰モデルを作る 同一経路からのデポジットアドレスに対し、複数投票を禁止する。違反する
と没収する。 (投票インセンティブの強化とシビルアタックの防衛) - AddressにKYCを設ける(Fungibilityが損なわれる?) 15
まとめ DAICOは、コミュニティドリブンによる健全なICOの第一歩 - 業界からこういったものが提案され続けることで、ICOをバブルで 終わらせるのでなく、本当に世界を変える仕組みにするのだと思う - とは言え、まだまだ改善が必要で、今すぐ役立つものではない - 今回実装した“トークンによる投票モデル”はシビルアタックに弱く、具体的 な対策方法はまだ検討が必要
- RICOを使えば、DAICOやその他のICO手法を簡単に実装でき、 組み合わせることができる! 16
17 スマートコントラクトに興味がある方、 RICOやDAICOのコードで勉強しながら この熱いトピックとOSSにコミットしませんか? 一緒にICOの未来を作りましょう!
18 community.dri.network github.com/DRI-network/RICO DRI.network Come hang out :) Branch: daico-pod
Channel: #rico_ja
参考文献 - Solidityの仕様など - https://solidity.readthedocs.io/en/latest/ - Designing the “Fair ICO”
- https://docs.google.com/document/d/1hnMjwaaYUZGch-rprvAtqay9e_ivePCpezBY5ywrrK E/edit?usp=sharing - ERC-642 Fairer token crowdsale with proportional token allocation - https://github.com/ethereum/EIPs/issues/642 - RICOのgithub (DAICO branch) - https://github.com/DRI-network/RICO/tree/daico-pod - DAICOの最初の実装を公開しました - https://blog.dri.network/the-first-implementation-of-daico-ja-8c91918f167 19