BitcoinCoreとSchnorr署名

2018.09.05

BCHNews編集部

こんにちは、BCHNews編集部です。

 

「テクノロジー」カテゴリでは、難解でとっつきにくい暗号通貨に関する「専門用語」や「技術」について、可能な限りわかりやすく解説していきたいと思います。

 

第一回となる今回は、BitcoinCoreへの導入が検討されている「Schnorr署名」についてお話しします。

読み方が分かりにくいですが、シュノア署名と読みます。

シュノアという名前の人物が考えた署名方式なのでシュノア署名です。

 

いきなり難しそうな用語で不安になられた方もいるかもしれませんが、

  • Schnorr署名とは何か
  • なぜBitcoinCoreにSchnorr署名の導入が検討されているのか

について概要が理解できるようにまとめていきたいと思います。

署名とは

署名とは何でしょうか。

署名というと、契約書や何かの入会手続きなどが思い浮かびますが、暗号通貨界隈で言うところの署名は通常は「デジタル署名」を指します。

では、デジタル署名とは何でしょうか。

デジタル署名(デジタルしょめい)とは、書面上の手書き署名のセキュリティ特性を模倣するために用いられる公開鍵暗号技術の一種である。

引用元:https://ja.wikipedia.org/wiki/デジタル署名

 

よくわからないと思います。

噛み砕いて言うと、「送信されてきたデータが、送信者本人によって作成されたものであり、途中で改ざんされていないことを証明するための署名」です。

もっと言うと、「送信されてきたデータが正しいのかどうかチェックするための署名」です。

 

実はこれが意外と工夫が必要で、様々な署名方式が研究されてきた歴史があります。

その中でも、RSA署名やECDSA署名などが有名で、BitcoinCoreで利用されるデジタル署名にはECDSA署名が利用されてきました。

 

しかし、昨年の8/1に行われたビットコインのハードフォーク以降、BitcoinCoreの署名方式をSchnorr署名に変更しようという議論が起こり始めました。

 

Schnorr署名のBitcoinCoreへの実装については、以下に提案としてまとめられています。

URL:
https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki

「なぜ」Schnorr署名に変更するのか

署名方式を変更しようと考える理由は何でしょうか。

 

主な理由は、「Schnorr署名は、複数の署名をまとめることができ、署名データのサイズを小さく抑えることができる」ことです。

 

昨年、暗号通貨がメディアなどで脚光を浴び始め、ビットコイン利用者が急増しました。しかし、ビットコインの処理能力には限界があり、約10分間で最大1MB分のトランザクションまでしか処理しない仕様になっています。つまり、利用者が増えれば、いずれは限界を向かえることが明白です。

これは、ビットコインの「スケーラビリティ問題」と呼ばれ、以前からその対策について議論が交わされてきました。

 

Schnorr署名は、スケーラビリティ問題に対して有効な対策の一つとなるため、その採用が議論されるようになりました。

なぜ「今」Schnorr署名へ変更するのか

しかし、どうしてもっと早くからSchnorr署名を利用していなかったのでしょうか?

 

最近考えられた署名方式かというと全くそんなことはなく、1989年にドイツの暗号学者であるClaus-Peter Schnorr氏によって発明されています。

なぜ、このタイミングで議論されているかと言うと、「Schnorr署名の発明と同時期にアメリカ国立標準技術研究所 (NIST) により DSA という署名方式が発明されたこと」や、「Schnorr署名は、Schnorr自身が特許を取得したことで第三者が自由に利用できなかった」などの理由から、Schnorr署名自体があまり利用されてこなかった歴史があるためです。

 

しかし、2008年に特許が失効していること、さらに、昨年BitcoinCoreにsegwitが実装されて、署名データがwitnessと呼ばれる領域に保存されるようになったことで、署名方式の変更が、ビットコインユーザーに影響の大きいハードフォークではなく、影響の少ないソフトフォーク で実装できるようになったため、「今」、Schnorr署名への仕様変更が議論されるようになったのです。

まとめ

  • Schnorr署名はデータサイズが削減され、スケーラビリティ問題への対策として有効
  • 現在のBitcoinCoreの署名方式はECDSA
  • Segwitの導入によりSchnorrへの変更が比較的容易になった

 

「BitcoinCoreとSchnorr署名」は、以上となります。

より深く理解するためには、ブロックチェーンの知識だけでなく、高度な数学の知識も必要となるため非常に大変ですが、本記事を通じて概要をつかんでいただければ幸いです。

最新情報はこちら

BCHNewsでは公式のTwitterアカウント(@bchnews_jpを開設しました。
更新情報を配信しておりますので、よろしければフォローしていただけると嬉しいです。

BCHNews編集部

BCHNews編集部です。
日々更新される暗号通貨関連のニュースを読者の皆様にお届けします。

関連記事

factory channel 〜ライトニングネットワークの実現に向けて〜

2018.10.11

by BCHNews編集部

基本に立ち返ってBitcoinのホワイトペーパーの内容を紹介します

2018.11.15

by BCHNews編集部

ゼロから作る自動売買bot開発 ~ 第0回:開発を始める前に ~

2018.09.28

by furusake-s

ゼロから作る自動売買bot開発 ~ 第1回:bot開発は取引所選びから ~

2018.10.01

by furusake-s