Problem:
As you know, we finished the design and implementation of Incognito’s trustless bridge for public tokens (BTC and BNB) that allow users to shield public tokens decentralized, aka Portal v2 (with Incognito vault) and Portal v3 (with Ethereum smart contract vault). See detail: Incognito's trustless bridge V3 with Ethereum bond contract
However, there are some problems with our current design.
- First, the logic of the shielding and unshielding processes is quite complicated. So, it’s too difficult to operate the protocol practically.
- Second, portal supports shield BTC and BNB while the collaterals are maybe other tokens (such as PRV, ETH, USDT, etc). So it needs the exchange rates between those tokens for calculations. But unfortunately, the rates usually fluctuate significantly lead to liquidations occur frequently that we don’t want to happen.
- Third, the pool vault’s size is a bit small since the incentives for custodians to deposit tokens into the pool are not attractive enough.
Solution:
We simplified the protocol with a new approach: No Custodians - No liquidations.
The main change in the new design is who holds public tokens when users shield their public tokens into pToken. Instead of custodians, the multisig wallet generated by the keys of beacon validators in Incognito chain will receive public tokens from users. When unshielding, the beacon validators will create a raw transaction over the external chain (e.g., Bitcoin Chain) with at least ⅔ signatures of total validators to send back public tokens to users.
With the new design, we don’t need over-collateralization and also don’t have to worry about liquidation. It significantly reduces risks for both users and custodians. Users can shield and unshield with the trustless non-custodians bridge simply and more securely.
Objective:
Deploy Incognito’s trustless non-custodians bridge (Portal v4) on the mainnet environment.
Length: 2.5 months
- 20/1 - 23/2: finalize the protocol design and finish the implementation of Bridge v4.
- 24/2 - 2/3: complete shielding flow (unit tests + local tests + implementation docs), feature flag for Bridge v4.
- 3/3 - 9/3: complete unshielding flow (unit tests + local tests + implementation docs).
- 10/3 - 16/3: complete replacement fee + submitting the external txs confirmed (unit tests + local tests + implementation docs).
- 17/3 - 23/3: complete workers for bridge v4.
- 24/3 - 31/3: complete local testing by QC team.
- 1/4 - 9/4: complete testing on testnet environment. Prepare some necessary things for migration to the trusted bridge and ensure the security of beacon keys.
Key results:
Have a workable version of the trustless non-custodians on the mainnet environment for Bitcoin by April 9. We will deploy bridge v4 on the code base of privacy v1 in this release. Then, we will merge privacy v2’s code after privacy v2 gets the stable release.
Note:
- Link to Github: https://github.com/incognitochain/incognito-chain/tree/dev/portal-v4
- See portal v4 design: We will update the final design later. The processes are very similar to Incognito mode for Ethererum: https://github.com/incognitochain/incognito-chain/wiki/Spec-:-Portal-v1,-Incognito-mode-for-Ethereum.