タプルート後のビットコイン
Taprootはビットコインの大規模なアップグレードで、プライバシー、セキュリティ、効率性を改善します。Schnorr署名の導入によりトランザクションを効率的に処理し、手数料を低減させる可能性があります。これにより、ビットコインの将来におけるスマートコントラクトの活用や、全体的なネットワーク性能の向上が期待されています。
2021年11月15日は、ビットコイン(Bitcoin)にとって2017年のSegwit以来の最大のアップグレードであるTaprootが活性化されました。これまでの長い道のりを経て、このアップグレードは並行して取り組まれてきた多くの他の革新を可能にします。
BIP 340 — Schnorr署名
ビットコインは現在、ECDSA署名を使用していますが、特許が失効したことでSchnorr署名に移行します。Riverが以下でステップバイステップの説明を行っていますが、要するに公開鍵の集約により、マルチシグやライトニングユーザーが通常の単一署名ビットコイントランザクションと区別されなくなります。これは、マルチシグの公開鍵を新しい組み合わせた公開鍵に集約することで実現されます。つまり、トランザクションに署名するために2つの3つの公開鍵(ABCのAB)を表示する必要はありません。ABCの公開鍵はABC(AB、AC、またはBC)の任意の組み合わせを表します。節約は任意のmからnの構成にスケールします。
BIP 341 — Taproot
これはTaprootの実際の部分であるBIPです。これは、上記で述べたSchnorr BIPとMAST(Merkelized Alternative Script Tree、形式的にはMerkelized Abstract Syntax Trees)の導入によって行われます。MASTは、他のチェーンのスマートコントラクトに似たビットコインでより複雑なことができるようにします。ツリーの最大深度は32行であり、これは要するに40億のスクリプトが作成できるということを意味しますが、コインを使うために満たす必要があるのは1つだけです。それがチェーン上に公開されるものであり、他の条件は公開されないため、トランザクションの支出条件が公開されることなくユーザーのプライバシーが大幅に向上します。現在、すべての条件が公開されているため、ライトニングチャネルやマルチシグを構築するために使用される公開鍵を見分けることができます。
再び、Riverのわかりやすい図を使って、Taprootの公開鍵Qによる50ミリオンサットの支出は、Schnorr公開鍵Pまたは公開鍵Mのいずれかのスクリプト条件によって可能であることが説明されています。
BIP 342 — Tapscript
Tapscriptは、Taprootの支出スクリプトとSchnorr署名のスクリプトを検証し、これらを統合する役割を果たします。これにより、将来のアップグレードがよりスムーズに行われるように、柔軟な方法でいくつかの新しいopコードが導入されます。
Taprootに含まれないもの
残念ながら、Cross Input Signature Aggregation(CISA)はこのアップグレードに含まれていませんでした。2018年にPieter Wuilleが述べたように、
「Bitcoinのスクリプトの改善に関する多くのアイデアが提案されており、すべてを一度に実装することは難しいため、後で追求する方がより良い選択肢だ」とのことです。
しかし、一旦CISAがマージされると、そのフォークの一部としてインセンティブ付きのコインジョインが実現されます。これは、複数の署名者による署名コストの節約が単一の署名支出よりも安くなるためです。
これが私たちにとって意味するもの
基本的には何も変わりません。なぜなら、Taprootをサポートする十分なウォレットが現れるにはまだ1年ほどかかるからです。Taprootがブロック709,632でアクティブ化されると、ウォレットは自動的にソフトウェアを更新し、新しい機能を利用できるようになります。この変更により、新しいシードを作成する必要はなく、2017年のSegwitのアップグレードと同様の体験になります。ユーザーが見る変更は、アドレスがbc1qからbc1pに変更されることです。
Taprootを有効活用するためには、何かできることがあるのでしょうか?
個人的には、以前のアドレス形式からTaprootに移行し、メンプールがクリアな状態が続く間に古いUTXOを移動して、将来の手数料を節約することをお勧めします。特に、マルチシグのセットアップを持っているか考えている人にとって、このアップグレードは大きな利点をもたらします。なぜなら、Taprootでは支出されている出力に公開鍵が含まれるため、入力時に公開鍵を示す必要がなくなり、スペースを節約できるからです。さらに、Schnorrがデフォルトの署名スキームとして使用されるため、手数料の大部分が節約されるためです。
「なぜ、サトシをホールドするためにトランザクション手数料を支払うのか、使用時に手数料を支払うほうがいいのでは?」と考えるかもしれません。最初は私も同じように考えていましたが、Murchが指摘したように、2021年のほとんどの期間、メモリ プール(mempool)はクリアで、1バイトあたり1サトでトランザクションを送信できます。2回目の支出でも、手数料が1バイトあたり2サトに達した時点でお金を節約できます。したがって、Taprootを受信できるウォレットがある場合は、そこに送金し、メモリ プールが空のときに古いUTXOを移動し、Taprootのマルチシグのプライバシーの利点を活用するべきです。
メモリ プール(mempool)とは?
メモリ プールはブロックチェーン テクノロジー内の基本的なメカニズムであり、最初はビットコインによって普及し、その後イーサリアムやその他のブロックチェーン ネットワークに採用されました。これは、未確認のトランザクションの動的なステージングエリアまたは「待機室」として機能し、ブロックチェーン の台帳へのトランザクションの順序と包含を決定する際に重要な役割を果たします。
「メモリ プール」または「トランザクション プール」の略称である mempool は、ブロックチェーンへのゲートウェイとして機能し、特にビットコインのような暗号通貨の世界では、そのインフラストラクチャの重要なコンポーネントです。この概念は、実稼働環境にリリースする前にテストと品質管理が行われる従来のソフトウェア開発における「ステージング」環境に似ています。ただし、集中ステージング環境とは異なり、ブロックチェーン ネットワーク内の各ノードには、管理する独自のメモリプールがあります。
プライバシーが向上する仕組みはどうなっているのでしょうか?Bitcoin Op Techがブロック692,039を分析したところ、2 of 2の支出や一般的な2 of 3のマルチシグなど、必要なしきい値が確認されました。これらのマルチシグウォレットがより複雑なスクリプトではなくキーパスの支出を使用すると、単一署名ウォレットと見分けがつかなくなります。また、特定のアプリケーション(例えばLiquid)を特定することもできなくなります。
SchnorrとTaprootによって可能になるもの:
スクリプトレススクリプト これは、スマートコントラクト情報を署名にエンコードする方法です。正直に言うと、私には理解しきれない部分が多く、理解するためには2回見直す必要があります。しかし、これは多くの人々にとって関心が高く、Andrew PoelstraはTwitterにいないものの、彼の仕事に注目する価値があります。彼のポッドキャストやパネルディスカッションなどで最新の動向を追うことができます。
MuSigとは?
MuSigは、Schnorrベースのマルチシグセットアップの一群です。現在はMuSig、MuSig2、MuSig-DNの3つのバージョンがあります。MuSig2は使いやすさから実装される可能性が高いでしょう。残念ながら、これらのバージョンはすべてn of nのセットアップしかサポートしていないため、2 of 2のマルチシグのような場合には使えますが、Casaの2 of 3ウォレットのようなm of nのセットアップには使えません。この問題に対処するために、しきい値セットアップに取り組んでいる人もいます。
アダプターシグネチャ(Adaptor Signatures)とは?
アダプターシグネチャ(Adaptor Signatures)は、署名データと隠された値を組み合わせて署名を明らかにする方法です。これにより、契約のロックや実行がより効率的かつプライベートになります。コインスワップやアトミックスワップなどの場合、両当事者がデータを信頼できる方法で同時に公開し、問題がなければトランザクションが実行されます。これらは技術的な説明ですが、Reneによる簡単な説明やDLCに関するより詳しい説明があります。
ポイントタイムロック契約(PTLCs)とは?
アダプターシグネチャーを活用したもう1つの注目すべき使い道は、ポイントタイムロック契約(PTLCs)です。これは、現在のHTLCsを使用しているライトニングのアップグレード候補であり、トランザクションのリンク能力を排除し、どのノードがルーティングノードであるかを理解するのが難しくなり、ユーザーのプライバシーを保護します。これは、同じスクリプトを使用せず、アダプターシグネチャーから派生した署名とスカラーを使用することで実現されます。これにより、ライトニングユーザーに完璧なプライバシーが与えられるわけではありませんが、特にマルチパス支払いと組み合わせると、追跡が難しくなります。PTLCのデモはこちらでご覧いただけます。
DLCsとは?
ディスクリートログ契約は今すぐ行うことができますが、Taprootを使用するとさらに効率的に行うことができます。これは、イベントの結果に賭ける契約であり、スポーツチームに賭ける方法、バウンティを作成する方法などとして利用されます。誰かが予測を立て、オラクルが結果に署名します。条件を満たす当事者は、その資金を請求することができます。これは、SuredbitsのKrystal BullをデスクトップまたはUmbrelノードで利用して今すぐ行うことができます(デモ動画はこちら)。
BIP118: AnyPrevOut
形式的にはSIGHASH_NOINPUTとして知られていましたが、SIGHASH_ANYPREVOUTおよびSIGHASH_ANYPREVOUTANYSCRIPTとして呼ばれるように更新されました。変更点は小さいですが、主なポイントは、現在のBIPがtapscriptのために提示されたアップグレードパスを活用しているということです。したがって、これは技術的にはTaprootがマージされる必要はありませんが、Taprootの後に行われると、独自のsegwitバージョンの必要性がなくなります。背景として、segwitが導入されたとき、16のバージョン番号が示されました。2017年から使用しているsegwitアドレス(bc1で始まるもの)はsegwit v0です。Taprootは、これをsegwit v1にバージョンアップした最初のアップグレードです。
では、AnyPrevOutとは何でしょうか?これは、トランザクションのほとんどを署名しますが、トランザクションの入力を署名しません。これにより、その公開鍵とスクリプトを満たす入力が使用される特定の種類の支出が可能になり、必要に応じて入力が交換されることがあります。これにより、支出条件の柔軟性が生じ、効率を通じた拡張性が実現し、マージ後に興味深いことが発生する可能性があります。詳細はこちらでご確認いただけます。
Eltoo
AnyPrevOutが可能にするEltooは、ライトニングネットワークのLN-Penaltyを置き換える強制機能です。ライトニングネットワークにとっての主な利点は、安全ではないルーティングされたトランザクションごとのチャネルバックアップデータを追跡する必要がなくなることです。しかし、Eltooはオンチェーンのコストを削減し、当事者間のセキュリティ上の懸念を軽減し、チャネルファクトリを単純化します。チャネルファクトリから得られる効率化は、1つのUTXOで複数のユーザーがライトニングチャネルを開くことを可能にします。BIP 118やEltooについては、Christian Deckerの情報が参考になります。
CoinPool
AnyPrevOutがマージされると実装できる別のアイデアは、CoinPoolです。これはJoinPool提案と同様ですが、Taprootを特に活用します。複数の当事者が1つのUTXOを共有し、他のUTXOと区別できないようにすることで、よりプライベートなライトニングやボールトなどが実現します。UTXOの参加者がトランザクションを行っているのかをもはや推測できないため、このシステムはプライバシーが向上します。
BIP 119 OP_CTV
OP_CHECKTEMPLATEVERIFYは、コインの消費方法に条件を設定する新しいオペコードを作成するBIPです。これにより、スケーリングソリューションや金融サービスなど、さまざまな用途が可能になります。簡単な例としては、相続計画が挙げられます。もし家族の中で唯一ビットコインを理解していて、もし明日死んだらすぐにコインを売りたくない場合、ウォレットに対してこのように指示することができます:スタッシュの10%を、毎年10年間、特定のアドレスに送金するように。これにより、家族は10年間の価格上昇を期待して利益を得ることができ、1年間の最大支出額を設定することで保持することが強制されます。
TLUV契約提案
逆に、AJ Townsが最近BIP 119に似たアイデア、OP_Tapleaf_Update_Verifyを提案しました。これはTaprootのアップグレードに依存し、その1つのユースケースはジョインプールです。複数の人々が1つのUTXOを共有することで、より多くのオンチェーンの監視の仮定を打ち破る独自のプライバシーの影響を生み出します。OP_CTVと比較しての主な利点は、ユーザーがプール内の全員の署名を必要とせずに独自に退出できるため、運用が容易になり、それらのトランザクションの署名からの手数料が節約されます。
Taproot以降のビットコインの他の可能なアップデート:
Stratum v2
Stratum v2は、マイニングプールの動作方法のアップグレードです。Pavel Moravec、Jan Capek、Matt Coralloによって提案され、これにより、自宅の小規模なマイナーがより安全な方法でマイニングプールと通信できるようになり、さらなる分散化が可能になります。さらに、個々のマイナーが独自のブロックをマイニングし、プール全体として提案されているブロックとは異なるトランザクションのサブセットを含めることができるようになります。これにより、趣味のマイナーにはより柔軟性が生まれ、プールが課すルールに従う必要がなくなるため、ネットワークの検閲耐性が向上します。
[出典:Braiins]
ErlayとはBIP330を参照してください
Erlayは、ノードが未確認トランザクションをリレーする方法を改善する提案です。グレブ・ナウメンコ、ピーター・ウール、グレゴリー・マクスウェル、サーシャ・フェドロワ、イヴァン・ベシャストニクによって書かれた論文によれば、帯域幅の節約率が80%以上になると示唆されています。また、ノードが作成できるアウトバウンド接続の数を増やすことも可能になります。これにより、特定の種類の攻撃からユーザーを保護するだけでなく、プライバシーも向上します。
[出典:https://tippin.me/@RaymondDurk]
What's Your Reaction?