SONM is going to build an Ethereum sidechain
The team has decided to implement a plasma-like sidechain for internal transactions and smart contract execution. This change in the way we use Ethereum’s blockchain has been done to reduce operational costs.
At first this idea came to us when we noticed problems with the bandwidth of Ethereum. There were periodic delays in the transactions and the commission fee was rather high. At the moment it’s about $10 for a full cycle of a SONM marketplace deal which is not usable for our Customers and Suppliers.
That’s why we decided to build a system that will allow a significant (two orders of magnitude) decrease in commission fees inside the SONM network. The idea is to create an internal plasma-like infrastructure that will eliminate all internal transaction costs. It is important to remember that Ethereum’s commission payment is inevitable for inputting and withdrawing tokens into the SONM network.
Let’s take a look at the scheme we are going to implement:
The user must have the necessary amount of SNM tokens in a personal wallet address (not an exchange address!) in the main Ethereum network. Only SNM tokens, transferred to the SONM sidechain can act as payment for rented computing resources. The purchaser of computing resources will need to transfer SNM tokens to the SONM sidechain — this will remove transaction fees inside of the SONM network and reduce the cost of the deal.
Let’s analyze it step by step (from 1 to 5):
1) On the SONM Wallet interface the user calls the function of transferring SNM tokens to the SONM sidechain (“Deposit to SONM”).
2) SNM tokens are then transferred from the user’s address to the Gate contract in the main Ethereum network and are locked in it.
3) Special Gate software monitors the receipt of funds for the Gate contract in the main Ethereum network, this identifies the value of the transaction and the address of the sender.
4) The Gate software unlocks the corresponding amount of SNM tokens in the SONM sidechain.
5) The corresponding amount of SNM tokens in SONM’s sidechain are transferred to the same senderʼs address.
After that, the user can use the SONM platform to rent computing resources.
Now let’s look at the withdrawal process.
The owner of computing resources may need to transfer SNM tokens outside the SONM sidechain and transfer SNM tokens on the exchange for sales purposes or to his wallet.
Let’s analyze it step by step (from 6 to 10):
6) With the help of SONM Wallet interface, the user employs the SNM token transfer function to the main Ethereum network (“Withdraw from SONM”).
7) SNM tokens are transferred from the user’s address to the Gate address in SONM sidechain and are locked in it.
8) Special Gate software monitors the receipt of funds for the Gate address in SONM sidechain, identifies the amount and address of the sender.
9) The Gate software unlocks the corresponding amount of SNM tokens in Gate contract of the main Ethereum network.
10) The corresponding amount of SNM tokens is transferred to the same senderʼs address in the main Ethereum network.
The transfer of SNM tokens between the main Ethereum network and the SONM sidechain requires transactions in the main Ethereum network.
- Transfering from the main network to the sidechain only requires ERC20 token transfer gas costs, which are covered by the user from within his Ether balance.
- Transfering from the sidechain to the main network requires transactions to be issued on the main network by the Gate smart contract, requiring gas costs, to be paid by Gate in Ether, therefore a fee is charged from the user withdrawing SNM tokens from the sidechain.
All internal transactions on SONM sidechain have zero gas costs, and user is therefore not charged for transactions at this moment.
Currently sidechain infrastructure is provided and hosted by SONM using POA geth mining nodes. This will allow us to launch fast. Later we have two options to develop and decentralize this architecture:
- If Ethereum will provide a native sidechain/sharding infrastructure and practical transactions costs there (total gas price for full SONM deal cycle) would be comparable to $0.01, we may migrate to native Ethereum sidechains.
- Otherwise we will keep our sidechain and decentralize mining nodes. This function will be delegated to most trusted hubs in a form of masternodes of some kind. The exact design of masternodes and economics around them is not yet defined, which is a matter of later research and depends on the progress of Ethereum.