暗号通貨ジーキャッシュ(Zcash)について④くりぷと知っ得情報12月3日号

クリプトスタディ(クリスタ)の水野です。
シリーズでプライバシー重視の暗号通貨、「ジーキャッシュ(Zcash)」について書いてます。
プライバシーと匿名性に焦点を当てた分散型の暗号通貨で、第2のビットコイン(BTC)と言われるほど共通した特徴を持っています。

🔶ジーキャッシュ(Zcash)の概要くりぷと知っ得情報11月12日号🔶ビットコイン(BTC)とジーキャッシュ(Zcash)の共通点くりぷと知っ得情報11月19日号🔶秘密の中身を見せなくても正しいと証明できる魔法の技術「zk-SNARKs」
くりぷと知っ得情報11月26日号

前号では、ジーキャッシュ(Zcash)の高度な技術「zk-SNARKs」について書きました。
ビットコイン(BTC)が誕生する20年以上前の、1980年代から研究開発された「ゼロ知識証明」の概念。
ビットコイン(BTC)が誕生した2008年以降、研究・開発は急加速し、2016年、ジーキャッシュ(Zcash)のメインネットローンチで、「zk-SNARKs」を本格採用し、研究から実用化へ進化したよ、という内容でした。
 

そこで、疑問。
どうして、ビットコイン(BTC)は「zk-SNARKs」をのような、「ゼロ知識証明」の概念を採用しないのか?

ビットコイン(BTC)に「zk-SNARKs」が導入されていない理由

 

ここからは、そんな疑問についてわかりやすく書いていこうと思います。
 

と、その前に‥‥

ジーキャッシュ(Zcash)で、何が暗号化され、何が公開されるのか?

 

が気になります。
ので、調べてみました。

ビットコイン(BTC)とジーキャッシュ(Zcash)の公開データの違い(比較表)

項目

ビットコイン(BTC)

ジーキャッシュ(Zcash)

送金元アドレス

公開される

暗号化され見えない

送金先アドレス

公開される

暗号化され見えない

送金金額

公開される

暗号化され見えない

残高の動き(UTXO(※)の流れ)

誰でも追跡可能

暗号化され追跡不可能

トランザクションの内容

すべて可視(誰でも見ることができる)

内容は暗号化され、代わりに「zk-SNARK」 証明だけ公開

トランザクション手数料

公開される

公開される

送金が正しいことの証明

ブロックチェーン上のデータで確認可能

「zk-SNARK」の数学的証明だけが公開

送金者・受取者のプライバシー

 なし(すべて追跡可能)

非常に強い(完全匿名)

送金金額の透明性

あり

なし

UTXOとは?(※)

UTXOは、Unspent Transaction Outputの略で、直訳すると「未使用トランザクション出力」となりますが、わかりやすくいうと、「使いきりのお金のかたまり」のことです。
💡ペットボトルをイメージしましょう。・100円入りのペットボトル
・200円入りのペットボトル
・300円入りのペットボトル
👉これらが、UTXO(使いきりのお金のかたまり)です。
💰使う時は、「そのまま一本使う」例えば、600円払いたい時
・100円入りのペットボトル
・200円入りのペットボトル
・300円入りのペットボトルのように、
👉複数のUTXOを組み合わせて使用します。
💰お釣りは新しいボトルで返ってくる500円払って、600円のボトルしかなかったら、600円のボトルで払うわけですが、
・100円の新しいボトルが返ってくる
👉使ったボトルは消え、釣りは新しいボトルが作られて返ってくるということになります。
これが、UTXOで、UTXOは、「一回使うと消えて、新しく作り直されるお金のかたまり」になります。
 

では、ここからは本題である、
 

ビットコイン(BTC)に「zk-SNARK」が導入されない背景について、

書いていきます。

なぜビットコイン(BTC)には「zk-SNARKs」が導入されない?

ビットコイン(BTC)とジーキャッシュ(Zcash)の公開データの違いを踏まえ、「zk-SNARKs」がビットコイン(BTC)に導入されていない主な理由を書いていこうと思います。
ある意味、ビットコイン(BTC)とジーキャッシュ(Zcash)の違いにもなります。

「zk-SNARK」がビットコインに導入されていない主な理由

1、ビットコイン(BTC)は安全第一

ビットコイン(BTC)は、"絶対に止まらないことが最優先” のシステムです。

世界中で同じルールで動くお金なので、一度でも壊れたり、止まったり、”欠陥が出ると全価値が崩れてしまう”ため、一貫した思想として共有されている原則があります。

その原則とは、

”Don’t break consensus”(合意形成を壊すな)

= 壊れる可能性のある変更は絶対に避ける原則です。
 

ビットコイン(BTC)に信用を与えている唯一のものが「動き続けること」だから、

  • 中央管理者が要らない
  • 誰も保証してくれない
  • 壊れてしまったら、価値がゼロになってしまう

等の理由から、他の暗号通貨より “保守性が圧倒的に高い”わけです。

「zk-SNARKs」は、新しく複雑なため、“安全性が完全に証明されるまで採用しない”という文化ともいえます。

2、「zk-SNARK」は信頼設定(Trusted Setup)が必要

難しい言葉が出てきました💦💦

ビットコイン(BTC)の基本からみてみましょう。

これについては、クリプトスタディ(クリスタ)のセミナーとかでも触れることがありますが、ビットコイン(BTC)のコンセプトの一つに、

“Trustless(トラストレス=誰も信用しなくていい)” 

という概念があります。

一方、「zk-SNARKs」は、どうでしょうか?

「zk-SNARKs」の開発をするジーキャッシュ(Zcash)、それを担うElectric Coin Company(ECC)などを信用する必要があります。

「zk-SNARKs」の“秘密の材料(秘密鍵)を作る特別儀式” が必要で、もしその秘密がこっそり残っていたら、偽のコインを無限に作れてしまったり、盗まれたりという不正が可能になってしまい、

「誰かを信用しないと成立しない」 

という、前提があります。

では、ジーキャッシュ(Zcash)は、その信用をどういう仕組みで作っているのか?

これ、次回書きます。

3、ビットコイン(BTC)の分散性(フルノード数)が下がるリスク

「zk-SNARKs」をビットコインにとり入れると、

  • ブロック検証の仕組みが複雑化し、
  • ノードに必要な計算やソフトが重くなり
  • 一般ユーザーがフルノードを立てにくくなるといった理由によって、結果「分散性が弱まる」というった弊害が出てきます。

これは、ビットコイン(BTC)の最大の価値が落ちることになります。

4、理論・実装ともにまだ“成熟”とは言えない「zk-SNARKs」

「zk-SNARKs」自体は強力で実用化されていますが、

  • 研究の進化が早く、
  • 欠陥が後から見つかる可能性もあったりして、
  • 実装の安全性に細心の注意が必要になる。

ことから、安全第一のビットコイン(BTC)にとって、研究段階の技術を入れることは行わないわけです。

5、プライバシー強化は“監視・規制面の摩擦”が大きい

「zk-SNARKs」の技術を採択すると、ビットコイン(BTC)は事実上完全匿名通貨になります。

が、これは各国の規制当局が最も警戒する領域で、

  • “マネロンリスクが上がる”と判断
  • 取引所の上場維持も難しくなる
  • 世界的な扱いが大きく変わる可能性

とうが想定され、当然、開発者は政治的リスクを避けたいため、コア機能に「zk-SNARKs」の技術は入れたくないという側面があります。

6、ビットコイン(BTC)は「本格的なプライバシー」を求めない

ビットコイン(BTC)は

  • デジタルゴールド
  • 価値保管
  • 検閲耐性

を重視していて、「匿名性は最重要ではない」という考え方よりも、多くのユーザーのための安全性、分散性を第一にしています。

おわりに

今回は、共通点が多いビットコイン(BTC)とジーキャッシュ(Zcash)の違いについて、書きました。
次回は、「zk-SNARKs」という高度なゼロ知識証明を、ジーキャッシュ(Zcash)はどうやって安全に使うためのものとして担保しているか?
について書きます。
お読みいただいてありがとうございました。