見出し画像

Fintech革命 ブロックチェーンテクノロジー イーサリアムとスマートコントラクト Vol.3


皆さんはブロックチェーンという仕組みをご存知でしょうか。
仮想通貨に代表される、分散型でネットワーク、データベースを共有するテクノロジーです。従来の中央集約型と異なり、この革命的なテクノロジーが生み出す市場は、年間66%で急成長しており、経済産業省の発表では将来的に国内だけで67兆円の市場規模が予想されています。
今回はこのブロックチェーンの仮想通貨以外の利用について調べた事を記載します。

ブロックチェーンの仕組みは以前の記事に書いています。宜しければ読んでみてください。
前回の記事はこちら。

はじめに~スマートコントラクト実装方法

前回はスマートコントラクトの仕組みについて調べて行きましたが、今回はスマートコントラクトにプログラムを実装する手段を調査していきます。


イーサリアム上でのスマートコントラクトの動き

結論:プログラム言語はSolidity,Pythonで作成しバイトコードで格納される。実行時はEVM上で実行される。

イーサリアム上でプログラムを実行させるためにはプログラム言語とそれを実行する環境が必要に成ります。
イーサリアム上で使用するプログラム言語はSolidity,Pythonで記述します。
プログラム言語は関数の形式で記載され、ブロックチェーン上に格納される時にはバイトコード(機械語)に変換して格納されます。

ブロックチェーン_スマートコントラクト_6_開発

実行する際はブロックチェーン上に格納されているプログラムにをアドレス指定し、与えられた引数(条件)を元にEVM(イーサリアム・バーチャル・マシン)というコンピュータ上の仮想基盤で実行されます。
実行結果はネットワーク上の各ノードの出力が同じで有る事を合意して、ブロックチェーンに値が書き込まれます。

ブロックチェーン_スマートコントラクト_7_実行

イーサリアム以外のプラットフォーム

結論:イーサリアムから派生した複数のスマートコントラクトが存在する。
イーサリアム以外にもスマートコントラクトを実現できる環境は有ります。

ハイパーレジャー・ファブリック
The Linux Foundationが主体で開発しIBMが開発支援するオープンソースソフトウェア(OSS)で、コンソーシアム型のブロックチェーン。コンソーシアム型とはイーサリアムとは異なりパブリック型ではなく、限られた複数の企業や団体が参加するブロックチェーンです。プログラム言語はGo(Google開発言語),Java,JavaScriptが使えます。

R3 Corda
R3CEVが主体で開発している基盤でコンソーシアム型のブロックチェーンとなります。金融機関向けに開発されていますが、金融以外の適用も可能だと言われます。プログラム言語はJavaとKotlinというJavaに近い言語が使用可能です。

Quorum
JPモルガンが主体で開発し、EEA(Enterprise Ethereum Alliance)に寄贈された、コンソーシアム型に近いパーミッション型のブロックチェーン。プログラム言語はSolidityが使えます。

分散型アプリケーションDApps

イーサリアム等のプラットフォーム上で稼働する非中央集権の分散型アプリケーションを、DApps(Decentralized Applications)と呼びます。BitcoinもDAppsの一つとなります。DAppsはスマートコントラクトを使用する事で中央管理するサーバーが無くても実装でき、ブロックチェーンの特徴を生かしたアプリケーションが構築できる様になっています。現在はイーサリアムを含めた複数のブロックチェーン上で様々なDAppsが開発されています。

DApps 例)
ブラウザ:Brave
OS:EOS,essentia
ストレージ:STORJ,IPFS
SNS:Steemit,AKASHA
メッセージ:status


最後に、

今回はスマートコントラクトのプログラム実装や稼働環境について記載しました。
今後もブロックチェーンの調査を進めて行きたいと思います。

最後までお読み頂き有難うございました。この記事が良かったと思われる方は、スキやフォローしていただけると嬉しいです。

次の記事はこちら。


この記事が気に入ったらサポートをしてみませんか?