皆さんはArkについてどんなイメージを持っているでしょうか。Arkという単語は聞いたことがあるけれど実態はよく分からなかったり、何かLightning Networkと関連していそうといった漠然としたものだと思います。

本稿では、Arkの基本的な構成要素の1つであるVTXOについて解説を行い、Arkのイメージを掴むことを目的にしています。今まで影も形もなく漠然としていたイメージを鮮明にできたら幸いです。

なお注意点としてArkには共通の仕様というものがないため、Second社のBarkの実装を元に解説しています。あくまで一例として概念を理解するためのものであり、将来変わる可能性があるということを念頭に読んでください。

💡
Arkの実装には主にSecondの「Bark」とArk Labsの「Arkade」が公開されています。Barkはオフチェーン決済に特化しているのに対して、ArkadeはDefiの実現のためにかなり実装が複雑なのが特徴です。

本題に入る前に、Arkにおける前提知識をご紹介します。

LNの課題を解決するArk

Lightning Network(LN)が登場した2018年以来、ビットコインのスケーラビリティ問題の解決としてオフチェーン決済が広く普及してきました。しかし依然としてLN上に個人のノードを建ててチャネルを開通し、Lightning決済を行っている人は少ない印象です。

ノードを建てない理由としてチャネル管理やInbound Capacityの獲得、手数料の設定などマネジメントをしなければならないという煩雑さがあるのではないでしょうか。

LNにおけるInbound Capacityの獲得方法8選
Lightning NetworkでInbound Capacityの不足を解消したい方やルーティングノード運用者向け。チャネル購入やリバランス、PeerSwapなど具体的な獲得方法8選を解説。ノード運用スタイルに合わせた最適な流動性管理の戦略が見つかります。
LN手数料分布から読み解くノード運用の傾向|ゴシップ情報で可視化
ライトニングネットワーク(LN)の手数料設定に悩むノード運用者向けに、ゴシッププロトコルで取得したデータからBase_feeやFee_rate、インバウンド手数料の分布を可視化。ネットワーク全体の手数料傾向を累積分布図で俯瞰し、ノード運用における手数料戦略の参考になる知見をまとめました。

複雑な設定を回避して、高速で低手数料なオフチェーン決済を可能にし、LNとも接続して送受金する事ができる技術がArkです。

Arkの仕組み:ASPとノンカストディアル

実態としてはASP(Ark Service Provider)と呼ばれるサーバーに、ビットコインを預けることでオフチェーンで決済ができる仕組みになっています。

「ASPが資金を盗む可能性があるのでは?」と心配になる方もいると思いますが、BarkではEmergency Exitと呼ばれる仕組みがあります。Emergency Exitでは仮にASPが不正な行為をしたとしても、ビットコインをいつでも自分の手元に出金が可能になるためノンカストディアル(ビットコインがユーザーの管理下にある)に該当します。

また、ASPが仮に不正な行為をした場合は分散ネットワークにより噂は即座に広がるため信用は失墜し、ASPの運用は立ち行かなくなります。その上Emergency Exitによりユーザーの資金を盗むことも不可能なため、ASPが不正を行うメリットはありません。

それでは、本題のVTXOについて解説していきます。

VTXO(Virtual Transaction Output)とは

VTXO(Virtual Transaction Output)は、Arkにおける基本的な構成要素の一つです。ビットコインにおけるUTXOと同じように、ArkではVTXOによって残高を保持して、決済を行うことができます。

UTXOについて知らない方は以下の記事をご覧ください。

UTXOとは?ビットコイントランザクションにおける仕組みを解説
ビットコイン特有の概念UTXOを、初心者にも理解できるよう解説。ウォレット残高との関係、インプット/アウトプット、口座残高方式を採用しない理由、手数料やコインベーストランザクション、ジェネシスブロックまで丁寧に説明し、中央管理者なしで二重支払いを防ぐビットコインの核心設計を学べます。

VTXOは日本語では「仮想的トランザクション出力」と直訳できますが、どう仮想的なのでしょうか。まずは以下の図をご覧ください。

クワッドツリー簡略図

こちらはクワッドツリー(四分木)をイメージした図になっています。実際にはそれぞれ枝が4本ずつ分かれていますが今回は見やすいように簡略化しています。

Barkではクワッドツリーにおける頂点(ルート)のみが1つのUTXOとしてオンチェーン上に存在します。そしてオンチェーンでは1つのUTXOとして見えますが、中身は複数人がビットコインを共有しており、クワッドツリーの構造をしています。つまり、オフチェーンでそれぞれ枝分かれしている1つ1つがUTXOであり、仮想的な存在であることからVTXOと呼ばれています。

ここで一度立ち止まって整理をします。ブロックチェーンでは1つのUTXOが見えますが内部の構造をみると何百人が仮想的にUTXOを共有した構造になっているというイメージがわかれば大丈夫です。4本ずつ枝分かれしているので、例えば5層になっただけでも4の5乗で1024人がビットコインを共有しているというイメージです。

Barkの実態はクワッドツリーですがここからは説明をしやすくするためバイナリツリー(二分木)を用います。

バイナリーツリー

オンチェーンに唯一存在するツリーの頂点の事を「ルート」、ツリーの中間を「ブランチ」、そしてツリーの末端を「リーフ」と呼びます。

この図を例にしてVTXOのイメージを膨らませていきます。まずは8人でビットコインを共有する場面を想像してください。ルートでは1つのUTXOですが、ブランチでは4人ずつで共有したVTXOになり、その次の枝では2人ずつで共有したVTXOとなります。そして、リーフに存在する8つのVTXOが各個人のビットコインに対応しています。

余談ですがArkにおいてコベナンツという仕組みが話題になっているのは、コベナンツが送金先に制約をかけることができるため、ツリー構造の設計に革新や簡略化をもたらすことができるためです。詳しくは以下の記事をご覧ください。

2023年はビットコイン開発への関心が高まった1年だった
今年も1年を振り返る時期になってまいりました。私は久しぶりの海外旅行やカンファレンス登壇などで充実させた一年でした。皆さんの2023年はどうでしたか? 先週、読者様から以下のようなリクエストが寄せられていました。 Bitcoin Optech Newsletterの2023年まとめ(https://bitcoinops.org/ja/newsletters/2023/12/20 )を読みましたが、ソフトフォーク提案が様々あり、どのOPコードがメインで議論されているかなど、開発の方向性がよく理解出てきていません。 今年の開発の総括や、来年以降の展望などこちらでもおまとめいただけると大変ありがたいです。 ちょうど年の瀬で振り返りに最適な時期でもあるので、今日は今年のビットコイン開発をまとめ、そのうちいくつかのトピックについて来年の予想をしていこうと思います。他にもご質問やご要望などあれば歓迎致しますので、どしどし教えていただければ幸いです! ・たくさんの新型L2が乱立、ソフトフォーク議論が再燃 ・粗雑なプロトコルも複数登場、議論の的に ・ライトニングはLSPの時代へ本格突入

定期更新イベント:ラウンド

VTXOには有効期限が存在し、Barkでは約30日と定められています。ArkではASPが流動性(ビットコイン)を提供してオフチェーンで決済を行うという構造をしている都合上、ユーザーが永遠にVTXOを保持したりGOXするとASPに不利益が生じます。そこでVTXOに有効期限を設定して、期限切れのVTXOに関してはASPがオンチェーンで回収できる仕組みを採用しています。

定期イベント:ラウンド図

ユーザーはVTXOの有効期限を更新する必要があり、ASPが定期的に開催しているイベントに参加することで古いVTXOを破棄して、新しいVTXOを獲得する「リフレッシュ」ができます。この定期開催のイベントのことを「ラウンド」と呼び、Barkでは約1時間に1回開催されています。

ユーザーはこのラウンドに毎回参加する必要はなく、有効期限が切れる前に参加すれば大丈夫です。

3種類のVTXO

ここからはArkにおいてVTXOがどのようにやり取りされているかを説明していきます。今回は説明のためトランザクションの種類によってVTXOを分類します。(分類の参考:Second

  • Board VTXO:ユーザーがArkへ初めて参加する際に作成されるVTXO
  • Refresh VTXO:有効期限切れを防ぐため、ラウンド内でリフレッシュして得られるVTXO
  • Spend VTXO:ラウンドを待たず即時送金時に作成されるVTXO
💡
オンチェーンからオフチェーン(Arkサーバー)に参加することをOnboard、オフチェーン(Arkサーバー)からオンチェーンに出ることをOffboardと呼びます。

まずはBoard VTXOから見ていきましょう。

Board VTXO

あるユーザーがArkを利用するためにビットコインをASPに預けた場面を想像してください。このときVTXOは以下の図のように作成されます。

Board VTXO

Board VTXOは、ユーザーが初めてビットコインをArkに移動する際に作成されるVTXOの事です。ユーザーは1人しかいないため、ビットコインを他のユーザーとは共有せず、リーフに1つのVTXOが作成されます。

作成されたVTXOはいつでもオンチェーン上に戻すことができるためトラストレスに扱うことが可能です。具体的には「ルート」から「リーフ」にかけてブロードキャスト(オンチェーンにトランザクションを公開)することでオンチェーンでビットコインを受け取ることができます。

💡
説明のために「ルート」から「リーフ」と書いていますが実際は「ルート」はオンチェーン上に既に存在しているため「リーフ」のみブロードキャストをすればいいです。

デメリットとして現状トランザクションツリーにユーザーが一人しかいないためオンチェーン手数料を全て請け負う必要があります。そこで有効期限の内にリフレッシュを行うことで、複数のユーザーとUTXOを共有するトランザクションツリーに参加します。

Refresh VTXO

ユーザーはラウンドに参加してリフレッシュをすることで、複数人とビットコインを共有したツリーに参加できます。

Refresh VTXO

こちらの図はユーザーが新たに参加したツリーの全体像です。ユーザー自身のビットコインはリーフのVTXOであり、ルートやブランチはビットコインを共有している状態を表しています。

Refresh VTXOは、期限切れが近いVTXOをリフレッシュする場合やSpend VTXOのセキュリティを向上させたい場合(次のSpend VTXOの項目で解説)に、Arkサーバーのラウンド中に作成されます。

作成されたVTXOもBoard VTXO同様「ブランチ」「リーフ」とブロードキャストすることによりビットコインをいつでもオンチェーンで受け取ることができます。ここでBoard VTXOの時との違う点は、オンチェーン手数料を全て請け負う必要はなく、ユーザー自身のリーフからブランチを経由してルートまでの道筋に存在するVTXOのトランザクション手数料のみで済む点です。また別のユーザーが既にブロードキャストしたトランザクションの手数料は払う必要はありません。

Spend VTXO

同じツリー内での資金のやり取りはどうなっているでしょうか。以下の図をご覧ください。

Spend VTXO

上の図は、AliceのVTXO(右下のリーフ)からBobへの送金を表しています。Arkサーバー内での送受金は、既存のリーフからVTXOが枝分かれするように派生します。

Spend VTXOとは、同じArkサーバー内でユーザーが支払いを送信する際に即座に作成されるVTXOです。arkoor(Ark out-of-round)という技術を利用することで、次のサーバーラウンドを待たずに即時送金が可能になります。

ただし、作成されたSpend VTXOにはセキュリティ上の懸念があります。BobがAliceからSpend VTXOを受け取った場合、ASPとAliceが共謀することで、その送金をなかったことにできてしまうのです。つまりBobは、ASPかAliceのどちらかを信用しなければならない状態に置かれます。

💡
ASPまたはAliceのどちらか一方が誠実に振舞えば不正は成立しません。ただし、送金者が増えるほど、つまりSpend VTXOのチェーンが長くなるほどBobは過去のすべての送金者を信用しなければならなくなります。

このセキュリティ上のリスクを解消するために、Bobはリフレッシュを行うことが推奨されます。リフレッシュにより新たなVTXO(Refresh VTXO)を取得することで、信頼モデルがBoard VTXOと同等の完全なトラストレス状態に戻ります。

Lightning Paymentについて

Ark内のビットコインのやり取りは同じサーバー内でないと行えないため、Arkの利用者が増えるまではLightning Paymentが主流になると考えられます。このときArk ServerはLNを繋ぐゲートウェイの役割を担い、ユーザーがLNの煩雑な設定を行う必要はありません。

Lightning Payment

こちらはLightning Paymentのイメージ図です。AliceがLNで決済を行おうとする場合、Ark Serverを通じてLNとやり取りをすることが可能です。このときAliceのリーフに存在するVTXOを用いてArk Serverと通信を行います。

Lightningの送受金においてアトミックな決済を行うためにArkではHTLCが使われており、arkoor転送の仕組みで新たなVTXOの枝が生えることによりArk残高が反映されます。

送金においてはルーティング手数料・流動性手数料・ASP運用手数料の3つが課されますが、Barkでは受金について今のところ無料で行えます。ただ厳密な手数料は現在策定中のため今後変わる可能性が高いです。

まとめ

本稿ではArkの基本的な構成要素であるVTXOについて解説しました。

Arkは、LNのような煩雑なチャネル管理を必要とせず、ASP(Ark Service Provider)にビットコインを預けることで高速・低手数料なオフチェーン決済を実現する技術です。Emergency Exitの仕組みによりノンカストディアルが担保されており、ユーザーはいつでも自身の資金をオンチェーンに引き出すことができます。

Arkの核となるVTXOは、オンチェーン上では1つのUTXOに見えますが、内部はツリー構造により複数ユーザーでビットコインを共有する仮想的なUTXOです。本稿では、用途に応じて以下の3種類に分けて説明しました。

  • Board VTXO:ユーザーがArkへ初めて参加する際に作成されるVTXO
  • Refresh VTXO:有効期限切れを防ぐため、ラウンド内でリフレッシュして得られるVTXO
  • Spend VTXO:arkoorの技術により、ラウンドを待たず即時送金時に作成されるVTXO

また、Ark利用者が十分に増えるまではLightning Paymentが主流になると見込まれ、Ark Serverがゲートウェイとして機能することでユーザーはLNの複雑な設定から解放されます。

Arkは共通の仕様がない発展途上の技術ですが、LNの課題を補完する有力な選択肢として今後の動向に注目が集まっています。