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

悩む人「Solidityってなんですか?Solidityでできることを知りたいな。具体例を交えて教えて下さい!」
今回はこういった悩みに答えていきます。
本日の内容
- Solidityとは?初心者向けに解説
- Solidityでできること【3つの具体例あり】
この記事を書いている僕は、Solidityを独学しています。
よし、Solidityの勉強を始めます。
「お金を稼ぎたい」「スキルを身につけたい」といった理由ではなく、スマートコントラクトの理解を深めるためです。突撃することが1番の学習になると思うので、完全初心者ですが、ゼロからプログラミングを学びます。学習方法はのちにブログの方でまとめますね☺️
— いっぺい.NFT (@ippei_torigoe) January 1, 2022
学習開始から3ヶ月がたち、簡単なDappsやDEXを作れるようになりました。
この記事の目的は「Solidityについての理解を深めること!」です。Dappsの個人開発やブロックチェーンエンジニアといった選択肢が延長線上にあるので、本記事を読んで皆さんの市場価値を高めていきましょう。
[ Solidity とは
]と検索しても、難しい記事が多かったので、今回は専門用語なしで解説していきます。噛み砕いてお話するため、初心者でもOKです。
Solidityとは?初心者向けに徹底解説!
Solidityについて解説していきます。
そもそもSolidityってなに?
Solidityとは、スマートコントラクトを記述するための手続き型プログラミング言語であり、キャビン・ウッドによって作成された。JavaSriptやC++に似た構文を持つとされる。SolidityによってコンパイルしたプログラムはEthereum Virtual Machine上での実行が想定されている。
引用:Wikipedia
Wikipediaの解説です。意味不明ですね。わかりやすく解説します。
簡単にいうと、SolidityとはEthereum上で動かせるプログラム言語のことです。そして動かすためにスマートコントラクトという技術を記述する必要があるということ。
Solidityとは、スマートコントラクトを実装できるプログラム言語と考えればOKです。Solidityを理解する上で、スマートコントラクトの理解は必須なので解説します。
スマートコントラクトってなんですか?
スマートコントラクトとは「契約の自動化」という意味です。契約内容と実行条件を決めておくことで、自動で実行してくれる仕組みのこと。意味不明ですね。
身近にあるものだと「自動販売機」に近いイメージ。お金を入れてボタンを押すと、自動で商品が出てきますね。これは「処理が自動化」されてるからでして、これがブロックチェーン上でできる感じですね。
スマートコントラクトの活用事例【できること】
- DeFi:分散型の金融
- Augur:ギャンブルプラットフォーム
- CryptoKitties:分散型のアプリ(Dapps)
上記が主な活用事例です。
前述した通りスマートコントラクトは「処理を自動化」できるので管理者が存在せず、高い還元率を得ることができます。アプリの概念は大切なので、少し解説します。
これまでのアプリ。これからのアプリ。
これまでのアプリは上記画像のように中央があり、こういった企業が「中抜」をしていました。アップル税などといわれる手数料のことですね。
これからのアプリは中央がなく、スマートコントラクトのような「自動処理」で運営されるので「中抜」がなく、いわゆる手数料が安くなるのです。
こういったアプリを「Dapps(ダップス)」と呼び、またSolidityを使って開発することができます。すごく大切なので、これだけは覚えて返ってください。
スマートコントラクトのデメリット
- 脆弱性:ミスがあっても修正ができないこと
- 法律の問題:法律がまだ追いついていないこと
- スケーラビリティ問題:処理に時間がかかってしまうこと
これらが主なデメリットです。
仮想通貨ニュースを読んでいると目にすることも多いであろう単語です。スケーラビリティ問題に関しては、並行して処理する「シャーディング」という技術や「レイヤー2」という対策がありますが、今回の趣旨とはズレるので省きます。
Solidityでできること【3つの具体例あり】
Solidityでは、スマートコントラクトを実装できると解説しました。本章では「具体的な機能」について解説していきます。
その①:投票
現在の投票は「データの操作、偽の有権者、投票機の改ざん」など多くの問題を抱えています。Solidityのスマートコンタクトを作成・展開することで、投票プロセスの透明化と合理化を図ることができます。投票の信頼性と効率が上がるということです。
その②:ブラインドオークション
オープンなオークションでは、個人が互いの入札を見ることができるため、紛争や不正につながります。Solidityのスマートコントラクトを使用することで、お互いの入札を隠すしつつオークションを設計することができます。
その③:クラウドファンディング
スマートコントラクトで行うクラウドファンディングは、第三者への委託やデータ管理などの問題を解決することができます。クラウドファンディング用のSolidityスマートコントラクトは、信頼関係が必要となる中央集権的なシステムを必要としないため、追加コストを減らすことができます。
Solidityとは?意味・できることまとめ
さいごにまとめておわります。
- Solidityとは、スマートコントラクトを実装できるプログラム言語
- スマートコントラクトとは「処理を自動化」できる技術
- 投票・オークション・クラファンなどが主な具体例
こんな感じ。
今、クリプト系エンジニアの需要が高まっており、年収1億円プレイヤーがざらにいる状態。
企業が優秀な人材を取り合っているので、本気でSolidityを学習するのもありだと思う。WEB3.0は実力主義的な価値観が強いので、技術力が付けば活躍できる場は増え、収入も激増。学歴は関係なく平等。WEB3.0いいね— いっぺい.NFT (@ippei_torigoe) March 3, 2022
日本語での解説記事や書籍がないことを見ればわかりますが、Solidityは超絶ブルーオーシャンです。
今のうちから学習することで、皆さんの市場価値を高めることができます。プログラミングの習得には「学歴」は必要ないため、誰にでもチャンスはあり、事実行動するかどうかだけなのです。
ちなみに学習方法に関しては、下記記事でまとめています。動かないと何も始まらないので、迷っているなら行動してみましょう。基本的に無料で学習できるので、とにかく始めてもらいたい。
【入門ガイド】Solidityを学習する方法【初心者向けに解説】
Solidityの入門ガイドを知りたくないですか?本記事では「Solidityとは・Solidityの入門ガイド」をまとめています。動画を使って解説しているので、完全初心者でも学習できると思います!