


Threshold Signature Scheme(TSS)を理解するためには、まず暗号技術の基礎を押さえる必要があります。1970年代以降、TLS(Transport Layer Security)やPGP(Pretty Good Privacy)などのインターネットシステムが、公開鍵暗号(PKC)として知られる非対称暗号方式を導入してきました。この方式は、公開鍵と秘密鍵という2つの異なる鍵を利用します。公開鍵は誰でも自由に公開・使用でき、安全性が保たれますが、秘密鍵は厳重な機密情報として管理され、システムのセキュリティの要となります。
暗号化と電子署名はPKCの最も基本的な応用です。これらの方式は3つの主要なアルゴリズムに依存しています。第一のアルゴリズムは公開鍵と秘密鍵のペアを生成し、両者の暗号的関係を確立します。第二のアルゴリズムは、暗号化の場合は暗号文、電子署名の場合は署名を生成します。第三のアルゴリズムは復号または検証を担当し、認証された当事者が暗号処理の正当性を確かめます。
電子署名の場合、署名アルゴリズムは所有者だけが知る秘密鍵を使って固有の署名を生成します。この署名は特定のメッセージに数学的に結び付けられ、対応する公開鍵を持つ誰でも、その真正性や正当性を検証できます。検証プロセスにより、メッセージが改ざんされていないこと、および秘密鍵所有者から発信されたことが保証され、デジタル通信における完全性と否認防止が実現します。
ブロックチェーン技術は分散型システムにおける革命的な進歩であり、透明かつ不変な方法でイベントを記録・整理する堅牢なコンセンサス層を提供します。こうしたインフラにより、ユーザーは中央集権的な仲介者を介さずに分散型経済やガバナンス、金融アプリケーションを構築することが可能となります。意外なことに、基本的なブロックチェーンの運用に必要な暗号技術は電子署名だけで成立しており、公開鍵暗号の極めて洗練された応用例です。
ブロックチェーンシステムでは、秘密鍵が唯一のアイデンティティや所有権を表し、署名はそのアイデンティティによる公的な主張となります。ブロックチェーンネットワークはこれらの主張を時系列で並べ、事前に定められたコンセンサスルールに従って検証します。これにより、署名は暗号的に偽造不可能かつ数学的に正確であることが保証され、信頼性の高い取引のためのセキュリティ基盤が構築されます。
初期のブロックチェーン実装に使われていた従来型暗号技術と比較して、現代の暗号技術にはゼロ知識証明、準同型暗号、マルチパーティ計算など、きわめて高度な技術が加わっています。ゼロ知識証明は情報そのものを明かさずに知識を証明し、準同型暗号は暗号化されたデータのまま計算を可能にし、マルチパーティ計算は複数の当事者が入力を秘密にしたまま共同計算します。過去10年間、ブロックチェーン研究は応用暗号学の発展を牽引し、これらの分野でも多数の成果をあげています。
本記事では、ブロックチェーンのセキュリティや鍵管理に特に関連する技術進化—効率的で安全なしきい値署名—に注目します。
マルチパーティ計算(MPC)は、Andrew C. Yaoによる先駆的研究から約40年前に誕生した暗号技術の一分野です。MPCプロトコルでは、互いに信頼しない複数の当事者が、自分の秘密入力を互いに漏らすことなく、関数を共同計算できます。これにより、機密データを公開することなく協調計算が可能になります。
実用例として、n人の従業員が互いに給与額を明かさずに、最高給与の受給者を決定したい場合を考えます。個々の給与が秘密入力であり、出力は最高給与者の名前だけです。MPC技術を使うことで、計算過程で一切の給与データが漏洩することなく目的を達成できます。
MPCプロトコルを定義する2つの基本的な性質は、正確性とプライバシーです:
MPCの原則を応用することで、電子署名を分散的に生成するしきい値署名方式を実現できます。これらの性質が署名生成プロセスにどのように適用されるか見ていきましょう。従来の電子署名は3つの手順からなり、分散環境ではそれぞれに適応が必要です:
鍵生成:分散環境では最も複雑なステップです。将来の署名検証に使う公開鍵を生成しますが、いずれか一人が完全な秘密鍵を保有することなく、各参加者に個別の秘密分散を割り当てます。正確性とプライバシーの観点で、鍵生成関数は全員に同一の公開鍵を出力し、参加者ごとに異なる秘密分散を提供します。プライバシー性により分散生成中に秘密分散データが漏洩せず、正確性により公開鍵が全分散の関数として正しく生成されます。
署名:複数当事者による分散署名生成関数です。各当事者は前ステップで作成された自分の秘密分散を入力とし、署名対象メッセージは全員が知る公開入力です。プロトコルの出力は、単一の秘密鍵所有者が生成した場合と同一のデジタル署名となります。署名計算中に他の分散情報が漏洩しないよう、プライバシー性が保証されます。
検証:検証アルゴリズムは従来と変わりません。既存のブロックチェーンインフラとの互換性を維持するため、公開鍵を知る誰もが標準の検証手順で署名の妥当性を確認できます。これは、ブロックチェーンの検証ノードがトランザクション処理時に行うことであり、TSSで生成された署名か従来の単一鍵方式かを区別できません。
Threshold Signature Scheme(TSS)は、分散鍵生成と分散署名プロトコルを組み合わせ、分散的に暗号鍵を管理する完全なシステムです。
TSSをブロックチェーンインフラに統合する標準的な方法は、従来の単一鍵方式の代わりにTSSプロトコルを用いて鍵や署名を生成するよう、ブロックチェーンクライアントソフトウェアを改修することです。ここで「ブロックチェーンクライアント」とは、ネットワーク内のフルノードが実行するコマンドや操作全体を指します。実際、TSS技術により、秘密鍵に関するすべての操作を複数当事者による分散計算に置き換えることが可能です。
この統合を詳しく説明するため、従来型ブロックチェーン設計での新規アドレス生成方法を見てみましょう。従来は、暗号的に安全な乱数生成器で秘密鍵を生成し、その秘密鍵から楕円曲線乗算などの数学的操作で公開鍵を計算します。最後に、公開鍵から一連のハッシュ関数とエンコード処理を経てブロックチェーンアドレスを導出します。
TSSを用いる場合、このプロセスが大きく変化します。単一当事者による秘密鍵生成の代わりに、n人の当事者が分散プロトコルを通じて公開鍵を共同計算します。各当事者は秘密鍵の分散のみを保持し、計算中に他者へ分散を明かすことはありません。共同計算された公開鍵からは、従来通りアドレスを導出できるため、ネットワークはアドレス生成方法の違いを意識しません。最大の利点は、秘密鍵が単一障害点でなくなり、各当事者は一部しか保持せず、単独では署名を偽造できないことです。
トランザクション署名時にも同様の分散アプローチが適用可能です。単一当事者が完全な秘密鍵で署名する代わりに、複数当事者が分散署名生成プロトコルを実行します。各当事者は自分の秘密分散をプロトコルに入力し、協力して公開鍵で検証可能な署名を生成します。署名は単一当事者生成と同じに見えますが、署名にはしきい値以上の当事者協力が必要です。これにより、単一障害点のローカル計算から、攻撃耐性の高い分散対話型計算へと移行できます。
分散鍵生成は、アクセス構造を柔軟に設定できます。最も一般的なのは「t out of n」方式で、n人中t人が協力すれば署名生成可能です。この設定では、秘密鍵関連操作においてt-1人までの障害や漏洩に耐性があり、システム全体のセキュリティを損なわずに済みます。組織は自社のニーズやリスク許容度に応じて、セキュリティモデルを柔軟に調整できます。
一部のブロックチェーンプラットフォームでは、TSSに似た機能がプロトコル標準またはプログラム可能な機能として提供されています。これらは一般に「マルチシグ(multi-signature)」と呼ばれます。両者の違いを理解するためには、マルチシグはブロックチェーンのアプリケーション層でTSS的な機能を実装するものであり、暗号層での実装とは異なることを押さえておく必要があります。
言い換えれば、マルチシグもTSSも複数当事者による取引承認を目的としますが、根本的な仕組みは異なります。TSSは暗号技術をオフチェーンで利用し、標準的な単一署名に見える署名を生成しますが、マルチシグはオンチェーンで複数署名の検証を必要とします。
この構造上の違いは重要な意味を持ちます。マルチシグでは、必要署名者数やそのIDといったアクセス構造がブロックチェーン上に記録され、誰でも分析可能となるため、プライバシーが損なわれる場合があります。また、各署名者の署名情報をブロックチェーン上で通信・保存する必要があり、通常の取引よりコストが高くなります。
一方、TSSでは複数署名者の詳細が単一署名取引としてまとめられ、取引コストや情報露出が抑えられ、参加者のプライバシーが向上します。その代わり、マルチシグは取引放送後に非対話型となり、署名者間で複雑な通信レイヤーを実行する必要がありません。
最大の違いは、マルチシグがブロックチェーン固有であり、各プロトコルごとに個別実装が必要な点です。特に古いブロックチェーンでは、マルチシグ機能が未対応か限定的な場合もあります。対してTSSはブロックチェーンプロトコルに依存せず、標準的な電子署名方式を採用するブロックチェーンなら理論上どこでも利用可能です。
Shamir秘密分散方式(SSSS)は、秘密鍵データの分散に異なるアプローチを提供します。SSSSでは、秘密鍵が保管されている間に複数箇所に分割・保管されますが、TSSとの間には2つの重要な違いがあります:
鍵生成:SSSSでは、「ディーラー」と呼ばれる単一当事者が完全な秘密鍵を生成し、分割した秘密分散を各保管場所へ配布します。つまり、鍵生成時には完全な秘密鍵が一箇所に存在し、それが分散されるため、生成フェーズで重大な脆弱性が生じます。TSSはディーラーの役割を排除し、鍵生成自体を分散化します。秘密鍵はライフサイクル全体で一度も完全な形で構築されず、最初から強固なセキュリティを実現します。
署名:SSSSでは署名時に分散を合成して完全な秘密鍵を一時的に復元する必要があり、毎回単一障害点が生じます。TSSでは署名操作が完全に分散的に実行され、秘密鍵を一度も復元せず、各当事者が自分の分散だけを入力として相互作用することで有効な署名を生成します。
このように、TSSではシステム全体の最終的なセキュリティを担う秘密鍵が、生成時・署名時・その他の操作を通じて一度も単一箇所に存在しません。これはSSSSに比べて現役の暗号操作で根本的なセキュリティの向上を実現します。
TSS技術をベースにした暗号資産ウォレットは従来型ウォレットと大きく構造が異なります。一般的なウォレットは12語または24語のシードフレーズを生成し、それを使って全てのウォレットアドレスと対応する秘密鍵を決定的に導出します。ユーザーはこの階層的決定論的(HD)構造によって、ウォレットアドレスに対応する秘密鍵で署名したり、紛失・故障時にシードフレーズで全鍵を復元できます。
しきい値ウォレットの構造はより複雑です。従来型ウォレットと同様のHD構造も生成可能ですが、その生成は別のMPCプロトコルによる分散計算が必要です。参加者は次に導出すべき鍵について協議し、HD導出パスに従って共同決定します。つまり各当事者が自分専用のシードフレーズを保持しますが、その生成は分散プロセスで行われ、相互に結合されることはありません。これにより、いずれか一人が自分のシードだけで秘密鍵を導出できず、鍵導出過程でも分散セキュリティ性が維持されます。
TSSベースのウォレットには、従来型ウォレットにない追加のセキュリティ機能として「秘密鍵のローテーション(proactive secret sharing)」が可能です。これは既存の秘密分散を入力として新しい分散セットを出力するMPCプロトコルであり、古い分散は安全に削除でき、新分散で署名操作を継続できます。公開鍵やアドレスは変更されません。
この構造により、セキュリティモデルに時間的な要素が加わります。攻撃者がしきい値ウォレットを攻撃するには、複数箇所を同時に侵害する必要があります。ローテーション前後の分散を組み合わせても、署名偽造能力は得られません。これは、複数の時点で異なる当事者が侵害された場合でも耐性を持つことを意味します。
ただし、このウォレット方式は単一のマスターシードフレーズを持たないため、従来の単一鍵ウォレットや復旧手続きと互換性がありません。ユーザーは12語を書き留めて他のシステムで復元することはできません。どの当事者が秘密分散を保有し、バックアップや復旧をどう管理するか、慎重な検討が必要です。
しきい値ウォレットの展開方法には複数のアーキテクチャが考えられます:
TSSアウトソーシング:ユーザーがTSS計算をn個の独立サーバーに委任し、プロトコルを代行させます。これにより、鍵生成・管理・署名操作を資産の法的所有者でないサービス提供者にアウトソースし、報酬や手数料と引き換えにセキュリティレイヤーを得る、クラウドサービスに近いモデルです。
複数デバイス利用:ユーザー自身が複数の所有端末でTSSプロトコルを実行します。例えばIoTデバイス、スマートフォン、ノートPCなどをそれぞれ一当事者として利用し、完全な自己管理が可能ですが、端末間の連携が必要です。
ハイブリッド方式:一部当事者をサービスプロバイダーが管理し、他をユーザー所有端末で実行します。両方式の利点を組み合わせます。
1つ目の方法はユーザー端末の負荷を軽減しますが、サービスプロバイダーの共謀による資産盗難リスクがあります。十分な数のプロバイダーが同時に侵害されない前提ですが、法的圧力や協調攻撃の可能性も考慮が必要です。
2つ目は全当事者をユーザー自身が管理し、第三者リスクを排除できますが、複数端末の同時オンラインや対話的TSS計算が必要となり、利用が煩雑です。
3つ目は利便性と安全性を両立した方式で、迅速な取引とユーザー認証要件を維持できます。サービスプロバイダーの一部が侵害されても、ユーザー端末も同時に侵害されなければ署名偽造は不可能です。
デジタル署名には長年にわたり多くの革新的応用が発見されており、非常に高度な用途もあります。TSSはブロックチェーンシステムのセキュリティを大幅に強化する暗号的プリミティブです。ブロックチェーンアプリケーション領域では、従来スマートコントラクトで実装されていた多くの機能がTSSベースの暗号プロトコルで代替可能です。
分散型アプリケーション、Layer 2スケーリング、アトミックスワップ、ミキシングプロトコル、相続メカニズムなど、多様な機能がTSSフレームワーク上に構築できます。これにより、高コストかつリスクを伴うオンチェーンスマートコントラクト操作を、安価・効率的・信頼性の高いオフチェーン暗号技術へと代替できます。複雑なロジックをブロックチェーンから暗号プロトコルへ移すことで、取引コストの削減やプライバシー向上が可能です。
具体例として、Multi-Hop Locksは2者間署名を活用したLayer 2決済チャネルネットワークの代替となり、公開情報を減らして安全性とプライバシーを高めます。ShareLockは単一しきい値署名検証で完結する、スマートコントラクトプラットフォーム向け最もコスト効率の高いオンチェーンミキシングソリューションの一例です。これらの例は、TSSの導入によって従来不可能だった新しい設計が可能になることを示します。
近年、TSS実装の数と品質は大きく向上しています。しかし、ブロックチェーン分野での新しい技術であるため、依然として慎重な検討が必要な制約や懸念が残ります。長年研究・実用化されてきた従来型公開鍵暗号と比べ、TSSプロトコルは設計・実装が格段に複雑です。
TSSプロトコルの複雑さゆえ、従来の暗号プリミティブほど厳格な検証や「実戦テスト」をまだ受けていません。通常、TSSは単純な電子署名より追加かつ時に弱い暗号的仮定(コミットメントスキームやゼロ知識証明、補助暗号技術など)に依存します。そのため、従来の単一鍵設定では生じなかった新しい暗号攻撃経路が研究者によって継続的に発見・対策されています。
分散型TSSプロトコルはコード上の微妙なバグが出やすく、実装ミスも課題です。MPCやTSSの専門知識を持つセキュリティエンジニアや応用暗号学者による安全な運用・監査が不可欠です。適切な監査とテストが必要です。
一方、既存・新規のTSS実装エコシステムは着実に成長・成熟しています。研究コミュニティによる質の高い貢献、プロトコル・実装のピアレビュー、プロフェッショナルなセキュリティ監査、アルゴリズム性能の継続的改善によって、実環境で多くの運用・検証が進み、TSSセキュリティへの信頼も高まっています。
課題はあるものの、ブロックチェーンのセキュリティと鍵管理に関するTSSの潜在的メリットは大きく、慎重な検討と継続的な開発に値する有望な技術です。
ブロックチェーンシステムにTSSを導入する際は、いくつかの実務的側面を考慮する必要があります。複数ラウンドの対話を要するプロトコルでは、当事者間の通信負荷が大きくなりがちです。ネットワークの遅延や信頼性がTSSベースシステムの性能に直結するため、鍵生成や署名操作時に当事者間で効率的・確実に通信できるよう、ネットワーク設計を慎重に行う必要があります。
もう一つ重要なのが、当事者の故障や復旧への対応です。分散システムでは、いずれかの当事者がオフラインや利用不可になるのは避けられません。TSSプロトコルはしきい値要件を満たす限り、一部当事者が一時的に利用不可でも継続動作できるよう堅牢性を持たせる必要があります。また、新規当事者の追加や侵害された当事者の除去手順も慎重な設計・運用が求められます。
t-out-of-n方式のしきい値パラメータ(tとn)の選定も、システムのセキュリティ要件や運用制約によって慎重に判断する必要があります。しきい値を上げれば安全性が増しますが、各操作により多くの当事者協力が必要となり、可用性や性能に影響します。組織はセキュリティ・可用性・運用効率のバランスを考慮してTSS導入設計を行うべきです。
最後に、TSSベースのウォレットやアプリケーションではユーザー体験も重要です。分散的なTSS操作により、遅延や複雑さがユーザーにとって分かりにくく、ストレス要因となる場合があります。インターフェース設計やセキュリティ利点の明確な説明で、ユーザーがこうしたトレードオフを理解・納得できるよう工夫が必要です。TSS技術が成熟し実装効率が向上すれば、こうしたユーザー体験の課題も解消され、より多くのユーザーが利用しやすくなるでしょう。
しきい値署名は、複数の参加者が共同で署名を生成し、どの一人も完全な秘密鍵を保持しません。通常の電子署名とは異なり、署名権限を分散することでセキュリティと耐障害性を高めます。
しきい値署名は署名権限を複数参加者に分散し、共同承認と高いセキュリティを実現します。マルチシグウォレット、分散型カストディ、分散型ガバナンスなど、単一障害点の排除が求められる用途で広く利用されています。
どちらも取引には複数の署名が必要です。マルチシグウォレットはスマートコントラクトと複数の独立した秘密鍵を使用しますが、しきい値署名は暗号的な秘密分散で鍵を分割します。しきい値署名は個々の鍵断片を公開せず、オフチェーンで署名生成するためプライバシーと効率性が高くなります。
しきい値署名は複数当事者の共同署名が必要です。一部の鍵が漏洩しても、しきい値に達しない限り資産は安全です。単一障害点の排除と分散型ガバナンスを実現し、セキュリティを強化します。
しきい値署名は鍵管理を複数当事者で分散し、単一障害点を排除します。個々の参加者は完全な署名権限を持たず、合意形成(クォーラム)による取引承認が必要となり、鍵盗難や不正アクセスへの耐性が格段に向上します。
しきい値署名には、Shamir秘密分散アルゴリズム、マルチシグ方式、分散型鍵管理の基礎知識が必要であり、複数当事者間で安全に暗号鍵を分割・再構築する技術を理解する必要があります。











