[Shipped] App v.4

@ning Is this still going to be important when the HD wallet release comes out?
If so, is there any reason not to use the pDEX chain for everything and not use the Anon chain?

HD wallet doesn’t affect this. until privacy v.2 is released, trading directly from your pDEX keychain will result in faster execution.

If you trade from Anon (or any other keychain), there is a multi-step process that still involves your pDEX keychain, but it happens under the hood. that’s why using your pDEX keychain from the first step decreases trade execution time.

however, to specifically address the scenario you are describing - if you use your pDEX keychain for everything, what you gain in speed you may lose in privacy. the extra confidential tx that is automatically executed when using a different keychain other than the pDEX keychain (e.g. Anon), ensures that your trades cannot be traced back to this main keychain.

when you move funds to pDEX just to trade, you are simply performing part of that multi-step process manually, which ultimately speeds up trade execution. it’s definitely inconvenient, but it also affords more privacy.

All 3 options have tradeoffs in terms of speed, privacy and ease. but when privacy v.2 is released (specifically one-time addresses), this will no longer matter. no matter which keychain you trade from, you will have full anonymity (including amount and asset type). trades will also be much faster, and there will be no need to have a pDEX keychain at all.

we expect for this to go live on the testnet in feb, after which we will be able to give a more detailed estimate for the mainnet launch.

hope that helps!

5 Likes

This sounds awesome !:

I have a question, so if it won’t matter which keychain I trade from:

What’s gonna happen instead of the multi-step process? I have read the Privacy v.2 post but I’m not sure if I did totally get it. I would love a “Explain me like I’m 3” if that’s not much to ask :pleading_face:

1 Like

Good to know, would have been great if we would have known that before :rofl: So there is now privacy in the pDEX chain at all? Why no one has mentioned this ever before? Did I miss that information somehow?

1 Like

hey sato, i’m not sure if you mean ‘now’ or ‘no’, so let me try to tackle both.

when you trade 1 pBTC for 40,000 pDAI on pDEX, a few things happen, including burning and minting. 1 pBTC is burned, and 40,000 pDAI is minted. burn/mint transactions differ from normal transactions, and are visible on incognito. that’s part of the reason why the current flow involves a number of intermediary addresses (including the pDEX keychain), which obscures the trail.

regarding privacy on pDEX, you can refer to the mainnet explorer (metadata field) to see what is visible. here’s an example. in addition, amount and asset type are always visible - that’s how incscan derives its data, for example.

please refer to @hieutran’s excellent topic on how the pDEX currently works, and how one-time addresses will improve it.

related:

in privacy v.2 (one-time addresses and confidential assets), here’s how normal, burn, and mint transactions will work:

  • normal: hide sender, receiver, amount, asset type (token)
  • burn: hide sender (ring signature)
  • mint: hide receiver (send to OTA)

that means pDEX transactions cannot be linked to the traders involved, from whichever keychain they decide to use.

5 Likes

let me try! this won’t go into detail, but the rough mechanism is as follows:

privacy v.1 (pDEX transactions now):

let’s say you want to send me a box of caramels via messenger pigeon in exchange for a box of chocolates. if someone watching my house can recognize this pigeon as yours, they will know you are sending me caramels. so for you to be private, you have to get your pigeon to secretly pass the caramels to another pigeon that no one knows is yours. when I send you chocolates in exchange, this also requires multiple pigeons, so it takes longer for me to get my caramels, and longer for you to get your chocolates.

ELI8 note: this pigeon parade only applies to pDEX transactions (mint/burn) - see my explanation to sato above. for normal transactions, a cloud of pigeons fly together, so no one can see which pigeon is actually carrying the candy. when you send funds from Anon to pDEX in order to trade (whether manually or automatically), this is a normal transaction. So you get added privacy thanks to the cloud of decoy pigeons.

privacy v.2 (upcoming):

now we both have unlimited numbers of messenger pigeons at our disposal, and unlimited numbers of houses. one-use pigeons are deployed to/from one-use houses every time we want to swap caramels for chocolates. so we don’t need to wait for pigeons to pass each other candy, and no one will be able to guess who is sending candy, or receiving candy.

now sub out caramels and chocolate for crypto (almost as tasty), pigeons for sender addresses, and houses for receiving addresses. when you trade on pDEX, you play the role of both sender and receiver: send caramels, receive chocolates for example. none of this can be traced to you - and the whole process is much faster.

i hope that helps a little!

I’m not sure if you’ve seen this as you linked to a separate privacy v.2 topic, but just in case, here’s some further reading specific to one-time addresses and pDEX.

13 Likes

I’ll never be able use Incognito again without thinking about pigeons in the cloud, parades and flight-proven caramels.

Post of the month!

7 Likes

Omg I loved it haha this is exactly what I needed thank you so much for this incredibly cute explanation :pleading_face:.

Also I agree with @Mike_Wagner this is definitely post of the month :laughing:.

2 Likes

Only partially related to the discussion here, but I’ll ask anyway… Is there a way to create pdex address from APIs? Actually the RPC JSON Methods Wiki on GitHub does not seem to mention anything related to account/address creation.

i recommend not using RPC to do so.
If you want to create pdex account, please use client SDK to create account first.
then use account to exec transaction.

1 Like

Are you aware there is a section on this forum dedicated to builders/code?
https://we.incognito.org/c/core-dev/builder-help

2 Likes

HD wallet is here, and you’ll all be seeing a little black bar at the bottom of your screens saying ‘Update your app to get full functionality’. Tap on it, or take the old-fashioned route to your app store, where you’ll find version 4.0.0 waiting for you.

  1. Things might look a little different - dw, we got you. Read this walkthrough.

Key takeaway: you can find your existing keychains (and existing funds) in the ‘Masterless’ category. Just tap on Keychain from your home screen to get familiar with the new structure. The only change is that keys created from today onwards will be recoverable with a seed phrase. (hurrah!)

  1. Too many keys? For those of you who like to keep things streamlined, it might be worth doing a little housekeeping. Just send funds from your old keychains to your new ones.

  2. A follow up on pDEX & pDEXWithdraw keychains - for newly downloaded apps or freshly created master keys, these will only appear if you tap on Add (and will perform behind the scenes if you do not). This way, there’s less to keep track of (less confusing for newbies).

If you want to trade directly from the pDEX keychain as discussed above (note the caveats!), you’ll need to get it to appear by tapping Add. pDEX and pDEXWithdraw keychains are… ‘special’, so won’t be removable until one-time addresses go live.

5 Likes

Thanks @ning I´ve downloaded the new version and tried a fresh install. Whats the way to go, if several addresses are needed for a node etc. Create several master keys (12 word seedphrases)? Or can I create new addresses somehow and restore them all if necessary with one masterkey?

1 Like

What a perfect test of my backup strategy! :sweat_smile:

:pray: for me :joy:

3 Likes

Very smooth update and transition. Well done, team!

3 Likes

hey @sato, you can create as many keychains as you like under one master key. each of those keychains has a validator key, so you can have something like:

X master key
keychain 1 -> private key 1, public key 1, validator key 1, etc.
keychain 2 -> private key 2, public key 2, validator key 2, etc.
keychain 3 -> private key 3, public key 3, validator key 3, etc.

to do that, you need to go to the Keychain tab, switch to ‘X master key’ on the top right, then just select ‘create a new keychain in X master key’.

X master key can be backed up with a seed phrase, which will also restore Keychains 1, 2 and 3. Keychains 1, 2, 3 can also still be separately backed up with private keys if you want.

hope that helps!

3 Likes

Thanks @ning. Another question, why is it not possible to generate the “master” key offline?Seems that a internet connection is required to generate the key / seedphrase. Should this not be done offline, on the device itself? How is the process actually to generate the key, what is happening in the background? Thx.

5 Likes

Great, thanks a lot @inccry :+1:

You have to compute the checksum manually. I don’t think you can simply pick random 12 words because of the checksum. For computing phrase offline you can download this tool an use it offline:
https://iancoleman.io/bip39/

2 Likes

You’re right!

(I deleted my previous message)

1 Like