If the vote is passed, the first milestone proposal will be submitted for the council's consideration. If it is not passed, the proposal will be adjusted.
Proposal application document: https://hackmd.io/@phala/Hy60fQ0sI
Date of proposal: 2020.06
We want to build a decentralized dark pool on KUSAMA with all infomation encrypted and stored in a decentralized network. Everything in the dark pool is invisible -- accounts, order book, order history -- except your own orders.
The dark pool is built on Phala Network confidential smart contract. While the inputs, outputs, and the states are encrypted, the execution can still be verified by anyone. The dark pool allows users to trade with confidence, but without exposing any sensitive information.
In general, the protocol is based on TEE-Blockchain hybrid archetecture to help process the encrypted contract data. To further reduce the attack surface, while the order matching happens inside hardware enclaves ephemerally, the persistent assets balance can be protected by ZKP-based private token technology. This combination can achieve a good balance between utility and security.
The protocol has two major subsystem: Private Assets, and Confidential Trading Engine.
The Privite Assets subsystem manages the conversion of external assets and the assets used in the dark pool in a privacy-perserving way. It interacts with the Confidential Trading Engine by allowing transferring assets between the two subsystems.
Kusama is a great place to hack with cross-chain composiability.
Being a part of Kusama ecosystem, it gets access to all the assets on Kusama. Not like Ethereum who can only trade ERC20 tokens, on Kusama we can access coins (BTC), native token (KSM), external tokens (ERC20 from ETH bridge), and parachain native tokens (ACA, PLM).
Our design requires a subsystem to manage all the assets (Private Assets). It's supposed to be a pallet, and then deployed as a parachain. Having a single place to manage all the assets can benefit not only this specific use case, but even more developers who want to integrate their DeFi projects with Kusama. A simple scenario: suppose a multi-chain custodial wallet wants to accept assets in Kusama, instead of integrating with all the parachains, it can just connect to this single "assets hub". The pallet can even be deployed to Kusama relay chain in theory.
Comprate with Polkadot, Kusama is a better place to experiment innovation ideas. The parachains are not so expensive, and new community-driven pallets can also be added to the relay chain potentially.
We want to explore a novel collaborative pattern
We described a roadmap to build a dark pool, and truly believe that it can only be done in Kusama ecosystem. However, it doesn't mean we can or should build it end-to-end. Phala team is good at devleoping TEE-based infrastructure and applications, but that's just a part. To make the final product a success, there are a few other necessary conditions:
So here we call for the community developers to join the effort to make the first-ever dark pool a real product.
Support from the Kusama community
Of course, we would like to apply for Kusama tresury. In return, the Private Assets pallet will be built as a parachain (or a relay chain pallet), and it will be the unique assets gateway of the dark pool.
Note that the dark pool is built on Phala Network, which could be a standalone Substrate blockchain, a Kusama parachain, or a Polkadot parachain. Phala Network provides the basic security of TEE environment, but it's irrelevant to the dark pool business logic. The dark pool will always commit to Kusama as the assets are on Kusama.
The following milestones are listed in a rough order. Some of them can be done in parallel, and some depend on other tasks. Depending on the progress of ZKP-based Private Assets module, the path might be different.
M1-1: Private Assets
M1-2: Private Assets (ZKP)
M2: Basic dark pool exchange in confidential contract
M3-1: Cross-chain assets integration
M3-2: Assets custody gateway integration
M4: Productionalize