ビットコインとブロックチェーン。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week1-4

前回までの記事はこちら。

ーーーーーーーーーー

こんにちは!クレメア(@cremea_tw)です。

前回に引き続き、カリフォルニア大学バークレー校の無料講義、
「ビットコインと仮想通貨のオンライン講座」で学んだ内容をシェアしていきます。

講義そのものにおいて、

読者対象:ビットコインや仮想通貨について詳しく知りたい全ての人
前提知識:不要

という感じなので、
講義内容を読むだけでもかなり理解が深まるのではないかと思います。

 

文章のスタイルとしては、
翻訳ではなく、個人的解釈バリバリの超訳をしてきます。

荒削りですがスピード重視で、
クレメア的な解釈も交えてお伝えするので、
間違いや意見などあればコメントいただければと思います。

 

また、太字や文字色などの文章の装飾は極力していません。

学びの本質はそこではない、時間がもったいない、あとでできる、
ということで、今回は泣く泣くカットしました。

見辛いかもしれませんが、予めご了承ください。

 

ということで、
講義の内容に沿って進めます。

今回の記事は、
ビットコインとブロックチェーンについてお伝えします。

それでは、本題に入っていきましょう。

イントロ: レコードキーピング (ステージ 3)

前回までの講義で、
公開鍵と秘密鍵を使用して全てのユーザーにユニークなアイデンティティを割り当て、
UTXOまたはUnspent Transaction Output モデルを使用して、
これらの間でトランザクションを実行する方法を理解しました。

すると当然、次のような疑問が出てきます。

どのようにしてトランザクション履歴を追跡するのでしょうか?

結局のところ、ユーザーの現在の残高は、
現在の金額を合計する、トランザクションの数として記述することができ、
過去に何が起こったかわからない場合、
将来有効なものかどうか特定することができません。

 

レコードキーピング (ステージ 3)

分散型データベース

図を見てください。
これは5つのエンティティのネットワークを表します。

これらのサークルのそれぞれは、
アイデンティティを示します。

上の緑色がラスティ、右上の赤色のグロリア、右下の紫色のニック、
左下の青のナディア、左上のオレンジ色のデリック。

各サークルを結ぶ直線によって明らかなように、
このネットワーク上では全て互いに接続されています。

簡単にするために、
全ての公開鍵を名前に置き換えました。

まだ、UTXOモデルを右上の基本的なテーブルに置き換えました。

 

トランザクションの履歴は、誰が現在何を所有しているかを知り、
この履歴を使用して将来のトランザクションの有効性を確認するという、
明確な理由から保管する必要があります。

この情報を保存するには、
何らかの形式のデータベースが必要です。

データベースは情報の格納場所であり、
多くの種類と実装のデータベースがあります。

 

ビットコインで使用する必要があるデータベースの種類を理解するには、
ビットコインプロトコルの要件をもう一度思い出してみてください。

ネットワーク内の情報を制御する中央的エンティティは必要ありません。

私たちは誰もがトランザクション履歴の読み書きができるようにしたいと考えています。

 

したがって、分散型のデータベースを使用します。

その名の通り、情報が分散されて格納されます。

情報が1つのエンティティ、もしくは1つの場所にだけ格納されることはないということです。

 

ビットコインは分散化をめざしているため、
正確に使用したいと考えています。

この分散型データベースはどのように見え、
正確にはどこに格納されるのでしょうか?

 

私たちの情報を保持する中心的エンティティは存在しないので、
最も近いのは選択されたエンティティのセットにこの履歴を保持させることです。

仮に、私たちがネットワーク上の複数のエンティティに、
取引の元帳を維持し共有する責任を負わせるとしましょう。

すると、ビットコインが信頼できないシステムになることを目指す、
分散型データベースの保守担当者も信頼しなければならないため、
集中化を志向する一部の人が私たちのプロトコルに侵入することを許すことになってしまいます。

 

そのため、我々は別の方法を考えなければなりません。

 

それが、選ばれた保守担当者がいるのではなく、
誰もが元帳のコピーを保持していく方法です。

 

全ての人の銀行

我々は誰もを銀行にします。

できる限り集中化から遠ざけるために、
ビットコインの個々のエンティティは全て同じでなければなりません。

 

全ての人が元帳を保管してる場合、
全ての人は等しく取引の有効性について投票する正当性を持っています。

全ての人は自分のデータを管理しており、
誰も他の誰かを決定することはできません。

賄賂を与える人は誰もいません。
ハッキングする人は誰もいません。
データベースを変更するために不正する人は誰もいません。

これは、トランザクションの履歴を維持するために可能な、
個々の独立性の最大の状態です。

 

私たちは各人に元帳を保管させたいと思っていますが、
データベースは実際にどのように見えるのでしょうか?

どのようなデータ構造が、
トランザクション履歴を保持しているのでしょうか?

 

個々のトランザクションを個別に格納することを決めるかもしれませんが、
1秒あたりのトランザクション数が多いネットワークでは、
受信したトランザクションごとにデータベースを更新するのはコストがかかります。

結局のところ、誰もが独自の元帳を保持しており、
一度エンティティが変更されると、ネットワーク全体に伝播する必要があります。

では、私たちが元帳を効率的に保管するために、
どうすれば良いのでしょうか?

 

ブロックチェーンとは

ビットコインの元帳である分散型データベースの更新は、
ブロックと呼ばれるものにまとめられた一連のトランザクションです。

全てのブロックは、前のブロックから構築され、またそれに連鎖されます。

全体的にこれは「ブロックチェーン」と呼ばれる、
魔法のデータ構造を形成します。

 

データをブロックにグループ化することで、
全ての取引後に全ての元量を更新した結果、
ネットワークに負荷をかける必要はありません。

ブロックチェーンを使用すると、
何千ものトランザクションを含む可能性がある全てのブロックだけを、
ブロックチェーンに追加する必要があります。

このようにしてブロックチェーンは、
ただデータ更新するだけでなく、データベースの分散状態を維持します。

全てのブロックは更新そのものであり、
一連のブロックは履歴を表します。

 

このプロセスは、
データベースの2つの異なるバージョン間の不一致を特定するのに役立ちます。

なぜなら、全てのトランザクションが個別に処理される場合よりも、
いつでも元帳内で何が起こったかがハッキリしているからです。

 

全てのブロックには、
前のブロックに関する情報が含まれています。

ブロックが突然変異した場合、意図的であれ、そうでないにあれ、
このブロックおよび将来の全てのブロック内の情報が変更されます。

これにより、過去のトランザクションが改ざんされると、
それにリンクする将来のブロックが無効になるため、
ブロックチェーンが改ざんされてしまいます。

 

繰り返して言えば、この設計の選択は、
個々のトランザクションの格納負担を軽減し、
ビットコインネットワークの全メンバー間の一貫性を促進するためのものです。

もちろん、次の質問は、
誰が次のブロックについて、どのように合意に達するのか?です。

 

詳しくは次の講義で、
コンセンサスについて話していきます。

 

Quick Check 1

ブロックチェーンは分散型データベースのデータ構造です。

  • True
  • False

 

あとがき

ということで、
いかがでしたでしょうか?

取引の有効性を判断するために、
過去の履歴をどう保存していくのか。

この問題を解決するアイデアとして出てきた、
全ての人が独自に元帳を持つ分散型データベースという考え方、
そしてブロックチェーンというデータ構造。

まさにビットコインといった感じで、
何回読んでも素晴らしいアイデアだなと思うばかりです。

 

今回は文字だけでは理解が難しそうなので、
頑張って図を日本語訳して載せておきました。

講義自体とてもわかりやすく、
内容も面白いので全く苦ではないですね。

早く次を見ようと思います。

 

これが無料で観れるとは、良い時代生まれたなあ。

 

世界で最も頭の良い人たちが、
世界で最もわかりやすく面白い説明し始めたら、
今の日本でいう教師の役割は不要になってくるよね。

教師は選べる時代だし、
教師の役割の再定義も今後必要になってきますね。

 

自ら学ぶものにとって、
これほど生きやすい環境は今までにないんじゃないかな。

 

ということで、

今回はこの辺で失礼します。

このブログを書く僕の目的は、
「ファンを作ること・仲間を増やすこと」です。

趣味が合う、気が合う、考え方が合う。
なんかええなーと思ったら、気軽にメッセージください。喜びます。

終わり。

 

次の記事
ビットコインとコンセンサス。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week1-5

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

物語の引き金を引く男 / 「てめえの人生に火をつける」 / プロ火付け役 / 腐れニートからの再始動 / 見知らぬ人にMacBook Proを買った人 / 32日で100記事達成 / ただの足跡を伝説に変えていく男 / Youtubeで #クレメアラジオ 不定期配信 / サロン「裏世界」オーナー 参加希望者はDMまで