• The IC VDPE is designed for rapid data processing on a public replicated compute network. This means that data cannot be sensitive, or private in nature as it’s shared to a network of node operators (ie. The Internet Computer).
  • The ZK VDPE is designed for private data processing. This means that data can be sensitive, or private in nature as it’s processed within a zkVM. The tradeoff is that ZK Proving times are typically 40 seconds or more on GPU-accelerated hardware, and can be north of an hour on CPU-only hardware.

If you have an enterprise use case, and require additional hands on support to determine how best to utilise Verity, please contact Usher Labs for support.

IC VDPE

If you have chosen the IC as the VDPE, then the ic module is the most important for you.

Verifying and processing TLS proofs all within the IC does NOT require verify-remote or verify-local modules.

The IC-ADC repository offers the best reference implementation for Developers choosing public replicated compute as their VDPE.

Within the IC-ADC, we can observe sections of code that illustrate the verification process entirely within the IC. To review a walkthrough of the IC-ADC implementation, please refer to the IC-ADC Implementation page.

ZK VDPE

If you have private or sensitive data that you must retain full data privacy over, even during data processing, and TLS proof redactions are not enough, then the ZK VDPE is the most appropriate choice for you.

Here, we will be using the verify-remote and verify-local modules.

  1. The verify-remote allows the host environment to prepare and optimise TLS proofs on remote replicated compute for compatibility with our zkVM. We extract and verify only public facets of the TLS proofs to do this.
  2. The verify-local operates within the zkVM. With our prepared remote proof, we can present the TLS proof, and the remote prepared proof to the zkVM, and verify using the verify-local module.

The Verity DP Framework repo includes a full zkTLS demo, where ZK VDPE is used. Furthermore, the X (Twitter) NFTs prediction market mini-game is an active working example of this same approach to implementing Verity.

To review a walkthrough of the zkTLS implementation, please refer to the zkTLS Implementation page.