2021/11/09

Blockchain – ゼロから理解する – 第1回:Blockchainの基本

WRITER: q.q.vuong

全体図

細かく見たい場合はブラウザの別タブで開くか、ダウンロードしてご確認お願いします。

またはXMindを使って作成しているので、アプリで添付ファイルを開くことでより詳細にご確認いただけます。

XMind: Xmind Download Link

添付ファイル:blockchain mindmap


はじめに:

最近、ブロックチェインがすごく熱く、ブロックチェイン技術を導入したプロジェクトを立ち上げる企業も多いと思います。

プロジェクトを立てなくても、仮想通貨に投資して、利益を得る人も多いです。

自分もエンジニアとして、最新技術のブロックチェインをゼロからを勉強しようと思いました。

こちらの記事で自分のできる限りブロックチェインの基本的な知識をまとめて行きます。

では「第1回:Blockchainの基本」を紹介させていただきます。

興味ある方は上記のMindmapを見たほうが理解しやすいかもしれません。

 


歴史

  • 1979-2007:ブロックチェインで開発する技術が公開されました (Merkle trees)
  • 1991: Stuart Haber と W. Scott StornettaがMerkle treesを改善改修して、記事を公開しました
  • 1997:メールスパムを防止するため、AdamBackがHash Cashを紹介しました。
  • 2004: Hal FinneyがProof Of Workのメカニズムを紹介しました。
  • 2009:サトシナカモトがBitcointとBlockchainのホワイトペーパーを公開して、最初のBTCブロックをマイニングしました。それから、仮想通貨が新しいステップに移りました。

 


Blockchain(ブロックチェイン)とは?

簡単に説明すると、BlockchainはBlock(ブロック)とChain(チェイン)=>この合成がブロックチェインです。

基本概念(構成単位):

  • Block(ブロック)
  • Ledger(元帳)
  • Distribution (ディストリビューション)
  • Transaction(トランザクション)
  • Confirmation(証明)
  • Proof Of Work(プルーフオブワーク)(様々な形式が開発されました、例えばProof Of Stack, Proof Of History,…ですが、最初の形式がProof Of WorkなのでProof Of Workを代表としております)
  • Result(結果)

ブロックとチェイン:

ブロック:

  • トランザクションデータを保存する。
  • 一つブロックは1つ元帳(Ledger)
  • 1つトランザクションデータはチェインにあるのすべてブロックに保存されます。

チェイン:

すべてのブロックを連結するのがチェインです。

公開分散元帳 – Public Distributed Ledger

構成:

  • Data: トランザクションデータ
  • Hash:
    • HashはUniqueです
    • トランザクション詳細を取得するためです
  • Has Of Previous Block: トランザクションが保存されたのブロックの前のブロックHash(説明が難しいので図で見たほうがわかりやすいです)

 

Proof Of Work (POW):

現時点(2021年11月)では、色々なProof Ofが開発されています。

Proof Of Workは古い形式ですが、ほぼ最初のProof形式なのでこれを代表として説明します。(ちなみに、ビットコインもこのProofを使っています)

簡単に説明するとProofは仕事の証明です。

現実世界でしたら、仕事をして、成果物を出して、給与をもらう。

ブロックチェイン世界ではProofはその成果物です。(トランザクションを証明して、復号化するのが成果物です)

現時点、CommonなProof Of:

  • Proof Of Stake
  • Proof Of History

Proof Of Workのステップ解説:

  1. マイナー(Miner)がHashを計算する
  2. マイナーがトランザクションのHashを計算できましたらチェインに公開して、ブロックを閉じる。(早い者勝ちです)
  3. マイナーが計算報酬を貰える。

現在の暗号化列:

  • BTC: SHA256
  • ETH: ETHSHA

トランザクションを確認する流れ:

AさんがBさんに仮想通貨を贈りたい場合:

  1. トランザクションデータ作成:
    Data:
    {
    Amount: 2BTC
    元先Wallet アドレス:0X98768qwrhiuwfscnsdc….
    受け先Wallet アドレス:0X98768qwrhiuwfscnsdc….
    }
  2. AさんのPrivateキーで、トランザクションデータをHashして、暗号化したのトランザクション情報とPublicキーを送る。
  3. Bさんが自分のPrivateキーで復暗号する。(Bさんしか復暗号されないです)

 


BlockchainとCryptoCurrency(仮想通貨)の関係:

ブロックチェインがないと仮想通貨も存在できないです。

理解しやすいように説明するとブロックチェインが海、仮想通貨は海の中の魚です。海がないと魚’が存在できないです。

ブロックチェインのProof Ofは仮想通貨の価値ですので、ブロックチェインがないとProof Ofもないため仮想通貨も価値を持っていません。


ブロックチェイン技術を利用する:

では、ブロックチェイン技術を利用すると何ができますでしょうか?

  • 送金などが便利、手数料も安い、手続きも早い、年中無休、匿名。
  • 企業にとってとても良いです。伝統的なやり方では企業のプロジェクトに投資入金の流れが面倒、様々な手続きの作成が必要、ブロックチェインでは、SmartContract を作成、プロモーションなどを行って、投資者の興味があれば、そのSmartContractをサインして、仮想通貨を買う形で投資するためすごく早いです。
  • Digital処品売却(NFT)

 


ブロックチェインの弱点(闇側):

  • 現時点では、正式な法律まだ未整備なので投資者としてはリスクが高い、詐欺が多い。
  • チェインがだんだん多くなって、クロスチェイン技術などまだ開発中なので制限が多いです。ブロックチェインの未来はこれからかと思います。
アバター

q.q.vuong

開発Gクライアントエンジニア
メイン:Unity
興味はゲーム内システム仕組みを設計する。
最近はNFT、Unity(VR) x Blockchainに興味があります。