見出し画像

ブロックチェーンとは神の不在なり: Bitcoinの仕組み①

こんにちは!
人生で初めての投資はBitcoinの主婦ねこです(マジです).

今回はOECDのPETsレポートでも触れられていたブロックチェーンについて、2008年に公表されたSatoshi Nakamoto論文をベースに紹介します.(長くなりそうだったので何回かに分けて書きます)

※ Satoshi Nakamoto論文ベースなので,今現在の実装とは異なる点も多々あるかもしれませんがご了承ください.Satoshi Nakamotoのアイデアの素晴らしさが伝われば幸いです.
※  別途,ブロックチェーンにまつわるプライバシー関連の技術の話を書きたいと思っています.面白い話がたーくさんあるので!


そもそもSatoshi Nakamoto論文とは?

Satoshi Nakamoto論文とは,あるサイファーパンク※コミュニティのメーリングリストに投稿されたBitcoin: A Peer-to-Peer Electronic Cash System(※1)というタイトルの論文のことです.著者はSatoshi Nakamotoという名前を名乗っていますがこれは匿名で,おそらく日本人ではありません.このSatoshi Nakamoto論文のアイデアをベースにBitcoinが開発され,その後のブロックチェーンブームを巻き起こしました.

ちなみに2008年に発表されたSatoshi Nakamoto論文ではブロックチェーン(Blockchain)という言葉は使われていませんが,世の中的にはBitcoin= 世界初のブロックチェーンという認識が一般的かと思います.

※ サイファーパンクとは…cypher(暗号)とcyberpunk(サイバーパンク)を掛け合わせた造語です(コトバンクより).サイバーパンクは,もともとはSF小説のいちジャンルで,抑圧的な支配や腐敗した体制などのディストピア社会とそんな社会に反抗する物語全般を指します.ここにcypher(暗号)が組み合わさったサイファーパンクという言葉は,暗号技術を利用し,インターネット上でセキュリティとプライバシーを保護することで政府や大企業からの監視や介入に対抗する活動を推進する活動家のことを指します.

ブロックチェーンとは?

まずブロックチェーン(Blockchain)とは何を指す言葉なのでしょうか?一時期「ブロックチェーン」という言葉がマーケティングワード(=「この言葉を入れておけばお客さんが食いつくっしょ!」というワード)としてよく使われたこともあって,あまりブロックチェーンという言葉が何を指すのか,広く統一されてはいないように感じます.(その方がマーケティングワードとして使いやすいですものね.今だと「AI」という言葉が何を指すのかが結構ぼかされてますね.)

世界的な標準化団体であるISO(International Organization for Standardization:国際標準化機構)のブロックチェーンの定義(※2)をベースに説明すると,こんな感じです.

ブロックチェーンとは:
分散管理された台帳のこと.ブロックをハッシュチェーンでつなげることによって、書き込みしかできず,改ざんが極めて困難なもの.
                            by 主婦ねこ

重要なところは「分散管理された」というところで,政府や大企業などの中央集権的な何者かがデータ(台帳)を管理するわけでなく,みんなで分散してデータ(台帳)を管理するところです.ブロックチェーンの世界には全知全能の神は不在なのです.

この台帳で取引の履歴が管理されてる仮想的な通貨のことを暗号資産(Crypto Currency)と呼びます.昔は仮想通貨と呼ばれていました.「Bitcoin」というと,この暗号資産のことを指す場合が多いです.暗号資産には,ほかにもイーサリアム(Ethereum)をはじめ様々なものがあります.それぞれ管理している台帳そのものや,台帳を管理するための仕組みが違います.

GMOコインの暗号資産のチャート(抜粋)です.たくさん載ってます.
引用元:https://coin.z.com/jp/corp/information/

Bitcoinの仕組み…の前の基礎知識

Bitcoinの仕組みを説明する前に,まずはBitcoinで使われている暗号技術についてざっくりお話しします.

ちなみに暗号学は英語でcryptography,暗号化をencryption,暗号文をciphertextといいます.日本語だと,暗号学(cryptography)というと暗号化(encryption)に関する学問のように感じてしまいますが,暗号学(cryptography)にはもっと広い意味があります.以下で説明するハッシュ関数やデジタル署名も暗号学の範囲に含まれます.

ハッシュ関数(Hash Function)

ざっくりいうと,デジタルデータの指紋に相当する値(ハッシュ値)を計算するための関数のことです.さらに暗号学的ハッシュ関数(cryptographic hash function)というと,いろいろな性質を満たすことが期待されますが,ここではブロックチェーンの話に必要な性質だけをお話しします.

  • デジタルデータのハッシュ値はだれでも計算できる

  • ハッシュ値からもとのデジタルデータを推測することは難しい※

  • 入力値から出力値が予想できない(入力が1bit違うだけでハッシュ値が大きく変わる)

「ブロックチェーンとは」で出てきたハッシュチェーン(Hash Chan)とは,ここでは,ハッシュ関数から出力されたハッシュ値をまたハッシュ関数にかけて, そのハッシュ値をまたハッシュ関数にかけて..して得られたハッシュ値たちの連なりだと思ってください.

※この性質は今回の話には出てこないですが,重要な性質なので載せておきました.

デジタル署名(Digital Signature)

デジタル署名は,ざっくり言うと実社会で使用する署名(捺印)をデジタルデータに置き換えたものです.

署名したい人(=署名者:Signer)はまず自分自身の秘密鍵(Secret key)※と公開鍵(Public key)を作ります.このうち公開鍵だけを公開鍵簿と呼ばれる誰でもアクセス可能な場所に置きます.秘密鍵はその名の通り誰からも秘密にしておきます.

署名者は署名したいデジタルデータと自分の秘密鍵から署名(Signature)を作ります.このデジタルデータと署名を受け取った人(=検証者: Verifier)は,署名者の公開鍵を用いて,(1). その署名は秘密鍵を持つ署名者が確かに署名をしたこと, (2). デジタルデータが改ざんされていないこと検証することができます.

デジタル署名のイメージ図

デジタル署名技術とは,上記を可能にする鍵生成,署名,検証技術を指します.

注:たまに「デジタル署名」の説明なのに「暗号鍵」というワードが出てくる説明を見かけます.デジタル署名技術と暗号化技術は別ものですのでご注意ください.

※ 秘密鍵をPrivate keyと呼ぶこともあります…が,私はSecret key派です.Private keyだと,秘密鍵(Private key)も公開鍵(Public key)も省略するとどっちもpkになってしまって紛らわしいので(汗).

次回予告

というわけで,軽い気持ちで書き始めたBitcoinの仕組みですが,基礎知識を話しただけでずいぶんと長くなってしまったので,次回に続きます(汗).

参考リンク

(※1)Satoshi NakamotoのBitcoin: A Peer-to-Peer Electronic Cash Systemはこちら(https://bitcoin.org/bitcoin.pdf)からダウンロードできます.

(※2)ブロックチェーンのISOの定義は以下のページを参照してみてください.「Read sample」をクリックし,「3 Terms and definitions」のセクションに書いてあります.…これがISOの定義です.(誰か活用してるのだろうか)

(※)タイトルはテッド・チャンの短編集『あなたの人生の物語』に収録されている「地獄とは神の不在なり」のオマージュです.超おススメの一冊です.でも映画タイトルの「メッセージ」というのはどうなんでしょうねぇ…

※アイキャッチ画像はDALL-E3を利用して作成しました.サメに乗るネコです.サメと掛けてブロックチェーンと解く、その心は…次回!


この記事が気に入ったらサポートをしてみませんか?