This is a Cloak documentation for guiding interested people to understand and use Cloak.
Cloak is a pluggable and configurable framework for developing and deploying confidential smart contracts. To this end, Cloak allows users to specify privacy invariants (what is private data and to who is the data private) in a declarative way. Then, it automatically generate runtime with verifiably enforced privacy and deploy it to the existing EVM-enabled platforms (e.g., Ethereum) and TEE devices to enable the confidential smart contract.
Cloak is designed to work with TEE and EVM-enabled blockchain. It initializes the blockchain in a pluggable manner to become a new architecture, where the blockchain and its clients are enhanced to be the Cloak Blockchain and the Cloak Client respectively, and the Cloak Network is added by Cloak. In Cloak Network, all nodes run the same application inside an enclave. The user sends confidential transactions or multi-party transactions to the network. A consortium of members sending governance transactions in charge of governing the network. The effects of user and member transactions are eventually committed to a replicated encrypted ledger.
-
Getting Started
-
TEE-Blockchain Architecture
-
Develop Cloak Smart Contract
-
Deploy Cloak Smart Contract
-
Contribute
-
About Cloak
Cloak's documentation is contained in the docs
folder and is published to Read the Docs. It is based on Sphinx and can be built using the Makefile contained in the subdirectory:
$ pip install -r requirements.txt
$ cd docs
$ make html
- Browse the documentation.
- Read the Research Papers.
- A trusted EVM of Cloak framework, cloak-tee.
- A compiler of Cloak framework, cloak-compiler.
- The client of Cloak for providing web3-compatable API and interacting with cloak-compiler and cloak-tee, cloak-client.
This project welcomes contributions and suggestions. Please see the Call for Contributions.