見出し画像

【完全保存版】ビットコインのUTXOについて、しっかり理解しよう!

0 はじめに

まずは本題に入る前に、イーサリアムとの違いを考えてみましょう。

イーサリアムと違うということを理解することが最初の出発点だと思います。

1 イーサリアムの場合

イーサリアムの場合は単純です。

Xさんが3ETH持っているのなら、Xさんのアカウントに3ETHが入っているというシンプルな構造です。

2 ビットコインの場合

ビットコインの場合、下のように、たくさんのアドレスがあり、その合計値で残高が求まります。

この場合、合計して、11.3 BTCであることがわかります。

そして、これら一つ一つがUTXOです。

そして、これは「Unspent Transaction Output」の略で「未使用のトランザクションアウトプット」と言います。

後で、どういう意味かを見ていきます。

「未使用の」というところで意味が切れるということを頭の片隅に入れておいてください。


1 具体例で考えよう

0 世界観

まずは、具体的に、理解してみましょう。

この世界では「お金券」と言う券でやりとりをしているとします。

お札やコインはありません。

1 現在所持しているお金券

私は現在、こちらのお金券を持っています。

合計すると、35,350円あります。

2 保管場所について

それを家の色々なところに置いています。

一箇所に置いておくと、35,350円持っていることがバレてしまいます。

でもバラバラに置いているので、例え、1,000円のお金券を誰かに見られても32,000円を持っているかはすぐにはわかりません。

3 お買い物をしてみよう

では、ここで、お買い物をしてみましょう。

500円の素敵なコップがあったので、買いたいと思います。

4 どのお金券を使うのか

では、1,500円のお金券で買いましょう。

私ならきっと、「850円」のお金券を使いそうですが、何を使うかはこの人の自由です。

5 現実世界とのギャップ

そして、実際のやりとりは、下のようになりません。

相手の人が1,000円のお金券を持っているとは限りません

また、相手もただの人なので、お金券を二つに分けることはできません。

6 実際の処理について

実際には、こんなふうに機械を使います。(イメージです。)

1,500円券をこの機械に渡して、消費します。

あとは、この機械が新しいお金券を作って、分配してくれます。

7 おつりの保管場所

もらったお金券は別のところに保管します。

これで、現在の合計額は34,850円になりました。

8 お金券を2つ以上使う場合

では、次は、こんなゲーム機を買ってみたいと思います。

一つのお金券だけでは足りないので、2つ使う必要がありますね。

2つ使うこと以外は、先ほどと同じです。

下のように、私は新しく、350円のお金券をもらいました。

350円のお金券は、また別のところに保管します。

これで合計は2,350円です。

2 ビットコインに当てはめて考えよう

では、実際のビットコインに当てはめて考えてみましょう。

1 トランザクションについて

下のようなお金券(実際はビットコイン)が消費されて、別々に分配されるこちらをトランザクションと呼びます。

2 インプットとアウトプットについて

そして、消費したお金券がインプット、分配されたお金券がアウトプットです。

3 保管先のアドレスについて

そして、お金券を別々の場所に保管していましたが、これが別々のアドレスを指しています。

ブロックチェーンは誰でも見ることができます。

しかし、たとえ、どれかのお金券を見られたとしても、合計でいくら持っているかを計算することは困難です。

4 プライバシー保護とデメリット

これにより、合計額を特定されにくくなり、プライバシーの保護につながります。

一方、合計額はお金券を合計しないと求まらないという意味ではデメリットでもあります。

5 UTXOとは

ちなみに、使用後はこのようになっていました。

これらはトランザクションアウトプットでしたね。

これらは使われていないアウトプットなので、「Unspent Transaction Output」UTXOと言います。

6 並列処理について

UTXOでは並列処理が可能です。

なぜなら、それぞれのUTXOは独立している別々のものであるため、相互に干渉していないからです。

7 二重処理の防止

また、UTXOは、使用されると、「UTXO」ではなくなります。「Unspent」ではないですもんね。)

そのため、一度使われたUTXOは使用できないため、二重払いを防ぎます。

8 どのUTXOを使うか

どのUTXOが使用されるかはウォレットやアルゴリズムに依存します。

そのため、1,500円のUTXOが使われるとは限りません。

今回は以上です。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊