blog

シュナー署名がBitcoin Segwit以来最大の技術的アップデートと称賛される理由

Schnorr署名の主な目標は、ビットコインのブロックチェーン上で現在のECDSA署名に取って代わることです。Schnorrは、現在ビットコイン・ブロックチェーンで使用されているECDSAよりも多くの...

Oct 16, 2025 · 12 min. read
シェア

10月15日、Bitcoin Coreの開発者であるPieter Wuille氏が主導した3つの提案のコードが、正式にれました。3つの提案にはそれぞれ、Schnorr、Taproot、Tapscriptの要素が含まれていました。コミュニティはこの変更を、Segregated Witness以来のビットコインの最大の技術的更新と評価しました。

シュナー署名の主な目的は、現在ビットコインで使用されているECDSA署名を置き換えることです。Schnorrは、現在Bitcoinブロックチェーンで使用されているECDSAよりも多くの利点があります:

  1. 署名は非常に安全で、その安全性は数学的に証明可能であり、拡張不可能です;
  2. 署名は、複数の署名参加者のプライバシー保護を提供することができます;
  3. 署名の線形性は、トランザクションのプライバシーをさらに強化するためのTaprootのような技術の基礎として使用することができます;
  4. 署名の長さを短くし、複数の署名を集約することで、ストレージスペースを節約し、ビットコインのスケーリングを偽装することができます;
  5. 署名を一括して検証できるため、検証効率が向上します;

しかし、それにはいくつかの欠点があります:

  1. ユーザーがそれを使うには、何度もやりとりをする必要があります;
  2. 署名は、追加の帯域幅と計算リソースを消費します;
  3. 署名には、乱数に非常に高度なランダム性が要求されます。

Schnorr署名は、楕円暗号アルゴリズムECDSA署名メカニズムに取って代わる可能性のあるものとして、ビットコインの基礎技術の開発における主要なマイルストーンの1つです。このコードの追加は、技術がほぼ完成したことを意味し、コミュニティは、まだ決定されていないソフトフォークの正式なアクティベーションを待つ必要があります。

背景

Schnorrのセキュリティは、特定の離散対数問題に基づいており、その安全性とシンプルさで長い間知られていました。しかし、Schnorrは彼の署名の特許を登録したため、技術は優れていたものの、長い間、一部のアプリケーションでは直接使用することができませんでした。

Schnorr署名の特許が切れたのは2008年。同時に、Schnorrの実装が広く受け入れられていなかったため、同年にビットコインに関するホワイトペーパーを発表したサトシ・ナカモトは、当時Schnorr署名を選択せず、当時より成熟していたECDSA署名を選択しました。Schnorrの特許が切れたことで、この技術は徐々に実を結びつつあり、Pieter Wuille氏などのコア開発者を中心にビットコインコミュニティは、現在のECDSA署名の代わりにSchnorr署名を適用し、ソフトフォークでアップグレードすることを真剣に検討し始めています。

シュノールの署名とBIPの提案

シュノー・シグネチャーとは何ですか?

Schnorrは本質的に暗号署名技術であり、単純にBitcoinシステムにおけるECDSAの代替アップグレードとして理解することができます。

ECDSAは正式名称です。ECDSA技術はビットコインネットワークのすべての署名に使用されています。例えば、アリスがトランザクションを送信したい場合、アリスだけが秘密鍵と資産を処分する権利を持っていることをマイナーに確認する必要があります。そのため、アリスが秘密鍵を持っていることを証明し、同時に特定の金額の取引部分を確認するために、アリスはECDSAを使ってユニークで変更不可能な署名を生成する必要があります。Schnorrが正式にアクティブになると、このタスクはSchnorrに引き継がれます。このプロセスを図2に示します。

なぜ署名方式を変更する必要があるのですか?

ECDSAは過去10年間うまく機能しており、署名を生成するという重要なタスクに対応しているように見えます。しかし、ECDSAを悩ませ続けている1つの問題は、ECDSAが数学的に安全であるという厳密な数学的・暗号学的証明を業界がまだ提示できていないことです。これに対して、シュナーは証明できます。特定の条件下では、シュナー署名は数学的に安全であることが示されています。セキュリティに大きく依存するビットコインのような暗号通貨にとって、安全性が証明できる技術は、しばらくの間、実際に問題がなかった技術よりも確実に安心できます。

DavidPointcheval,Security Arguments for Digital Signatures and Blind Signature YannickSeurin,On the Exact Security of Schnorr-Type Signatures in the Random OracleModel

また、ビットコインにとって重要なのは、シュナー署名の「線形」機能で、複数のユーザーの公開鍵を単一の公開鍵に線形計算し、対応する集約署名を生成することができます。

なぜ「線形」機能が今日のビットコインにとって重要なのでしょうか? ECDSAはマルチ署名をサポートしておらず、現在はP2SHスクリプトによって処理されていますが、P2SHタイプのスクリプトはマルチ署名トランザクションの存在をネットワークに公開し、すべての署名者を明らかにしてしまいます。Schnorr署名を使用すると、複数の署名が1つの署名に集約され、トランザクションのプライバシーが強化されるとともに、複数の署名によりロック解除スクリプト内のスペースが節約されるため、貴重なオンチェーンスペースが節約され、仮装の容量拡張が可能になります。全体として、広く使用された場合、ビットコインのパフォーマンスを約5%~20%向上させる可能性があります。

また、署名は1つに集約されるため、署名検証時に必要な検証は1回で済み、計算コストを削減することができます。この部分の技術的な詳細については、次の章で詳しく説明します。

シュナー署名は、今回2つ目の提案であるBIP341にも含まれているTaprootのような、複雑なスクリプトをメルクル木に基づいた形で表現できるMASTから派生した技術の礎となり得るという点でも、ビットコインにとって重要な意味を持ちます。周知の通り、メルクル木の重要な特徴の一つは、無関係な枝の実データを明らかにすることなく、ノードの値の存在を迅速に検証できることであり、ブロックチェーンにおける取引データやステータスデータの保存に広く利用されています。この特徴に基づき、Taprootはスクリプト内で未使用のブランチの状態を明らかにすることなくスクリプトを実行できます。対照的に、P2SHはスクリプトの内容をすべて明らかにする必要があります。

Schnorr署名と組み合わせることで、Taprootは複雑なスクリプトを使用したトランザクションを通常のP2PKHトランザクションのように見せることもできます。複雑なスクリプトをサポートし、スクリプトのプライバシーを保護し、署名者を明らかにせず、複雑な判定条件のトランザクションを通常のトランザクションと見分けがつかないほどシンプルに見せることは、TaprootとSchnorrの組み合わせによる効果です。

シュノールはどのような形になるのでしょうか?

これまでの数々のBIPと同様に、今回シュノールはソフトフォークを行います。

BIPの正式名称は、一般的に言えば、基礎となるビットコインブロックチェーン技術の更新、新機能の導入、情報の追加が含まれます。2009年にサトシ・ナカモトがビットコイン・ブロックチェーン・クライアントの最初のバージョンをリリースして以来、ほとんどの技術的なアップデートはBIPの形でビットコイン技術に追加されてきました。現在、ビットコインコミュニティは、Segregated Witness、P2SH Multi-Signature Structure、ニーモニックなど、100以上のBIP提案を採用しています。

ハードフォークとソフトフォークの違いは、あまり聞き慣れないかもしれません。 ハードフォークでは、コミュニティが特定の機能や技術について強く意見が対立した場合、メインチェーンは2つのチェーンに分割され、例えばBTCとBCH、BCHとBSVなど、新旧のタイプのクライアントは互いに互換性がなくなります。Segwitのアップグレードのようなソフトフォークアップグレードでは、コミュニティは意見の相違があるかもしれませんが、チェーンを維持することができ、新旧のタイプのクライアントはある程度互換性があります。

ハードフォークは時としてコミュニティに強い動揺をもたらす可能性があるため、ビットコインコミュニティは長らく積極的なハードフォークアップグレードを控えており、可能な限りハードフォークによるアップグレードを避けてきました。今回のビットコインのSchnorrアップグレードがソフトフォークによって行われるという事実は、コミュニティによってスムーズにアクティベートされる可能性が高い重要な理由です。

ECDSA署名を置き換えるのはかなり大きな変更のように思えますが、なぜSchnorrはソフトフォークを通じてそれを行うことができたのでしょうか?それはSchnorr自身から始まります。

シュナーの安全性は、特定の離散対数問題が非常に難しく、この安全性が数学的に証明できるという仮定に基づいています。言い換えれば、この仮定が真である限り、シュナー署名の難解さは離散対数問題の難解さと等しくなります。

また、楕円曲線にはその離散対数によく似た難問があります。過去にビットコインのブロックチェーン技術の基礎となった楕円曲線デジタル署名アルゴリズムの安全性も、楕円曲線離散対数問題の難解性に基づいていました。

要約すると、Schnorr署名は、ハードフォークを必要とせず、コミュニティを分裂させることなく、ソフトフォークアップグレードの形で基礎となるビットコインブロックチェーンに追加することができます。Schnorr署名を拒否するクライアントは、依然としてネットワークに参加し、梱包などの操作を完了することができます。ブロックチェーンの台帳をアップグレードする手段としてのソフトフォークは、実装がより難しく、特定のルールを回避するために繊細な設計が必要になることが多いですが、互換性が高く、コンセンサスの分裂を招かず、段階的で穏やかな更新方法です。

ソフトフォークの穏やかなエスカレーション特性により、Schnorrは欠点が少なく、コア開発者によって推進されているという事実と相まって、このソフトフォークは活性化する可能性が高いです。

シュノア・シグネチャー・テクノロジーの詳細

次に、シュノー・シグネチャーの技術的な詳細を説明しましょう:

高いセキュリティ

シュナー署名の安全性は数学的に証明されていますが、ECDSAはまだ証明されていません。ECDSAは何年もの間、セキュリティ上の問題はありませんでしたが、それは噴火しない火山のようなものです。数学的に証明されたアルゴリズムは、「隠れた問題」があるかもしれないアルゴリズムよりも信頼できるに違いありません。

David Pointcheval、Yannick Seurinなどの研究者による数学的証明により、確率的予言モデルにおける楕円曲線の離散対数問題を仮定することは困難であり、Schnorr signatureを突破する唯一の方法は離散対数問題を解くことであることが知られています。

だからある意味、シュナー署名の方がより安全です。

さらに、Schnorr署名は拡張不可能であり、この特性は拡張可能な署名アルゴリズムであるECDSAと比較することで十分に実証できます。具体的には、ECDSAによって生成された署名に基づいて、与えられたメッセージに対して、攻撃者は鍵を知らなくても同様に有効な新しい署名を生成することができます。この問題に対処するために、BitcoinではBIP146も特に提案されています。しかし、シュナー署名は当然ながら拡張不可能であり、このセキュリティ問題を直接回避することができます。

保存スペースを節約するために署名の集約をサポート

署名の集約とは、主にマルチ署名の集約を指します。マルチ署名は、資金へのアクセスを制御するためにビットコインで使用される技術です。例えば、一般的な「2 of 3」マルチ署名では、資金を使用する前に、3 人の承認された当事者のうち少なくとも 2 人が取引に署名している必要があります。

例えば、上の図4は「2 of 3」マルチシグネチャの入力スクリプトですが、赤枠の中にECDSAの署名が2つあることがわかります。しかし、ECDSAのマルチシグネチャは署名の集約を行わず、単に各署名を入力スクリプトに入れるだけであり、2人の署名者の公開鍵は別々に入力スクリプトに入れる必要があります。もし "9 of 10 "のマルチシグネチャがあれば、9つの署名と9つの公開鍵をブロックに格納する必要があり、これは非常にスペースを消費します。

これは、「m of n」マルチシグネチャとして知られる手法であるシュナー署名を使用することで改善できます。m個の大きさに関係なく、入力スクリプトでは1つの署名と1つの公開鍵を記入するだけでよく、ブロック内のマルチ署名スペースを大幅に削減することができます。

上の図は、Pieter Wuille氏によるビットコインの履歴データのシミュレーションで、ビットコインの履歴データに含まれるすべてのマルチ署名をSchnorr氏の集約署名に置き換えることで、ビットコインブロックのストレージ容量が大幅に削減されることを示しています。

つまり、「UTXOへの1つの入力から複数の署名を集約する」ということです。実際には、シュナー署名はより強力な機能を持っており、「UTXOの複数の入力から複数の署名を集約」して、UTXO全体が1つのシュナー署名のみを持つようにすることができます。しかし、このような集約を行うための前提条件はより厳しく、実装が複雑です。

シグネチャの長さを短くすることで保管スペースを節約

Pieter Wuille氏の提案によると、ビットコインで使われているSchnorr署名アルゴリズムの公開鍵長は32バイト、署名長は64バイト。現在ビットコインで使われているECDSA署名アルゴリズムは、公開鍵長が33バイト、署名長が最大72バイトで、ビットコインのブロックは非常に小さいので、少しでもスペースを節約することは大きな問題です。

例えば、図3の2入力2出力のUTXOの場合、赤枠で囲んだ部分が入力に記入されたECDSA署名で、長さは72バイト、その直後に33バイトの公開鍵があります。そしてSchnorr署名を使用すると、署名と公開鍵が占める領域は64バイトと32バイトに減らすことができます。

実際には、署名を48バイトに短縮できるSchnorr署名の変種がありますが、一括検証をサポートしていないため、Pieter Wuille氏は推奨していません。

プライバシー保護の強化

Schnorrは複数の鍵を1つに集約するために使用することができ、ビットコインの「マルチ署名」ウォレットから送信されるトランザクションが集約された鍵の1つだけを表示できるようにすることで、マルチ署名ウォレットをよりシンプルかつプライベートにします。これまで、ユーザーがECDSA署名に基づく「マルチシグネチャ」ウォレットを使用する場合、複数の公開鍵を表示する必要があったため、ウォレットがマルチシグネチャであることが露呈していました。しかし、Schnorr署名では、複数の鍵がチェーンの下に集約されるため、マルチ署名のトランザクションが通常のトランザクションのように見えます。

上記の "2 of 3 "マルチシグネチャの例でも、署名を提供する2者の公開鍵が公開されている、つまり、どの2者がマルチシグネチャに関与しているかが公開されていることがわかります。しかし、Schnorrの集約署名を使用すると、公開鍵も1に集約されるため、どの2者がマルチ署名に関与しているかは公開されません。集約されたマルチ署名は通常の「単一署名」と見た目も変わらないため、外部からはマルチ署名であることすらわかりません。これにより、マルチシグネチャーの参加者のプライバシーが大幅に保護されます。

署名の一括検証による検証効率の向上

シュナー署名は、その線形的な性質により、当然ながら一括検証をサポートします。実際、原理は複雑ではなく、シュナー署名の検証プロセスは、方程式が有効かどうかを判断することです。一括検証、つまり、n個の等式を検証する必要がある場合、その左辺をすべて加算し、右辺も加算することで、等式が成立するかどうかを一度だけ検証すれば、n個の署名が正当かどうかを判断することができます。

また、本来はn個の方程式を検証する場合、n回の乗算が必要ですが、n-1回の加算と1回の乗算で済むように統合することで、検証効率が大幅に向上しました。

シュナー署名のこの直線的な性質は自然であるため、異なるユーザー、異なるTx、さらには異なるブロックからの署名であっても、一括検証のために組み合わせることができます。新しいフルノードはブロックデータを同期する際に多くの検証作業を行う必要がありますが、ビットコインがシュナー署名を採用すれば、一括検証によってフルノードの同期速度を大幅に向上させることができます。

いくつかの欠点

上記はすべて、シュノー・シグネチャーの利点です。実は、これらの利点には代償が伴います。シュナー集約秘密鍵署名の特性上、参加者間で複数ラウンドのやり取りが必要となり、従来のECDSAよりも面倒です。さらに、攻撃者に容易に推測されないことを保証しなければならない乱数に対する要求が高く、従来の擬似乱数生成手法では必ずしも適さないものもあります。同時に、PCがこれらの署名を計算し、乱数を生成するプロセスはまだ比較的面倒であるため、トランザクションを送信するステップに若干の遅延を引き起こし、PCがより多くのコンピューティング帯域幅リソースを消費する必要があります。しかし、現在の技術では、これらの問題をある程度解決し、克服することができます。

まとめ

シュナー署名はECDSAよりも安全で信頼性が高く、ついでにビットコインチェーン上のスペースを拡大するため、ビットコインのパフォーマンスが少し向上します。シュナー署名はマルチシグネチャやライトニングネットワークなどの技術で参加者のプライバシーを保護し、Taprootと組み合わせることで、より幅広いスマートコントラクトスクリプトでプライバシーを高めることができます。

現時点では、コアグループのメンバーによって、ソフトフォークをマイルドアップグレードとした提案が進められており、来期には無事に発動される可能性が高く、シュナー署名がビットコインとブロックチェーンの世界に、より新鮮な技術的活力をもたらすことを期待しています。

Read next

Hardcore Watch|Hardcore Watch #1018 Project RUSHが再びリーダーの危機に陥っている!

🅷 Rustプロジェクトが再びリーダーの危機に。\nNVIDIAが初の1兆ドル規模のチップ企業に 🄸。\n🄸 ChatGPTが弁護士のために裁判資料で存在しない6件をでっち上げ\n"\n"

Oct 16, 2025 · 3 min read