はじめに
前回のブログ投稿では、Web2 と Web3 を不必要な複雑さを加えずに簡単に接続することを目指すプロトコル ZKCross について簡単に紹介しました。また、Web3 業界を悩ませている、真の分散化、効率性、開発者のアクセシビリティを妨げている現在の問題についても取り上げました。このブログ投稿では、これらの問題を克服し、Web2 と Web3 をシームレスにリンクするという目標を達成する計画について、さらに詳しく説明します。
具体的な内容に入る前に、ZKCross とは何かを振り返ってみましょう。
ZKCrossとは何ですか?
ZKCross は、インターネットの 2 つのバージョンである Web2 と Web3 の間のギャップを埋めることを目的とした画期的なプラットフォームです。zkVM と呼ばれる WebAssembly 仮想マシンと「zk-shadow レイヤー」を使用して、さまざまなプラットフォーム パーツを簡単に連携させることができます。このアプローチにより、Web2 開発者は C/C++、Java、Python などのプログラミング言語を使用できます。
当社のプラットフォームは、オンチェーン環境とオフチェーン環境をシームレスに接続する独自のレイヤーも採用しています。「zk-shadow レイヤー」と呼ばれるこのレイヤーは、zk-proxy コントラクトを通じて zkWASM とオンチェーン レイヤー間の接続を容易にします。その結果、Web2 と Web3 の間の障壁を打ち破り、あらゆるユーザーや開発者に高いスループットとアクセシビリティを提供できるようになります。
ゼロ知識技術の驚異
ゼロ知識 (ZK) 技術とは、一方の当事者 (証明者) がもう一方の当事者 (検証者) に秘密に関する情報を一切明かさずに秘密の知識を証明できるようにするプロトコルのクラスを指します。この概念は 1980 年代後半に導入され、それ以来暗号認証を含む多くの用途が見出されています。ZK 証明には通常、証明者と検証者の間の一連のやり取りが含まれ、その間に証明者は秘密を明かさずに検証者に秘密の知識を納得させます。
ZK 証明とみなされるためには、プロトコルは完全性、健全性、ゼロ知識を満たす必要があります。完全性とは、正直な証明者が常に正直な検証者に証明対象の文の真実性を納得させることを意味します。健全性とは、不正直な証明者が高い確率で虚偽の文を検証者に納得させることができないことを意味します。最後に、ゼロ知識とは、プロトコルが証明者が知っていること以外の秘密に関する情報を検証者に明かさないことを意味します。つまり、たとえ攻撃者が証明者と検証者間のすべての通信を傍受したとしても、秘密について何も知ることはできません。
ZK dApp開発の限界
ZK アプリケーションの開発は、プログラミング言語の選択に制限があるため、難しい場合があります。多くのブロックチェーンでは、スマート コントラクトの作成に特化した Solidity という特殊なプログラミング言語を使用しています。これは、最もユーザー フレンドリーな言語ではなく、学習曲線が急峻であるため、Web2 に不慣れな開発者にとっては難しい場合があります。そのため、これらの開発者にとってアクセシビリティに関する懸念が生じます。
この課題に対処するため、開発者は ZK アプリケーションの構築時にプログラミング言語の柔軟性を高める新しいソリューションを模索しています。1 つのアプローチは WebAssembly (WASM) 仮想マシンを使用することです。これにより、開発者は C/C++、Java、Python などの好みの高水準プログラミング言語でコーディングできます。これにより、Web2 開発者は既存のスキルと経験を活用して、新しいプログラミング言語を習得することなく ZK アプリケーションを構築できます。さらに、スマート コントラクトの作成の複雑さの一部を抽象化するツールとフレームワーク (ZKCross SDK など) が開発されており、開発者が安全な ZK アプリケーションを簡単に作成できるようになります。
zkVM、開発の三位一体
ZKVM は Zero-Knowledge Virtual Machine の略で、ZKCross プロトコルで使用されるテクノロジで、Web2 開発者が新しいプログラミング言語を学習せずに Web3 用のスマート コントラクトを作成できるようにします。zkVM は WASM 仮想マシンを活用し、Web2 開発者は好みのプログラミング言語でコーディングできます。WASM は Web ベースのアプリケーションで非常に人気があり、すべての主要な Web エンジンで使用されています。したがって、zkVM を使用すると、何百万もの開発者が急な学習曲線なしで Web3 対応アプリケーションを作成できます。一方、zkVM は zk-SNARK を使用します。これは、一方の当事者が他方の当事者に特定の情報に関する知識を証明できるようにする暗号化証明であり、その情報に関する情報を一切公開しません。SNARK は、個人を特定できる情報などの機密 (個人) データを公開せずに、ブロックチェーン上の計算を検証する方法を提供します。
SNARK の主な利点の 1 つは、その簡潔さです。他の種類の ZK 証明は計算コストが非常に高く、証明者と検証者の間で何度もやり取りが必要になりますが、SNARK は非常に効率的で、必要な証明は 1 つだけで、すぐに検証できます。
SNARK のもう 1 つの利点は、そのスケーラビリティです。SNARK を使用すると、計算自体の詳細を明らかにすることなく、大規模な計算の正確性を検証できます。これにより、計算が非常に複雑で、多くの計算リソースを必要とするブロックチェーン ネットワークのスマート コントラクトの正確性を検証するのに特に役立ちます。
ZkVMの利点
zkVM は、分散型アプリケーションの構築を目指す開発者にさまざまな利点を提供します。
高い柔軟性: zkVM を使用すると、開発者は特定のプログラミング言語に制限されることなく、好みの高水準プログラミング言語である C/C++、Java、または Python でスマート コントラクトを作成できます。
スケーラビリティの向上: zkVM により、スケーラブルな分散型アプリケーションの構築に不可欠な、トランザクション実行の高速化とスループットの向上が可能になります。
モジュール性と構成可能性を確認: zkVM を使用すると、開発者は言語やプラットフォームの互換性の問題を気にすることなく、さまざまなモジュールを使用して複雑な分散型アプリケーションを迅速に構築できます。
強化されたセキュリティ: zkVM は、SNARK と呼ばれる ZK 証明を利用して、機密データを公開せずに計算検証を可能にすることで、高いセキュリティを提供します。
分散化: zkVM は、複数のノード間で分散された方法でスマート コントラクトを実行できるようにすることで分散化を促進し、中央機関の必要性を排除します。
今後のブログでは、弊社のユニークで革新的なエコシステムについて、ユースケースの強調、アーキテクチャの詳細な説明など、さらに詳しく説明します。


