COMPONENTS

Zenroom

Portable lightweight virtual-machine for cryptography and blockchain interoperability

Zenroom is a tiny secure execution environment that integrates in any platform and application, even on a chip or a web page. It can authenticate, authorize access and execute human-readable smart contracts for blockchains, databases and much more. It helps to develop cryptography keeping it simple, understandable and maintainable.

Cryptography

Zenroom performs signatures and verifications using ECDSAEDDSASchnorr, BBS, Ethereum signatures, on the most widely used elliptic curves such as SECP256K1BLS381ED25519 (and many more, see full list), as well as 10+ hashing algorithms.

Additionally, Zenroom is capable of zero knowledge proofs based on Coconut and BBSmulti-party computation based on Reflow MultisignatureW3C-VC and quantum-proof cryptography based on the NIST competition winners (see our post on Medium).

Blockchain interoperability

Blockchain interoperability is the ability of blockchains to communicate with other blockchains, enabling data exchange and transfers of tokens or assets across different distributed ledger technologies.

Zenroom offers interoperability between Bitcoin, Ethereum, Fabric, Sawtooth, Iota, Planetmint, meaning that a single Zenroom smart contract can perform operations on each of these ledgers, allowing operations as NFT or token transfer along with multilayer and multi-source data notarization. The capability has been used to develop the blockchain oracle Zenswarm.

Ultra-portable and ultra-light

Zenroom is a tiny secure execution environment that integrates in any platform and application, even on a chip or a web page. It can authenticate, authorize access and execute human-readable smart contracts for blockchains, databases and much more. See for example how to use Zenroom as an offline Bitcoin wallet.

Programmable in “human language”

Executes smart contracts in Lua or in Zencode: a non Turing-complete, English-like DSL, inspired by LangSec and BDD. Zencode looks looks like this:

Scenario 'ecdh'

Given nothing

When I create the ecdh key
When I create the ecdh public key

Then print the 'keyring'
Then print the 'ecdh public key'

You can run this code on Zenroom’s online IDE Apiroom at https://apiroom.net

More info

Zenroom homepage: https://zenroom.org

Use cases

Used in these projects

Included in

Press

Contacts

Need support?