Graftroot:署名の委任がいかに無限に近い支出変動を可能にするか

Graftroot:署名の委任がいかに無限に近い支出変動を可能にするか

この記事は私たちの直接のフォローアップです。 Taprootの説明者。 まだその記事を読んでいないのであれば、おそらく最初に読むべきです。

TaprootがBitcoinにデプロイされている場合、多くのスマートコントラクト構成は、ブロックチェーンでの通常のトランザクションのように見えます。 すべての参加者が契約の結果 - 「協同組合の終結」 - に同意する限り、SchnorrとMASTの巧妙な組み合わせはデータ効率とプライバシーの両方を提供します。

ただし、Taprootのスマートコントラクトが非常に複雑である場合、つまり多くの潜在的な結果がある場合は、協調的でない契約の場合に明らかにする必要があるMerkleのパスは、依然としてデータ量が多くなります。

A フォローアップ提案 Bitcoin Coreの寄稿者であるGregory Maxwell氏の「Graftroot」は、Taprootと同じような利点を提供することができますが、この欠点はなく、よりスマートな契約の柔軟性を提供します。

グラフトルート

Taprootを使用すると、スマートコントラクトのすべての参加者が自分の公開鍵を組み合わせて「しきい値公開鍵」を作成し、そこから「しきい値署名」を使用できます。Graftrootでは、すべての参加者がそのようなしきい値公開鍵も作成します。 しかし今回は、このしきい値公開鍵を調整しません。

参加者はさまざまなスクリプトを作成します。お金を使うことができる代替条件です。 しかし、Graftrootを使用すると、これらはすべて異なるスクリプトに署名して、これらのスクリプトに対応するしきい値署名を作成します。 特定のスクリプトをフォールバックとして使用したい参加者は、そのスクリプトと対応するしきい値シグニチャを取得して保存します。 これらの署名は、後でそのスクリプトがすべての参加者によって合意された有効な代替手段、「委任」であることを世界に証明することができます。

それで、アリスとボブが両方とも資金を一緒に使うことができるスマートな契約を確立するとしましょう。 or アリスだけで一週間後にそれを過ごす、 or ボブだけで秘密の番号と組み合わせて使ってください。 この場合、アリスとボブは彼らの公開鍵を組み合わせて彼らが閾値署名を提供するならば彼らが後で資金を使うことができる閾値公開鍵を作成する。 (彼らはまだこのしきい値の署名を作成していません - 彼らが資金を使うときだけ。)

それから、彼らはまた代替スクリプトを作成しそして直ちに署名する。 Aliceは、1週間後にコインを使用できるようにするスクリプトに対応するしきい値署名を保持し、Bobは秘密の番号と組み合わせてコインを使用できるようにするスクリプトに対応するしきい値署名を保持します。 (しきい値署名とそれに対応するスクリプトだけではコインを使うのに十分ではないことに注意してください。それらはスクリプトがAliceとBobの両方によって合意されていることを証明するだけです。スクリプトで指定された条件はコインを使うために満たされる必要があります。 )

翌日、時が契約を解決するようになるとき、アリスとボブはおそらく決済取引に署名することに同意するでしょう。 彼らは一緒に、限界公開鍵から支出するための限界署名を作成し、他の誰もが代替支出条件について、あるいはさらには二人以上の人が関与していることについて知ることはありません。 通常の取引のように見えます。

しかし、何らかの理由で協同組合の閉鎖が失敗した場合、代替条件を満たすことができるのは誰でもコインを一人で使うことになります。 ボブが秘密の番号を持っている場合、彼はそのスクリプトに対応する閾値署名と組み合わせて「彼の」代替スクリプトを明らかにする。 世界中の他のユーザーは、しきい値署名をしきい値公開鍵と照合して確認でき、スマート契約のすべての参加者が代替スクリプトに同意したと結論付けられます。 したがって、ボブはコインを秘密の番号で正しく使うことができます。 あるいは、1週間が経過した場合、アリスは「自分の」代替スクリプトをそのスクリプトのしきい値署名と組み合わせて明らかにし、コインを使うことができます。 どちらの場合も、代替バックアップスクリプトを知っている人はいません。

Graftrootの主な利点は、スマート契約がどれほど複雑であるか、またはより正確には、いくつの可能な結果があるかということがもはや重要ではないということです。 上記の例には2つの代替スクリプトしか含まれていませんが、Graftrootの構成には数百も含まれる可能性がありますが、違いはありません。 アリスとボブは、元のスマート契約が構築された後で、さらに条件を追加することさえできます。

ただし、欠点はGraftrootが対話式であることです。 参加者は、コインを使う前であっても、お互いに連絡を取り合って代替スクリプトに署名する必要があります。 さらに、参加者は代替スクリプトのしきい値シグネチャを保存する必要があります。 このシグネチャを失うと、フォールバックを失います。

グラフトルートの開発

では、Bitcoinユーザーはいつこの技術を利用できるのでしょうか。

幸いなことに、Segregated Witnessでは、「スクリプトバージョン管理」と呼ばれる機能によって、これらのタイプの変更(Schnorrシグネチャ、Taproot、Graftroot)を後方互換性のある方法で比較的簡単にロールアウトできます。

それでも、理想的には、これらの種類のアップグレードに取り組んでいるBitcoin Coreの貢献者 - これには、Pieter Wuille、Anthony Towns、Johnson Lau、Jonas Nick、Andrew Poelstra、Tim Ruffing、Rusty Russell、Gregory Maxwellが含まれます。一度。 スクリプトのバージョン管理はアップグレードを容易にしますが、トランザクションがどのプロトコルアップグレードが使用されているかを明らかにすることを必要とします。 そのため、Graftrootは代替スクリプトが利用可能であることを完全に隠すことができましたが、スクリプトバージョンは依然としてトランザクションがGraftrootを使用していることを明らかにすることができました。 一度に複数のプロトコルアップグレードを展開すると、それらがすべて同じスクリプトバージョンを使用するため、ある程度までこれを回避できます。 それに加えて、一度に複数のアップグレードを展開すると、ソフトウェアの互換性が向上します。

その一方で、24 / 7を実行しているセキュリティが重要なプロトコルの変更を合意する場合、「比較的簡単な展開」は依然として大きな仕事であり、アップグレードに関しては時々興味や好みが変わります。 それぞれの潜在的な特徴はそれ自身のトレードオフを持っているので、一度に多くを組み合わせることはまたより多くの異議につながる可能性があります。 そしてもちろん、より多くの機能を1つのアップグレードにまとめても、開発プロセスはそれほど簡単にはなりません。

そのため、現時点では、SchnorrシグネチャとTaprootが優先され、単一のパッケージとして提案されています。 Graftrootはその後の一歩かもしれません。

これがGraftrootの概念の概要です。 実装の詳細は異なる場合があります。 詳細については、 元のGraftrootプロポーザル グレゴリーマクスウェルまたは腕時計で このプレゼンテーション Pieter Wuille著。

この記事はもともと Bitcoin Magazine.


Bitcoin Magazine

ポスト Graftroot:署名の委任がいかに無限に近い支出変動を可能にするか 最初に登場した デジタルマネータイムズ.

シェアする

  • このエントリーをはてなブックマークに追加

フォローする