The AbyssというアカンすぎるICOについてコードを読んだ結果
要約:DAICOとして機能するシロモノではありません。投資を考えている方は考え直してください。記事内で内容を解説しています。
“The world’s first DAICO” を冠したThe Abyssというプロジェクトが、DAICOを用いてICOをすると表明しています。
そして、彼らの言う世界初のDAICOコードがGithubで公開されています。
DAICOは、Ethereum開発者のVitalik氏によって最近公表されたアイデアです。DAICOが目指すのは、スマートコントラクトを利用して資金利用に制約を付けることで、詐欺的なICOを撲滅することです。
The Abyssの言うとおり、もしこれが実装されたとなれば素晴らしいことです。
が、公開されているコードを読んだところ、かなり壊滅的な実装であることが分かりました。
というか、DAICOの理念の中で、自分達に都合の悪い部分を故意に無視しているようにすら見えます(それをしながらDAICOを名乗るのはフェアでは無いですよね)。
また、コントラクトが攻撃され、ファンドに何らかの損害を追うリスクもあります。
あくまで個人の一意見でしかありませんが、これに投資した結果、同じ日本人が損をするところを見たく無いので、警鐘を鳴らす意味でこの記事を公開します。
さて、以下、コードを読んだ感想です。
読むのがだるい人はすっ飛ばして最後のまとめだけ読んでください。
アビスと言う名前繋がりで、テイルズ オブ ジ アビス(面白かったよね)主題歌「カルマ」を聴きながらご覧ください。
1/ Oracleと称するセンタライズ要素がある
初っ端からやばい要素です。
DAICOには、トークン保持者の投票によって、ICOが詐欺だと判明した際に資金を引き出す(リファンド)という重要な機能があります。
しかし、The Abyssのコードではこれを妨害しようとしているとしか思えない仕様が入っています。
- Oracleと呼ばれるアドレスしかリファンドモードのプロポーザルを出せない
- オーナーしかOracle addressを設定できない。そしてオラクルの決定プロセスが不透明
- つまり、Oracleをオーナーの身内で固めたら一生リファンドされない。DAICOとはなんだったのか・・・????
Oracleを入れた理由について、The Abyss Founderがこのインタビューで語っています
> Having added that stipulation, though, Boyko-Romanovsky said, “I am not afraid that my project will be closed because of refund or something else.”
とか言ってますが、まさかのDAICOの価値完全否定では・・・
DAICOはリファンドによって詐欺ICOを撲滅することがウリですが、これでは実質的にリファンドさせないと言っているのと同じです(トラストレスって、知ってるか??)
正直、これを入れている時点でDAICOとしての価値はないです。
—-
2/ ICO終了から730日後にOracleは消滅する
つまりリファンドできなくなる。
これは何のために入ってる仕様なんでしょう(ミッションインポッシブルか何かか??)
— -
3/ トークンの保持量がそのまま投票量となる
劣化PoS的なやつです。
- トークンはロックもされないし、burnもされない
- オーナーも投票できる
- 大抵のICOは、初期のオーナー側のトークン保持率が多いため、投票で圧倒すると考えられる(センタライズ!)
— -
4/ シビルアタック対策がひどい、対策になっていない
新しいアドレスにトークンを移動し続ければ、無限に投票できる仕様になっています。これは致命的にまずい仕様です。
- 一応、投票後にトークンが移動していることを確認するためのコードがあります。が、これを機能させるためには、誰かが全てのトークン保持Addressに対してfunctionを叩き続けなければなりません。
- しかも、投票の最後のタイミングでは不正検知が間に合わないので全くの無意味です
- どういうことかと言うと、最後の投票ブロックで新規アドレスにトークンを移動し、高いgasを払ってvoteすると、voteが優先されると考えられます
- 不正検知のためのトランザクションは間に合わないし、この対策は現実的では無いでしょうね
また、これをプロジェクトオーナー側が悪用する事も考えられます。
外部からの攻撃を装いながら、ファンドの大部分を自分の手元に引き出し可能という訳です。DAICOの意味。
— -
5/ 投票のために、毎回コントラクトをデプロイする必要がある
投票プロポーザルのコントラクトは1回限りの使い捨て。プロポーザルを出すためには、プロジェクトオーナーだけができる新しいコントラクトのデプロイ作業が毎回必要。(つまり圧倒的センタライズ)
こと金に限り虚偽は一切言わぬ 出す・・・!出すが・・・今回 まだその時と場所の指定まではしていない そのことをどうか諸君らも思い出していただきたい
つまり・・・我々がその気になればDAICOの投票実行は10年20年後ということも可能だろう・・・ということ・・・・!
また、計算はしていないですが、死ぬほどgas costかかると思われます。
— -
6/ tapで定義された資金が毎秒引き出せる
vitalikの提案は毎月ごとに制限されています(毎秒引き出していこうな)
— -
7/ 同じようなVoteのコードが複製されまくっていて、読みづらい
- コピペ芸人がコード書いていそう
- コードの品質が非常に低い
- 脆弱性抜きで全体的に設計がおかしい
— -
その他ツッコミどころが多すぎて追いつかない。無限に攻撃手法が思いつきます。
結論として、クソの上にクソを塗り固めたコントラクトです。
スマートコントラクトの性質上、一度しかデプロイできず、アップデートできないのですが、このままICOしたらとんでもないことになることが予想されます。(彼らは3/7にICOを実施すると言っています)
まとめ
- このICOに参加することはおすすめできません。
- DAICOの概念自体に発展の可能性は大いにあります。しかしこのプロジェクトの実装は考えが甘すぎるというか、ちゃんとDAICOを実装する気が無いように見えます。
- この先も「DAICOを実装したから詐欺はないぜ!」「あのビタリックが!」とか言うことを謳ったICOが出てくると考えられますが、ちゃんと検証されるまで信用してはいけません。トラストレス。
- Twitterで「The Abyss」を検索すると、購入を推奨する日本語ツイートがわんさか出てきます。当然ですが、彼らはアフィリエイト報酬が欲しいだけなので信用してはいけません(そしてそれは「あくまで投資は自己責任」という標語の元で行われます)。トラストレス。
DAICO自体、詐欺ICOを自浄するために生まれたはずなのに・・・クリプトはホンマ修羅の国やで!
おまけ
実際DAICOってどうなん?って思った方向けの参考文献:
僕の所属するDRI代表のsyroheiが、真面目にDAICOを実装した上で、良いところ・悪いところを検証したスライドを公開しています。合わせてご覧ください。
https://speakerdeck.com/syrohei/daicowoshi-zhuang-sitemita