As the blockchain technology grows gradually mature, the exchange, ecosystem, and security of digital assets have been increasingly important. Toponet is dedicated to provide a series of solutions for safe, convenient, and abundant liquidity services for digital assets.
Over the years in which the blockchain technology gathered supporters, rising concerns hame come up regarding centralized exchange markets in a variety of aspects, e.g. cybersecurity vulnerability and money misappropriation. Toponet aims to change the status quo, by building a decentralized network which allows users exchange their digital assets in a manner with enhanced security and convenience.
Insecure private key storage endangers asset security. Therefore, Toponet will provide MarsPay™ hardware signator products to help ensuring the security; a MarsPay™ signator can be connected with a device over Bluetooth, and the transaction will be signed within the signator, without allowing the private key being transmitted.
- 1. Overview
- 2. System
- 2.1. Network
- 2.2. Consensus
- 3. Architecture
- 3.1. Payment Engine
- 3.2. Protocol Engine
- 3.3. Service Engine
- 3.4. Application Engine
- 3.5. Accessors
- 4. Application
- 4.1. Client
- 4.2. Application Integration
- 5. MarsPay Hardware Signator
- 5.1. Private Key Storage
- 6. Roadmap
- 7. Conclusion
Ten years have gone since the introduction of Bitcoin, and the blockchain technology has been developed over the ten years. Increasingly more developers and entrepreneurs have been spending attention on it. They have preached the blockchain technology into various fields of industry, visioning a brave new world to come.
Digital assets, or cryptocurrencies, are transaction-trackable, free from faking, free from accrediting, with the might of cryptography, and have hence received comprehensive utilization. As Ethereum and EOS went popular, ERC20-based tokens also contributed significantly toward the ecosystem of digital assets.
A lot of wallet apps emerged with private key storing and featuring convenient transfer services. These apps, namely, Electrum, BitPay, Trezor, and ImToken, wrap transaction histories into packages and broadcast to the network from their servers. As the private keys are stored within the desktop of mobile terminal, they are at risk being stolen. For exmaple, a famous browser-based wallet app was attacked and a lot of digital assets were stolen. Toponet wishes to provide a solution to better safeguard the digital assets of the users. We have designed the MarsPay™ hardware signator to protect the private key from being stolen and the convenience of use shall not be compromised.
A lot of centralized platforms have emerged to serve the exchange of different digital assets, where the users have to host their digital assets to a platform owner before trading. It was believed efficient to assure the users by involving third-party insurers, however, the transparency of the platforms remains infeasible. The decentralized payment network of Toponet shall provide transparent exchanges between the users over the network without an intermediary agency.
Toponet created a series of protocols to allow users exchanging different digital assets. When trading, regarding the bidirectional synchronization between both networks. Traditionally, centralized exchange markets solve this by hosting the digital assets, however, Toponet shall be able to interact with multiple blockchains. When a pair of users initiate a transaction, Toponet shall create a payment channel for both users and lock the required assets on the network, then finish the transaction.
When a payment order is initiated, Toponet shall create a payment channel, an intermediate media in which the involved digital assets will be locked onto the Toponet network. Later when the transaction is made and the payment channel is closed, the final transaction will be pushed onto the destination blockchains.
A user will give out a payment order through the payment channel. When the other user signs the payment, the single transaction will be done. Toponet shall update the latest transaction status, but will not submit the transaction record to the two chains immediately; the transaction record will be submitted only when the payment channel is closed.
Transaction signatures can be submitted to the Toponet network over proxy, hence it does not require both parties online. In the case of shopping, the merchant can submit the signed transfer statement on behalf of the customer. This frees the payer from carrying a personal computing device; a signator should be enough.
The Toponet network takes PBFT algorithm as its consensus algorithm. A payment order will be broadcasted to other nodes after being submitted to a node. Three stages of preparation, stasis, and confirmation are required.
In PBFT algorithm, when
N => 3F + 1, where
N is the number of total nodes and
F the number of unavailable nodes, accordance is made. The minimum time for consensus grows fast when the number of nodes grow. As Toponet focuses on security, all prospective nodes in the network are subject to vetting. Toponet shall provide a status system to maintain the status of each node, in order to minimize the traffic jam in the network.
3.1. Payment Engine
As Toponet is a payment network, it supports the exchange between various blockchain networks. Toponet shall build a payment layer to maintain the compatibility with different blockchains in terms of transaction protocols and signature mechanisms. At the beginning, Toponet shall provide payment engines for Bitcoin, Ethereum, and EOS, but more will come over time. The extensibility will be assured.
When a payment engine establishes a payment channel over Toponet, a random sequence will be used as seed to generate multiple addresses. The security of the payment channel is extremely important, thus the payment engine provides a protection mechanism for it, supporting proxied communications, etc.
3.2. Protocol Engine
When the payment channel is established, all transactions will be broadcasted to other nodes in the form of payment orders. In the payment order, exchange amounts, signatures, and conditions are included. Users are able to specify the conditions under which an agreement can be made, and the conditions will be complied to virtual binary codes, which can be run on the WASM virtual machines provided by Toponet for the calculation determining wether the conditions are met. This provides smart automation in exchanges.
3.3. Service Engine
In real commerce, in various domains of business, a variety of complicated logics may be applied to determine whether should the payment be finished or revoked, or partially finished. Such business logics will be too complicated to be represented within Toponet communications. Instead, an intermediary layer, the service engine, is necessary to assist settling potential disputes between the two parties of the transaction. The service engine shall provide payment layer with standardized outputs.
3.4. Application Engine
Toponet provides independent application clients. Toponet will be built on a core application engine upon which different clients on different platforms can be built. The application engine is a series of core libraries providing basic functionalities e.g. communication and consensus. The canonical Toponet clients allow the users to connect alternative nodes of the network in addition to the official ones.
Toponet provides convenient status channels and application interaction channels, which are controlled by the accessors. Traditional applications and DAPPs will be able to communicate with Toponet via accessors, allowing their digital assets integrated with Toponet.
The design of the official clients of Toponet prioritizes services. Rich features are surely important, but cross-platform availability is far more necessary.
When a Toponet client is launched, it will discover nodes across LAN and WAN, and will submit requests to service nodes per the user's command. The clients shall not contain complicated functionalities.
Toponet clients are based on a migratable engine, named Toponet Client Core, for cross-platform constructions, built with TypeScript, runnable on any operating system. Toponet designed a set of user interfaces and native components for respective operating systems.
4.2. Application Integration
Toponet provides easy-to-use application interaction APIs. On mobile devices, other applications are able to launch a Toponet client application to complete the requested payment in the following procedure:
- The application obtains a signed payment order from its server.
- The application launches the Toponet client with parameters containing the information in the payment order.
- The Toponet client reads the payment order and asks the user to sign a payment statement.
- After the user signs the payment statement, the Toponet client sends the signed payment statement to the Toponet network.
- After a node gives an acceptation response, the Toponet client returns the signed payment statement and the response from the node back to the previous application.
- The application returns the information from the Toponet client back to its server.
- After the payment is confirmed by the server, the application informs the user that the payment was successful.
5. MarsPay Hardware Signator
MarsPay™ secures the private key inside the chip which, cannot be directly read by external devices, instead, can only be given a payment order for signing. A separate chip will be present for the communications over Bluetooth.
5.1. Private Key Storage
A Toponet client shall send a prospective transaction to a MarsPay™ signator for signing. Toponet shall design a unique communication protocol, which allows any device with a Toponet client installed to find nearby signators to communicate for signing.
- 2018.07: Community startup.
- 2018.09: Angel round fundraising close.
- 2018.12: Alpha release of Toponet network.
- 2019.01: MarsPay engineering prototype.
- 2019.03: Beta release of Toponet network. Toponet Testnet online.
- 2019.04: Service nodes election.
- 2019.05: Crowd-funding of MarsPay Gen-1.
- 2019.06: Toponet mainnet online.
- 2019.07: Merchant APIs beta test.
- 2019.08: Service testing access open for applicants.
Toponet is introduced in accordance to the emerging problems and demands in the blockchain technology community. It focuses on the real needs and shall push forward the utilization of the blockchain technology.