用語集 / ライトニングとレイヤー2
ステートチェーン
- ステートチェーンとは?
- ステートチェーンは、共同署名するサーバーが古い鍵シェアを忘れると約束する中で鍵シェアを引き渡すことにより、ビットコインのアウトプット全体をオフチェーンで次の所有者へ移す仕組みです。
ステートチェーンは、封をした封筒を手渡すようにコインを移します。コイン自体はオンチェーンを移動せず、移動するのはそれを支払う権利です。Ruben Somsenが2018年にこの設計を説明し、CommerceBlockが2021年に実動する版を公開し、2024年にはMercury Layerと呼ばれるブラインディングを用いた書き直し版が続きました。アウトプット全体を即時に移せる一方で、何かを削除してくれると信頼しなければならない新しい当事者が1者増えます。
仕組み
ステートチェーンのコインは、あなたの署名とサーバーの署名の2つを必要とするアウトプットに入っており、両者はオンチェーンでは通常の単一鍵による支払いのように見える形に結合されます。
コインを売却しても、そのアウトプットは支払われません。あなたは自分の鍵シェアを買い手に送り、サーバーは自身のシェアをローテーションして、結合された鍵がまったく同じままになるようにします。アドレスは決して変わらず、ブロックチェーンには何も見えず、買い手は入金されたときから手を付けられていないコインに対する二者間鍵の半分を保持することになります。移転にはマイニング手数料がかからず、2つのメッセージと同じ速さで決済されます。
安全網は、事前署名済みのバックアップトランザクションの連鎖です。各所有者は、サーバーが消えた場合にオンチェーンでコインを請求できるトランザクションを受け取り、移転のたびにそのタイムロックが短くなるため、最新の所有者は常に以前のどの所有者よりも先に退出できます。この順序が、元の所有者があなたより先にコインを取ることを防いでいます。またこれは、受け取るウォレットが履歴全体を自ら検証し、ロックタイムの並びが本当に短くなっていくことを確認しなければならないことも意味します。他の誰もあなたの代わりには行わないからです。
さらに、誰も取り除けない前提があります。サーバーが古い鍵シェアのコピーを保持し、以前にコインを所有していた人物と共謀すれば、2人でそれを支払うことができます。削除の暗号学的な証明は、どこにも、決して存在しません。Mercury Layerはサーバーをブラインディングして、どのオンチェーンのコインのために署名しているのかをサーバーが知らないようにすることで被害を狭めますが、ブラインディングは対象を隠すのであって、忘れることを強制するものではありません。
1つの構造上の制約が他のすべてを形づくります。ステートチェーンはアウトプット全体を移します。その一部だけを送ることはできないため、ウォレットは固定された段階の額面でコインを発行します。これはコイン同士を似た見た目にし、移転の匿名性も高めます。
使われる場面
ステートチェーンはニッチなツールであり、正直に言えば、ほとんどの購入者は決して触れることはありません。
その価値が発揮されるのは、固定額のコインを手数料なし、オンチェーンの痕跡なしで即時に移す場合と、引き渡しが面倒なものを引き渡す手段として使う場合です。この設計ではライトニングチャネルの資金提供用アウトプットも移転できるため、チャネル自体が所有者を変えることができます。Mercury Layerのウォレットが稼働する実装です。
保有目的でビットコインを購入する場合、これはそのツールではありません。ステートチェーン内のコインは、あなたにとって役に立たなくなった後もサーバーが適切に振る舞うことに依存しており、貯蓄を預ける先としては奇妙です。この用語を学ぶ理由は別にあります。オフチェーンは1つのものではなく、ライトニングチャネル、ステートチェーン、カストディ型アプリの間で信頼の形は大きく異なります。
ステートチェーンvsペイメントチャネル
ペイメントチャネルは1つの残高を2者の間で分割し、その分割を何千回も書き換えられます。ステートチェーンは何も分割せず、1つのコイン全体を新しい所有者に再割り当てするだけです。両者の安全性は異なる基盤の上に成り立っています。チャネルは、相手方に対してオンチェーンで執行できる取り消しによって守られており、これは仕組みです。ステートチェーンは、データを消去したというサーバーの主張によって守られており、これは約束です。チャネルでは好きな金額を支払えます。ステートチェーンでは、コインの額面というただ1つの金額しか支払えません。