Incognito Mode for Uniswap

Hey guys! Andrey is here :wave: :wave:

This summer we started work on bringing a privacy layer to Uniswap, and I am happy to share that it went live today.

With this implementation, you will be able to trade against any Uniswap pool, remain your metadata anonymous and unlikable with the executed trade.

Dive into tech —>
Tutorial: trade on Uniswap anonymously —>


Looking forward to your feedback and suggestions on how to make it better :wink:

12 Likes

Very cool! Can you talk a bit more about the underlying anonymizing tech? How secure is it against different threat models?

1 Like

@Boogaav is not on the Uniswap team, he’s building a separate protocol that uses Uniswap

1 Like

Salut à tout le monde 🙋
Je me demande moi je ne comprends rien ici
Quelqu’un peut m’aider ici à comprendre quelque chose :pray:

Hi @g_dip yep, we wrap a privacy layer around Uniswap protocol. Not affiliated with the core team, but highly appreciate the core team and community feedbacks. If you guys found it useful, and if there are any improvements should do to make this implementation better?

Yep, would love to, will share a proper article about it shortly.

1 Like

May I ask what are the pro and cons to a Incognito system?

1 Like

Hi @g_dip sorry for the delay, happy to bring more clarity into the privacy implementation for Unsiwap : )

About technology

Incognito is a privacy sidechain for Ethereum. It allows you to anonymize Ethereum based assets and Dapps.

Three whales on which it is built Incognito Mode for Uniswap.

Interoperability

Communication between Ethereum & Incognito networks goes through a non-custodial, trust-less bridge.

It’s a two-way relay bridge that lets you transfer assets from Ethereum to incognito and vice versa. when someone converts ETH to pETH (private ETH), they aren’t swapping their asset with someone else’s. instead, ETH is locked in a smart contract and new pETH is minted on incognito. When the pETH are burned (to maintain a 1:1 ratio), the locking contract on Ethereum will verify the validity and unlock it upon submission of burn proof.

for example, you can convert 1000 “public” DAI (on Ethereum) to 1000 “private DAI” pDAI (on incognito) via Ethereum -> incognito relay. once you have 1000 pDAI, on the incognito chain, you can send 500 pDAI to Alice privately, send 300 pDAI to bob privately, and then convert the remaining 200 pDAI back to “public” DAI whenever you want via incognito -> Ethereum relay.

qfwuY4jv3_TQWsAPmImJOTEplPKEV6aPuTX4XSfM_3yJieiGpv5XbE7-yvdy7Qz6yvsu03xTi98sIgtDl0Y-rHF2w43Vs62afG1S3eMsGkGe5RuEzMTOnFy1eKiMKwIkYFEs7V7Q

READ THE BRIDGE DESIGN

READ THE BRIDGE CODE

READ THE ZKP FOR MOBILE CODE

Any feedback is welcome.

Privacy stack

READ THE PRIVACY STACK

Privacy for smart-contracts

After Incognito went on mainnet and the trust-less Ethereum bridge went live (Nov 2019) and we started work on bringing a privacy layer for Smart contracts.

Execute Instruction

Executing is the process of running a function call of an Ethereum smart contract anonymously. For example, running swap(pETH, pDAI) on Uniswap anonymously.

The following is an overview of the EXECUTE instruction flow:
image

  1. A user confidentially signs and sends an EXEC instruction from a pApp on Incognito, with information about which counterpart dApp on Ethereum they want to run and the parameters.
  2. The bridge forwards the EXEC instruction to the Broker smart contract.
  3. The Broker smart contract parses the EXEC instruction without revealing the user identity, verifies the parameters (especially the amount the user wants to spend against the user balance), and finally sends a message to a suitable smart contract via the encoded ABI.

An EXECUTE instruction contains the following parameters:

  • The input token to spend on this transaction
  • The input amount of input token to spend on this transaction, which should not exceed the user balance in the Broker smart contract
  • The output token if the execution returns one
  • The dApp contract address
  • The encoded ABI of the target function of the dApp
  • The timestamp of the transaction
  • The signature on the combined data of the above parameters

READ pETHEREUM SPEC
READ pETHEREUM DEV TUTORIALS

Trade on Uniswap anonymously

pUniswap 1.0 is available in Incognito wallet.

What is next

pUniswap 1.0 is the first implementation and we are going to continue development in this direction. Our next milestones:

  1. Wrap privacy around Metamask
  2. Bring pUniswap in web
  3. Measure demand in privacy for Uniswap trades
  4. The main goal is: to bring Incognito mode for Uniswap main interface

Looking forward to community feedback.

2 Likes

Interesting, so you’re having every node on incognito effectively validate the bridge proofs?

yes, if proof has been submitted to a shard then all validators in that shard would verify the proof.

1 Like

Hey @gman211 please forgive me, I thought that I answered your question, and just found that I missed it :sweat_smile: Obviously my opinion here will be quite subjective, but I’ll try.

Pros

  • Privacy Simply within Incognito, all your activity remains anonymous, no matter you store, transfer trade or invest assets
  • Network fee. As layer2 for Ethereum and Bitcoin networks Incognito applies a network fee that way cheaper than on main networks. For example the gas fee for transferring ETH, DAI, or UNI within the network ≈ $0.000001. Btw, if you transfer ETH or DAI you are able to pay gas in ETH or DAI accordingly
  • Interoperability. Incognito is interoperable with your favorite Dapps. The reason for this announcement is to show up privacy tech we built on top of Uniswap

Cons

Probably, from the outside, you guys can see better but I’ll try :sweat_smile:

  • Hight gas fee for interoperable Daspp. For example, when you use Incognito mode for Uniswpa, you still have to cover a high gas fee
  • TXs within the network are slower. Generating ZKP tx from mobile takes much more time than generate public TXs
  • pUniswap is available from mobile apps. Web-version is still under development
  • While we have 10k active monthly users Incognito supported only 3 crypto wallets (working on expansion)

@gman211 if you will have a chance to try out the Incognito app or pUniswap, please bring your feedback as well. Good, salty feedbacks help us to build better products :wink:

2 Likes