二種類のブロックチェーン残高管理システムUTXOとアカウントベース



仮想通貨を購入したり投資を行うには、通貨自体の特徴を抑えることが重要です。
ビットコインやイーサリアムの仕組みや性質について深い知識を持つことで、各銘柄の将来性を予測する手助けになります。

今回紹介するのは、ビットコインに導入されている「UTXO」、そしてイーサリアムに組み込まれている「アカウントベース」の2つです。

UTXOもアカウントベースも技術的で難しい内容になりますが、出来る限り平易な文章で完結にお伝えしていきます。

ブロックチェーン上の取引はデータの集まり

仮想通貨の取引はブロックチェーンを通して行われます。
実際に通貨がAさんからBさんに移動するというわけではなく、「AさんからBさんに1BTC送金」のようにデータのみのやり取りです。

この仕組み自体は特別新しいものではなく、私たちに身近な銀行でも行われています。
銀行内の資金のやり取りもデータ上で実行され、たとえば他社に100万円振り込んだからといって、現実にはリアルタイムでお金が移動しているわけではないのです。

ただ、仮想通貨は資産保有高を一目で確認する方法があります。
仮想通貨ウォレットを使ったことがある方なら、「現在の保有高5BTC」というような残高を確認したことがあるでしょう。
銀行で言えば通帳にあたります。

では、データのみで取引を行っている仮想通貨は、どのようにして残高を表示しているのでしょうか。
次の項目で詳しく説明していきましょう。

トランザクションの仕組みを世界一分かりやすく解説

2018.08.09

UTXOとは

参照:Bitcoin開発者ガイド−bitcoin

UTXO(Unspent Transaction Output)は、日本語で「未使用トランザクションアウトプット」と呼ばれます。
簡単に言えば、過去の取引データから現在の残高を割り出す方法のことです。

ここからは、UTXOの具体的な説明を行っていきましょう。

UTXOの意味

UTXOは、主にビットコインに導入されている仕組みですので、ビットコイン(BTC)を参考に説明していきます。

UTXOとは
特定の所有者にロックされた分割不可能なビットコインの固まり」と表現されるものです。
ビットコインの取引は何度も取引が行われます。
たとえば、「AさんがBさんに1BTC送金した」取引もあれば、「AさんがCさんに2BTC送金した」という内容も残っています。
こうした1つ1つの小さな取引履歴のことをUTXOと呼びます。

ビットコインでは過去のUTXOを足したり引いたりして最終的な残高が計算されます。
ビットコインのウォレットに「残高5BTC」などと表示されているのは、複数のUTXOを計算した結果なのです。

ここまではUTXOについて簡潔に説明しましたが、ここからはUTXOをより専門的に見ていきましょう。

なぜ、UTXOが「未使用トランザクションアウトプット」と呼ばれるのか?

アウトプットとは「出力」を意味し、反対の言葉に「インプット=入力」があります。
出金と入金という言葉にそれぞれ置き換えてみても良いかもしれません。
ブロックチェーン上の取引(トランザクション)は、アウトプットとインプットの繰り返しで行われ、最終的に両者の合計額は等しくなります。

仮に「AさんからBさんに1BTC送金」したとします。
Aさんの保有量から1BTCが減ったので、これを「Aさんのアウトプット」、反対にBさんの保有量は1BTC増えたので「Bさんのインプット」というように表現するのです。

実際に通貨が消費されるのはインプット時点のみで、アウトプット時には通貨が使用されることはありません。
そのため、Aさんのアウトプットは、誰も消費していない「未使用トランザクションアウトプット」となるのです。

UTXOの具体例

UTXOの具体例について詳しく解説していきましょう。
一例に登場する仮想通貨はビットコイン(BTC)、ビットコインを保有している人をBobとします。

現在Bobは10BTC分のビットコインを保有しています。
そして、このビットコインの内訳は4BTCと6BTCのUTXOで成り立っているとしましょう。
つまり別の人から送られてきた4BTCと6BTCの送金情報です。

ある日、Bobはビットコイン決済のできるビックカメラで3BTC分の買い物をしました。
その決済にBob自身が持つ10BTCを使います。

単純に計算すれば、Bobの手元には7BTCが残るはずですよね?

その通りです。

ただし、取引は少し複雑になります。
Bobは4BTCと6BTCのUTXOを持っていますが、3BTCちょうどのUTXOは持っていません。
また、保有する4BTCを3BTCと1BTCなど、支払い金額に応じてUTXOを分割することもできないのです。

そこで、まずは4BTCをビックカメラに支払うというアウトプットが生成されます。
その後、4BTCと支払い金額の3BTCとの差額1BTCがビックカメラからBobに送金されるアウトプットが生まれるのです。(ここまでの手続きは自動で行われます)

今回の例のように、UTXOは複数のインプット、アウトプットを生成することで保有資産金額を計算します。

少し複雑に思えますが、法定通貨で商品やサービスを購入する時と大きな違いはありません。

たとえば、Bobが50円玉2枚(100円)を持っているとします。コンビニで30円分の買い物をしました。

しかし、わざわざ50円玉を分割して5分の3を支払うということはしませんよね。
まずは店員に50円を渡し、その後、20円のお釣りを受け取ります。
この反復作業はUTXOのアウトプットとインプットの仕組みとよく似ています。

もちろん、法定通貨(日本円)には1円硬貨や5円硬貨、10円硬貨、1,000円札など複数の種類があるので支払い金額ピッタリになる可能性は高いです。

 

支払い手段 ビットコイン 日本円
支払い金額 3BTC 30円
保有資産 10BTC(4BTC+6BTC) 100円(50円+50円)
支払い Bobからビックカメラに4BTC Bobからコンビニに50円
お釣り ビックカメラからBobに1BTC コンビニからBobに20円
Bobの手元に残るお金 7BTC(1BTC+6BTC) 70円(10円+10円+50円)

 

アカウントベースとは

参照:仮想通貨QTUMとは?特徴と買い方(取引所)をわかりやすく解説!−これから始まる!仮想通貨

アカウントベースとは
アカウントの残高を複雑な計算なしに直接データとして記録する方法のこと。
例えば「イーサリアムの残っている金額、それが残高」と非常にシンプルな考え方です。

UTXOでは、過去の取引に遡って、全ての取引記録を計算して残高を算出します。
UTXOとアカウントベースはどちらも目的が「現在の資産残高を算出する」ことですが、その算出方法はどちらか一方が優れており、どちらかが劣っているということではありません。

UTXOにも、アカウントベースにもそれぞれメリット・デUTXOがビットコインに採用されていたように、アカウントベースは時価総額2位のイーサリアムで用いられる方式です。

アカウントベースは、複雑な仕組みのUTXOに比べ、より簡潔に資産の保有状態を表します。

それでは、ここからはアカウントベースの具体的な説明を行っていきましょう。

メリットが存在し、長短所を検証するには、2つの方法を比較してみるのが一番です。

UTXOとアカウントベースを比べてみる

UTXOはビットコイン、アカウントベースはイーサリアムと、それぞれ実装先は異なりますが、通貨には各々良い点と悪い点が備わっているように、UTXOとアカウントベースの両者にも得意・不得意が存在します。

では、ここから先は、UTXOとアカウントベースについて特徴や性質などを見比べていきましょう。

UTXOの優れている点

UTXOの優れているいる点を簡単に説明すると以下の通りです。

  • 匿名性が高い
  • リプレイアタック耐性が強い
  • スケーラビリティが優れている

UTXOの最大のメリットは匿名性の高さにあるでしょう
UTXOの匿名性を説明するために、先ほどのBobがビックカメラで3BTCの決済を行った例を参考にします。

Bobが保有しているビットコインは4BTCと6BTCの合計10BTCでした。
そして、4BTCのUTXOを利用して3BTCの決済を行います。
この時、消費した(インプット)4BTCのUTXOのデータは完全に消滅します。

その後、ビックカメラのアドレスからBobに対して1BTCのお釣りが送金されますが、その1BTCのUTXOは元々のBobのアドレスではなく、新しくお釣り用のアドレスに紐づけられます。

全く新しいアドレスにお釣りが送金されることで、第三者からの追跡を困難にすること、これが高い匿名性に繋がっているのです。

UTXOはこうした複雑な仕組みを採っているため、スムーズな取引を阻害してしまう可能性も指摘されています。
しかし、理論的には複数の取引を同時的並行処理ができるUTXOはスケーラビリティが優れているとされます。

また、アドレスの残高を常に過去の取引履歴から参照することで、リプレイアタック(通貨分裂後に送受金を繰り返す悪質な資産運用)に対しても耐性が生まれます。
ブロックチェーン上のUTXOは、他のブロックチェーンのUTXOとは完全に区別される理由からです。

匿名性通貨は悪なのか!?匿名性通貨をニュース、口コミから考察してみた

2018.08.17

アカウントベースの優れている点

アカウントベースの優れているいる点は以下の通りです。

  • 処理が単純でスマートコントラクトなどの複雑な処理が簡単
  • ウォレット上で簡単なシステムだけで実装ができる

アカウントベースは、ブロックチェーン上の残高情報のみを読み込み、容易に仮想通貨の残高管理ができます。
そのため、ウォレットを開発する際などは複雑なシステムなしに実装ができるメリットがあります。

また、イーサリアムに採用されているスマートコントラクトは、システム上様々な情報をブロックチェーン上に書き込まなければいけません。
仮に、UTXOという複雑な仕組みがブロックチェーンに存在すると、ただでさえ複雑なスマートコントラクトが機能しづらくなってしまうのです。

二種類のブロックチェーン残高管理システムUTXOとアカウントベースまとめ

UTXO、アカウントベースそれぞれのポイントを押さえることは、そのままビットコイン、イーサリアムの将来性を検討する上で大きな影響力を持ちます。
取引データの処理の仕方にどのような方法を用いているのかは他の技術との組み合わせの相性にも関わってきます。

もしイーサリアムにUTXOが使われていたらスマートコントラクトは実装が困難でイーサリアムは今の立ち位置にいないかもしれません。
他の複雑な処理を行う技術を持つ通貨はUTXOなのかアクントベースなのかということを調べるだけで、その通貨の将来性を予測することができます。

技術ベースで仮想通貨を理解することは投資という観点でみても役に立ちます。

もっともっと仮想通貨の深い部分を勉強していきましょう!




Coin Infoの公式Twitterアカウントをフォローする

Coin Infoの公式Twitterアカウントをフォローすることで、ニュースなどの速報情報や、Coin Infoの新着記事の通知などを受け取ることができます。

コメントを残す

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