Zerocoinは、 2013年にジョンズ・ホプキンス大学のマシュー・D・グリーン教授と彼の大学院生であるイアン・ミアーズ氏、クリスティーナ・ガーマン氏によって提案されたプライバシープロトコルです。これは、ビットコインプロトコルの拡張機能として設計され、コインミキシング機能をプロトコルにネイティブに組み込むことで、ビットコイン取引の匿名性を向上させることを目的としています。Zerocoinはビットコインとは互換性がありません。
ブロックチェーンは公開されているため、ユーザーはネットワークとのやり取り中にプライバシーが侵害される可能性があります。この問題に対処するために、第三者のコインミキシングサービスを使用して暗号通貨の取引履歴を隠すことができます。2013 年 5 月、マシュー D. グリーンと彼の大学院生 (イアン ミアーズとクリスティーナ ガーマン) は、信頼できる第三者を経由せずに暗号通貨の取引を匿名化できる Zerocoin プロトコルを提案しました。このプロトコルでは、コインが破壊されてから再度発行され、履歴が消去されます。[ 1 ]
コインが使用される際、どのコインが使用されたかを正確に示す情報はありません。[ 2 ]当初、Zerocoin プロトコルはBitcoin ネットワークに統合される予定でした。[ 3 ]しかし、この提案は Bitcoin コミュニティに受け入れられませんでした。そのため、Zerocoin の開発者は、プロトコルを独立した暗号通貨として立ち上げることにしました。[ 4 ] Zerocoin プロトコルを実装するスタンドアロンの暗号通貨を作成するプロジェクトは、「Moneta」と名付けられました。[ 5 ] 2016 年 9 月、Zerocoin プロトコルを実装した最初の暗号通貨である Zcoin (XZC) が Poramin Insom 氏とチームによって立ち上げられました。[ 6 ] 2018 年 1 月、Zcoin が一部資金提供した学術論文が、一般ユーザー間のより公平なマイニングを保証するために、メモリ集約型のMerkle ツリー証明アルゴリズムでProof-of-work システムを置き換えることについて発表されました。[ 7 ] 2018 年 4 月、Zerocoin プロトコルに暗号学的欠陥が発見され、攻撃者が正直なユーザーが所有するコインを破壊したり、無からコインを作成したり、ユーザーのコインを盗んだりすることが可能になった。[ 8 ] Zcoin 暗号通貨チームは、この欠陥を認めつつも、このような攻撃を実行するのは非常に困難であり、攻撃者に経済的利益をもたらす可能性は低いと述べた。[ 9 ] 2018 年 12 月、Zcoin は、信頼できる設定の必要性をなくし、Zerocoin プロトコルを使用する際のトランザクション内のコインの起源と量を隠す Lelantus プロトコルを提案する学術論文を発表した。[ 10 ] [ 11 ]
Zerocoin機能を使用するトランザクションはエスクロープールから取得され、各コインのトランザクション履歴は出現時に消去されます。[ 12 ]トランザクションはゼロ知識証明によって検証されます。ゼロ知識証明とは、質問に関する他の詳細を明らかにすることなく、ステートメントが真であることを証明する数学的な方法です。[ 13 ]
2013年11月16日、Matthew D. Greenは、取引金額を隠すことで匿名性をさらに高めるZerocashプロトコルを発表しました。[ 14 ] Zerocashは取引サイズを98%削減しますが、計算コストがかなり高く、 生成に最大3.2GBのメモリを必要とします。[ 15 ] [ 16 ]プロトコルの最近の開発により、これは40MBにまで削減されました 。
Zerocashは、計算の完全性を証明するための特殊なゼロ知識証明方法である、簡潔な非対話型ゼロ知識証明(zk-SNARKsとも呼ばれる)を利用します。 [ 17 ]このような証明は300バイト未満の長さで、わずか数ミリ秒で検証でき、取引金額を隠すという利点もあります。ただし、Zerocoinとは異なり、Zerocashは信頼できるエンティティによる初期設定が必要です。[ 18 ]
Zerocoinプロトコルの背後にいる助教授であるマシュー・D・グリーンによって開発されたZcashは、 2013年に開発が開始された最初のZerocashベースの暗号通貨でした。[ 19 ]
2014年後半、ジョンズ・ホプキンス大学のセキュリティ情報学修士課程の学生であるポラミン・インソムは、教員のマシュー・グリーンと共に、ゼロコインプロトコルを暗号通貨に実装する論文を執筆した。[ 20 ] [ 21 ]ロジャー・バー[ 6 ]とティム・リーは、Zcoinの初期投資家であった。[ 22 ]ポラミンはまた、タイバーツをZcoinに直接変換できる「Satang」という名前の取引所を設立した。[ 21 ]
2017年2月20日、Zerocoinプロトコルに対する悪意のあるコーディング攻撃により、37万個の偽トークンが作成され、犯人はそれを400ビットコイン(44万ドル)以上で売却した。Zcoinチームは、コードの一部にある単一シンボルのエラーにより、「攻撃者が対応するミントなしでZerocoinの支出トランザクションを作成できた」と発表した。[ 23 ] DAOイベント中のイーサリアムとは異なり、開発者はコインを破棄したり、新たに生成されたコインで起こったことを元に戻そうとしたりしないことを選択した。[ 24 ]
2018 年 9 月、Zcoin はThe Onion Router (Tor) やVirtual Private Network (VPN)を使用せずに送信者の発信元 IP アドレスを隠す Dandelion プロトコルを導入しました。 [ 25 ] [ 26 ] 2018 年 11 月、Zcoin はInterPlanetary File System (IPFS)を使用して、タイ民主党で世界初の大規模な政党選挙を実施しました。 [ 27 ] 2018 年 12 月、Zcoin は、マイナーにとってメモリ集約的であるため、コインのマイニングでアプリケーション固有集積回路(ASIC)の使用を阻害するマイニング アルゴリズムであるMerkle ツリープルーフを実装しました。これにより、一般ユーザーが中央処理装置(CPU) とグラフィック カードを使用してマイニングできるようになり、コイン マイニングにおける平等性を実現できます。 [ 28 ] 2019 年 7 月 30 日、Zcoin は、偽のプライバシー コインがコイン供給を膨張させるのを防ぐ「Sigma」と呼ばれる新しいプロトコルを採用し、Zerocoin プロトコルから正式に離脱しました。これは、Zerocoinプロトコルから「信頼できるセットアップ」と呼ばれる機能を削除することによって実現されます。[ 29 ]
ゼロコインに対する批判の一つは、そのプロセスに必要な計算時間が増加することです。この計算は主にビットコインマイナーによって実行される必要があります。証明がブロックチェーンに投稿されると、ブロックチェーンのサイズも大幅に増加します。しかし、原著者が述べたように、証明はブロックチェーンの外に保存することができます。[ 30 ]
ゼロコインは、その発行に使用されたビットコインと同じ額面を持つため、同じ額面のゼロコインが他に発行されていない(またはごく少数しか発行されていない)場合、匿名性が損なわれる可能性があります。この問題に対する解決策としては、特定の額面のゼロコインのみを許可することが考えられますが、1つのトランザクションに複数のゼロコインが必要になる可能性があるため、計算時間が長くなります。
具体的な実装によっては、Zerocoin では簡単に因数分解できないパラメータを生成するために2 つの非常に大きな素数が必要になります。そのため、これらの値は信頼できる当事者によって生成されるか、信頼できる当事者の必要性を回避するために RSA の因数分解不可能なオブジェクトに依存する必要があります。 [ 1 ]ただし、このような設定はZerocashプロトコルでは不可能です。