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
2.9k
Other Decks in Research
See All in Research
言語と数理の交差点:テキストの埋め込みと構造のモデル化 (IBIS 2024 チュートリアル)
yukiar
3
730
Weekly AI Agents News!
masatoto
25
24k
Weekly AI Agents News! 10月号 プロダクト/ニュースのアーカイブ
masatoto
1
110
MIRU2024チュートリアル「様々なセンサやモダリティを用いたシーン状態推定」
miso2024
4
2.2k
20240918 交通くまもとーく 未来の鉄道網編(太田恒平)
trafficbrain
0
220
第 2 部 11 章「大規模言語モデルの研究開発から実運用に向けて」に向けて / MLOps Book Chapter 11
upura
0
380
RSJ2024「基盤モデルの実ロボット応用」チュートリアルA(河原塚)
haraduka
3
640
marukotenant01/tenant-20240826
marketing2024
0
510
ECCV2024読み会: Minimalist Vision with Freeform Pixels
hsmtta
1
140
2024/10/30 産総研AIセミナー発表資料
keisuke198619
1
330
論文紹介/Expectations over Unspoken Alternatives Predict Pragmatic Inferences
chemical_tree
1
260
Practical The One Person Framework
asonas
1
1.6k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
A Modern Web Designer's Workflow
chriscoyier
693
190k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
How to Ace a Technical Interview
jacobian
276
23k
Unsuck your backbone
ammeep
668
57k
Code Review Best Practice
trishagee
64
17k
Done Done
chrislema
181
16k
A designer walks into a library…
pauljervisheath
203
24k
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