Realized privacy preserving smart contracts is here — A review of Origo Testnet

Introduction

While some well-known projects such as ZCash and Monero have facilitated private transactions, few projects have realized privacy preserving smart contracts. For example, although the Ethereum network made significant achievements and enabled its users to execute smart contracts, its protocol does not secure privacy of smart contracts, revealing inputs and outputs publicly.

Privacy demands in blockchain smart contract are reasonable in consideration of both regulatory and business reasons. A shared database of financial information where anyone can access and read is unacceptable for businesses and fails to comply with various privacy regulations.

Origo.Network is a project that aims to solve the above problems. Origo’s protocol enables smart contracts to be executed without revealing inputs and outputs, protecting sensitive contract details based on cryptography secure technology.

In the beginning of this year, Origo launched the testnet and its two PApps(Privacy-preserving Applications) in order to demonstrate how privacy function works. Today, I have reviewed one of PApps called ‘Secret’ which allows participants to share secrets without revealing their identity, and therefore, functions as secret sharing and polling platform.

Where to Start?

Anyone can get an access to the PApp ‘Secret’ via the official Origo.Network website or from the below address.

https://origo.network/papp

https://secret.originis.origo.network/

Origo Network explains that, with ‘Secret,’ you can ask and answer secrets without anyone(not even the platform) knowing it. It seems that Origo wanted to demonstrate its privacy preserving technology via ‘Secret.’

You can also access to Secret by clicking ‘PApps’ tab from the official Origo.Network website

Origo Testnet Token

Since ‘Secret’ was created based on Origo’s Originis testnet, participants must be connected to Metamask and must receive Origo’s testnet token first prior to their participation. The website kindly explains all the details on how to set up an account and to receive the Origo testnet token.

You account will be automatically connected to the Origo Papp via Metamask.

How to Participate?

Participation is a rather simple process. One only needs to click on ‘yes or no’ and submit. Once the selection is submitted, Metamask will confirm the transaction like as the below picture. Transaction information is also accessible from the below.

Once connected, you can submit the answer like the above

You can confirm the transaction via Metamask

You can also get an access to Origo Explorer to see your transaction information

Transaction Results

The below shows how Origo.Network’s private transactions are working. As it demonstrates, Origo.Network’s privacy preserving technology can hide sender/receiver addresses with pseudo addresses and make value/balance invisible.

Origo Protocol Technical Overview

According to the Whitepaper, Origo’s privacy preserving protocol follows the following steps for privacy function. The three roles involved within the protocol are: parties (a set of users participating in smart contracts), the blockchain (the distributed ledger recording transactions), and the executor (a special party that facilitates the execution of the smart contracts).

As shown from the above picture, there are four phases in our protocol: Initialize, Commit, Execute and Settle.

In Initialize phase, an executor from the network will be elected for later execution phase.

In Commit phase, each party will freeze their coins to the contract, and they will submit a commitment including their private input and coin. By using the commitment schema, the input and coin will be private, but the party can’t change it after commitment. After all parties have submitted the commitment or the timeout of this phrase has reached, and the deposit has been verified. It moves to next phase.

In the Execution phase, each party will reveal their private input to an offline executor. Executor will execute smart contract offline, in this way the input and execution result will not be revealed to public.

After contract is executed, executor will generate a zero knowledge proof that thecontract is executed correctly. Once the blockchain verifies the correctness, the fund will be distributed to each party based on execution result. By using this protocol, user input, transaction amount and contract execution details are kept private. But everyone could still verify whether contract is correctly executed.

Zero-knowledge Proof(ZKP)

ZKP is the major technology that Origo.Network has embraced in order to safeguard the privacy of transactions and smart contract execution. In Zero-knowledge Proof, the proof work is done by both the prover and verifier. This ensures every transaction and enables the privacy of input/output, sender/receiver addresses and other data.

Conclusion

Origo’s testnet Papp ‘Secret’ is an easy and fun way to explore privacy preserving technology on blockchain. Although it is a simple demonstration of privacy preserving blockchain protocol, ‘Secret’ provides a rare opportunity to experience the privacy function on blockchain in an easy manner. In addition, it was meaningful that it provided a good starting point to think about the future use cases of blockchain with privacy.

Nowadays, there is a large demand for blockchain privacy from various industries including the financial services sector. Zooko Wilcox-O’Hearn, Zcash CEO, said “…banks, clearinghouses, payment processors and everyone else I talked to in the financial industry are the ones who are asking for more privacy on the blockchain.”

Who knows? Exploring and implementing Origo’s technology could be a possible breakthrough for the existing privacy problems.