CLOAK: A Framework For Development of Confidential Blockchain Smart Contracts
This addresses the need for practical confidentiality solutions in blockchain applications for general developers, though it is incremental in improving accessibility to existing privacy techniques.
The paper tackles the problem of confidentiality in blockchain smart contracts by proposing the CLOAK framework, which allows developers to implement multi-party transactions with secret inputs and states using a domain-specific annotation language, resulting in smart contracts that are less than 30% the size of deployed ones.
In recent years, as blockchain adoption has been expanding across a wide range of domains, e.g., digital asset, supply chain finance, etc., the confidentiality of smart contracts is now a fundamental demand for practical applications. However, while new privacy protection techniques keep coming out, how existing ones can best fit development settings is little studied. Suffering from limited architectural support in terms of programming interfaces, state-of-the-art solutions can hardly reach general developers. In this paper, we proposed the CLOAK framework for developing confidential smart contracts. The key capability of CLOAK is allowing developers to implement and deploy practical solutions to multi-party transaction (MPT) problems, i.e., transact with secret inputs and states owned by different parties by simply specifying it. To this end, CLOAK introduced a domain-specific annotation language for declaring privacy specifications and further automatically generating confidential smart contracts to be deployed with trusted execution environment (TEE) on blockchain. In our evaluation on both simple and real-world applications, developers managed to deploy business services on blockchain in a concise manner by only developing CLOAK smart contracts whose size is less than 30% of the deployed ones.