Technical Overview

The NotVault SDK offers developers a robust toolkit for implementing confidential interactions by leveraging the power of zkSNARK verifications and AES / Public Key Encryption . Integrity and consistency of these interactions are ensured through the transparency and immutability of blockchain technology.

The architecture of NotVault consists of a set of Solidity smart contracts that operate on an Ethereum Virtual Machine (EVM) compatible Layer 1 (L1) network, alongside a JavaScript npm package. These components enable:

  1. Obfuscation of fungible token balances: This is achieved via the Poseidon hash function. Note that only the token balances and the value of transfers are kept confidential. The identity, source, and destination of the transfers relating to these tokens remain public.

  2. Confidential storage and indexing of files onto IPFS: Each file is encrypted with a unique secret key using the AES algorithm, providing a secure method for file storage and retrieval.

  3. Verification of data integrity: Credential workflows employing zkSNARK allow for secure and efficient verification of data integrity.

The NotVault SDK's codebase is structured into three primary sections:

  • Typescript NPM package: This is where encryption, proof generation, and connectivity to both blockchains and IPFS are handled.

  • Solidity smart contracts: These define the vault, balances, and transactional logic, providing the framework for secure and confidential transactions.

  • Circom circuits: These define the zero knowledge proof logic, facilitating the secure verification of data without revealing any unnecessary information.

Developers can leverage the NotVault SDK to accelerate the development of secure, confidential, and integrity-focused applications.

Last updated