We’ve all become accustomed to sharing our personal information to access products and services over the internet. Few would disagree that the internet has revolutionised the way we communicate and trade. Consequently, blockchain technology has become increasingly relevant to industries as varied as banking, healthcare, real estate, supply chain management, and energy production.
Nonetheless, the gathering pace of e-commerce is increasing the risk that consumers will become exposed to security breaches and the illicit use of their data. So much so that the EU enacted the General Data Protection Regulation (GDPR) on May 25, 2018.
The many benefits of blockchain include transparency, immutability, and decentralisation. However, blockchain is a distributed ledger technology (DLT) that shares information with third party systems to verify transactions in the blockchain and we can all agree that the less information is shared, the less is exposed to security breaches. What if there was a way to verify the authenticity of transactions without revealing the underlying data?
Zero Knowledge Proof (ZKP) algorithms use cryptographic techniques to verify transactions without revealing the underlying information. Blockchain technology combined with ZKP algorithms is a powerful combination for security enabled e-commerce.
What is blockchain?
Blockchain is well known as the technology that powers cryptocurrency markets. In fact, it has revolutionised commerce.
Blockchain is a distributed ledger technology (DLT) that stores information across a network of peer-to-peer computers. This means that no single party in a transaction owns and controls information. Each and every party in the network potentially has equal rights in controlling and verifying transactions. Contrast this to a traditional bank that owns and stores all the data exchanged in a transaction.
Blockchain uses cryptographic algorithms to validate transactions. This removes middlemen and processing fees, enabling participants to trade cost-effectively and securely. Industries as varied as banking, real estate, healthcare, supply chain management, and the arts have found relevant applications for blockchain technology.
What is Zero-Knowledge Proof?
Zero-Knowledge Proof (ZKP) algorithms are cryptographic algorithms that calculate a probability that a party in a transaction possesses a piece of information without having to reveal what that information is.
It’s a bit like trying to find out if someone has visited a country. You can ask them a series of questions which, if they answer correctly, show they’ve visited the country. The more questions they answer correctly, the more you can be certain they’ve actually visited the country. And not just obtained the information through some other means. Even though you know they’ve visited the country, they don’t have to tell you the names of who they’ve visited in that country. And you don’t have to ask. It’s not pertinent to the transaction. This way, sensitive information is protected.
ZKP algorithms create a series of mathematical puzzles which, when solved correctly by the receiving party, prove the receiving party is genuine.
The seeds of zero-knowledge proofs were sewn in the 1980s by three MIT researchers, Shafi Goldwasser, Charles Rackoff and Silvio Micali. This was when they proposed the concept of ‘Knowledge Complexity of Interactive Proof Systems.’
There are two types of ZKP algorithms:
- Interactive ZKPs. Interactive ZKP algorithms ****involve a series of mathematical challenges which the receiving party must satisfy.
- Non-Interactive ZKPs. Non-Interactive ZKP algorithms involve no interaction between the transacting parties, or the verification process takes place at a later stage. This requires more computing resources.
Zero-knowledge proofs must satisfy three conditions:
- Completeness of information. If a statement is true, then the verifying party can confirm the receiving party possesses a piece of information.
- Soundness of information. A statement cannot be falsified. A verifying party cannot be tricked into believing the receiving party possesses a piece of information if they do not.
- Zero-knowledge of information. The verifying party does not know any other information beyond the truth or falseness of a statement.
Why ZKPs are a powerful addition to blockchain
Blockchain technology has created many opportunities for commerce. It provides an indelible record of transactions and increases trust. Yet, for all the ways it improves trust, blockchain needs to share information with other systems in order to verify transactions. For example, in supply chain management, it needs to interface with supplier systems.
Zero-knowledge proof algorithms permit the transfer of information between parties without revealing passwords or sensitive data. This eliminates many of the security weaknesses associated with password enabled authentication protocols.
Developers are incorporating ZKP algorithms into blockchain solutions that allow consumers to interact with added value digital services while respecting the privacy of their data. ZKPs provide flexibility and choice to consumers who want control and freedom over their information.
ZKPs in messaging applications
Messaging applications rely on end-to-end encryption to secure communications. This requires users to verify their identity to a server using passwords. ZKP protocols could verify a password’s validity without actually knowing it.
ZKPs in identity management
Password-free verification could also apply to identity management, circumventing the complications associated with passports, birth certificates, driving licences, and other forms of identity verification. ZKP protocols could also validate user credentials in fraud prevention systems or anonymise personal data to comply with regulations such as GDPR.
ZKPs in banking
Imagine an app powered by ZKPs that checks whether a payee has sufficient funds in their account without knowing their bank balance before authorising transactions. Or cryptocurrency transactions that are validated on a blockchain without revealing which wallets issued payments or how much currency was exchanged.
ZKPs in real estate
Similarly, in real estate, letting agents frequently process transactions on behalf of property owners. ZKP enabled apps could allow them to check for funds without needing to ask for bank statements or pay slips from tenants.
ZKPs in international security
In the United States, the Department of Defense has initiated the Securing Information for Encrypted Verification and Evaluation (SIEVE) programme. The programme seeks to advance zero-knowledge proofs in complex defence applications. SIEVE aims to verify capabilities without revealing sensitive data.
For example, ZKPs could verify the origin of a piece of information without revealing how it was obtained – It could attribute a cyber-attack to a specific entity or nation without revealing how the information was obtained. Or ZKPs could verify the nuclear capabilities of countries without needing to physically inspect their armaments.
Simply put, ZKPs would help protect classified information.
ZKPs in other applications
Blockchain applications often deals with sensitive documents. ZKPs enable blockchain applications to restrict access to the data within selected blocks, while maintaining sensitive information private.
Smart contracts incorporate data from other sources to trigger events. ZKPs enable smart contracts to trigger these events without requiring access to sensitive information. This applies equally well to centralised applications where the data’s origin is known, as to decentralised applications (DApps) where the data’s origin is verified by cryptographic algorithms.
Quorum is an enterprise blockchain platform designed around private smart contracts. The platform was developed by JPMorgan Chase to enable the private settlement of digitised assets. The investment bank added Zcash’s ZKP-enabled privacy technology to enhance the privacy of its platform.
In 2019, professional services firm EY released Nightfall, a ZKP protocol that enables companies to conduct transactions privately on a public blockchain.
Zero-knowledge Proofs (ZKPs) eliminate the need to share passwords or any other kind of sensitive information. This enhances the commerce facilitating benefits of blockchain technology. Zero-knowledge proofs can help broker all kinds of sensitive transactions, agreements, and interactions in a more private and secure way. ZKPs add another layer of security to blockchain transactions.
+39 02 45391390