シュノア署名はビットコインにとって何を意味するのか?
シュノア署名はビットコインにとって何を意味するのか?
ホーム記事

シュノア署名はビットコインにとって何を意味するのか?

上級者
Published Jul 8, 2020Updated Apr 29, 2021
5m

はじめに

ご存知かもしれませんが、ビットコインは、Elliptic Curve Digital Signature Algorithm(またはECDSA)と呼ばれるもので所有権を行使しています。このアルゴリズムでは、1つの数字(すなわち秘密鍵)から公開鍵を取得することができます。
秘密鍵から公開鍵を取得するのは簡単ですが、その逆は不可能です。秘密鍵はビットコインネットワークへのパスポートです。これは、仮想通貨を受け取るためのアドレスを生成することができ、後に仮想通貨を使用することも可能にします。 

この記事では、ビットコインにエキサイティングな変化をもたらす可能性のあるECDSAの代替であるシュノア署名アルゴリズムを見ていきましょう。


デジタル署名に関する概要

デジタル署名はペンと紙の署名と同様に機能しますが、より安全性が高くなっています。ペンと紙の署名は、少しの時間と労力で誰でも偽造することができてしまいます。たとえ何十万年もの時間を使用したとしても、堅牢なデジタル署名スキームでは偽造することはできません。

デジタル署名にはいくつかの使用例があります。人気のあるものは、あなたが特定のメッセージを書いたことを世界に証明するものです。前述したように、公開鍵は秘密鍵(秘密にしておくべき膨大な数)から作成できます。これを行うには、secp256k1のカーブ上で高度な数学的計算を行う必要があります。それら公開鍵から公開アドレスを生成することもできます。

公開鍵は誰に見せても全く問題はありません。他の人が自分の身元を確認できるように、自身のウェブサイトやTwitterのバイオに公開鍵を追加することができます。同様に、自分の公開アドレスを他の人と共有することで、他の人があなたに仮想通貨を送金することもできます。

秘密鍵を使用すると、デジタル署名を作成することができます。秘密鍵を使用してメッセージを書き、それに対して操作を実行すると、 署名付きメッセージが作成されます。誰でもそれを取得でき、あなたの公開鍵と比較して、本当にあなたが署名したものであるかどうかを確認することができます。

これがビットコインとどう結びつくのでしょうか?ビットコインの取引をする際、以前、私に仮想通貨を送金しているというメッセージに毎回デジタル署名をしていることになります。その後、ネットワーク上の他のノードに送信された時、ECDSA署名がメッセージと一致しているかどうかを確認することができます。一致しない場合は拒否されます。


シュノア署名とは?

シュノア署名は別種類のスキームです。これは、現在使用されているECDSAと同様に動作しますが、それよりも多くの利点があります。シュノア署名は実はECDSAよりも以前から存在しており、なぜ最初からビットコインに統合されていなかったのかと疑問に思う人も多いでしょう。

ひとつの可能性として考えられるのは、このスキームの開発者であるクラウス・ピーター・シュノア氏が特許を取得したことです。この特許はビットコインのホワイトペーパーが公開される数カ月前の2008年初頭に失効していましたが、このスキームはまだ全体的に標準化されていませんでした。そこで、サトシ・ナカモト氏はより広範囲に受け入れられている(オープンソースで)ECDSAを選択しました。


なぜシュノア署名が有用なのか?

シュノア署名は、他のスキームと比較すると非常にシンプルです。その結果、競合製品よりも安全性が高いことが証明されています。一見するとあまり意味がないかもしれませんが、シュノア署名には直線性というもう1つの強力な特性があります。 
要するに、これは特定の活動、特にマルチシグネチャ取引にとって特に魅力的なスキームになります。ビットコインがすでにマルチシグをサポートしていることはご存知かもしれませんが、その方法はシンプルではありません。

マルチシグアドレスを作成した場合、送金する人が誰であっても、入力した情報を使用するために設定した条件を知る必要はありません。彼らはマルチシグの設定に資金を送っていることさえ知らないかもしれません。アドレスの唯一の特徴は、“3”で始まることです。

ただし、資金を移動させる際には、その性質を明らかにします。例えば、アリスとボブと3対3のセットアップを使用したとします。5BTCを使用するには、3人が公開鍵と有効な署名を提供する必要があります。アドレスから資金を移動した場合、ブロックチェーンを見て何が起こったかを知ることができます。 

プライバシーの観点からすると、理想的ではありません。さらに、より大きなマルチシグ(例えば8-of-10)を作成した場合、ブロックチェーン上でかなりのスペースを占有することになります。そうなるとトランザクションが長くなるため、コストが高くなる可能性があります。トランザクションのバイト数が多いほど、支払いが必要になることに注意してください。

シュノア署名は、これらのプライバシーやスケーラビリティの問題のソリューションとして注目されてきました。シュノア署名は、マルチシグを1つの署名に結合する署名集約のようなことを可能にします。結果として得られる“マスター署名”は、通常の1人分の署名と同じ長さになり、大幅なスペースの節約につながります。 
さらに、結合された署名によって、誰が署名したのか(あるいは署名していないのか)をオブザーバが判断するのを非常に困難にします。m-of-mスキーム(資金を使用するためにすべての参加者が署名しなければならない)では、単一パーティの取引と複数パーティの取引の区別をすることさえ不可能にします。
重要なことに、シュノア署名はさらなる進歩のための構成要素です。一度実装されれば、アトミックスワップライトニングネットワークなどの仮想技術を向上させるために活用することができます。



シュノア署名がビットコインに実装されるのはいつ頃なのか?

確信しているわけではありませんが、ビットコインプロトコルの大半のアップグレードと同様に、ビットコインユーザーコミュニティがシュノア署名を含めることに同意するには時間がかかるかもしれません。ビットコインコアの貢献者であるPieter Wuille氏、Jonas Nick氏、Tim Ruffing氏はBitcoin Improvement Proposal(BIP)のドラフトを提出しましたが、まだ少し作業が残っています。
ブロックストリームはすでにMuSigの実装をリリースしています。署名と鍵の集約を可能にし、ビットコイン独自のシュノア署名方式の基礎となる可能性があります。
シュノア署名はソフトフォークとしてコードにマージされる可能性があり、変更がネットワークを分割しないことを意味します。その代わり、“オプトイン”によるアップグレードになります。しかし、近い将来それらが統合されると考えるのは楽観的であり、合意に達するまでにはまだ数年かかる場合があります。


まとめ

シュノア署名は、現在のビットコインのロードマップの中で最も期待されているマイルストーンの1つです。たった1回のアップグレードで、プライバシーとスケーラビリティに大きなメリットをもたらすことができます。さらに興味深いのは、ビットコインのスマートコントラクトTaprootのようなより高度な構造のさらなる発展のための舞台を設定したことです。