Web3.0ブロックチェーン開発の学びメモ - 1日目
概要
今日から年末年始の連休に入ったということで、エンジニアとして今後のキャリアを見つめ直したときに専門分野と呼べる領域が欲しかったので、前から勉強したかったブロックチェーン開発について、学習してみようと思いました。そこで今日から学習したことを少しずつ記事にしていこうと思います。
参考
Udemy の以下の教材を主に参考にさせていただき、ところどころ調べながら進めていこうと思います。
どちらも素晴らしい Udemy 講師の方々の教材なので、こちらを参考にさせていただこうと思いますが、重要だと自分が感じたところをピックアップしてまとめておりますので、気になる方はぜひ購入してみてください!
1 日目 - ブロックチェーン概要
ブロックチェーン概要
ブロックチェーンはなぜ注目されているのか?
ブロックチェーンは当初、金融関係のデータ保管方法として、既存の仕組みを大きく変えるものとして注目を浴びていた。
しかし、2013 年にイーサリアムが登場したことにより、金融関係以外でも応用できるのではないかとしてさらに期待されている。
→ 例:資産管理、シャアリング、商流管理、IoT などなど
ブロックチェーンとは何か?
簡潔に述べると以下の 3 点に要約される
- 正しい記録しかできず、変更、改ざんをすることが不可能に近い。
- 管理者不在で、参加者全員でデータを共有・運用していく
- ネットワーク共有型のデータベース
ブロックチェーンには何が記録されている?
ブロックチェーンに記録されているのは取引履歴です。また全員で共有しているためその取引履歴は全員が閲覧可能です!
それってセキュリティ的に、プライバシー的に大丈夫?って思うかもしれませんが、それは後ほど解説します!
ブロックチェーンの特徴
- トラストレス:第三者機関が信用保証しなくても安心して利用できるサービス。
- 自律的:マイナーと言われる人たちが信用保証をしている。マイナーが信用保証を担保しているのはただボランティアが好きだからではなく、自分自身の利益のため自律的に行なっている。
- 非中央集権:マイナーは特定の機関がやっているのではなく、ノードが分散してそれぞれでやっている。
ビットコインとは
ビットコインとは、インターネット上で使用することができる電子通貨のこと。
2008 年にハンドルネーム、「ナカモトサトシ」がビットコインと名付けた電子通貨を技術文書で発表したことにより世に出ることになる。
ブロックチェーンはこのビットコインを実現するために考え出された技術。
ビットコインの特徴
ナカモトサトシは銀行という管理者を中心に行う既存の金融の仕組みは弊害が多いと考えていた。
そのため、ビットコインは以下の特徴を持っている。
- 中央機関がいない(銀行が関与しない)
- 利用者のプライバシーが守られている。(既存の仕組みではお金の流れが管理者に全て把握されている)
- 安全に利用できる。
- なりすましができない。
- 改ざんができない。
- 二重支払いができない。
ブロックチェーンの歴史
あまり、深掘ると政治的な思想の話になってしまうため、要所だけまとめていきます!
-
1990 年代:最小限の権限を持った政府が理想だと考える団体から、暗号通貨の初期の提案がされる。しかし、設計がうまくいかず試みは失敗する。しかし、これがビットコインの概念の中核を担う。
-
2008 年:ナカモトサトシが技術文書でビットコインを公開。従来の暗号通貨の問題点であった二重支払いをプルーフオブワークで解決。
- プルーフオブワーク(PoW):膨大な計算量を必要とする作業を成功させた人が取引の承認者となり、新たなブロックをブロックチェーンに繋ぐ権利を得られる仕組みのこと。→ 後々、詳しく触れようとは思います。
-
2009 年:最初のブロックが作成される。
- ブロック:管理するデータのひとまとまり。このブロックを繋いでいくことを、鎖でつなぐ様になぞらえてブロックチェーンと呼ばれている。
- 当初はまだ開発者がビットコインを送り合って遊んでいるに過ぎなかった。
-
2010 年:ビットコインでピザを購入した人が現れたことにより、いよいよ貨幣としての価値を持ち出す。
-
2013 年:本格的にビットコインが普及する。
- キプロス危機という出来事を発端に、中央銀行が発行する貨幣、つまりお金の信頼度が低下し、欧米や中国の富裕層がユーロや人民元を一部ビットコインに交換したことによりビットコインが普及した。
-
2017 年:ビットコインが過去最高値を更新。
イーサリアムとは
分散型アプリケーション(スマートコントラクト)のプラットフォーム
Vitalik Buterin という若者によって、2013 年に考案され、2015 年にプロジェクトが立ち上がった。
要はブロックチェーン上でアプリケーションが動くためのプラットフォーム、基盤となるものがイーサリアム。
これにより、容易にブロックチェーン上で動作するアプリケーションが開発できるようになった。
スマートコントラクトとは
複数人が合意した内容(契約)を人がいなくても自動的に実行するための仕組み
ブロックチェーンが与える影響と課題
影響
ブロックチェーンが普及すると以下のような影響を世の中に与える。
- 非中央集権型のサービスが広まる。
- 今までは銀行と通貨を例に金融に関してのブロックチェーンを見てきたが、例えばフリマサービスでも同様のことが言える。仮想通貨により銀行を介さず個人間で貨幣のやり取りができたように、物とお金を交換する際にも管理主体(メルカリ、Yahoo フリマなど)を介さず、個人が直接やりとりできるようになる。このような管理する人がいないアプリケーションのことを Dapps(Decentralized Applications)という。
- このような非中央集権的な思想はサービスだけでなく、組織にも広がる。これを DAO(Decentralized Autonomous Organization)という。簡単にいうと役職がある人と一般社員のような縦型の組織ではなく、一人一人がフラットな関係で決められた役割をそれぞれに遂行していく。
- 価値を簡単に送れるようになる。
- 今まで見てきたように、個人がそれぞれに合意したら価値の交換が行われるので、管理者や中央集権組織への手続きや合意が不要であるため、簡単にもののやり取り、交換が行えるようになる。
- デジタルデータが資産価値を持つようになる。
- 音楽や動画、映画はデジタル上では容易にコピーができてしまい、インターネット普及期にアーティストの人たちは自分たちの作品が無料で拡散されてしまうことで困っていた。しかし、ブロックチェーンにより容易にコピーができず、唯一性、希少性が保持できることでアーティストの著作権が守られる。
課題
- スケーラビリティ:取引数が増えたときに対応できなくなる。処理速度が追いつかなくなる。
- 非実時間性:取引確定までに時間がかかる。そしてその取引が確定するのがいつかわからない。
- プライバシー:ブロックチェーンのデータは誰でも見れることができ、すべての取引履歴が記録されている。個人情報は使用せず、アドレスというものを用いてやりとりをすることでプライバシーを守っているが、アドレスと個人が紐付けば、その人のやり取りは全員が把握可能になってしまう。
まとめとブロックチェーンの流れ全体像
ここまでダラダラと用語の整理と解説をしてきましたが、理解しにくいと思いますので、図にしてイメージをまとめていきます!
-
従来のお金のやり取り
従来というより現在主流のお金のやり取りは以下の通り、銀行を中心に通貨の送受信をしています。そのため、やり取りの履歴というのは銀行が管理していることになります
-
ブロックチェーンでの通貨のやり取り
ブロックチェーンでの通貨のやり取りは銀行などの中央機関を介さず、ブロックチェーンのネットワークを通じて直接やりとりしているイメージです!
取引履歴については、誰か特定の人や団体が管理しているのではなく、全員で管理しているといった感じでしょうか!
最後にブロックチェーンの取引の全体像を見ていきます。
- ① アドレスを作成
- ② 取引が発生する(トランザクション)
- ③ ネットワークに取引を伝える
- ④ マイナーがブロックを構築
- マイナーは未検証取引を集めて Nonce という使い捨ての数字の羅列を探しにかかる(これをプルーフオブワークという)
- (上でも説明した通り、Nonce を一番最初に発見したマイナーはビットコインなどで報酬を受ける仕組み。)
- ⑤ マイナーはブロックを構築するとネットワークにブロックを伝える。
- ⑥ 上記で作成されたブロックがネットワーク内で検証され正しいと判断されるとブロックチェーンに取り込まれる。
Discussion