イーサリアムによくある疑問に答えます!

f:id:udoncryptocurrency:20171231213142j:plain

なにやらEthereumにはあらゆる懸念が挙げられているようですが、まとめて答えているものは見当たらなかったので書きます!これ以外にも疑問がありましたら、コメントください!気分に応じてお答えします。

疑問はネットからいくつか拾ってきたのと、ツイッターでアンケードをとったのと二つあります。

そもそもEthereumって何?Bitcoinを代表とするブロックチェーン類とどう違うの?

従来型の暗号通貨、例えばBitcoinは悪い人が入ってくるP2Pネットワークでも送金の機能が動くシステムを作りました。ですがそれしかできません。いわばただの電卓みたいなことしかできないのです。
では、DNS機能をつけたNamecoinや、新しいトークン発行機能やDEXやアドレスのDNSのような機能をつけたBitsharesのようなものはどうでしょうか?これも確かに送金以外のことはできます。ですが、それだけに機能が制限されているいわば十得ナイフ程度のものです。

Ethereumでは、コア開発者じゃない一般の開発者が望み通りの機能を、スマートコントラクトと呼ばれるコードを書くことにより望み通りの機能を追加することが可能となっています。非常に汎用性の高いプラットフォームです。あらゆる機能(分散型のアプリケーション=DApps)を追加でき、Ethereum自体がコンピューターのような仕組みをしていることから、「The World Computer」、つまりワールドコンピューターと呼ばれることもあります。

ワールドコンピュータって何?Dappsによってどんなことが実現するの?

現在のEthereumは重いコントラクトは処理できないなど、ワールドコンピューターには程遠いものです。ですがあらゆるソリューションによってEthereumは拡張していきます。まさにコンピューターに近いものとなるでしょう。

このコンピューターのリソース資源はどこから来ているのでしょうか?大まかに言ってしまえっば、あなたが今このブログを見ている端末です。世界中のインターネットに繋がっている端末が、CPUやGPUのリソースを貸してコントラクトやグラフィックの計算、ディスクのリソースを貸して分散型のDropboxのようにファイルを保管する役割を果たすようになるでしょう。今現在だとそういったクラウドと呼ばれることをやっているのは、Amazon Web Service(AWS)やGoogle Cloud PlatformやMicrosoftのAzureなど中央集権的なものです。また1/1 0:00の「あけおめことよろ」メッセージのために大量のコンピューターを走らせ、使われない時には眠っているのです。また一エンジニアが間違ってシャットダウンしてしまって、インターネットサービスのあちこちで障害が起きるなどということもありました。こんな仕組み、非効率ではないですか? Ethereumはまず第一にコンピューターのシェアリングエコノミーのようなことを行うようになるのではないかと思います。分散型のシステムなのでダウンタイムなどとは無縁です。

あとはuPortなどによってインターネット上のアイデンティティが確立し、インターネットで簡単にいきていけるように、また名もない個人が優れた投資をし、それに誰でも投資できるようになったり(投資ファンドを自由に作れるように)、インターネットを圧倒的に進化することになると思います。個人が、企業や国に独占されていた権力を持つことができるようになるってことです。主に既存の金融側の力が弱くなりそうですが、それ以外にも色々と出てくるでしょうね。これからは究極の実力主義、個人主義になるのかな〜と思ってます。

今あるもの、もしくは今後できるであろうDappsで、社会の役に立ちそうなものは?

それでは私が気になっているDappsをご紹介します!投資的には知りませんw 自己責任でお願いします。

Gnosis

一つはGnosisです。一般には分散型予測市場とか分散型オラクルとかい
われるやるです。これ系のプロジェクトではこれが一番真面目に開発している印象です。技術力も高い。 これはあらゆる他のDappsなどでもよく使われるキーになるDappsだと思います。
保険料とかも安くなるかもですね!

zoom-blc.com

uPort

uPortはz分散型アイデンティティのDAppsです。簡単にいうと、EthereumのDappsでの身分証明だとかログインだとかに使えるやつです。
従来型の、イメージとしてはマイナンバーの電子化したやつみたいなのは、中央集権的であり、ハッキングによる漏えいなどのリスクがあります。しかもそもそも全ての情報を中央に把握されてしまいます。uPortはそれを解決するのです。
ログインもQRコードを読み込むだけと簡単ですよ!是非試してみてください。

zoom-blc.com

そもそもどうやってスマートコントラクト作るの?

開発環境は様々なものがありますし、言語もたくさんあります。ここでは言語ごとにみていきます。ちなみに現状、全てのスマートコントラクトのコードは全て閲覧可能です。気になったらhttps://etherscan.io/とかでみてみるのもいいと思います。あとほとんどのプロジェクトはオープンソースですので、そのDAppsのGithubページにコントラクトがあることも多々ありますのでそちらをチェックしてみてもいいかもしれません。
ちなみに私に聞かれてもスマートコントラクトをコピペしてデプロイしたことくらいしかないので、作り方とか一切分かりません(きっぱり)

Solidity

Solidityで開発しようと思ったら以下のがいいと思います。

Solidity — Solidity 0.4.20 documentation

開発の流れはhttps://qiita.com/amachino/items/8cf609f6345959ffc450をみるといいかもしれません!

Viper

Viper — Viper documentation

バグの出ないコントラクトを作るのって大変じゃない? The DAOみたいなこと起きない?

それはその通りで、バグの出ないコードを書くこと自体が非常に難しいことです。ですが、あらゆるチェックをすることであらゆるバグを洗い出すこと、そしてたとえバグがあっても資金に影響のないようにレイヤー分けなどをすることで安全なものが作れるはずです。そもそも全てのDAppsがEthereumのスマートコントラクトを触ることはおそらくなく、他のよく使われているシステム系DApps(Gnosisとか)を使って作るのも支流になってくると思います。

ここでGnosisが出した下記は、数百万ドルの価値を扱うスマートコントラクトのために定義した最低限やらなくてはいけないことリストです。