Difference between revisions of "Proxxy"

From xx network wiki
Jump to navigation Jump to search
m (Reverted edits by Anne (talk) to last revision by Bernie)
Tag: Rollback
 
(9 intermediate revisions by 4 users not shown)
Line 45: Line 45:
The Proxxy App wraps the client side application, so that the user is presented with a simple interface and experience, instead of requiring the use of a command line application.
The Proxxy App wraps the client side application, so that the user is presented with a simple interface and experience, instead of requiring the use of a command line application.


The source code for the Proxxy App and Website can be found here. [add link]
The source code for the Proxxy App and Website can be found [https://github.com/xx-labs/proxxy here].


The following image shows how user metadata is protected when using MetaMask with the Proxxy App.
The following image shows how user metadata is protected when using MetaMask with the Proxxy App.
Line 58: Line 58:
The xx foundation maintains a [https://nx38767.your-storageshare.de/s/8PTGRzoHtxNpHZy file] with the contact data of active Relay Servers.
The xx foundation maintains a [https://nx38767.your-storageshare.de/s/8PTGRzoHtxNpHZy file] with the contact data of active Relay Servers.


It's important to note that even if the xx foundation was malicious, and changed the contact information of the Relay Servers, user's metadata is STILL PROTECTED by cMix. This can be seen in the image above, as the Relay Server can only pick up messages
It's important to note that even if the xx foundation was malicious, and changed the contact information of the Relay Servers, user's metadata is STILL PROTECTED by cMix. This can be seen in the image above, as the Relay Server can only pick up messages from the cMix network, which have been stripped of all metadata.


from the cMix network, which have been stripped of all metadata.
In other words, malicious Relay Servers cannot gather user metadata over the cMix network. This is a clear contrast to some privacy protecting technologies, which rely on a direct connection with a relay server. When a wallet does not use cMix and directly connects to a relay server, a malicious relay server provider will be able to gather user metadata, the same as an RPC provider.


This is a clear contrast to some privacy protecting technologies, which rely on a relay server that is contacted directly by the wallet application. In those technologies, a malicious relay server provider will be able to gather user metadata, the same as an RPC provider.
== Supported Networks ==
Currently, the following networks are supported by Proxxy.
 
Mainnets:
 
* Ethereum
* Avalanche C-Chain
* Polygon
* Binance Smart Chain (also known as BSC or BNB)
* Astar
* Moonbeam
* Fantom
* Arbitrum (ETH L2)
* Optimism (ETH L2)
* Celo
* Aurora
* Shiden
* Moonriver
 
Testnets:
 
* Ethereum Goerli
* Ethereum Sepolia
* Avalanche Fuji C-Chain
* Polygon Mumbai
* Binance Smart Chain Testnet
* Fantom Testnet
* Celo Alfajores
* Aurora Testnet
 
Support for any more EVM based networks can be added easily on demand, via the xxfoundation canny [https://xxfoundation.canny.io/proxxy?selectedCategory=supported-networks page].


== Metamask Recommendations ==
== Metamask Recommendations ==
Line 78: Line 108:


<ol style="list-style-type: decimal;">
<ol style="list-style-type: decimal;">
<li><p>'''The Proxxy app is available for Windows, Linux and Mac machines.'''</p>
</li>
<li><p>'''Refer to the detailed instructions below for your operating system.'''</p>
<li><p>'''Refer to the detailed instructions below for your operating system.'''</p>
<ol style="list-style-type: lower-alpha;">
<ol style="list-style-type: lower-alpha;">
<li class="toccolours"><p>Windows Instructions (WIP).</p>
<li class="toccolours"><p>Windows Instructions.</p>
<ol style="list-style-type: decimal;" class="mw-collapsible mw-collapsed">
<ol style="list-style-type: decimal;" class="mw-collapsible mw-collapsed">
<li><p>Download the Proxxy {{mono|.exe}} file for Windows [https://proxxy.xx.network/ HERE].</p></li>
<li><p>Download the Proxxy {{mono|.exe}} file for Windows [https://nx38767.your-storageshare.de/s/wYsHnZZKZqMZXxW/download?path=%2F&files=Proxxy-win-x64.exe here].</p></li>
<li><p>In the file browser, navigate to the folder where the application was downloaded to; this will most likely be your downloads folder.</p>[[File:Downloaded Proxxy Exe file.png|center|frameless|500x500px|Downloaded Proxxy exe file]]</li>
<li><p>In the file browser, navigate to the folder where the application was downloaded to and double-click the file.</p>[[File:Downloaded Proxxy Exe file.png|center|frameless|500x500px|Downloaded Proxxy exe file]]</li>
<li><p>Double click on the downloaded Proxxy exe file to run. The Proxxy application will load; it may take some time to load so do not be concerned.</p>[[File:Proxxy Loading .png|center|frameless|500x500px|Proxxy app as it is loading. (This may take up to 30 seconds.)]]</li>
<li><p>You may get a notice saying "Windows protected your PC" preventing you from running the program. This is common with newer applications that have not yet been registered with Windows OS. To get past the SmartScreen filter, click on the "''More info"'' link.</p>[[File:More Info.png|alt=Screen capture of the Windows SmartScreen window with a red arrow pointing at the More info link.|center|frameless|500x500px]]</li>
<li><p>Click on the "START" button to begin connecting the Proxxy application to CMIX on the xx network. </p></li>
<li><p>Now, you may get a notice saying "Windows protected your PC" preventing you from running the program. This is common with newer applications that have not yet been registered with Windows OS. To get past the SmartScreen filter, click on the "''More info"'' link.</p>[[File:More Info.png|alt=Screen capture of the Windows SmartScreen window with a red arrow pointing at the More info link.|center|frameless|500x500px]]</li>
<li><p>Next, click the ''Run anyway'' button and the setup will launch.</p>[[File:Run Anyway.png|alt=Screen capture of the Windows SmartScreen window after the More info link was clicked now showing the Run anyway button.|center|frameless|500x500px|Run Anyway]]</li>
<li><p>Next, click the ''Run anyway'' button and the setup will launch.</p>[[File:Run Anyway.png|alt=Screen capture of the Windows SmartScreen window after the More info link was clicked now showing the Run anyway button.|center|frameless|500x500px|Run Anyway]]</li>
<li><p>Wait for the connection to finish. This FIRST connection may take up to 60 seconds to connect to CMIX because your application is registering with the xx network. </p>[[File:Connecting to CMIX.png|alt=|center|frameless|500x500px|Proxxy is connecting to CMIX]]</li>
<li>When Proxxy successfully connects to CMIX you then go back to https://proxxy.xx.network and click "''NEXT''" to continue the metamask connection process in your web browser. [[File:G. Proxxy Connection Finished.png|center|frameless|550x550px|Proxxy connection is finished and now you can click "Next" on the Proxxy website.]]</li>
<li>On this page you will need to "''Verify Connection''" '''BUT''' before you do make sure that your browser is not blocking connections to the web page.(This example is using brave browser). Once you are connected then you can go ahead and "''Connect To Metamask''".[[File:Verify Connection 2.png|center|frameless|900x900px|1. Check that your browser is not blocking connections on the page. 2. Click "Verify Connection" ]]</li>
<li>At this point you can simply follow the prompts to connect to Metamask and any network you want to transact over. Enjoy!
</li>
</ol>
</ol>
</li>
</li>
<li class="toccolours"><p>macOS Instructions. (WIP)</p>
<li class="toccolours"><p>macOS Instructions.</p>
<ol style="list-style-type: decimal;" class="mw-collapsible mw-collapsed">
<ol style="list-style-type: decimal;" class="mw-collapsible mw-collapsed">
<li><p>Download the binary for macOS and for your CPU architecture, which you can check on the "About This Mac" page. The Intel version (x64) will work on Apple Silicon devices (arm64) as well.</p></li>
<li><p>Download the binary for macOS and for your CPU architecture: [https://nx38767.your-storageshare.de/s/wYsHnZZKZqMZXxW/download?path=%2F&files=Proxxy-mac-x64.zip x64] or [https://nx38767.your-storageshare.de/s/wYsHnZZKZqMZXxW/download?path=%2F&files=Proxxy-mac-arm64.zip arm64], which you can check on the "About This Mac" page. The Intel version (x64) will work on Apple Silicon devices (arm64) as well.</p></li>
<li><p>Open the Finder, head to Downloads, and double click on the file to unzip the application.</p>[[File:Unzip proxxy.png|alt=Open Quantum-Ready Wallet Generator .dmg from Dock|center|frameless|908x908px]]</li>
<li><p>Open the Finder, head to Downloads, and double click on the file to unzip the application.</p>[[File:Unzip proxxy.png|alt=Open Quantum-Ready Wallet Generator .dmg from Dock|center|frameless|908x908px]]</li>
<li><p>Now that you have the Proxxy application unzipped, you can drag it to the ''Applications'' folder on the left side of the finder.</p>[[File:Proxxy to applications folder.png|center|frameless|913x913px]]</li>
<li><p>Now that you have the Proxxy application unzipped, you can drag it to the ''Applications'' folder on the left side of the finder.</p>[[File:Proxxy to applications folder.png|center|frameless|913x913px]]</li>
Line 115: Line 140:
<li class="toccolours"><p>Linux instructions.</p>
<li class="toccolours"><p>Linux instructions.</p>
<ol style="list-style-type: decimal;" class="mw-collapsible mw-collapsed">
<ol style="list-style-type: decimal;" class="mw-collapsible mw-collapsed">
<li><p>Download the file.</p></li>
<li><p>Download the file, according to your CPU architecture: [https://nx38767.your-storageshare.de/s/wYsHnZZKZqMZXxW/download?path=%2F&files=Proxxy-linux-x64 x64] or [https://nx38767.your-storageshare.de/s/wYsHnZZKZqMZXxW/download?path=%2F&files=Proxxy-linux-arm64 arm64]</p></li>
<li><p>Open the defualt file manager (Ex. Gnome/Files, KDE/Dolphin, etc.).</p></li>
<li><p>Open the defualt file manager (Ex. Gnome/Files, KDE/Dolphin, etc.).</p></li>
<li><p>Browse to the location of the file.</p>
<li><p>Browse to the location of the file.</p>
Line 130: Line 155:
</ol>
</ol>
</li>
</li>
<li><p>After the App launches, head back to the Proxxy [https://proxxy.xx.network webpage] and follow the rest of the instructions.</p>
<li><p>After the App launches, head back to the Proxxy [https://proxxy.xx.network webpage] and follow the rest of the instructions.</p></li>
[[File:Proxxy-placeholder-image.png|center|alt=Screen capture of Proxxy]]
<li><p>'''If you are using the Brave browser, please note that you need to disable Brave Shield in order to be able to connect the proxxy webpage to the app.'''</p>[[File:Proxxy.png|alt=Screen capture of Proxxy|center|frameless|954x954px]]</li>
</li>
</ol>
</ol>
<references />
<references />
__FORCETOC__
__FORCETOC__

Latest revision as of 16:45, 15 June 2023

Welcome to the Proxxy wiki page.

Proxxy is a technology that leverages the xx network's cMix network to provide metadata protection to users of web3.

With Proxxy, any wallet can integrate better privacy, in order to avoid user's data being collected by RPC providers.

Currently, in order to use Proxxy, users have to install a desktop application, which will act as a local proxy to supported blockchain networks.

In principle, any wallet that supports adding custom networks will work with the Proxxy App, but for now MetaMask is the main wallet being targeted.

In the future, Proxxy technology will be made into an API that can be integrated directly in any wallet. However, this will always be dependent on developers of said wallets doing the integration, potentially in partnerships with the xx network.

You can use Proxxy now by downloading the Desktop App, navigating to the Proxxy webpage, and following the connection flow.

Why is Proxxy needed?

Anytime a user interacts with a blockchain using a website or mobile wallet connecting to anything other than the RPC endpoint of a personally operated full node, it is leaking data that can be gathered.

This data might not be collected by RPC providers, but it can be. This lack of privacy has been known and acknowledged for a long time (Coindesk article) and remains one to this day with RPC providers:

"MetaMask must have an RPC provider to work, and an RPC provider must collect your IP and wallet address to work" [1]

When a user connects to a public RPC endpoint, of any blockchain, the owner of that endpoint can see all the traffic coming and going.

Metadata such as IP address can be used to determine location, date & time can be used to find routines, and often more, such as tracking data from a browser that can be used to create social graphs, user profiles and personal information, etc (Understanding browser tracking).

The following image represents how user metadata is leaked to the RPC provider when using MetaMask.

Regular MetaMask.png

By collecting the metadata and transaction data, Infura can associate a source address of any transaction with information that might help identify the user, effectively breaking the pseudonymity provided by the blockchain.

With Proxxy, users are safe to interact with a public RPC endpoint, and their metadata and/or browser data does not end up in the possession of the company operating the RPC infrastructure.

How does Proxxy work?

Proxxy uses a pair of client / server applications that communicate over the cMix network.

The client receives RPC requests from the wallet application interacting with a given blockchain and sends them over cMix to the Relay server.

The Relay server then forwards the request to configured RPC endpoints according to the blockchain network the user is interacting with.

The RPC endpoint replies to the request and the Relay server then forwards it back to the client over cMix, which then responds back to the wallet application.

The source code for Proxxy client / server applications can be found here.

The Proxxy App wraps the client side application, so that the user is presented with a simple interface and experience, instead of requiring the use of a command line application.

The source code for the Proxxy App and Website can be found here.

The following image shows how user metadata is protected when using MetaMask with the Proxxy App.

MetaMask with Proxxy.png

Infura can still collect metadata, but now this will always be information about the Relay Server, so there is no way to associate source addresses to user information, thus maintaining the pseudonymity properties provided by the blockchain.

How does the app contact a Relay Server?

The Proxxy App can contact any number of Relay Servers, and the only information required is the Relay server contact data, which is generated by the server when connecting to the cMix network.

The xx foundation maintains a file with the contact data of active Relay Servers.

It's important to note that even if the xx foundation was malicious, and changed the contact information of the Relay Servers, user's metadata is STILL PROTECTED by cMix. This can be seen in the image above, as the Relay Server can only pick up messages from the cMix network, which have been stripped of all metadata.

In other words, malicious Relay Servers cannot gather user metadata over the cMix network. This is a clear contrast to some privacy protecting technologies, which rely on a direct connection with a relay server. When a wallet does not use cMix and directly connects to a relay server, a malicious relay server provider will be able to gather user metadata, the same as an RPC provider.

Supported Networks

Currently, the following networks are supported by Proxxy.

Mainnets:

  • Ethereum
  • Avalanche C-Chain
  • Polygon
  • Binance Smart Chain (also known as BSC or BNB)
  • Astar
  • Moonbeam
  • Fantom
  • Arbitrum (ETH L2)
  • Optimism (ETH L2)
  • Celo
  • Aurora
  • Shiden
  • Moonriver

Testnets:

  • Ethereum Goerli
  • Ethereum Sepolia
  • Avalanche Fuji C-Chain
  • Polygon Mumbai
  • Binance Smart Chain Testnet
  • Fantom Testnet
  • Celo Alfajores
  • Aurora Testnet

Support for any more EVM based networks can be added easily on demand, via the xxfoundation canny page.

Metamask Recommendations

Before setting up Proxxy with MetaMask, it is recommended to disable multiple settings that reduce the user's privacy.

In order to disable these settings, open your MetaMask wallet, go to Settings -> Security & Privacy and disable the following:

  • Show balance and token price checker
  • Show incoming transactions
  • Autodetect tokens
  • Batch account balance requests
  • Participate in MetaMetrics

Download and Install

  1. The Proxxy app is available for Windows, Linux and Mac machines.

  2. Refer to the detailed instructions below for your operating system.

    1. Windows Instructions.

      1. Download the Proxxy .exe file for Windows here.

      2. In the file browser, navigate to the folder where the application was downloaded to and double-click the file.

        Downloaded Proxxy exe file
      3. You may get a notice saying "Windows protected your PC" preventing you from running the program. This is common with newer applications that have not yet been registered with Windows OS. To get past the SmartScreen filter, click on the "More info" link.

        Screen capture of the Windows SmartScreen window with a red arrow pointing at the More info link.
      4. Next, click the Run anyway button and the setup will launch.

        Screen capture of the Windows SmartScreen window after the More info link was clicked now showing the Run anyway button.
    2. macOS Instructions.

      1. Download the binary for macOS and for your CPU architecture: x64 or arm64, which you can check on the "About This Mac" page. The Intel version (x64) will work on Apple Silicon devices (arm64) as well.

      2. Open the Finder, head to Downloads, and double click on the file to unzip the application.

        Open Quantum-Ready Wallet Generator .dmg from Dock
      3. Now that you have the Proxxy application unzipped, you can drag it to the Applications folder on the left side of the finder.

        Proxxy to applications folder.png
      4. Go to the Applications folder, find the Proxxy app in the application list, and double click to open.

        Context Menu Open Quantum-Ready Wallet Generator
      5. A warning will appear saying that the developer cannot be verified. Click the OK button. This warning might look different on older macOS versions, which could have a Cancel button. If so, press that button instead.

        Click cancel on Quantum-Ready Wallet Generator App develop cannot be verified warning.
      6. Next, click on the Apple icon in the top left corner of your screen in the menu bar. In the drop-down menu, select System Preferences….

        Select System Preferences from Apple drop-down menu.
        If your machine is running macOS Ventura (version 13 and up), you should select "System Settings..." instead.
        System settings.png
      7. The System Preferences window will show up. Click on Security & Privacy.

        Click on Security & Privacy in the System preferences window.
        If your machine is running macOS Ventura (version 13 and up), the menu is now called "Privacy & Security"
        Macos privacy and security.png
      8. Scroll down on the settings until you find a prompt where it says "Proxxy" was blocked…, click the Open Anyway button.

        Click the Open Anyway button to allow the Quantum-Ready Wallet Generator app
      9. You might be prompted to insert your password or use TouchID in order to confirm this action.

        Touchid confirm.png
      10. In the window that opens, click the Open button and the Proxxy app will launch.

        Click the Open button the launch the Quantum-Ready Wallet Generator.
      11. When launching the app for the first time after unblocking it in the Security settings in some machines, it will stay black and not load. If this happens, close the app and open it again. It should now work.

    3. Linux instructions.

      1. Download the file, according to your CPU architecture: x64 or arm64

      2. Open the defualt file manager (Ex. Gnome/Files, KDE/Dolphin, etc.).

      3. Browse to the location of the file.

      4. Right click the file and select "Properties".

      5. A window will appear, (Example of Gnome/Files shown below) select the "Permissions" tab, check the "Execute: Allow executing file as program" box and close the window.

        Screen capture of making an file executable.
      6. You can now launch the Proxxy application by double-clicking the file right from the file manager.

  3. After the App launches, head back to the Proxxy webpage and follow the rest of the instructions.

  4. If you are using the Brave browser, please note that you need to disable Brave Shield in order to be able to connect the proxxy webpage to the app.

    Screen capture of Proxxy