今回はUdemyのセールで紹介されていた「【Web3.0アプリ開発入門】ReactとSolidity言語で簡単ブロックチェーンWebアプリ開発を体験してみよう!」という教材に興味があったので受講してみました!
【Web3.0アプリ開発入門】ReactとSolidity言語で簡単ブロックチェーンWebアプリ開発を体験してみよう!
Web3.0とは?
Web3.0とは、分散型インターネットと呼ばれる次世代のインターネット
これまでは大企業が個人情報や利益を独占していましたが、Web3.0の技術を使って分散管理することで大企業データ独占からの脱却を目指しています。
このWeb3.0の技術の1つにブロックチェーン技術があり、Udemyでは丁寧な解説動画でこのブロックチェーンについて解説されています。
教材の構成
この教材は最初に以下について図解を用いて開設されております。
これが基礎入門編というセクションの構成となっており、そのあとにスマートコントラクトの実装についてsolidity言語を使用しての練習セクションがあり、
最後にブロックチェーンのWebアプリ開発を体験できるセクションが三部構成になっております。
この教材を受講することでブロックチェーンの仕組みの概要から利用用途、アプリへの実装の雰囲気をつかむことができエンジニアが最新技術をキャッチアップするための最良の足がかりになる教材となっています。
そこで最初の基礎入門編について簡単に学んだことを書いていきたいと思います。
ブロックチェーンって何?
ブロックチェーンとは「データを皆んなで監視しながら安全に管理できる技術」である。
ブロックチェーンがどういったシーンで利用されるか?
一つとして取り上げるのが IOT である。
最近ではモノとインターネットがつながる時代でモノから集めたデータをクラウドに保管する。
そのデータをブロックチェーンを使って皆んなで管理する。
それを最終的にAIなどに組み込み活用していく。
という流れでサービスに活用されている。
ブロックチェーンの仕組み
ここではブロックチェーンの裏側の仕組みが紹介されている。
仕組みに使われる技術については4つある。
暗号化技術
0と1の羅列でデータが暗号化されており256ビットで構成されている。
10億のパターンを持っており、改ざんしようにも10億回以上計算をしなくてはいけない。
また暗号化した証明書を持っており、その証明書を使って次のデータを暗号化していく。
そのため全てのデータの暗号を解析しないと改ざんすることができなく、これがブロックチェーンの強靭なセキュリティの理由となっている。
コンセンサスアルゴリズム / 分散型台帳技術
皆んなでブロックにどのようなデータを入れるのかを確認して記帳する作業を行う。
この仕組みがああると、ある人がデータを改竄したとしても他の人も記録を持っているので、改ざんの判別が可能となっている。
P2P
個人間でデータのやりとりが可能となる。
こうすることで分散型のネットワークを構築できる。
なぜブロックチェーンが必要なのか
ブロックチェーンは自立分散型のデータ管理を行なっている。
しかし、これまでは中央集権型の構造となっており、データを企業が独占していてさまざまなデメリットが存在する。
ブロックチェーン技術が使われているの仮想通貨が多く、通貨との相性が良い。
ブロックチェーンと仮想通貨の関係
そもそも通貨の誕生の理由は価値が統一できないこと。
現在の通貨はみんなが共通の認識を持っている。
例えば、通貨を発行する銀行があり、これは中央集権的な存在となっている。
この機関民間にお金を発行し、お金が多く出回れば価値が下がり、少なければ価値は上がる。
仮想通貨その中央集権的な存在が無く、みんながみんなのやりとりを管理していて、ブロックチェーン上ではみんながみんなのやりとりを見ることできる。
これではセキュリティ的に良くないと感じるが、結局は1人が改ざんしようにも正のデータは周りに何人も持っていおり、更には簡単に解析できるものでは無いので見れたところで改ざんのする隙が無い。
このようなものがどうして通貨に置き換えることができるのか?
通貨にできる3つの条件
- 交換できること
- 価値が計測できること
- 貯蔵できること
仮想通貨はこの通貨になれる条件を満たしている。
そのため仮想通貨は通貨として成り立つことができ、強靭なセキュリティを持つブロックチェーンという技術を使って作られている。
最後に
Udemyでは定期的に行われるセールにて、まとまった話題の最新技術情報を格安の値段で購入できるので低コストで情報収集できます。
続きは実際にReactとSolidity言語を使用した実践セクションとなるため、是非UdemyでWeb3.0学んでみてください!