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 ECDSA, EDDSA, Schnorr, BBS, Ethereum signatures, on the most widely used elliptic curves such as SECP256K1, BLS381, ED25519 (and many more, see full list), as well as 10+ hashing algorithms.
Additionally, Zenroom is capable of zero knowledge proofs based on Coconut and BBS, multi-party computation based on Reflow Multisignature, W3C-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 https://apiroom.net
More info
Zenroom homepage: https://zenroom.org
Zenroom docs: https://docs.zenroom.org
Online IDE: https://apiroom.net