Zero Knowledge

Zero Knowledge Primitives

Discover the core components of private, programmable applications for the Web3 ecosystem

The Evolution of Privacy

Zero Knowledge Powered by Aleo

Zero Knowledge

Introducing the Core Components of Private Apps

Zero Knowledge Primitives

In our daily interactions with web services on the internet, we unnecessarily leave a trail of data that is used for a variety of different purposes. Irreversibly – and often unknowingly – handing over (private) data about ourselves is a choice we should not have to make. Worst of all, there are no significant benefits to giving out our data as it is often made in exchange for nothing. It is a choice users should not be forced to make in the first place.

Zero knowledge provides a solution to the aforementioned dilemma. By empowering users to give precise and verified answers to precise questions without revealing anything about themselves or why and how certain facts are true, privacy is greatly enhanced.

These are only a few use cases of zero knowledge proofs:

End users are able to use zero knowledge cryptography to selectively reveal relevant facts about themselves to given applications on a need-to-know basis and without revealing how these facts are true

Companies can enter partnership agreements without having to compromise trade secrets.

Compliance with laws and regulations can be ensured without surveillance

We can see from these areas that the introduction of zero knowledge opens up a whole new world of opportunity for interacting, coordinating, and collaborating on the web.

The Building Blocks That Enable ZK Cryptography

Zero Knowledge Primitives

What are “primitives” exactly?

Definition

Primitives

A “primitive” can be thought of as an ingredient – a basic building block so to speak – of a programming language. It is an atomic unit that cannot be divided into smaller components. When integrated on a higher, system level, primitives can be combined like ingredients to make different recipes.

Primitives are a first-principles approach to emerging technologies and help us to better understand the core components of a solution. They can be combined and iterated in many different ways to create novel solutions. The bonding curves that are used in decentralized applications (dApps), such as Uniswap, are an example of a primitive within the decentralized finance (DeFi) space.

Zero knowledge primitives are designed to help reconciling the discrepancy between privacy and programmability existing blockchains such as Ethereum and Zcash are confronted with. On one hand, highly-programmable blockchains are fully public, leaving its users open to a variety of threads and challenges. On the other hand, highly-private blockchains obfuscate any transaction but cannot easily be built upon because of their lack of programmability.

The zero knowledge primitives Aleo developed for its blockchain provide a set of core, technical building blocks users and developers can utilize for private, programmable applications. Let’s have a look at these primitives:

Shielded identities

Zero knowledge proofs can be used to shield identities like a firewall that protects any information of a user. As such, these cryptographically-powered proofs hide irrelevant information from third parties a user interacts with. Thanks to shielded identities, individuals, companies, DAOs, and smart contracts can interact with each other, without revealing any information beyond what needs to be known for the interaction.

Shielded transactions

Known from Zcash, shielded transactions usually describe private asset transfers. Aleo extends the features of shielded transactions to include various interactions with other individuals, apps or programs. Aside from simple payment transactions, this can include governance voting, liquidity provisioning, ID authentication, and much more. A core feature of shielded transactions is that only the interacting parties learn the details of a transaction, making it impossible for third parties to learn anything about the transactions.

We’ve learned so far that Aleo empowers individuals to interact with each other through shielded identities and shielded transactions. All of this is done in an off-chain environment, the so-called zkCloud. It is a core primitive forming the basis for a more private, personalized, and secure web. Let’s have a look at Aleo’s zkCloud.

zkCloud

The zkCloud is a key component of Aleo and enables applications that are safer and more private than ever. The zkCloud describes a model of peer-to-peer , private, and fully decentralized computing where shielded identities interact through shielded transactions. This can happen either directly (when transfering assets, for example) or programmatically (through smart contracts). Moving these interactions off-chain enables Aleo to guarantee privacy and a higher transaction throughput.

The interactions between two or more parties are linked via shielded transactions within zkCloud to the Aleo blockchain. Included in the transactions is cryptographic proofs that verify the validity of the interactions. Not included is any information about who participated in the transaction, where it was executed or which program was used. The Aleo blockchain can then be referenced to cryptographically verify the state of an application.

User can run zkCloud apps either locally or delegate the task to a third-party proving-service. Such services then construct proofs and submits transactions for the users.

Summary

Zero knowledge primitives are the building blocks that enable zk cryptograph. Key to Aleo are its core primitives of shielded transactions, shielded identities, and its zkCloud.

  • The zkCloud acts as cornerstone enabling fully private, decentralized computation that users can run locally or by specialized service providers
  • The zkCloud enables programmatic interactions between shielded identities (such as end users, organizations, smart contracts, and DAOs
  • The interactions between shielded identities occur via shielded transactions. These private transactions include cryptographic proof that guarantee the correct execution of a given program
  • The Aleo blockchain updates its global state once these transactions are submitted. It also anchors the activity on zkCloud to provide a decentralized, censorship-resistant data availabiltiy guarantee

The core technology stack of Aleo unlocks the combined power of the above-mentioned primitives and empowers developers to create truly private decentralized applications. Aleo’s solution of executing applications privately, safely, cheaply, and scalable – without the need to sacrifice programmability – opens the doors to a fully private and truly decentralized Web3 ecosystem.

Zero Knowledge