January 13, 2020Enterprise Blockchain

How Is Blockchain Verifiable by the Public and yet Anonymous?

This article discusses the difference between the levels of anonymity on private blockchains and public blockchains
by ConsenSys

TL;DR:

  • As public ledgers, Bitcoin blockchain and Ethereum require transactions to be visible by default.
  • Ethereum network offers pseudo-anonymity; for example, transactions are linked to addresses that correspond to public keys derived by user-held private keys, not by username or password.
  • Certain technologies are currently being developed and tested for Ethereum 2 and Ethereum 3 that add an enclave of privacy to public Ethereum, namely, zk-SNARKs.
  • A zk-SNARK is a cryptographic proof system that allows users to maintain private transactions while validating the transactions according to the network’s consensus algorithm.
  • Once zk-SNARKs is implemented, organizations will be able to transact on the same network as their competitors in complete privacy, while enjoying the security of the public Ethereum blockchain.
  • Until then, enterprises can utilize public or private Ethereum to address a wide variety of use cases. Examples are provided below.

Enterprise looking to leverage the peer to peer trustless structure of blockchain technology often wonder how data can be both publicly verifiable and anonymous at the same time. To answer this question, we must denote the difference between permissioned and permissionless blockchains. Both the Bitcoin blockchain and the public Ethereum blockchain are permissionless, meaning anyone can join the network, read the public ledger, and participate in validating transactions and blocks by running a node. Transactions on permissionless ledgers are pseudo-anonymous by design– transactions are linked to addresses that correspond to public keys derived by user-held private keys, not by username or password. Transactions are encrypted and stored on multiple devices, or nodes around the globe. This decentralization, transparency, widely-verifiable, and append-only nature makes it almost impossible to tamper with data.

Conversely, banks and other corporations with a fundamental need for private transactions, are currently more prone to using private, or permissioned blockchains. On permissioned blockchains, transactions are anonymous to the general public. Permissioned blockchains use the same technology as permissionless blockchains, but require specific authorizations to read, access, and write information on them. Therefore, access can be restricted, and information can be encrypted to protect confidentiality.

Bringing anonymous transactions to the transparent mainnet

For corporations that still desire to use the permissionless Ethereum blockchain for transparency and non-censorship reasons, technologies that add an enclave of privacy on public blockchains are being built. Once zk-SNARKs are widely implemented, enterprises can enjoy the trustless benefits of the public blockchain without risking any anonymity. Until then, a wallet can be linked to personally identifiable information, such as an IP address, email address, phone number, or delivery address on permissionless blockchains. Even if the transaction is randomized, data embedded in the software surrounding it can be used to identify the person behind a transaction. Running your own node can obfuscate the identity around transactions, but not entirely. 


Table 1: A comparison of privacy characteristics of public blockchains, private blockchains, and traditional databases. 
What is being done to strengthen anonymity on private blockchains?

As public ledgers, Bitcoin and Ethereum require transactions to be visible by default. Certain technologies are currently being developed and tested for Ethereum 2 and Ethereum 3 that add an enclave of privacy to public Ethereum, namely, zk-SNARKs.

zk-SNARKs: providing an enclave of privacy on a public ledger

zk-SNARK stands for zero-knowledge succinct non-interactive argument of knowledge. zk-SNARKS are a cryptographic proof system that enable a user to verify a transaction without revealing the underlying data of the transaction, and without interacting with the user who published the transaction. In the context of a blockchain, zk-SNARKs allow users to maintain private transactions, while still validating the transactions according to the network’s consensus algorithm. Once implemented, organizations will be able to transact on the same network as their competitors in complete privacy, while enjoying the security of the public Ethereum blockchain.

Click here for a technical walkthrough of zk-SNARKs.

Retaining anonymity on a public blockchain 

zk-SNARKs

zk-SNARKs are being integrated into Ethereum2, which will allow for a blockchain transaction to be sent privately, and verified while fully maintaining user anonymity. Industry experts anticipate that private and public blockchain networks will converge, due to increasingly robust and modular privacy and permissioning solutions, industry experts anticipate that private and public blockchain networks will converge. Enterprise Ethereum Alliance (EEA) launched the Mainnet Initiative which aims to accelerate collaboration between enterprises and the Ethereum community working on the public mainnet. One of the components defined in the EEA specification is the “Private Transaction Manager,” a permissioning subsystem that facilitates private transactions between authorized parties.

Until zero-knowledge proofs are widely implemented in Ethereum2.0, there are ways to securely interact, align, and cooperate between private blockchain networks and public blockchain networks. 

PegaSys Plus + Orion

PegaSys Plus is a commercially-licensed Java solution built on Hyperledger Besu Ethereum client built with enterprises in mind. PegaSys Plus’ security configurations give all of the benefits of Hyperledger Besu, plus database encryption, and a special feature called Orion. Orion, is a Java-based Private Transaction Manager that allows for the propagation of secure, private transactions between Enterprise Ethereum nodes.

AZTEC Protocol

The AZTEC protocol was created to enable privacy on public blockchains. It enables logical checks to be performed on encrypted values without the underlying values being revealed to the blockchain. The inputs and outputs of a transaction are encrypted using a series of zk-SNARKs and homomorphic encryption, yet the blockchain can still test the logical correctness of these encrypted statements.


Discover the state of privacy on Ethereum

The State of Privacy on Ethereum→


Enterprise Use Cases on Public Ethereum and Private Ethereum

Below are four projects that further illustrate the level of privacy and scalability that can be achieved utilizing public Ethereum and Enterprise Ethereum.

Permissionless Ethereum: 

Santander: Issuing the first end-to-end blockchain bond on Public Ethereum

Banco Santander SA, a private institution, used the public Ethereum blockchain to tokenize and securely register a $20 million bond.  By issuing the bond on a public blockchain, financial data cannot be altered retroactively without the consensus of the network participants.

Hala Systems: Reporting War Crime Information on Public Ethereum 

Hala Systems, a private enterprise, uses the public Ethereum blockchain to store war crime information. Sentry, Hala’s indication and warning system, utilizes a multi-sensor network to generate real-time situational awareness of threats in Syria. IoT devices located on the line of fire report their findings directly to the public Ethereum blockchain, where it lives on forever. 

Benefits of using Permissionless Ethereum

Hala effectively removes itself from the core of the Sentry reporting equation, which proves that the information gathered has not been tampered with and/or modified in any way. By leveraging the private blockchain, Hala now provides reporting deemed valuable by the United Nations Office of the High Commissioner and the International Criminal Court.  

Permissioned Ethereum: 

Project i2i: Enterprise Consortium Payment Network Driving Financial Inclusion in the Philippines 

Unionbank of the Philippines partnered with ConsenSys, Kaleido: Blockchain Business Cloud, Microsoft Azure, and several local banks to create an interbank platform to enable secure, instantaneous, and cost-efficient domestic remittances.

Benefits of using Permissioned Ethereum
Account-holders can privately send and receive money across any bank account in the Philippines without relying on the international finance service infrastructure.

komgo: The World’s First Private Consortium for Commodity Trade 

komgo is a semi-private, party-decentralized private consortium for commodity trading. In partnership with ConsenSys, komgo created a blockchain-based trade financing platform and network-based. The result is a secure digital platform where authorized parties can store data, send transactions and exchange value or information, and send messages based on permissions.

Benefits of using Permissioned Ethereum

komgo facilitates P2P transactions that network participants should have access to, but not necessarily the general public. komgo acts as a single source of truth, allowing traders, carriers, banks, and other authorized participants to securely transact in a highly efficient, digitized way, resulting in industry-wide simplification of operations and standardized documentation. For an extra layer of security, the komgo platform has a proprietary document transfer system called Kite that allows secure transfer without revealing the contents to the entirety of komgo’s network.

***

Looking to start a project on Ethereum, be it public or private? 

Contact Solutions→