転勤族でもできる仮想通貨

仮想通貨でセミリタイアを狙う転勤族エンジニアが色々な通貨や関連する技術について、誰が見ても分かりやすいように解説しています

ZcashやEthereumにも採用される匿名性技術zk-SNARKのベースとなる考え方ゼロ知識証明とは?

f:id:parato:20181103110248j:plain

どうも、ぱらと(@ParatoCrypto)です('ω')ノ

今回は仮想通貨の取引を承認する際に用いられる技術(考え方)であるゼロ知識証明(zero-knowledge proof)について書きたいと思います。

この技術を活用することでブロックチェーン上の取引においてプラバシー性の確保をしつつ正しい取引が行えるようになります。

大手アルトコインでも採用されている技術なのでこの記事を通して理解を深めていきましょう!

ゼロ知識証明(zero-knowledge proof)とは?

ゼロ知識証明とは暗号学での考え方で、AさんとBさんの2人がやり取りをする際、Aさんが持つ命題が真であることを伝えるのに、命題が真であるという情報以外をBさんに教えずに証明するやり取りの手法を指します。

 

例としてよく挙げられるのはパスワード認証の場面です。

パスワード認証で例えると証明する側はパスワードを相手に教えずに正しいパスワードを知っているという事実だけを証明する手法のことを表します。

 

証明するために確認する側は証明する側に問いかけを行います。

その問いかけは直接パスワードの内容を聞くことはできませんが、正しいパスワードを知っていれば答えられる内容を問いかけます。

証明する側は正しいパスワードを知っているので問いかけには正確に答えることが出来ます。

これを何度か繰り返すことで仮に正しいパスワードを知らずに答えていた場合に連続して正しい解答ができる確立はゼロに近づきます。

そうすることで確認する側はパスワードの内容を知らないまま証明する側が正しいパスワードを持っていることを確認できます。

 

仮想通貨に置き換えると

仮想通貨においてゼロ知識証明はパスワード認証ではなくブロックチェーンを繋げるのに必要な値であるハッシュ値に関する証明に利用されます。

ゼロ知識証明の考え方を利用して実際のハッシュ値を取引承認側が知ることなく正しいハッシュ値かどうかについて証明することができます。

ブロックチェーンにおいてハッシュ値を伝えないというのは相手の素性を隠すことになるので匿名性の高い取引が可能になります。

 

仮想通貨のZcash(ZEC)とEthereum(ETH)はこのゼロ知識証明を基盤にした匿名性技術としてzk-SNARKという名が付けられています。

zk-SNARKを活用することで送金元のアドレス・残高・ハッシュ値などの情報を承認先に伝えないまま取引を完了することができます。

また、送金先のアドレスも隠すことができます。

 

Zcashのzk-SNARKの活用

元々匿名性を特徴としていたZcashでは取引のタイプを4つのパターンに分けて利用できます。

 

・公開アドレス同士の取引(取引内容は全て公開)

・公開アドレスから匿名アドレスへの取引(送金先の情報が隠される)

・匿名アドレスから公開アドレスへの取引(送金元の情報が隠される)

・匿名アドレス同士の取引(取引内容は全て非公開)

 

利用者のニーズに合わせてそれぞれの取引タイプを選択することで公開するべき内容は公開し、非公開にするべき内容は非公開にする。

個人同士だけでなく企業同士の取引では秘密保持契約の関係などで非公開にするべき内容もあったりするので匿名性の高い仮想通貨の利用拡大が期待されています。

 

技術の悪用の懸念

ゼロ知識証明の基本の考え方は相手に伝えるべきでない情報を隠したまま正しいことを証明することにありますが、これを悪用して自分の伝えたくない場を隠したまま正しいと証明する悪用が懸念されています。

zk-SNARKでは取引情報を非公開にすることでいかがわしい取引の情報を隠すことができます。

例えば、マネーロンダリングに利用されたり不正送金に利用されるなどが懸念されています。

悪用されたときの問題点の大きさからzk-SNARKをはじめとした技術を活用した匿名性通貨に対する風当たりは厳しくなっています。

 

まとめ

今回は匿名性通貨に利用される技術の基となる考え方ゼロ知識証明について解説しました。

 

ゼロ知識証明とは証明する側は確認する側に情報の中身を伝えないまま情報が正しいことを証明する手法のことを指す

 

元々の考え方は暗号学での通説で以前からある考え方ですが、これを仮想通貨に応用することによってプライバシー性を確保した通貨が誕生するきっかけになりました。

正しい利用方法であれば非常に有用なので注目されていますが、悪用されたときの問題の規模も大きいため立場としては非常に難しいです。

日本の取引所では匿名性通貨の取り扱いは禁止されていることもその影響によるものです。

しかし、今後の仮想通貨の発展においては避けて通れない問題でもあると思うので今後の進展に期待したいところです。

 

ではでは

 ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin