言語を理解するために必要な知識

Ethereum(イーサリアム)

まずは、Solidityを理解するために必要な知識を学びましょう。Solidityはブロックチェーンの実装に使われる言語です。その技術的な土台として開発されたのがEthereumと呼ばれるプラットフォームであり、この中では仮想通貨のやり取りがされています。本来、プラットフォームと仮想通貨で呼び名は異なりますが、便宜上Ethereumと表現されることが多いようです。一般的な暗号資産という意味では、プラットフォーム上で使用されるEtherが仮想通貨に該当します。Ethereumは、ロシア系カナダ人のヴィタリック・ブテリンによって、2013年に正式発表されました。当時、すでにEthereumの大きな特徴であるDAppsと呼ばれる分散型アプリケーションの構築を行い、機能実装を開発仕様書に盛り込んでいたことでも話題になりました。あくまでプラットフォームなので、これだけでサービスは完結せず、Ethereumで動作するアプリケーションをエンジニアが開発し、それを利用する必要があります。特定のアプリケーションが動作するプラットフォームのみを提供している点も特徴の1つです。
仮想通貨と聞いて、ビットコインをイメージする人も多いでしょう。エンジニア界隈だけでなく、一般的な知名度も高い仮想通貨です。Ethereumを利用すれば、ビットコインよりも複雑な取引が可能になります。そのため、複雑かつ幅広い取引を素早く実行できるEthereumは近年注目されています。

スマートコントラクト

Ethereumと並び、Solidityを理解するために必要な知識として挙げられるのが、スマートコントラクトです。スマートコントラクトとは、ブロックチェーンで契約を結ぶ際の手続きを自動化するシステムです。ほとんどの仮想通貨でスマートコントラクトが用いられており、契約手続きを自動的に進められるため、ユーザーは効率的に取引ができます。ただし、スマートコントラクトを実装するためには、特定のプラットフォームを利用するのではなく、エンジニアが意図的に実装する必要があります。特定のプログラミングが必要になるため、それに用いる言語やアルゴリズムについての理解が必須です。そこで活用されるのが、Solidityというわけです。
なお、スマートコントラクトは「中央集権体制の否定」という大きな特徴を持ちます。これにより、大手企業の仲介がなくても情報のやり取りが可能になります。特定の企業に依存せず、ユーザー間で正確に情報のやり取りが可能になるため、近年はスマートコントラクトを導入するケースが増えています。