The processing speeds and internal mechanisms (transaction costs) of the Ethereum network do not currently support the realization of a fully decentralized futures trading model on the basis of ETH or other ERC20-compatible tokens. At the same time, a high-speed fully decentralized exchange mechanism with expandable functionality is possible on the blockchain, as has been demonstrated by the company Bitshares (bitshares.org). Until the full deployment of the Plasma protocol in the Ethereum network, the creation of this functionality in the network remains impossible (or at least extremely difficult) so, for now, we offer the following ETH/USD futures trading system using ETH as the trading currency.

Do you want to have a discussion about this topic? GitHub: https://github.com/BankEx

Since using a smart contract to account for all market positions is rather expensive and insufficient for the realization of the entire functionality and the Straight Through Processing (STP) liquidity mechanism, we decided to simplify as much as possible the part that uses blockchain functionality, maintaining, however, the necessary transparency:

1. Two addresses in the Ethereum network perform the functions of an offer contract, and the transfer of some amount of ETH constitutes a request to open a Long or Short position on ETH/USD with a specific maturity and leverage.

2. All requests sent are visible to all blockchain participants, removing the necessity to maintain records directly on the blockchain while still ensuring transparency.

3. A separate smart contract will serve as a book of record for the current ETH/USD rate on several large exchanges, which will be used as liquidity providers for the STP, allowing all system participants to see the weighted average condition of the market and the rate to be used when closing a position.

4. Once every few blocks, the sent requests (that is, transfers to the two abovementioned contracts) that have received the required amount of confirmations will be processed and assigned a single price of settlement. Any imbalance between the amount of Long and Short requests will be covered by the instantaneous purchase/sale of the necessary amount of ETH on exchanges according to a predetermined algorithm.

5. The algorithm for the allocation of requests to exchanges and the algorithm for the determination of the final price of settlement for a set of requests will be public, and any system participant will be able to verify the conformity of the determined price, set of requests and the current price distribution in the chosen exchanges.

6. The public disclosure of any discrepancies will directly impact trading volumes and the popularity of the instrument, and the existence of such discrepancies runs counter to the interests of BANKEX.

Subsequent development of the Ethereum network will allow us to move a large part of the functionality to a public smart contract and ensure even more transparency, including the ability of all network participants to directly monitor the executable code of the settlement algorithm.