Incognito web-based applications

Hi everyone,

In this topic, we will introduce you the structure of Incognito extension and other web-based apps which we plan to launch in Q2 2022.

Read Q2 roadmap >

Incognito wallet extension

Incognito extension is a crypto wallet compatible with Incognito chain. It allows users to manage their keychains in a variety of ways while isolating them from the site context. With Incognito wallet extension, you can easily store, send and receive funds on the Incognito chain.

The first version of extension will be supported on the Chrome and Firefox browser.

Secure your fund

Extension Wallet is a non-custodial service, which means that only those who have your 12 - word seed phrase can access to your funds. Your wallet is stored in an encrypted file within your browser, protected by your password. If your computer is lost, stolen, or destroyed, 12 - word seed phrase is the only way to recover your wallet.

To protect your wallet, you will need to set up a password that is used to encrypt the private keys and then will be securely stored on browser storage. The following illustration shows how your wallet is protected using Incognito extention:

and here is the process of how to unlock your wallet:

Decentralized Shield/Unshield

Let’s check the processes for shield and unshield a token using Incognito extension wallet and a web-based app ( :white_check_mark: note: because we can not call another extension from Incognito extension itself, it’s a necessity to build a web-based app for using shield/unshield functions).

Shield

The shielding process on Incognito extension is quite similar to the flow on the Incognito mobile app. The Incognito team will run a worker to monitor all shielding transaction requests send to vault smart contracts, and then to submit the shielded proof to Incognito blockchain. Once the proof is verified, new privacy tokens are minted at a 1:1 ratio.

  • Step 1: From a web-based app, user selects a token and then clicks on “Shield" button to get a one-time shielding address from Incognito extension.

  • Step 2: The user will select a supported extension wallet (e.g., metamask) to create the shield transaction with corresponding shield data (i.e., token id, received address, amount).

:white_check_mark: Note: anyone can setup and run a job to monitor the transactions sent to Incognito vault smart contracts.

Unshield

The unshield process on Incognito extension requires one more round interaction between users and the web-based app.

On the Incognito mobile app, when the user creates an unshield transaction, there are two actions behind the scene: 1) create a burn token transaction and then submit the corresponding transaction hash to Incognito blockchain; 2) submit the transaction hash to the backend of Incognito mobile app.

When the burn token transaction succeeds, the backend will submit the burned proof to the token vault smart contract to complete the process (note that this step requires a small amount of token as the transaction fee)

With Incognito extension wallet, we remove the centralized role of Incognito backend service. Therefore, this new product will allow users to proceed every step by themselves.

  • Step 1: User selects a token and then clicks on “Unshield” button.

  • Step 2: User approves the burn transaction on Incognito Extension to submit it to Incognito blockchain.

  • Step 3: Waiting for the transaction to succeed, then the user clicks on “Submit proof” button on the web-based app.

  • Step 4: To complete the process, user selects a supported extension wallet (e.g., metamask), and then approves the transaction to submit burned proof to the corresponding public blockchain.

Unlock the privacy dApp world

Along with Incognito wallet extension, in Q2 2022, we also plan to release some first web-based applications to support main functionalitis in Incognito ecosystem such as:

Privacy dApp will come later with more utilities and expand the integration across blockchains.

Your thoughts

Should you have any questions regarding this proposal, feel free to drop me a comment below and we will be happy to discuss further. Thank you!

8 Likes

Please add a feature to import masterless accounts (accounts without seed phrase). As an OG :), I have many such accounts.

7 Likes

Omg, hang on here, what? Shielding and unshielding are going to be executed directly towards smart contracts? Does that mean that once block proposal is decentralized, the Incognito network could still function if all Incognito team servers get impounded or crash and burn?

For which chains would this work?

I use 24 word seed phrases, I am assuming those will work as well? :wink:

If you missed it, in the screenshot it says “Coppy” instead of “copy”, and “I’m saved my phrase” (I am), when it should be “I have saved my phrase”.

I also hope you keep the verify-by-clicking-the-words-in-order you have in the App. It’s annoying as F, but truly the best way to make sure you wrote them down.

3 Likes

Thanks @fredlee,

We will consider supporting a 24-word seed phrase.

Opp! The screenshot we get from the design document and do not check carefully. Thank you to point out them

Sure, the extension will require verifying words in order.

1 Like

Hi @abduraman,

I guess those are very old accounts right? I think you should create a new master key chain with many accounts as you want. Then transfer all assets from the old accounts to them. I believe that the performance will be much better than now :blush:

1 Like

Cheers, I would appreciate it. Not that 12-words is really insecure (equivalent to a 128bit key), but I’ve always used 24 words for my assets chains because it works in the App. Changing it now would be a pain. I would have to restake all validators with new reward addresses. :blush:

No worries. If we’re picky, there’s no such thing as an Alapaca :wink:

1 Like

Hi @hieutran,

They have memories for me :joy: Joking apart, I need this because of 2 reasons:
1- My validators are on them. Remember that I’m OG :slight_smile:
2- When the seed phrase is used, all its accounts are listed (as in the old extension). This makes organizing/managing accounts difficult.
2.5- Metamask allows this :slight_smile:

Thanks for the feature in advance :joy:

4 Likes