Written by Ippei Torigoe

Solidityとは?意味・できることを初心者向けに徹底解説!

CRYPTO

悩む人「Solidityってなんですか?Solidityでできることを知りたいな。具体例を交えて教えて下さい!」

今回はこういった悩みに答えていきます。

本日の内容

  • Solidityとは?初心者向けに解説
  • Solidityでできること【3つの具体例あり】

この記事を書いている僕は、Solidityを独学しています。

学習開始から3ヶ月がたち、簡単なDappsやDEXを作れるようになりました。

この記事の目的は「Solidityについての理解を深めること!」です。Dappsの個人開発やブロックチェーンエンジニアといった選択肢が延長線上にあるので、本記事を読んで皆さんの市場価値を高めていきましょう。

[ Solidity とは ]と検索しても、難しい記事が多かったので、今回は専門用語なしで解説していきます。噛み砕いてお話するため、初心者でもOKです。

Solidityとは?初心者向けに徹底解説!


Solidityについて解説していきます。

そもそもSolidityってなに?

Solidityとは、スマートコントラクトを記述するための手続き型プログラミング言語であり、キャビン・ウッドによって作成された。JavaSriptやC++に似た構文を持つとされる。SolidityによってコンパイルしたプログラムはEthereum Virtual Machine上での実行が想定されている。
引用:Wikipedia

Wikipediaの解説です。意味不明ですね。わかりやすく解説します。

簡単にいうと、SolidityとはEthereum上で動かせるプログラム言語のことです。そして動かすためにスマートコントラクトという技術を記述する必要があるということ。

Solidityとは、スマートコントラクトを実装できるプログラム言語と考えればOKです。Solidityを理解する上で、スマートコントラクトの理解は必須なので解説します。

スマートコントラクトってなんですか?


出典: HEXA

スマートコントラクトとは「契約の自動化」という意味です。契約内容と実行条件を決めておくことで、自動で実行してくれる仕組みのこと。意味不明ですね。

身近にあるものだと「自動販売機」に近いイメージ。お金を入れてボタンを押すと、自動で商品が出てきますね。これは「処理が自動化」されてるからでして、これがブロックチェーン上でできる感じですね。

スマートコントラクトの活用事例【できること】

  • DeFi:分散型の金融
  • Augur:ギャンブルプラットフォーム
  • CryptoKitties:分散型のアプリ(Dapps)

上記が主な活用事例です。

前述した通りスマートコントラクトは「処理を自動化」できるので管理者が存在せず、高い還元率を得ることができます。アプリの概念は大切なので、少し解説します。

これまでのアプリ。これからのアプリ。


出典: HEXA

これまでのアプリは上記画像のように中央があり、こういった企業が「中抜」をしていました。アップル税などといわれる手数料のことですね。

これからのアプリは中央がなく、スマートコントラクトのような「自動処理」で運営されるので「中抜」がなく、いわゆる手数料が安くなるのです。

こういったアプリを「Dapps(ダップス)」と呼び、またSolidityを使って開発することができます。すごく大切なので、これだけは覚えて返ってください。

スマートコントラクトのデメリット

  • 脆弱性:ミスがあっても修正ができないこと
  • 法律の問題:法律がまだ追いついていないこと
  • スケーラビリティ問題:処理に時間がかかってしまうこと

これらが主なデメリットです。

仮想通貨ニュースを読んでいると目にすることも多いであろう単語です。スケーラビリティ問題に関しては、並行して処理する「シャーディング」という技術や「レイヤー2」という対策がありますが、今回の趣旨とはズレるので省きます。

Solidityでできること【3つの具体例あり】


Solidityでは、スマートコントラクトを実装できると解説しました。本章では「具体的な機能」について解説していきます。

その①:投票

現在の投票は「データの操作、偽の有権者、投票機の改ざん」など多くの問題を抱えています。Solidityのスマートコンタクトを作成・展開することで、投票プロセスの透明化と合理化を図ることができます。投票の信頼性と効率が上がるということです。

その②:ブラインドオークション

オープンなオークションでは、個人が互いの入札を見ることができるため、紛争や不正につながります。Solidityのスマートコントラクトを使用することで、お互いの入札を隠すしつつオークションを設計することができます。

その③:クラウドファンディング

スマートコントラクトで行うクラウドファンディングは、第三者への委託やデータ管理などの問題を解決することができます。クラウドファンディング用のSolidityスマートコントラクトは、信頼関係が必要となる中央集権的なシステムを必要としないため、追加コストを減らすことができます。

Solidityとは?意味・できることまとめ


さいごにまとめておわります。

  • Solidityとは、スマートコントラクトを実装できるプログラム言語
  • スマートコントラクトとは「処理を自動化」できる技術
  • 投票・オークション・クラファンなどが主な具体例

こんな感じ。

日本語での解説記事や書籍がないことを見ればわかりますが、Solidityは超絶ブルーオーシャンです。

今のうちから学習することで、皆さんの市場価値を高めることができます。プログラミングの習得には「学歴」は必要ないため、誰にでもチャンスはあり、事実行動するかどうかだけなのです。

ちなみに学習方法に関しては、下記記事でまとめています。動かないと何も始まらないので、迷っているなら行動してみましょう。基本的に無料で学習できるので、とにかく始めてもらいたい。