Why should you use Inco?

Encrypted states fully on-chain: composable, programmable, and trustless

Zero-knowledge (ZK) cryptography has proven to be extremely valuable as a scaling solution, notably within zk-rollups. While ZK can address certain privacy-related use cases, it has demonstrated significant limitations in supporting scenarios involving multiple parties. This arises from the necessity of storing any confidential data off-chain, whether accomplished by the client or a third party (leading to increased dependencies and centralization). In essence, privacy through ZK predominantly suits single player use cases, while growing notably more intricate or impossible to achieve for multiplayer situations such as card games or private voting.

Furthermore, achieving confidentiality with ZK demands a substantial investment of effort to comprehend circuit creation—typically employing a distinct language and design pattern. The confidential data has to be stored off-chain by the client or coordinated via a third party, leading to the generation of a zero-knowledge proof on the client side. Subsequently, this proof undergoes on-chain verification incurring a considerable cost (approximately 200k gas for SNARK proof verification in the EVM).

We hold the belief that confidentiality ought to be more intuitive and directly integrated on-chain. Developers can harness encryption/decryption, execute operations, and generate comparisons on top of encrypted states within their applications, all while offering unparalleled flexibility— directly expressed in solidity code. We believe that this will unlock a new world of use cases that weren't possible with existing state of EVM and zk tools.

Last updated