すでに、第1のディケードに追加または最適化された基本レイヤープリミティブから第2のレイヤーポテンシャルの芽が見え始めています。ライトニングは、まだかなりの制限の対象ですが、本当に繁栄し始めています。そして、現在指定および展開されている限られた最初のバージョンだけです。さまざまな種類のサイドチェーンがすでに展開されています: Liquid、RSK、そしてCommerceblockによって開発されたビットコインに結びついたトークンチェーンさえもあります。これはたった始まりに過ぎません。## SchnorrとTaprootちょうど地平線の向こうには、SchnorrとTaprootの組み合わせがあります。 Schnorrの側面では、これはバッチでの署名スキームを検証するのがはるかに安くなり、さらにビットコインのマルチサインスクリプトの構造を最適化する次の大きな飛躍です。 Multisigは、すべての公開鍵とマルチシグのスクリプトを取引出力に詰め込み、それに送信するために必要なすべてを入力に含めることから始まりました。 P2SHは、マルチシグアドレスに送金する際の手数料を節約するために、公開鍵とマルチシグのスクリプトの定数長のハッシュを含めることで出力の側面を最適化し、送信者に対してのみ増加したコストを残しました。 SegWitは、マルチシグUTXOの支出をウィットネスディスカウントでより安くすることによって、さらに「最適化」したと言えます。 Schnorrは、この段階的な最適化を極端にまで推し進めます。 個々の公開鍵を単一の鍵に組み合わせ、誰もが協力して単一の署名を作成し、それをチェックするだけです。 これにより、ライトニングのようなセカンドレイヤーや連邦サイドチェーンなどのすべてのマルチシグの使用に大幅なコスト削減が生じ、すべてのこれらのマルチシグUTXOが単一の署名UTXOと区別できないようにすることにより、プライバシーの利点も生じます。これによってすべてが完全にプライベートになるわけではありません。ライトニングチャネルの状態(transactions)には、引き出しトランザクションのペナルティに反応するための別々のキーパスが依然として必要です。つまり、それらは出力スクリプトに存在する必要があり、それにより指紋が作成されます。 Taprootは、異なる支出条件のMerkleツリーにコミットすることを可能にするその暗号魔法によって、これを解決し、使用された条件とMerkleルートへのMerkleプルーフのみが必要な、通常の見た目のSchnorr公開鍵にこれを変換します。これで、Taprootでそのペナルティスクリプトパスを隠すことができます。Taprootを使用して、任意の条件付きスクリプトパスを通常の見た目のSchnorrキーの下に埋め込んで、すべての参加者が合意し、正常な見た目のトランザクションを行うことができます。## ため息\_ANYPREVOUTPUTSIGHASH\_ANYPREVOUTPUT (以前の SIGHASH\_NOINPUT) は、たぶん次にパイプラインに来る新しい原始的なものです。これは新しい公開鍵フォーマット/署名ハッシュフラグのアップグレードです。署名ハッシュフラグは、トランザクションのどの部分に署名がコミットされているかを指定します。この機能は、自分の入力と出力だけをサインし、他の人が取引に自分の入力と出力を追加しても取引が無効にならないようにするためにあります。ただし、現在は、署名は正確なUTXOから正確なトランザクションにコミットする必要があります。SIGHASH\_ANYPREVOUTは他にもいくつかのことを可能にするでしょうが、それによって署名を特定のUTXOではなくUTXOスクリプトにコミットすることができます。これにより、ペナルティキーを必要とせず、古い状態を扱うことなく、詐欺を受けた側がお金を没収できるようにする新しい方法 (eltoo) によって、Lightningチャネルの状態を構築することができます。代わりに、もしダブルスペンドレースに負けた場合、現在のチャネルの状態は単に古いチャネルの状態を再度支出し、誰もが以前の古いバランスではなく現在のチャネルバランスをチェーン上で取得できることを保証します。それを実現するためには、正しい場所で同じスクリプトを再利用し、SIGHASH\_ANYPREVOUTを使用します。これにより、現在のチャネル状態を失ってしまうリスクが大幅に軽減され、ミスによるペナルティトランザクションで資金を失う可能性があります。これにより、はるかに多くのことが可能になります。今では、2人以上の参加者を持つライトニングチャネルを持つことができ、さらにその上に「サブチャネル」を重ねることさえできます。また、SIGHASH\_ANYPREVOUTとeltooにより、Statechainsの作成が可能になります。Statechainsは、過去の参加者と共謀して誰かを詐欺することなく、完全にオフチェーンで新しい参加者を参入および退出させることができる、一種の連邦チャネル構築を可能にします。これにより、私自身が「マルチパーティー静的UTXOプロトコル」と呼んでいるものに対する多くの可能性が開かれます。## OP\_CHECKTEMPLATEVERIFYOP\_CTVは、Jeremy Rubinによる提案で、ビットコイン上で非常に基本的なタイプの「契約」を有効にするものです。契約とは、特定のキーからの署名以上のコインの支出に対する複雑な制限のことです。 Rubinの提案が実装する契約のタイプは「テンプレート」です。基本的に、これによりUTXOのスクリプトが、支出トランザクションによって特定の正確な出力が作成されることを要求することができます。したがって、OP\_CTVを使用してUTXOが作成されると、そのUTXOがそのUTXOのスクリプトで定義された特定の金額を持つ特定のアドレスに支出されなければならないことがコンセンサスによって強制されます。これらを連鎖させて、これらのUTXOの1つがさらにいくつかを作成するように強制したり、その後さらにいくつかを作成するように強制したりすることさえできます。これは、あらゆる場所で非常に一般的に適用できます。高額な手数料の環境では、カストディアルエンティティが単一のUTXOを作成することができ、その場ですぐにアクセスできなくても、**コンセンサスルールの下で100%**、すべての顧客の資金が顧客の管理下に置かれることが保証されます。これは、このように行われた大量の「引き出し」が同時に作成され、チャネルファクトリとして使用できるという点で、マルチパーティチャネル(channel factories)多くの潜在的な相乗効果があります。OP\_CTVは、少なくとも一方向で動作する*支払いチャネルを作成するために使用でき、受信側が支払いを受け取るためにオンラインでキーを持っている必要はありません*(and、各other)の上にチャネルをスタックできることを覚えておいてください。また、1つのチャネルで一度により多くのHTLCを処理できるようにするためにも、最初の例で使用したのと同じトリックでHTLCをバンドルすることができます。また、新しいタイプのコインジョインの可能性も生み出すかもしれません。## すべてをまとめる上記の提案がすべて採用されビットコインに組み込まれたと仮定した場合、私は、これらのプリミティブを使用して構築されるプロトコルやサービスの種類を実際に先鋭化している開発者以外の人々は、どのようなものが構築されるのか、さらにはサービスとプロトコルの間に明確な区別がないような奇妙なことについて、ほとんど全く気づいていないと思います。理論的に無限の参加者数を持つマルチパーティーチャンネルを可能にし、その上にサブチャンネルをスタックしてベースチャンネルの参加者の小さなサブグループを持つことができます。 これらの「チャネルファクトリー」の上に構築できるチャンネルは、ホットウォレットのキーをオンラインで持たなくてもお金を受け取ることができるようにします。 これらのマルチパーティーチャネルは、ゼロのオンチェーンアクティビティで参加者が入退場できる「(ステートチェーン)」の上にスタックすることもできます! そして、チャンネル「スプライシング」の構築により、流動性を異なるチャンネル間で比較的シームレスに移動させることができ、これにより、人々がまだ本当に考え始めていないさまざまなことを可能にします。このセクションでの最後の言葉は、ビットコインプロトコルスタックの直接の部分と考えているものでできることだけを考慮しています。集中型の保管サービスを見ると、ビットコインのプロパティの一部は、規制や法的障壁を無視して提供できるものがあることに気付くと、さらに多くのことができるようになります。これは、たったの4分の2です。明日、次の部分を読んでください
次の10年、パート2:前進する道
すでに、第1のディケードに追加または最適化された基本レイヤープリミティブから第2のレイヤーポテンシャルの芽が見え始めています。ライトニングは、まだかなりの制限の対象ですが、本当に繁栄し始めています。そして、現在指定および展開されている限られた最初のバージョンだけです。さまざまな種類のサイドチェーンがすでに展開されています: Liquid、RSK、そしてCommerceblockによって開発されたビットコインに結びついたトークンチェーンさえもあります。これはたった始まりに過ぎません。
SchnorrとTaproot
ちょうど地平線の向こうには、SchnorrとTaprootの組み合わせがあります。 Schnorrの側面では、これはバッチでの署名スキームを検証するのがはるかに安くなり、さらにビットコインのマルチサインスクリプトの構造を最適化する次の大きな飛躍です。 Multisigは、すべての公開鍵とマルチシグのスクリプトを取引出力に詰め込み、それに送信するために必要なすべてを入力に含めることから始まりました。 P2SHは、マルチシグアドレスに送金する際の手数料を節約するために、公開鍵とマルチシグのスクリプトの定数長のハッシュを含めることで出力の側面を最適化し、送信者に対してのみ増加したコストを残しました。 SegWitは、マルチシグUTXOの支出をウィットネスディスカウントでより安くすることによって、さらに「最適化」したと言えます。 Schnorrは、この段階的な最適化を極端にまで推し進めます。 個々の公開鍵を単一の鍵に組み合わせ、誰もが協力して単一の署名を作成し、それをチェックするだけです。 これにより、ライトニングのようなセカンドレイヤーや連邦サイドチェーンなどのすべてのマルチシグの使用に大幅なコスト削減が生じ、すべてのこれらのマルチシグUTXOが単一の署名UTXOと区別できないようにすることにより、プライバシーの利点も生じます。
これによってすべてが完全にプライベートになるわけではありません。ライトニングチャネルの状態(transactions)には、引き出しトランザクションのペナルティに反応するための別々のキーパスが依然として必要です。つまり、それらは出力スクリプトに存在する必要があり、それにより指紋が作成されます。 Taprootは、異なる支出条件のMerkleツリーにコミットすることを可能にするその暗号魔法によって、これを解決し、使用された条件とMerkleルートへのMerkleプルーフのみが必要な、通常の見た目のSchnorr公開鍵にこれを変換します。これで、Taprootでそのペナルティスクリプトパスを隠すことができます。Taprootを使用して、任意の条件付きスクリプトパスを通常の見た目のSchnorrキーの下に埋め込んで、すべての参加者が合意し、正常な見た目のトランザクションを行うことができます。
ため息_ANYPREVOUTPUT
SIGHASH_ANYPREVOUTPUT (以前の SIGHASH_NOINPUT) は、たぶん次にパイプラインに来る新しい原始的なものです。これは新しい公開鍵フォーマット/署名ハッシュフラグのアップグレードです。署名ハッシュフラグは、トランザクションのどの部分に署名がコミットされているかを指定します。この機能は、自分の入力と出力だけをサインし、他の人が取引に自分の入力と出力を追加しても取引が無効にならないようにするためにあります。ただし、現在は、署名は正確なUTXOから正確なトランザクションにコミットする必要があります。SIGHASH_ANYPREVOUTは他にもいくつかのことを可能にするでしょうが、それによって署名を特定のUTXOではなくUTXOスクリプトにコミットすることができます。これにより、ペナルティキーを必要とせず、古い状態を扱うことなく、詐欺を受けた側がお金を没収できるようにする新しい方法 (eltoo) によって、Lightningチャネルの状態を構築することができます。代わりに、もしダブルスペンドレースに負けた場合、現在のチャネルの状態は単に古いチャネルの状態を再度支出し、誰もが以前の古いバランスではなく現在のチャネルバランスをチェーン上で取得できることを保証します。それを実現するためには、正しい場所で同じスクリプトを再利用し、SIGHASH_ANYPREVOUTを使用します。
これにより、現在のチャネル状態を失ってしまうリスクが大幅に軽減され、ミスによるペナルティトランザクションで資金を失う可能性があります。これにより、はるかに多くのことが可能になります。今では、2人以上の参加者を持つライトニングチャネルを持つことができ、さらにその上に「サブチャネル」を重ねることさえできます。また、SIGHASH_ANYPREVOUTとeltooにより、Statechainsの作成が可能になります。Statechainsは、過去の参加者と共謀して誰かを詐欺することなく、完全にオフチェーンで新しい参加者を参入および退出させることができる、一種の連邦チャネル構築を可能にします。これにより、私自身が「マルチパーティー静的UTXOプロトコル」と呼んでいるものに対する多くの可能性が開かれます。
OP_CHECKTEMPLATEVERIFY
OP_CTVは、Jeremy Rubinによる提案で、ビットコイン上で非常に基本的なタイプの「契約」を有効にするものです。契約とは、特定のキーからの署名以上のコインの支出に対する複雑な制限のことです。 Rubinの提案が実装する契約のタイプは「テンプレート」です。基本的に、これによりUTXOのスクリプトが、支出トランザクションによって特定の正確な出力が作成されることを要求することができます。したがって、OP_CTVを使用してUTXOが作成されると、そのUTXOがそのUTXOのスクリプトで定義された特定の金額を持つ特定のアドレスに支出されなければならないことがコンセンサスによって強制されます。これらを連鎖させて、これらのUTXOの1つがさらにいくつかを作成するように強制したり、その後さらにいくつかを作成するように強制したりすることさえできます。
これは、あらゆる場所で非常に一般的に適用できます。高額な手数料の環境では、カストディアルエンティティが単一のUTXOを作成することができ、その場ですぐにアクセスできなくても、コンセンサスルールの下で100%、すべての顧客の資金が顧客の管理下に置かれることが保証されます。これは、このように行われた大量の「引き出し」が同時に作成され、チャネルファクトリとして使用できるという点で、マルチパーティチャネル(channel factories)多くの潜在的な相乗効果があります。OP_CTVは、少なくとも一方向で動作する支払いチャネルを作成するために使用でき、受信側が支払いを受け取るためにオンラインでキーを持っている必要はありません(and、各other)の上にチャネルをスタックできることを覚えておいてください。また、1つのチャネルで一度により多くのHTLCを処理できるようにするためにも、最初の例で使用したのと同じトリックでHTLCをバンドルすることができます。また、新しいタイプのコインジョインの可能性も生み出すかもしれません。
すべてをまとめる
上記の提案がすべて採用されビットコインに組み込まれたと仮定した場合、私は、これらのプリミティブを使用して構築されるプロトコルやサービスの種類を実際に先鋭化している開発者以外の人々は、どのようなものが構築されるのか、さらにはサービスとプロトコルの間に明確な区別がないような奇妙なことについて、ほとんど全く気づいていないと思います。
理論的に無限の参加者数を持つマルチパーティーチャンネルを可能にし、その上にサブチャンネルをスタックしてベースチャンネルの参加者の小さなサブグループを持つことができます。 これらの「チャネルファクトリー」の上に構築できるチャンネルは、ホットウォレットのキーをオンラインで持たなくてもお金を受け取ることができるようにします。 これらのマルチパーティーチャネルは、ゼロのオンチェーンアクティビティで参加者が入退場できる「(ステートチェーン)」の上にスタックすることもできます! そして、チャンネル「スプライシング」の構築により、流動性を異なるチャンネル間で比較的シームレスに移動させることができ、これにより、人々がまだ本当に考え始めていないさまざまなことを可能にします。
このセクションでの最後の言葉は、ビットコインプロトコルスタックの直接の部分と考えているものでできることだけを考慮しています。集中型の保管サービスを見ると、ビットコインのプロパティの一部は、規制や法的障壁を無視して提供できるものがあることに気付くと、さらに多くのことができるようになります。
これは、たったの4分の2です。明日、次の部分を読んでください