A Decentralized Exchange For A Decentralized Economy Secured By The Safenetwork

Whitepaper https://nvo.io/assets/whitepaper.pdf

(This is a very short summary of the whitepaper. Please read the whitepaper for the most updated information.)

The wallet will provide users with secure storage for all the supported on default crypto assets and non-default ones using a plugin system. An all-in one solution instead of downloading multiple wallets for holding different assets.

1. Multi-cryptocurrencies open source wallet:

All keys are created locally on users’ devices and never sent to any servers. Users control their private keys, can send and receive funds, export wallet, and encrypt the wallet with a password or seed phrase. Developers can develop and add new assets through an open plugins system keeping the wallet lightweight.

2. A validator hosted on the Safenetwork:

Users will connect to the Safenetwork through the wallet to exchange. An application will match the orders issued by the users and check all transactions and order informations are valid.

Unlike centralized and semi-centralized exchanges, there isn’t a wallet acting as a relay. Transactions are processed simultaneously through an order matching engine from one wallet to another. The validator on the Safenetwork will check if the transactions are valid prior to being exchanged. The orders are then matched and transactions broadcasted in their respective networks.

The validator process raw transactions and doesn’t hold any private keys or assets nor can it sign transactions resulting in a trustless decentralized exchange using the Safenetwork to validate orders.


A working proof of concept can be created from the tools already provided by Maidsafe and then implemented on the latest testnets without having to wait for the the Safenetwork’s full development.

The validator hosted on the Safenetwork doesn’t need to read the blockchain or be used to host nodes at this stage of development. This will be done through our own API servers.

The API servers will only be used to read the blockchain. To keep the exchange fully decentralized, later we can use light nodes or run our own nodes on the Safenetwork when it’s matured. The API server can also be queried using the Safenetwork.

When the exchange is production ready, an independent double-checking system will also be implemented by adding nodes to the validator.

The proof of concept can run on the latest testnets, but the exchange does require the Safenetwork to be past Alpha phases for it to be production ready.

Data on this alpha network may get lost and MaidSafe will decide or require to wipe the data and restart the network with each alpha release.


Over $700M is traded through top exchanges on a daily basis as of 2017, and over 95% of this volume are processed through centralized exchanges. This is a risk most cryptocurrencies users can understand.

An ecosystem that fully relies on the ability of centralized software to process and store decentralized cryptocurrencies is unhealthy and can easily be manipulated.

A more balanced ecosystem is needed for a decentralized economy. Centralized solutions are crucial, as they offer great fintech solutions to connect with the mainstream economy. However, decentralized solutions are required in a decentralized economy because of their nature to be secure and trustless, something centralized solutions can’t offer.


Problems and solutions evolve with development. There is almost always a solution to a problem, and sometimes there are too many solutions. The focus will always be finding and choosing the ideal solution.

Assets will be lost and unrecoverable if:

- The Safenetwork is compromised resulting in the validator being breached

- Data Stream manipulation and interception :

In case of any : MITM, Double Spend, or SideJacking, the users could suffer from a coin loss. There are multiple methods that can be set up to counter these key risks.

-If MaidSafe is unable to deliver Safenetwork, or if the Safenetwork encryption is compromised, the Validator will be impacted as it’s purpose is to take advantage of the encryption and resources of the Safenetwork. If this scenario happens, the Validator will be moved to an alternative option until hosting on the Safenetwork is viable again.

If the data sent/received to/from the wallets is improperly encrypted, a third party could intercept these datas, they won’t have access to much informations except the raw transaction. If the raw transactions are modified, it won’t be accepted by the Validator.


Vision: Being a vehicle for users to gain access to the decentralized economy.

Goals: Building a secure product that end users will love, and use easily. Viable and steady development workflow with transparent release model.

Solution : Wallet

Wallet design

The wallet will provide users with secure storage for all the supported on default crypto assets and non-default ones using a plugin system. An all-in one solution instead of downloading multiple wallets for holding different assets.

Using the wallet will not require a connection to the internet or the Safenetwork, except when using the exchange or sending funds. Which means that addresses can be generated offline. Please check the main website for an early demo of the wallet.

Solution : Safenetwork Validator


- Wallet A opens an order to sell BTC for LTC

- Wallet B opens an order to buy BTC for LTC

If no validator or a middleman is present wallet A could withdraw the transaction and cheat on wallet B risking a MITM attack. Here the validator will validate both the balance availability and transaction validity prior to broadcasting.

When information is validated, both transactions will be broadcasted, and an order ID with informations will be returned to wallet A and wallet B. If a transaction hash isn’t valid, or an address isn’t valid or lacks the funds, the order is cancelled and returns a notice to the Wallet concerned.

The Safenetwork authentication and encrypted messaging methods can be used to send the informations of the transaction securely to the validator and vice versa.

Because MlTM can happen here, the validator will check for the informations received by it’s own nodes.

It is better for the exchange to have it’s own nodes network and scatter them across the globe to enhance the coverage. The API server will be used to provide informations to the wallets and broadcasting the transactions. The wallets won’t have access to the nodes, instead, their requests will be processed by the API server.

It may cause latency issues. but this architecture can be quickly upscaled, the addition of clusters 7 Nodes + APl servers can be replicated securely and quickly.

The communications can be encrypted but it is not mandatory, as the most important is the communications to and from the validator server. This server will rely on Safenetwork, and will use the Safenetwork resources to match the orders and verify the validity of the transactions. If everything is valid, the orders are matched, transactions are broadcasted, and information notices return to the order issuers.


  • Trustless and decentralized exchange.
  • Wallet’s users are encouraged to try out the exchange.
  • Users can enable as many different assets as they want through an open plugins system.
  • Low in operating cost and cheaper to scale.
  • Security program that scale with the size of exchange.
  • Streamlined userflow with simple learning curve
  • Assets-to-assets exchange
  • Dynamic platform: Capacity to be the first crypto integrated platform. It’s possible to bridge features from other projects. One example is NVO could provide support for the Ripple Gateway so users could trade fiat, support Ethereum tokens or support the creation of assets and using them through Waves or Omnilayer.


Development are made with users in mind. Implementing a fuel coin is avoided to streamline the userflow. Having a coin for the platform only benefit crowdsale contributors short term and does not benefit end users. This structure leaves room for more flexibility and less to do with how to incentivize NVO tokens by making it a requirement to use the platform.