zenroom

Crypto smart-contract executor.

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.

Works with All curves

Zenroom supports signature and pairing with most elliptic curves, including SECP256K1 (bitcoin), BLS381 (ethereum 2.0), BLS383, ED25519, see the full list here.  

Specs

Perform Elliptic Curve Pairing as well public/private a-symmetric key cryptography for ECDH, ECDSA, AES-GCM, BLS and Schnor signatures.

Attribute based credentials (ABC) and non-interactive zero knowledge proof (zk-SNARKS) based on Coconut, multi-party computation based on Reflow, W3C VC, secret sharing (Lagrange).

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

Deterministic execution end-to-end: in-browser, in-memory or distributed to a blockchain. Grants integrity across different platforms.

Tiny library or executable (1MB), low memory usage (600KB~2MB). No external dependencies. Has bindings for most languages.

Written in C (ANSI C99), Zenroom runs on Linux, Windows, Mac, Android, iOS, WebAssembly, integrated Cortex chips and supports Seccomp, see downloads.

low on resources
Highly scalable

~ 1
KB payload
~ 1
KB RAM usage (for basic crypto)
+
HASH/sec (on desktop PC)

Advanced Features

ABC, zk-SNARKS, Multisig

Zenroom implements the Coconut authentication flow, allowing developers to implement complex ABC and zk-SNARKS flows in minutes. Implements BLS multisignatures, free of rogue attacks as in Reflow.

End-to-end cryptography
for distributed systems

Highly deterministic and replicable environment for the integrity of multiple cryptographic computations. Read more

Easy language
for smart contracts

Makes it possible to design and review data protection systems without programming or the need to understand code. Read more

AGPL3 and Commercial licensing

Community
Open Source

All our software is free and open source, we’re building inter-operability and coordinating efforts with DECODE, Sovrin, OW2, Cosmos and other communities.

Enterprise
support

We offer professional support for the integration with enterprise infrastructure and commercial products, along with dual licensing. Let us know about your project!                              

developer resources

Docs

Explore Zenroom documentation:
+ Command line interface
+ Zencode and Lua reference
+ Binders
+ Build, integrate and embed
+ Zenroom extensions

Sandbox

Learn Zencode with the auto-complete and with the examples.

Play with Zenroom in-the-browser, powered Zenroom’s Webassembly build (WASM) and expose your smart-contracts into APIs.

Downloads

Linux/Win/Mac CLI

Linux: X64 | ARM | ARM64(AArch64) 

Windows: .exe | .dll | .lib | .exe debug

MacOS: X86/X64

Android/iOS libs

Android libs: ARM | ARM64(AArch64) | X86

iOS libs: ARM(armhf) | ARM64(AArch64) | X86_64

Get zenroom.h and add: #include

JavaScript

Npm: npm i zenroom 

latest: npm i zenroom@next

Docs: node, react, browser 

Python 3

Pip: pip3 install zenroom 

latest: pip3 install zenroom –pre

Docs: python

 

Bindings/Embed

How to embed Zenroom

Zenroom in React Native

Bindings: Golang, Clojurescript, Java, Rust, (Rust CLI), 

Zenroom derivatives

RESTroom-mw

Easy REST API builder executing Zencode: place a .zen file in a folder to expose an API.

Lotionroom​

Lotionroom integrates Zenroom into the Cosmos Tendermint blockchain using LotionJs.

Sawroom

Sawroom integrates the Zenroom as a transaction processor in the Sawtooth blockchain.

Redroom

RedRoom brings easy to use yet advanced cryptographic functions in Redis.

Zenbridge

Read/write data on Bitcoin, Hyperledger Sawtooth, MongoDB and more​.

Zenroom live demo

Watch a presentation of Zenroom's zero knowledge proof and attribute based credential flow, with a live demo of the crypto flow in a multiplatform setup.

Proudly crafted in the EU

This project received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement nr. 732546 (DECODE), and by the NGI ASSURE program.

Our projects in the press

We're members of

2019© Copyright dyne.org