前回の記事の続きになります.
既存のブロックチェーン技術に量子アルゴリズムを組み込むことを始めて提案した論文です.
前回は論文の大雑把な内容を解説しただけなので,今回は具体的なプロトコルやどこにQKDの技術を使うのかについて解説します.
通信プロトコル
それぞれのノードは2層に分かれていて,大雑把には,
- 上層がQKDネットワークで,秘密鍵を伝送する
- 下層がタグ付きのメッセージを伝送する
のように分かれています.
また,これらはブロードキャストプロトコルとします.つまり,$n$ 人の個々のノードを全員で管理する方式です.
まず,上層のQKDネットワークですが,特にプロトコルに指定はなく,BB84プロトコルでもE91プロトコルでもその辺は関係なさそうです.とにかくQKDであればなんでもいいっぽい.
下層では,上層での秘密鍵を使った Toeplitz hash を用いて,タグ生成をします.
また,この論文で提案されているプロトコルは,broadcast プロトコルになっています.
古典との違い
大きくは2つあって,マイナーの廃止とフォークが起こらない,ということです.
マイナーの廃止
理由としては,これも2つあって,まず,メッセージに署名がつかないためです.これがOKになると,任意のトランザクションがブロックに含まれてしまいます.
そして,量子と古典的なノードが混在した状況において,量子的なノードの方が古典ノードより新しいブロックを作り出すのが早いためです.さすがにこれはだめで,51%攻撃のようなものが起こりうる状況となってしまいます.
フォークが起こらない
これは,今回提案されているプロトコルがブロードキャストプロトコルのためです.全員で新しいブロックを合意するので,フォークが起こる可能性がないのです(マイナーもいませんし).
今後やること
具体的にどういうプロトコルなのかはイマイチ掴めなかったのですが,次のステップに進もうと思います(何かわかったことがあれば,この記事のリメイク版を出します).
この論文自体まだ2018年のものなので,まだまだ新しいと分かります.最新内容をキャッチアップするのもそこまで時間がかからないかなと思うので,一旦量子ブロックチェーンに関する論文を洗い出そうかなと思います.
ひとまず,今回のQKDネットワークでどのようなプロトコル(BB84, B92, E91とか)を使うのかで違いも出てくると思うので,次に読むのはそれらを使うと,古典とどのように違うのかなど調べていきたいです.