Zcash
Pocket

ビットコインをはじめとする多くの仮想通貨で取引の履歴はブロックチェーン上で公開されています。本稿では暗号理論のゼロ知識証明という手法を用いてパブリックなブロックチェーン上で取引のプライバシーを保護するZcash(ジーキャッシュ)を紹介します。

 

Zcashとは

仮想通貨の代表格であるビットコインはアドレスの作成に名前や住所といった個人情報は必要ではなく、その匿名性から違法な取引にも利用されてきました。ただ、BlockExplorerなどでトランザクションの詳細を見るとわかるように、取引における送受信アドレス、送金量といった情報は誰もが見ることができ、個人と紐づいたアドレスや取引履歴から関連するアドレスをある程度推測するといったことができてしまいます。

ビットコインのトランザクションの例(BitcoinExplorerより)

これに対して仮想通貨Zcashは、ビットコインと同様にパーミッションのないパブリックな分散型のシステムでありながら、送受信アドレス、送金額といった情報を保護することを可能にした、匿名性のより高い仮想通貨で、Zcashは「ビットコインがマネーのhttpならばZcashはhttpsである」と表現しています。

Zcashは、ジョンズホプキンス大学のMatthew D. Green教授らがビットコインのプライバシーを高めようと立ち上げたZerocoinプロジェクトから派生し、Zooko Wilcox氏らが2015年に立ち上げたスタートアップによってオープンソースの仮想通貨およびプロトコルとして開発が続けられています。アドバイザーにはSatoshi Nakamotoの指名で初期のビットコインの開発をリードしたGavin Andresen氏、Ethereumを考案したVitalik Buterin氏らが、投資家としてはビットコインジーザスとして知られるRoger Ver氏が名前を連ねています。

2016年10月28日のローンチからこれまでにダウンタイムはなく、セキュリティー問題も発生していません。2017年11月現在Zcashの時価総額は7.7億ドル(約862億円)で仮想通貨中16位です。通貨の単位はZECで発行量は2100万ZECに固定されています。

 

Zcashとブロックチェーン

Zcashはビットコインのプロトコルをフォークしたものであることから、パブリックなブロックチェーンで、合意形成アルゴリズムはプルーフ・オブ・ワーク(PoW)、約4年に一度マイニング報酬の半減期が訪れ、通貨の発行総量が2100万ZECに固定されているなど、ビットコインのブロックチェーンと共通点が多く見られます。

一方でビットコインのブロックチェーンと異なる点もあります。合意形成アルゴリズムはプルーフ・オブ・ワークの中でもEquihashというアルゴリズムが使われています。Equihashでは保有するRAMの量でどれだけマイニングできるかが決まることから費用対効果のよいASICのようなマイニング専用機を作りにくく、最適化をしにくいこともZcashはEquihashの利点として挙げています。また、ブロックサイズはBitcoinブロックチェーンの2倍の2MB、ブロックが作成される間隔は約150秒とびとコインのブロックチェーンよりも短くなっています。そのほかにファウンダー報酬として、Zcashの総発行量の10%が最初の4年で徐々に創設者、投資家、従業員、アドバイザーに供給されます。

続いて、Zcashがトランザクションのプライバシーを実現する方法について見てみましょう。

 

トランザクションのプライバシーの実現方法

Zcashでは、zk-SNARKsと呼ばれるゼロ知識証明の手法でトランザクションに関する情報を明かすことなく(つまりゼロ知識で)トランザクションの正当性を証明にしていします。具体的には、トランザクションを作成するにあたって、送信者は匿名の未使用残高のプールから送信しようとしているZECを消費するためのプライベートキーを所有していることなどを示す検証可能な数学的「証明」を構築し、トランザクションが送信されると、合意形成のプロセスで証明の検証が行われます。送信者側での証明の構築には長くて40秒ほど時間を要しますが、証明の検証は数ミリ秒で実行可能だといいます。

より正確には、Zcashのアドレスにはtで始まるtransparentアドレス(透明なアドレス)とzで始まるshieldedアドレス(保護されたアドレス)2種類のアドレスがあり、transparentアドレスはBitcoinのアドレスと同様に残高が公開されるアドレスとして機能し、Shieldedアドレスではアドレスや残高が公開されません。

Zcashのトランザクションの仕組み(ZcashブログAnatomy of A Zcash Transactionより)

送金はtransparentアドレス間、shieldedアドレス間、transparentアドレスとshieldedアドレス間のいずれでも可能です。Transparentアドレス間、shieldedアドレス間のトランザクションはそれぞれパブリックな取引、プライベートな取引と用途が明確です。Transparentアドレスからshieldedアドレスへの送金では、transparentアドレスの性質上送金額は公開されるものの送金先のshieldedアドレスは公開されず、以降そのコインは秘匿されることになります。再度transparentアドレスに送金することでそのコインを過去の履歴と切り離す効果もあります。これは通貨のfungibility(ファンジビリティー、代替可能性)と呼ばれる性質を担保しようとするもので、通貨システムにおいてはどのコインも同様に受け入れられる価値を持つ(代替可能である)必要がありますが、通貨がデジタル化され履歴を持つようになると、過去に犯罪に使われた通貨、盗まれた通貨を受取手が拒否する可能性があり、Zcashはこの点を問題視しているようです。Zcashはマネーロンダリングなどに悪用されうるという指摘に対しては「犯罪者は車、インターネット、 お金、そして現在の銀行システム何であれ悪用する」という立場をとっています。

ここまで見てきたようにZcashにはトランザクションを保護する機能を提供していますが、現状、マルチシグのトランザクションではトランザクションが保護されない、shieldedアドレスのユーザビリティーから保護されたトランザクションに未対応のウォレットもあるといった課題があります。このためトランザクション全体に占める保護されたトランザクションの割合は多くはなく、Zcashは今後の改善と研究の余地を認めています。

Zcashのトランザクションの統計(Zchain – Zcash Block Explorer & APIより)

Zcashのゼロ知識証明の手法zk-SNARKsについてはZcashのブログの解説シリーズが参考になります。Zcashのプロトコルの全容はGithub上で仕様書が公開されています。

 

今後の展望

2017年2月に公開されたブログ記事の中で、Zcashはセキュリティーと信頼性を重要視し安定したシステムの開発に取り組むとし、ユーザーの選択により特定の相手に特定の支払いを公開する機能、軽量ウォレットからも保護されたアドレスへ送金できる機能を実装するとしています。ブロックチェーンを横断したトランザクション、ユーザーによるトークン発行を含むプロトコルのアップグレードなども計画されいます。

Zcash – The Near Future of Zcash

JPモルガンとのパートナーシップでは、同社のブロックチェーンQuorumにZcashのzk-SNARKsに基づく技術が取り入れられ、取引のプライバシーを確保しながら適切に情報を開示することが可能となるといいます。

Zcash – Zerocoin Electric Coin Company Integrates Zero-knowledge Security Technology on J.P. Morgan’s Quorum

オープンで透明であることを重視する時代の流れもありますが、一方で、都合が悪いことを隠す目的ではなく、プライバシーを守るという目的で適切な相手に必要な情報を自らの手で選び公開できる仕組みも求められます。そのような中、Zcashは通貨の取引という観点から興味深い方向性を示しているといえるのではないでしょうか。

 

 

Pocket

Aram Mine

Gaiax技術マネージャ。研究開発チーム「さきがけ」リーダー。新たな事業のシーズ探しを牽引。2015年11月『イーサリアム(Ethereum)』 デベロッパーカンファレンス in ロンドンに参加しブロックチェーンの持つ可能性に魅入られる。以降ブロックチェーン分野について集中的に取り組む。

Search