どうも!こんにちは!
クリプトマッスルです!
2018年1月15日にビットコイン・コアの開発者4名(グレッグ・マックスウェル氏、アンドリュー・ポエルストラ氏、ヤニック・セウリン氏、ピーター・ウエレ氏)によって論文が発表され、ビットコインへの実装が間近の可能性がある「シュノア署名」とは何なのか、概要やメリット&デメリットなどを分かりやすく説明します。
論文の本文はこちら:Simple Schnorr Multi-Signatures with Applications to Bitcoin
コンテンツ
シュノア署名とは?
シュノア署名とは、1989年頃にC.P.Schnorr氏により発明されたもので、その署名方式は、他のどの電子署名方式よりも計算がシンプルでわかりやすく、セキュリティ面も高いといわれています。
そこで、ビットコインの発明よりも前からあったシュノア署名はビットコインにはまだ実装されていないのはなぜなのか?
そこには、政治的な理由と技術的な理由があります。
政治的な理由
シュノア署名は1989年頃に発明されていますが、ほぼ同時期にアメリカ国立技術標準研究所(NIST)という大きな研究団体がDSAという別の電子署名方式を発明したこと、また2008年までの間、シュノア氏が取得した特許によりシュノア署名自体が保護されていたという政治的な理由が背景にあります。
技術的な理由
ビットコインの署名方式を従来の方法からシュノア署名に変更するということは、取引ごとに署名データが保存されているという従来の状態を変更するということになります。
この変更には、ビットコインのハードフォークが必要なのですが、2018年8月にSegwitという新たなプロトコルがビットコインに実装されました。
→ビットコインの問題点を解決する技術「Segwit(セグウィット)」とは?
Segwitが実装されたことで、シュノア署名の実装が可能のものになり、次なるビットコインのアップデートとして注目を集めています。
電子署名とは?
先ほどより述べている電子署名ですが、そもそも何なのか?というのを説明します。
「署名」とは、ある行為をする際に自分自身が実際に行なった行為であると証明するものです。
電子署名と言えば「紙における署名ではなく、インターネット上の署名」ということになります。
ビットコインなどの仮想通貨では電子署名がとても重要な働きをしており、電子署名のおかげで、
- 取引する相手は誰なのか
- 詐欺の可能性はないのか
- 契約内容は信用できるのか
上記のようなリスクを防止するために有効で、これによりインターネット上でも安心して取引をすることができます。
ECDSAとは?
ここで、ビットコインの取引において現在採用されている「ECDSA」という署名方式を軽く説明しましょう。
ECDSAとは”Eliptic Curve Digital Signature Algorithm”の略語で、又の名を楕円曲線DSAとも呼ばれているもので、「秘密鍵から公開鍵を生成するのは簡単だが、公開鍵から秘密鍵を求めることは極限に難しい」という状況を生み出しているものになります。
シュノア署名と従来の電子署名の違い
それではシュノア署名と従来のECDSAは何が違うのでしょうか。
それぞれ二つの方式を比較し、特徴をまとめましたので見ていきましょう。
シュノア署名
・複数の取引に1つのシュノア署名でOK
・マルチシグによる送金に対して、署名データを1つにまとめることができる
・署名を1つにまとめることができるので、取引手数料が低くなる
従来のECDSA
- 1人の売り手と1人の買い手がいる取引ごとに署名が必要
- マルチシグによる送金に対して、それぞれ署名が必要
- 各々に対し、署名が必要なため、データが多くなり取引手数料が高くなる
マルチシグとは…
マルチシグネチャの略称で取引の署名に複数の秘密鍵を必要とする技術のことです。
以上のような、違いがあり、 シュノア署名にすることで、以下のように署名を1つにまとめることができるということが一番の特徴です。
(引用元;https://zoom-blc.com/schnorr-signature)
ビットコイン・コア開発者によればシュノア署名によって40%以上のブロックデータを削減でき、それにより取引手数料が安くなるとしています。
シュノア署名のメリット&デメリット
メリット
- 署名データのサイズ削減
- 安くて早い取引の実現
それぞれ詳しく見ていきましょう。
署名データのサイズ削減
シュノア署名では受信者が同一な複数の取引の署名をひとつにまとめることで、署名データサイズを削減することができるので、上の図からもわかるように、ECDSAからシュノア署名にすることで、署名の数が4分の1に減ります。
これは、マルチシグ送金においてもっとも大きなメリットとなります。
例えば、公開鍵は3つ登録されていてそのうちの2つの秘密鍵があれば取引ができるものは2of3のマルチシグといい、この2of3のマルチシグの場合、従来のECDSAならば2つの署名が必要ですが、シュノア署名ならば、署名データを1つにまとめることができます。
最近ビットコインのスケーラビリティ問題が懸念されていますが、もしもシュノア署名が実装されれば、現状のブロックサイズのままでより多くのトランザクションを処理できるようになる可能性があります。
安くて早い取引の実現
シュノア署名は取引に必要な署名の数が大幅に減るので、従来よりも早く署名を集めることができ、取引スピードが向上します。
また、必要な署名の数が減るということは、署名データを圧縮することになり、取引にかかる手数料も安くなります。
デメリット
- Segwit(セグウィット)ありきの技術
- アップグレードが難しい
シュノア署名にもメリットだけでなく課題が残っています。
それぞれ詳しく見ていきましょう。
Segwit(セグウィット)が必要
2018年の8月にアップデートされたSegwitですが、導入率はいまだにネットワーク全体の4割弱に留まっています。
上述したように、シュノア署名を実装するためには、あらかじめSegwitが実装されている必要があるので、シュノア署名自体のデメリットというわけではありませんが、実装は簡単なことではないということです。
アップグレードが難しい
そもそも、ビットコインのブロックチェーンのような分散型ネットワークにおいてアップグレードを行うには、開発者のみならず、マイナーや企業といったすべてのユーザーから仕様変更に対する同意を得る必要があります。
マッスルまとめ
ここまで、ビットコインのスケーラビリティ問題を解決するとしてSegwit(セグウィット)の次なる期待として実装が間近の可能性がある「シュノア署名」とは何なのか、概要やメリット&デメリットなどを分かりやすく説明してきました。
従来よりデータが増えており、多くの人から心配の声が上がっていますが、このシュノア署名が取り入れられれば、取引が早くなるだけでなく、取引手数料も安くなり、今後ビットコインはより良いものになっていくことが見込まれるでしょう。
今後もこういった技術に注目ですね。