突然ですが,皆さんブロックチェーンしていますか?ビットコインの価値が上がったり下がったりが時々話題になりますよね.
そんなビットコインなど暗号資産の背景にあるブロックチェーンですが,途中で用いられる署名方式がECDSAだったりと,このままでは量子コンピュータの台頭以降では安全性が破られてしまいます.
もちろん,耐量子性のある署名方式へ取り替える動きもあります.例えば,
このプレプリントは,NISTのPQC第3ラウンドに残っている Rainbow という多変数多項式暗号ベースの署名方式をブロックチェーンに使用しています.
しかし,いずれは到来するであろう,量子の時代ですから,せっかくなら量子プロトコルを前提にしたブロックチェーンの研究がもう進んでいても良いのではないだろうか?と思い,色々勉強していこうと思います.
不定期で量子ブロックチェーンの話題を投稿します.理論解説がメインになると思いますが,Qiitaらしく?適宜Githubも参考にして,コードも挟んで行こうと思います.
参照
初めに以下の論文を参照にします.
E. O. Kiktenko, N. O. Pozhar, M. N. Anufriev, A. S. Trushechkin,R. R. Yunusov, Y. V. Kurochkin, A. I. Lvovsky, and A. K. Fedorov,
‘‘Quantum-secured blockchain,’’
Quantum Sci. Technol., vol. 3, no. 3,2018, Art. no. 035004
おそらく量子通信を前提としたブロックチェーンの理論はこの論文が初なんじゃないかと思います(間違っていたら早急に削除します()).
さらっと見た感じだとQKDが分かっていれば理解できるようですね.
あと,さすがにブロックチェーンの知識は前提とします.具体的にはビットコインとブロックチェーン:暗号通貨を支える技術 ぐらいですかね.マスタリング・ビットコインです.
背景
上でも書きましたが,現在のブロックチェーンはECDSA(楕円曲線を使った暗号方式)やRSA(素因数分解の困難さに基づく暗号方式)がほとんどなので,Shorのアルゴリズムを使うと,多項式時間で解読されてしまいます.
これは単に鍵長を伸ばせば解決する話ではないので,新たな暗号化方式を考える必要があります.
*Shorのアルゴリズムは以前に記事を書いたので,そちらも(唐突な宣伝).
量子アルゴリズム① Shorの素因数分解アルゴリズム
そこで,量子コンピュータでも簡単には解読できないような古典でできる暗号化方式を考える必要がある(僕の研究テーマ)のですが,
実は,QKDという量子コンピュータの通信プロトコルを使用すると,「情報理論的な安全性」のもとで秘密鍵を配送することができます.
「情報理論的な安全性」なので,攻撃者が古典だろうが量子だろうが関係ない,ということですね.
*現状だと,初めに紹介したRainbowという多変数多項式暗号ベースの署名方式やCRYSTALS-Kyberという格子暗号ベースの署名方式などが有力だったりします
Rainbowはつい最近も話題になりましたね(それよりも鍵長を短くしたというものですが)
[話題のやつ]
(https://www.jst.go.jp/pr/announce/20211124-2/index.html)
*QKDも以前に(以下略).
量子アルゴリズム④ 量子鍵配送
QKDでは基本的に2人の間に量子チャネルと古典チャネルを使うので,QKDを扱う際にはチャネルは2つ出てくることになります.
まとめ
今回の論文で出てくるブロックチェーンの特徴などをまとめます.
- 個人のマイナーが新たなブロックを作るのではなく,全てのノードが同じ条件で新しいブロックの合意をするプロトコル
- その結果,トランザクションの透明性が維持できる
- デジタル署名を使わない(broadcast protocol)
デジタル署名を使わなくても,QKDで秘密鍵を配送できるから,全員でチェックできる,というイメージなんですかね(間違っていたらすみません).
本題に入っていないため,この辺はまだ「おまじない」ですが,次回の記事が終わったらもう一度振り返ります.
*デジタル署名などの話は参考文献にも書かれています
参考文献のURL
最後に
QKDを使うと情報理論的な安全性を確保できるので,こういう発想は今後増えてきそうですね.
次回から具体的なプロトコルに迫っていきます.
参考文献
- 西野哲朗,岡本龍明,三原孝志,『ナチュラルコンピューティング・シリーズ 第6巻 量子計算』,近代科学社,2015年