はじめに
今回の内容
Ethereumの実装の種類と今後の展開について説明します。本記事は、過去にコンセンサス・ベイスが主宰していたオンラインサロンの記事です。記事は2017年~2018年にかけて執筆されたため、一部は、既に古くなっている可能性があります。あらかじめご了承ください。
ゴール
実装による特徴や、使われ方の違い、今後の展望などを理解します。
ターゲット
Ethereumに興味がある方を対象としています。
前提知識
一般のプログラミングやネットワークの基本及びBitocoinやブロックチェーン技術の基礎を前提知識とします。
当シリーズを第1回から読んでおくことを推奨します。
第1章 Ethereumの実装
Ethereumのパブリックとプライベート実装
ブロックチェーンにはパブリック、プライベートという分類が存在します。ネットワークに誰でも自由に参加できるのがパブリック、参加が一部の人や組織に制限されているのがプライベートになります。Ethereumにもパブリック実装とプライベート実装がそれぞれいくつか存在します。
パブリック実装としてはEthereumとEthereum Classicの2つが挙げられます。一般的にEthereumというとEthereum Foundationが主導する ”Ethereum” を指し、このEthereumからフォークされてできたのが ”Ethereum Classic” です。
プライベート実装としては、Monax(旧Eris)、HydraChain、Rubix、Ethermint、Quorumなどが挙げられます。Ethereumの機能、特徴を特定の人、組織の中だけで活用することを目的にプライベート実装Ethereumが開発されています。日本も含め、世界中の様々な実証実験にプライベート実装Ethereumは利用されています。
以下に主なEthereum関連の実装をまとめます。
Ethereum | Monax(旧Eris) | HydraChain | Ethermint | |
概要 | パブリック向けに開発されたスマートコントラクト・分散型アプリのプラットフォーム | エンタープライズ向けブロックチェーン | Ethereumベースの許可型分散台帳 | Gethの合意アルゴリズムをTendermintにしたプライベートブロックチェーン |
特徴 | スマートコントラクト・分散型アプリを動作させることができる | 様々なブロックチェーンが使えるDockerベースEthereumのコントラクトがそのまま動く | EthereumのpythappベースEthereumのコントラクトがそのまま動くPythonのコードもコントラクトとして動かせるトランザクションを受け取った時だけに承認する | GethのアルゴリズムをTendermintに変更することで、早い認証を可能にしている |
開発元 | Ethereum Foundationを中心としたコミュニティ | Monax | Brainbot technologies | Tendermint |
開発の状況 | 2017年10月16日にハードフォークした(Byzantium、詳細下記参照) | 2017年4月にHyperledger に採用される(名称:Burrow) | 2016年12月以降、GitHub上で開発の進捗はみられない | GitHub上での最終アップデートは、2017年7月。 |
分散型合意形成 | Proof of Work(Ethash)将来Proof of Stake(Casper) | Tendermint(将来選択可能になる予定) | HC Consensus(Tendermintを改良したもの) | Tendermint |
メリット | 実績が多い開発者が多い | プライベートブロックチェーンとして長い実績もある機能は豊富 | シンプルトランザクションが来た時のみマイニング(validation)する | 合意アルゴリズムの実績は多い |
デメリット | プライベート用に作られているわけではないので、プライベート用機能がない | 複雑でわかりにくい | 実績なしドキュメントが少ない開発がさほど活発でない | 比較的新しい実装 |
第2章 Ethereumの関連技術
Ethereum Foundationによる関連のソフトウェア
Ethereumのアカウントを発行したり、トランザクションの送信、コントラクトのデプロイに使用されるGUIウォレットとして、Ethereum Walletが公開されています。さらにウォレット機能に加えてブラウザを付与したMistもリリースされています。これらはノードとしてGethを使用しています。その他にもまだリリースはされていませんが、メッセージをやり取りするWhisperがあります。Swarmと呼ばれるP2Pストレージ・ソフトウェアも存在します。
Ethereumと一緒に利用される外部ソフトウェア
Ethereumとよく使われる外部のソフトウェアとして有名なのものにIPFS(InterPlanetary File System) があります。これは先程のSwarmに似ていて、P2P型の分散ファイルストレージです。大きなファイルはIPFSに保存し、Ethereum上にその場所を指し示すデータだけを記載する、という形で利用されることが多いです。
第3章 Ethereumの今後の展開
Ethereumは、2017年中にMetropolisとしてバージョンアップされる予定でしたが、それは、Byzantium(ビザンティウム)とConstantinople(コンスタンティノープル)の2段階で実施されることになりました。Byzantiumは、日本時間の10/16にハードフォークとして無事アップデートが完了しています。その後、時期は未定ですが Serenityというバージョンをリリース予定です。
現在は軽量クライアントやモバイルや組み込みデバイス対応、スマートコントラクトの安全性、形式検証といった作業が行われているところです。Metropolisでは、開発者へ柔軟性を提供したり、Zcash等で利用されるzk-SNARKsと呼ばれる匿名化の対応が主な機能追加です。その後のSerenityでは、コンセンサス・アルゴリズムのProof of WorkからProof of Stakeへの変更や、Ethereumの抽象化の完了、シャーディング(処理・データの分散化)などの、大規模な変更があります。シャーディングにより、ブロックの承認時間が、10秒台から4秒以下になる予定です。
まだ多くの課題と作業が残っており、充実した機能、開発環境、使いやすいウォレットなどのツールやプラットフォームとしての安定性を得るには、まだ数年かかることが予想されます。その間にもEthereumを利用した多くのICOが行われ、様々なアプリケーション、サービスがリリースされます。まだ黎明期のEthereumではありますが、今後の発展に期待したいところです。
免責事項
本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。
技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。
会社紹介
弊社(コンセンサス・ベイス株式会社)は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。
会社ホームページ
https://www.consensus-base.com/