Current blockchain interoperability solutions mostly involve building ad-hoc bridges (Cosmos, Polkadot). As the number of blockchains increases, doing it ad-hoc is no longer an option. We just can’t build N2 bridges.
Scheduled for Q1 2020, Incognito Portal takes a different approach: build once, work with any blockchain. Portal is a general bridge design that connects Incognito to any number of blockchains, allowing for secure two-way transfers of crypto whenever privacy is needed. This means any coin can now be a privacy coin.
Portal is especially helpful for creating interoperability with blockchains that don’t support smart contracts, like Bitcoin and Binance Chain. Its design is public, and the code is open-source. We hope that the crypto community will find our work helpful and join us in creating more portals to connect more blockchains together.
Privacy-protecting coins (pBTC, pDAI, pETH, etc.) are coins on the Incognito blockchain backed 1:1 by crypto assets on other blockchains. For example, pBTC is 1:1 backed by BTC, pDAI is 1:1 backed by DAI, and so on. You can always redeem 1 pBTC for 1 BTC and vice versa.
pCoins enjoy the best of both worlds. They retain the value of the original coin, and you can send, receive, and store them with total privacy.
Through Portal, you can mirror your public coin – BTC, DAI, etc. – and obtain its privacy counterpart – pBTC and pDAI.
Portal is secured by a group of custodians.
Current custodian solutions are mostly centralized. Not only do depositors have to trust a third party (Bitgo, Coinbase Custody), they often have to pay sizeable custodian fees and suffer through cumbersome deposit/withdrawal processes. For Incognito’s purposes, there is an extra concern: the nature of centralized custodianship necessitates the sharing of a user’s private information to third parties.
Portal’s custodians are entirely trustless. Here is a comparison between the Incognito Portal and trusted custodian solutions.
|Trustless Portal||Trusted Custodian|
|Single point of failure||No, fully decentralized||No|
|Trustless||Yes, just code||No|
|Safety||Backed by over-collateralization||Backed by nothing|
|Processing time||Mostly minutes, sometimes hours||Days|
Becoming a custodian
Anyone can become a custodian by simply supplying collateral. Collaterals can be PRV or any pCoin such as pBTC, pETH, and pDAI.
Custodians can add more collaterals at any time.
Porting public coins into pCoins
Each custodian has their own set of custodian addresses for receiving deposits, BTC and BNB addresses for example. Users deposit public coins to these custodian addresses to obtain pCoins. Upon receipt of deposits, custodians mint pCoins at a 1:1 ratio and send them to the users.
The total amount of user deposits to a single custodian (across all addresses) should never exceed the total value of the collateral provided by that custodian. Over-collateralization ensures that the custodian does not run away with the deposits.
We also introduce another variable α, initially set as 150%. α is effectively the Deposit-to-Value ratio, which ensures that total deposits never exceed total collaterals, even if a significant drop in collateral value occurs.
α x ∑Depositi ≤ ∑Collaterali
Redeeming pCoins for public coins
Redeeming a pCoin is pretty straightforward. The user initiates a redeem transaction, which burns the pCoin and instructs the custodian to send the public coin back to the user by a deadline. The deadline is initially set at 12 hours from the time the redeem transaction is initiated.
What if the custodian doesn’t send the public coin back by the deadline or doesn’t send it back at all? If that happens, their collaterals are automatically liquidated to pay the users back.
Auto-liquidation also kicks in if collateral values drop significantly below α x ∑Depositi. The custodian must add more collaterals to avoid auto-liquidation.
The initial fee structure is simple: a fixed deposit fee of 0.01% and a withdrawal fee of 0.01%.
Other subsequent options include users setting their own fees in a market-driven pricing structure, or a more complex fee structure that takes into account deposit, withdraw, and custodial time.
The Incognito Wallet plays a crucial role in making it as easy as possible for users to deposit and withdraw, as well as for custodians to add collaterals and generate custodian addresses. The UI/UX will be detailed in another post.
Portal is currently in development
Once Portal ships in Q1 2020, anyone will be able to send any crypto privately, and anyone will be able to support privacy for the world by participating as a custodian. We can’t wait to see some cool use cases. Do drop us any questions, comments, or feedback — we are always glad to hear them.