Solidity library
The Soda Labs Solidity library lets developers write confidential contracts in plain Solidity, using encrypted data types and MPC operations.
Soda Labs provides a Solidity library that developers can use to build smart contracts capable of performing secure computations across supported blockchain networks, without needing in-depth knowledge of secure computation.
This library enables privacy-preserving logic by integrating encrypted data types and cryptographic operations directly into smart contracts.
The library includes the following key components:
- Secure data types, Special Solidity data types representing input/encrypted values handled within the MPC framework.
- Secure operations over encrypted types, Arithmetic, logical and conditional operations that can be executed on encrypted data without decryption.
- Validation of secure inputs, Built-in verification ensuring that provided encrypted inputs are valid and originate from authorized sources.
- Permission mechanisms, Fine-grained access controls that define who can perform secure operations or request decryptions.
- Decryption capabilities, Controlled methods to reveal encrypted values securely via the MPC engine.
- OPRF functionalities, Cryptographic primitives used to implement anonymity tokens and other privacy-enhancing mechanisms.
The core mechanism of the library involves invoking the GC handler functions, prompting the MPC engine to execute the operation. This streamlines the developer's task, as they are not required to comprehend the underlying mechanisms, ensuring complete transparency.
The Confidential Blockchain Protocol
How the Bubble network fits together: the Solidity library, host contracts, the connector, the MPC engine, and the Bubble interactor.
Host contracts
Host contracts are the on-chain trust anchor of Bubble, managing access control and triggering off-chain encrypted computation.