暗号通貨ジーキャッシュ(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)はどうやって安全に使うためのものとして担保しているか?
について書きます。
お読みいただいてありがとうございました。