ZakuraのCommonライブラリ、Zcashのプライベート決済における証明生成を200ミリ秒未満に短縮
重要ポイント
- •ZakuraのオープンソースのCommonライブラリは、同社自身の一部テストでシールド証明の生成を3秒超から200ミリ秒未満に短縮。
- •Zakuraのベンチマーク機材では、モバイルの証明生成が14倍以上、デスクトップの生成が5倍以上高速化。
- •200ミリ秒未満という結果はローカルのトランザクション構築にのみ適用され、ブロードキャスト、ブロック確認、決済は引き続きネットワーク状況に依存。
- •CommonはZakuraのテストで、Sinsemillaハッシュを21倍以上、トライアル復号を1.5倍以上、zk-SNARK検証を4〜8倍高速化。
- •このライブラリはハードフォークなしで動作するため、普及は各ウォレット開発者による統合とテスト次第。

主要ポイント
モバイルでの証明生成が14倍以上高速化。
一部のトランザクションテストは200ミリ秒未満で完了。
ネットワークの確認は引き続き別プロセス。
改善を受けられるかはウォレットの統合次第。
遅延はZcashが支払いを認識する前に発生する
プライベートなZcash支払いがネットワークに到達する前に、送信者のウォレットは支払い可能なノートを選択し、トランザクションを準備し、ゼロ知識証明を生成して結果に署名する必要があります。証明生成がローカルの待ち時間の多くを占めるのは、送信者、受信者、送金額を明らかにすることなく支払いの有効性を示さなければならないためです。このローカル計算のステップは、ブロードキャスト前の暗号学的処理がはるかに少ない透明な取引と比較した場合の、シールド決済の実用上のトレードオフのひとつとして従来から指摘されてきました。
Zakuraによれば、同社のオープンソースのCommonライブラリにより、このプロセスは一部のテストで3秒超から200ミリ秒未満に短縮されました。チームのベンチマーク機材では、モバイルでの証明生成が14倍以上、デスクトップでの生成が5倍以上高速化されています。
これらの結果は独立系ウォレットのベンチマークではなく、Zakura自身のテストによるものです。実際のパフォーマンスはデバイス、オペレーティングシステム、トランザクションの構成、ウォレットの実装に依存するため、古いスマートフォンでは発表された数値が再現されない可能性があります。
200ミリ秒の効果が及ぶ範囲
Zcashの支払いは引き続き3つの別々の段階を経ます。
構築: ウォレットがユーザーのデバイス上でトランザクションを組み立て、プライバシー証明を生成します。Zakura Commonはこの段階を高速化します。
ブロードキャストと確認: ウォレットが完成したトランザクションをZcashノードに送信します。マイナーがブロックに取り込むまで、トランザクションは未確認のままです。
決済の信頼性: その後の各ブロックが新たな確認を追加し、チェーンの再編成による取り消しの可能性を低下させます。
Zcashのドキュメントは、最初の確認をトランザクションがブロックに取り込まれた時点と定義しています。200ミリ秒未満という結果はブロードキャスト前に終了するものであり、支払いが決済済みとみなされる時点は、ブロック生成、メモリプールの状況、受信者の確認ポリシーによって依然として決まります。
送信ボタン以外にも及ぶ改善
Zakuraは、トランザクション処理、ウォレットの同期、ノードのパフォーマンスに影響する3つの処理でも改善を測定しました。
Sinsemillaハッシュ: Zakuraのテストで21倍以上高速。Zcashはシールドプロトコル内でこのハッシュ関数を使用しており、高速化により暗号処理の負荷の一部が軽減されます。
トライアル復号: 1.5倍以上高速。ウォレットはブロックチェーンをスキャンして自分宛てのシールドされたアウトプットを識別する際にこの処理を使用します。
zk-SNARK検証: 4倍から8倍高速。ノードは、保護対象の情報を知ることなくシールド証明を検証するためにこの処理を使用します。
トライアル復号の高速化によりウォレットの同期やアカウントの復元が短縮される可能性があり、検証の低コスト化はノードに必要な処理を軽減します。Zakuraはまた、フルノードの改善により、トランザクションの伝播が速くなり孤立ブロックが減ると期待しています。
この時期が重要なのは、より多くのZECが新しいシールドインフラへ移行しつつあるためです。以前に報じたように、Ironwoodはアクティベーション直後にOrchardを抜いてZcash最大のシールドプールとなりました。シールドされたアクティビティが増えるほど、ウォレットの構築と同期の遅さはより多くのユーザーが直面する問題になります。
ハードフォーク不要は自動展開されないことも意味する
Zakura Commonは、Zcashのコンセンサスルールを変更せずに、既存の暗号処理の実行方法を変えるものです。このライブラリが生成する証明は現在のネットワークがすでに理解できるため、ウォレット開発者はマイナーやノードによるハードフォークの発動を待つことなく利用できます。このソフトウェアのみのアップグレード経路はZcashの近年のプロトコル開発の特徴であり、ウォレットやライブラリレベルの最適化が、調整されたネットワークアップグレードではなく通常のアプリリリースを通じてユーザーに届けられます。
CommonリポジトリはMITおよびApache 2.0ライセンスで公開されています。別のwallet-librariesリポジトリが、ウォレット向けコンポーネントを最適化されたスタックに接続します。
この互換性によりネットワーク全体の展開障壁はなくなりますが、各ウォレット開発者はユーザーに提供する前にコードをレビュー、統合、テストする必要があります。現行の証明スタックを維持するウォレットは、既存のパフォーマンスのままとなります。
Zakuraは次期バージョン1.3.0でCommonを使用するとしています。その後は独立系モバイルウォレットに注目が移ります。それらのリリースノートと実機テストが、この改善がZakura自身のソフトウェアを超えて広がるかどうかを示すでしょう。
現在のボトルネックはウォレットの採用
Zakuraのベンチマックは、Zcashネットワークを変更せずにシールド証明の生成を大幅に高速化できることを示しています。実際の成果は、既存のウォレットがこのライブラリを提供するかどうか、そして独立したテストが一般的なスマートフォンでその成果を再現できるかにかかっています。
同期と復元の時間も重要です。エラー率の上昇なしにこれらの待ち時間が減少すれば、Commonはユーザーが「送信」を押す瞬間以上の改善をもたらしたことになります。
Zakuraは、Zcash自体を変更せずにウォレット側の遅延を削減できることを示しました。残る問いは、何人のウォレット開発者がそのスピードをユーザーの手に届かせるかです。
本記事Zcash Wallet Upgrade Makes Private Payments FasterはCoindooに最初に掲載されました。