Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
2.9k
Other Decks in Research
See All in Research
Geospecific View Generation - Geometry-Context Aware High-resolution Ground View Inference from Satellite Views
satai
1
120
Whoisの闇
hirachan
3
150
PetiteSRE_GenAIEraにおけるインフラのあり方観察
ichichi
0
170
20240918 交通くまもとーく 未来の鉄道網編(こねくま)
trafficbrain
0
300
TransformerによるBEV Perception
hf149
1
510
新規のC言語処理系を実装することによる 組込みシステム研究にもたらす価値 についての考察
zacky1972
0
200
Global Evidence Summit (GES) 参加報告
daimoriwaki
0
180
Introducing Research Units of Matsuo-Iwasawa Laboratory
matsuolab
0
1.1k
ダイナミックプライシング とその実例
skmr2348
3
440
Leveraging LLMs for Unsupervised Dense Retriever Ranking (SIGIR 2024)
kampersanda
2
230
The many faces of AI and the role of mathematics
gpeyre
1
1.3k
Embers of Autoregression: Understanding Large Language Models Through the Problem They are Trained to Solve
eumesy
PRO
7
1.2k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
181
21k
Agile that works and the tools we love
rasmusluckow
327
21k
Into the Great Unknown - MozCon
thekraken
33
1.5k
How STYLIGHT went responsive
nonsquared
95
5.2k
Building an army of robots
kneath
302
43k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Visualization
eitanlees
145
15k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
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