Zcashはプライベート取引の処理能力を1秒あたり約1件から決済ネットワーク規模へ拡大する計画の第一歩として、新たなクライアントソフト「Zakura」を公開した。
Zcash Foundationとは独立した運用体制のもと、レガシーなzcashdクライアントのサポート終了(7月18日)に先立ち、Zebraのプルーニング機能と高速同期機能を備えたフォーク版としてリリースされた。
Zcash開発陣が描くビジョンは、VisaやMastercardといった世界的決済大手と肩を並べ、毎秒数万件の決済を高度な検証性と堅牢なプライバシー保証を維持しながら処理することだ。
その第一段階として、2023年7月にバージョン1.0.0がリリースされた新フルノードソフトウェア「Zakura」がある。Zcashのゼロ知識証明創設メンバーのSean Boweと、現在Valar Groupを率いるOsmosis共同創設者のDev Ojhaがメンテナンスを担当。両者の開発チームは企業や財団の資金提供を受けず、個人によるZEC寄付で運営されている。
公式ブログでは「我々の目標は世界の決済インフラを支えることだ。MastercardやVisaは毎秒5万件以上の取引を処理しており、それが最低ラインである。既存のZcash暗号技術では処理量に対応するためノードは毎秒500MB超のスループットを要する。現在の技術スタックでの実現は困難だが、我々の開発する暗号技術がこの大きなギャップを埋める」と記している。
フルノードとはZcashのブロックチェーン台帳を完全に保持し、すべてのトランザクションをネットワークのルールに則り独立して検証するプログラムである。ZakuraはZcash Foundationの公式ノードソフト「Zebra」から派生したフォークであり、公式コードをベースに再構築されている。
コンセンサスルールとは全ノードが共通適用する規則の集合で、ネットワーク全体が有効と認めるブロックやトランザクションを決定する。異なるルールを適用するノードは分岐し、他のノードと同じチェーンを追わなくなる。
プルーニング、スナップショット、互換性
Zakuraは不要な古いブロックチェーンデータを削除(プルーニング)し、ディスク使用容量を大幅に削減可能。完成済みのチェーンコピーを約11ギガバイトに圧縮し、新規ノードは全履歴逐次取得の代わりにこのコピーをダウンロードできる。
これによりノード同期時間はゼロから約2分に短縮され、開発チームは「680倍高速化」と説明する。
さらに7月18日にサポート終了となる従来のzcashdクライアントのインターフェースを再現する互換モードを備え、既存ウォレットや取引所の統合が継続可能となっている。
スループット目標とTachyonの役割
MastercardやVisaは毎秒5万件以上のトランザクションを処理しており、これは「目標というより最低ライン」とされる。Zcash現行暗号方式では、各プライベート取引に証明が付随し、その証明も大容量のためノードは毎秒500MB超のデータを受け入れ検証しなければならない。
これは約10秒ごとにDVD1枚分の大容量データが継続流入する計算で、現在のZcashソフトでは対応困難だ。しかしこのボトルネックを生む根本的欠陥を埋める技術が存在する。
Boweが推進するProject Tachyonは再帰的証明によりこの問題に対処。再帰的証明とは、数千件の証明の正当性を一つの証明が証明する方式で、コンセンサス検証対象データ量を劇的に削減できる。
Tachyon適用によりノードは数千件分の証明ではなく単一証明の検証で済み、チームによればコンセンサスデータ要件は毎秒100MB~500MBに軽減される。慎重な設計で技術的達成が可能とされている。
ウォレットのボトルネックとValarのPIR解決策
Zcashはトランザクション受取人を秘匿するため、ウォレットは自己の取引をサーバーに問い合わせる際に情報漏洩の恐れがある。従来は全トランザクションを取得し一件ずつ検証が必要で、処理能力は1秒あたり1件程度に留まっている。
この課題に対し、Valar Groupはプライベート情報取得(PIR)技術に取り組む。これによりウォレットはサーバーに要求内容を知られずに自身の情報のみを効率的に取得可能となる。
高速ブロック伝播
高速ブロック伝播は、新規生成されたブロックをネットワーク全体へ迅速に伝播させることを指す。Zakuraはこの役割を担うソフトウェア層である。
大量証明やウォレットトラフィックを処理するため、新規ブロックを素早く確実にノード間で伝播させる必要がある。Zakuraは全てのブロックを半秒以内に全ノードへ配信するシステムを実験的に搭載しているが、現時点ではデフォルトで無効化されている。
これらの技術検証は7月下旬に実施予定。Ironwood(NU6.3)はメインネットでブロック3,428,143、米東部時間7月28日午前8時頃に有効化され、Zakuraはリリース時より対応する。
Boweは7月10日に主要組織による対応合意を表明。取引所やウォレット提供者からの準備期間要請のため当初予定より1週間遅延したことを明かした。
Ironwood誕生の経緯
Ironwoodは6月に発見されたZcashの重大欠陥に対応するため誕生した。シールドプールとは、取引の金額や参加者を秘匿するネットワークのプライベート領域であり、ゼロ知識証明が計算作業の証拠となっている。
5月29日、Shielded Labsの研究者Taylor Hornbyが最新のシールドプールOrchardの証明回路に検証不能なバグ(サウンディネス欠陥)を発見。攻撃者がオンチェーンに痕跡を残さず偽のZECを無制限に鋳造可能であることが判明し、この欠陥はOrchard稼働開始の2022年5月以来存在していた。
開発者は6月2日に緊急措置を取りOrchardを停止し、3日にNU6.2ハードフォーク(ブロック3,364,600)で修正回路を導入して復旧を図った。
しかし欠陥が4年間も存在していた事実は消えず、ゼロ知識証明は検証結果以上の情報を公開しないため、チェーン上にOrchard取引実態は記録されておらず、偽ZECが生成されていないことを証明できない状況にある。
Ironwoodはこの問題解決のため構築された。いわゆる「回転障壁(turnstile)」をシールドプールの境界に設置し、シールドプールへの出入総量を制限する。取引内容は秘匿されても移動するZECの量は公開されている事実を利用した仕組みである。
この構造によりOrchardへの新規入金は遮断され、回転障壁経由でのみ入出可能になるため、偽造コインは事実上プール内に閉じ込められる。
正当な残高は時間をかけて移動可能だが、偽コインは循環市場に入ることを阻まれ、供給過剰を防止。これによりトークン供給の信頼性が回復される。
