February 6, 2021
The SKL Token and Ethereum Mainnet Fees
One of the questions that comes up a fair amount on the SKALE Telegram channel has to do with high fees that some holders of the $SKL token incur. The reason for fees with the SKL token relates to the tight coupling of the SKALE Network with the Ethereum Mainnet. This coupling is a primary feature of the network but we certainly understand the questions that are raised.
In this post, we’ll explain how the network works and provide you with some background on why the gas fees for certain token operations might be the way they are. We’ll also explain some of the recent improvements to reduce token-related gas fees and detail some of the future work to continue to address fee-related issues. In the last month alone the fees to send a token have been reduced by almost 70%! There are more optimizations to come and strategies that will help reduce fees for staking.
SKALE + Ethereum
Unlike other Layer 2 networks or so-called ETH-killers, the SKALE Network has much of its security and functionality tied to the Ethereum mainnet. All validator and delegator stakes and chain sponsorship stakes, for example, are staked on the Ethereum network. In addition, over 25 SKALE smart contracts run on the mainnet and control network functions such as chain creation, validator registration, node selection, node rotation, staking, bounty payment, slashing, and more. While certain fees for SKL operations may seem unusual, bear in mind they are primarily in comparison with networks that do not feature the same levels of mainnet-based security ties and operational connections.
In summary, when you use SKALE you also use Ethereum and must pay gas fees for staking, sending tokens, etc. All SKL staking fees are mainnet gas fees that are paid directly to Ethereum and are not paid to SKALE Nodes or the SKALE Network.
How the SKALE Network Works
To illustrate the SKALE Network and Ethereum Mainnet connections in action, we’ll highlight one example of how SKALE works. Developers create chains within the SKALE Network by selecting the size of the chain (small, medium, and large), duration of the chain (6mo, 12mo, 24mo), and then staking SKALE tokens in order to provision the network resources. These tokens get staked into the Ethereum mainnet via a SKALE contract that resides there. Each month, a certain token amount from this developer stake gets moved into a bounty pool which is then used to pay the validators within the network.
An inflation (issuance) event also takes place each month whereby new SKALE tokens are created via a contract on the Ethereum mainnet, the result of which gets pushed into the bounty pool for payout to validators. If there are a thousand validator nodes in the network, for example, and they all perform well, they will each participate in the monthly proceeds from this bounty pool – consisting of a portion of the chain token stakes plus the inflation amount.
The way these payouts take place shows how and where the Ethereum mainnet is used. The bounty payout calculation and distribution process first gets triggered by each node in the SKALE network at the end of each epoch (i.e. calendar month). The nodes themselves, however, don’t perform the calculations in some hidden process. Instead they trigger an invocation to smart contracts running on the Ethereum mainnet.
Validator commission fees and delegator bounties are calculated for the then-current epoch within these contracts eventually making them available for withdrawal by validators and delegators. Withdrawals by validators and delegators are also performed via functions within SKALE contracts running on the Ethereum mainnet. This reliance on the Ethereum mainnet for critical network operations is a purposely designed feature of the SKALE Network.
Gas Optimization for Delegators
Staking of tokens by delegators may appear a simple operation but given the staking is performed on Ethereum the checks that must be performed for use of the token are a bit more involved. We highlight the delegator staking workflow in more detail in our post on Network Bounties and Delegation Workflow).
Currently it is not economically viable to stake small amounts of SKL as the gas fees can be well over $100USD in cost at peak times. We understand this is a major issue and negatively impacts smaller token holders disproportionately. Here are the current plans to improve:
1 - Engineers are diagnosing staking functionality and trying to optimize the gas spend. This is incredibly hard work and takes time. We hope to continually improve and optimize.
2 - There is a product spec for a batched staking mechanism. If you are working through a staking platform the service can bundle all requests from many users into one smart contract and push in a batch. This will decrease the cost significantly for each individual staker. There will also be a group undelelgate option so requests are bundled monthly.
3 - We are examining a way to auto-delegate staking rewards. This is very difficult to achieve as solidity only allows for so much complexity. We understand the value this can bring in terms of cost savings on gas and compounding returns. It is something that is being researched but it is a very difficult feature to build.
Lastly, I want to also remind everyone that once you stake you do not have to claim rewards monthly. Each time you claim, you incur gas fees. You can do it once a year or longer which will significantly reduce your spend.
Optimization of Network Operations
Another category of token use, and consequently token fees, is in network operations. SKALE smart contracts running on the mainnet control chain creation, validator registration, node selection, node rotation, staking, bounty payment, slashing, and more. Here the SKALE core team is continuing to make improvements in efficiency.
Currently optimizations for dApps and Validators are in the works which will reduce overall network friction and help scale SKALE.
Building a Decentralized Web3 Cloud
Using the Ethereum mainnet for critical network operations is not without cost. It’s hard to discount, though, its effectiveness as a Layer 1. Using the Ethereum mainnet to secure the stakes within the SKALE network as well as perform SKALE network operations is a competitive advantage. One that provides an optimal network for developers to make use of high throughput SKALE chains that offer sub-second finality and zero gas fees – all this while still preserving the security assurances of a highly regarded and trusted Layer 1.
This connection between SKALE and Ethereum is at the core of SKALE’s ability to provide a a highly scalable execution layer to address scalability and grow adoption of Ethereum and ultimately result in a fully decentralized Web3 cloud that will replace much of the centralized operations we currently use today.