本日は匿名通貨であるZcashなどで使われている「ゼロ知識証明」について、具体例を挙げ、ざっくりと理解を重視した記事を書いてみたいと思います。
ゼロ知識証明とは?
暗号学において、ゼロ知識証明(ぜろちしきしょうめい、zero-knowledge proof)とは、
ある人が他の人に、自分の持っている(通常、数学的な)命題が真であることを伝えるのに、真であること以外の何の知識も伝えることなく証明できるようなやりとりの手法である。
なんのこっちゃという方は、下記でざっくりとご説明させて頂きます。
ゼロ知識証明の匿名性の強度
ゼロ知識証明による匿名性は最高レベルと言われています。
Zcashのような最高級の匿名性を持つ仮想通貨は、重要な秘密鍵(※)がないと(全ての)取引データを見ることができません。
公開鍵・・・自分のアドレスを作るもとになる鍵。他人に知られても良い鍵
秘密鍵・・・仮想通貨の所有を証明する鍵。他人に知られてはいけない鍵。
公開鍵は南京錠、秘密鍵はキーだと思って下さい。
公開鍵は無くしても(とられても)キーがないので中身を開けることはできませんが、秘密鍵は取られると公開鍵を開けることができ、悪用される危険性があります。
秘密鍵は基本的に本人が持っていますので、外部ではどうにもならずプライバシーが守られるわけです。
ゼロ知識証明の例
Zcash等で使われている「ゼロ知識証明」は、情報の内容を提供しないで信実であるという証明ができてしまう技術があります。
具体例として、例えば、ある家にハートがあり、その家には特定のカギを使わないと入れないものとします。
しかし、僕(かにたま)が家の中にあるはずのハートを持っていれば特定のカギを使ったことが証明できます。なぜなら家はその特定カギでしか入れないからです。
かにたま「ハートを持っていることで中に入れたことを証明できるわけですね。」
上の例でいうと、ハートを持っていれば、家にいつ入ったということを他人に知られずに、カギを開けて家に入ったことが証明できるというわけです。
つまり、これを仮想通貨に置き換えますと、取引記録を知られなくても取引が行われたことを証明できるわけです。
イーサリアムでもゼロ知識証明
昨年、イーサリアムで「The Open Vote Network」というシステムが公開されました。
これは、ゼロ知識証明を用いてイーサリアムプラットフォーム上で匿名投票を行うことを可能するシステムです。これまでの投票は全てを開示するシステムだったので、誰が誰に投票したかがわかるのが問題点でした。
オープンなシステムはクリーンである一方、誰にでも追跡されてしまうプライバシー問題にもなっているのも事実です。
2009年、グーグルのCEOを長く務めたエリックシュミットさんがプライバシー問題についてMSNBCのインタビューでこう答えました。
「もし他人に知られたくないことをやっているんだったら、そもそもそんな事をしない方が良いと思いますよ」と述べました。
しかし、現在、私達はあらゆる場所でパスワードや鍵を等をかけてプライバシーを守っている状態です。
悪意のある人達がいなくならない限りは、全てオープンにすることは難しいですね。
他の仮想通貨の匿名性について


有名なDASHのコインミキシング、Meneroのリング署名など匿名性通貨の仕組みについても記事にしました。良かったらご覧ください。
コメント