ColleColleがEthereumをプラットフォームとして選択した理由

 

みなさん、こんにちは。ともなりです!

今回は、僕らがColleColleというDAppを開発する上で、Ethereum(ETH)をプラットフォームとして選択した理由を、ETHキラーと呼ばれるEOS(EOS)と比較して、書いていきたいと思います。

Content image

 

#僕らがプラットフォームに要求した条件

僕らがプラットフォームに求めた条件は以下の2つです。

①非中央集権
②DAppsが実装可能である

僕らは、Whitepaperにも記載の通り、ブロックチェーンをSNSに活用する事で、今までユーザーがプラットフォームに搾取されていた価値をユーザーの手に取り戻し、公平かつ透明性あるアプリを開発したいと考えています。

そのためには、まずは不正が起きやすいリワードシステムをチェーンに乗せ、スマートコントラクト化することで、透明性の第一段階を確保すべきであると考えています。

また、サトシペーパーで示されたトラストレス・トラストの根底概念である「Decentralized 」の思想に感化されたことは、僕らがこのプロジェクトを立ち上げる第一の理由です。当然非中央集権的であるという項目は外せません。

そして、これらどちらか1つを満たすプラットフォームをまずは以下の4つに絞りました。

ETH / EOS / NEO / RSK

そして、ETHとEOSまで絞り、ETHに決定しました。それではその比較と理由について書いていきたいと思います。

Content image

①について。
コンセンサスアルゴリズム関連は以下のように比較が可能です。

Content image

Ethereumのコンセンサスアルゴリズムは、現在PoWです。ConstantinopleでPoWとPoSの併用、そしてSerenityステージで、PoSへのプロトコルを完全移行する予定で下が、開発の遅れでまだ実装されていません。そこで、新しく発表されたEthereum2.0によると2021年までにPoSに完全移行するとされています。

一方でEOSのコンセンサスアルゴリズムは、DPoSである。1token=1票という極めて単純なシステムによって選ばれた21ノードによってブロックの承認を行います。

ここで、僕らが注目したのは、DPoSは極めて中央集権的であり、かつネットワークの安全性を確保できていないという事です。以下の図は、EOS Authorityで発表されているEOSのブロック生成者の一部を表しています。

Content image
Content image
Content image
Content image
極めて集中的

また、セキュリティの問題も存在します。EthereumのPoWは、悪意のあるノードからの攻撃者は、51%攻撃を仕掛けなばならず、まして移行後のPoSでは悪意ある攻撃はほとんど不可能に近いですが、DPoSを採用するEOSは、21ノードの、2/3以上の同意による承認が行われるというシステム上、1/3を悪意あるノードで締められた場合、EOSのセキュリティは、極めて危険な状態となります。

ここで、①の観点からは、非中央集権的かつ、よりセキュアなEthereumの優位であると僕らは判断しました。

②について。
この項目では以下のような比較が可能です。

Content image

トランザクションの処理速度とスケーラビリティ問題は、コンセンサスアルゴリズムに関係しています。DPoSの強みは、PoWとは異なり、21のノードが承認者であるため、極めて迅速にトランザクションを処理することが可能であるという点です。これは非中央集権を取るか、それとも非中央集権を犠牲にして目前のスケーラブルを取るかという問題であると僕らは解釈しています。

Ethereumは圧倒的にTSPとスケーラブルの点において、EOSに劣っていますが、この問題に対してはCasperでPoSへの移行と、処理速度向上のためのPlasmaとRaiden Networkによるサイドチェーンの開発によって解決されると期待しています。

本質的なテーマは、TSPをあげ、スケーラブルにするという行為が、ブロックチェーンの根本思想のdecentralizedを犠牲にするものであるということです。

ここに関しては多くの議論がなされているが、そもそも、このColleColleを開発のモチベーションの一部が、「非中央集権」という哲学に惹かれていることであるため、ここで僕らが取るべき手段は、短期的なスケーラブルプラットフォームではなく、非中央集権という哲学にもとに開発されているプラットフォームを選択することである!という結論にこの観点では至りました。

 

 

③について。
最後にそれぞれのプラットフォームのDAppを使う際のユーザーと開発者の視点を示していきたいと思います。

[開発者視点]

・Ethereum
Ethereumの開発コストとしては、コントラクトをデプロイする際に一度GASを払いだけで良いため、開発が終了してしまえば追加のコストがかからないことがメリットです。さらにVitalikを中心とする開発者コミュニティの層が非常に厚く、Githubのリポジトリ数も群を抜いています。

・EOS
EOSは、コントラクトのデプロイ時に記憶領域であるRAMの購入と、NETとCPUリソース使用のためのデポジットが必要になるので、事前にどれくらいのRAMを購入するかを決める必要があります。また、デプロイ後もユーザーの利用状況に応じて各種リソースの監視を行う必要があるので、EOS犠牲の保有量に気を配る必要があり、難易度が高いかなぁと。ただし、RAMは再度売ることができるので、開発を中止した場合には大部分のコストが回収できるのはメリットでもあると思われます。

[ユーザー視点]

・Ethereum
Ethereumでは、ウォレット内にETHタイマーを保有していれば、コントラクトを実行できるため、比較的簡単にコントラクトの実行ができるが、コントラクトの実行のたびにGasを消費するため、ユーザーに負担を強いる仕様となっています。ここが最大のボトルネックといっても過言ではないと思います。

そこで、僕らはこの方法に対する解決としては、以下のようなものを考えています。

Content image

この方法でのトランザクションの処理は、

1) ユーザーは Tx を作り自分の秘密鍵を使って署名する
2) 署名したデータは ethereum のネットワークには投げ込まず、web server上にhttpなど で送信
3) Web server はユーザーから送られた Tx をデータとして持つ Tx を作り自分の秘密鍵で 署名する
4) 署名した Tx を ethereum のネットワークに投げ込む
5) スマートコントラクトが Tx を解析し、元々のユーザーが署名した Tx を実行する

という流れになります。この方法でなら、エンドユーザーに苦い思いをさせず、UXを高めることができると考えています。
(*この手法は、uPortの “MetaTx” という方法を参考にしました。)

また、Ethereumは日本の取引所での購入が可能であるということはメリットのひとつでしょう。

・EOS
EOSはアカウント作成時に、手数料を支払う必要があり、コントラクトの実行にはEOSアカウントを作成してウォレットのインストールが必要となります。さらに、EOSは現在日本国内の交換所では購入することができないため、ユーザーがEOSのDappsを利用するハードルは高いと考えました。

以上より ③でもETHが優勢であると判断しました。

 

 

# 結論

以上の理由で僕らはEthereumを選択しました!
僕らはまだ勉強中で、もしこの中で誤りなどございましたら、ぜひコメント欄にお願いします!

 

 

 

[参考にした資料・文献一覧]
"技術選定文 ALISがEthereumを使う理由" (ALIS)
"Making uPort Smart Contracts Smarter, Part 3: Fixing User Experience with Meta Transactions" (Medium)
"ETH vs EOS, NEO, ADA"(Medium)
"Altcoin Analysis: BTC, ETH, XRP, EOS, LTC Cryptocurrency Review" (Medium)
"BTC & ETH Mining (VS) EOS Block Producers" (Medium)
 

[Contact Imformation]
Twitter / Whitepaper / Medium

 

 

 

 

Article date Article like Article tip Article supporter
公開日 いいねによる獲得 投げ銭による獲得 サポーター
: : :
2019/08/23 31.12 ALIS 11.70 ALIS
Tomonari 💭's icon'
  • Tomonari 💭
  • @thetomonari
CEO of JapanFuse,Inc. / 価値の概念を再定義します
コメントする
コメントする