[Discussion] ShimmerEVM: Governance, Tokenomics and Scaling

ShimmerEVM: Governance, Tokenomics and Scaling

Shimmer will be the first network to realize the full capabilities of IOTA’s Stardust upgrade. This will include on Layer 1 a powerful framework for tokenization (including NFT Wallets), output types to script transaction conditions (e.g. unlock functions, timelocks, etc.), among other native protocol performance improvements. On Layer 2, the IOTA Smart Contracts (ISC) framework will launch for the first time with full smart contract support through WebAssembly and EVM-compatible smart contract chains. Any dApp from Ethereum or other EVM-chains can thus be easily ported over to the Shimmer network.

If you want to learn more about the details of ISC, you can read the whitepaper here, or the documentation here.

The Smart Contracts framework of Shimmer already offers multi-chain capabilities for anyone to deploy their own smart contract chain and benefit from the feeless and trust-less interoperability provided by Layer 1. What this means is that dApps can deploy their own chain on Shimmer to unlock the full transaction throughput for their applications, while users can freely and securely transfer assets cross-chain without having to worry about bridge security, fees or significant time delays.

While this will open up Shimmer to new levels of scaling by going multi-chain, there are still significant shortcomings to the current solution that are worthwhile to mention. Most notably, each smart contract chain is permissioned or semi-permissioned as the validators of a smart contract chain are pre-selected by the creator of the chain (e.g. the dApp team). This significantly increases the trust requirements of a smart contract chain, as the security is dependent on the integrity of the chosen validators. Even though validators can be replaced, there is no staking, slashing or similar mechanism implemented yet to make the validator selection fully decentralized. (FYI, that is exactly where Assembly comes into place, as it makes the smart contract chains fully decentralized and permissionless).

In order to allow our emerging dApp ecosystem to safely bootstrap during the initial growth phase before we scale towards a multi-chain solution, we intend to launch Shimmer with one (or several) community-governed ShimmerEVM chains. The ShimmerEVM will empower the community to easily deploy and scale their dApps without having to worry about the security of the underlying network or the integrity of the validators.

Introducing the ShimmerEVM

When launching Shimmer, scalability will not be our biggest concern. The biggest concern is actually building and growing our emerging dApp ecosystem. During the early bootstrap phase of Shimmer we have to maximize dApp composability, compatibility with tooling and infrastructure (e.g. Block Explorers and Wallets), and increase network security. dApp builders should worry about their dApps, and not worry about the underlying infrastructure they build on.

We will therefore deploy a single EVM chain - called the “ShimmerEVM” - which will become the main EVM smart contract chain deployed on Shimmer. The ShimmerEVM will be fully community-governed, with trusted community members / projects validating the chain. This will make the ShimmerEVM similar to other Proof of Authority chains (e.g. Polkadot during launch, VeChain, etc.).

The ShimmerEVM will be a highly performant public smart contract network with fast transaction speed and very low and reliable fees. It will be accessible to anyone to publish their smart contracts or to deploy nodes to validate and verify the network.

Summary overview of the ShimmerEVM

VM Ethereum Virtual Machine (with performance improvements added), hosted through the IOTA Smart Contracts framework
Consensus Honey Badger BFT (HBBFT)
# of Validators 12
Validator selection Based of Proof of Authority (Public Identity at stake of validators)
Block times Several seconds
Finality times 10 seconds
Fees Dynamic fee, which will be raised at times of congestions
Native Token $SMR

Governance

The total number of validators securing the ShimmerEVM initially will be 12. While in theory this number could be higher, we propose to bootstrap the ShimmerEVM with 12 validators, and later scale up this number if needed.

Validators are special nodes that create the blocks that will be added to the ShimmerEVM chain, and will then be anchored into the Shimmer ledger. In a 12 validator-set, a single node is randomly selected to propose the next block. If this block is approved by a majority (2/3) of the Validator-set, it is included in the Blockchain. The responsibilities of the validators in the network include securing and confirming transactions, operating the ShimmerEVM, connecting with community nodes, performing chain upgrades and performing validator rotation (upon DAO approval) if needed. Obviously one of the most important responsibilities is running the validator nodes and the underlying server infrastructure.

Choosing the 12 validators needs to be done carefully, as the performance and uptime of the entire network are dependent on every validator to reliably run their server infrastructure. Even though the node requirements are fairly low, it is a big responsibility to become a chosen validator of the ShimmerEVM and requires the necessary skills. Not least because the public identity of that validator is at stake.

I would propose to divide the validators into 3 categories (Community Projects, Corporate Partners, IOTA Foundation). From each of these categories we will initially select the most trusted and reliable partners to become a validator of the ShimmerEVM. At a later stage, these validators can either be replaced or expanded if need be.

Proposed validator distribution:

  • Community (4 Validators)
    • TangleSea
    • Soonaverse
    • TanglePay
    • RockX (Staking Provider)
    • Other community projects to consider: TangleBay, HiveRoad, EinfachIOTA, GreenDLT
  • IOTA Foundation (4 Validators)
    • Smart Contracts
    • DevOps
    • FireFly
    • Spice (Staking Provider)
  • Corporate Partners (4 Validators)
    • Dell Technologies
    • Software AG
    • ETO Group
    • Energie Knip

Security of the ShimmerEVM

The validators are selected because of their reputation and standing within our ecosystem. They therefore stake their identity and reputation. Any misbehavior or performance degradation of a validator will be tracked, allowing the entire network to act and take certain repercussions (such as replacing the validator).

Even with ⅓ of validators failing, the chain will still be secure. Only if 2/3 +1 is dishonest, the chain can be attacked. Validators can be replaced at any time through a majority vote of the remaining validators, or through decision by the chain owner (which will most likely be a DAO).

Tokenomics

Apart from the more obvious parameters of the ShimmerEVM such as block times we also have a very exciting discussion around token economics. In particular, fees, incentives and rewards in the network.

While the Shimmer network will be feeless on Layer 1, the ShimmerEVM will require fees to be able to operate. The fees in the ShimmerEVM will be significantly less than on Ethereum and highly competitive against other L1 smart contract networks (Fantom, Solana, etc.). The transaction ordering in each block is done randomly, which will avoid MEV or bots manipulating transactions.

The fees in the ShimmerEVM are not used as incentives for the validators. Which in turn means that we can use the accrued fees paid for smart contract execution as rewards within the network or as incentives for certain network participants.

There has been some interesting work done by other EVM chains, and I highly encourage you all to read about them. For example, EVMOS introduced gas rebates, while MetisDAO distributes fees as rewards to dApps.

Apart from fees, we can also make use of the close to 8% inflation which will be introduced in the Shimmer network for staking rewards. For example, a portion of the inflation in Shimmer could be used to give fee rebates in the ShimmerEVM.

List of ideas

(Note: This list is just a starting point. If you have any ideas, please share in the comments below. I will then add it to the list here).

Idea Description
Burn transaction fees Fees will be burnt, effectively helping to reduce the token supply. This was first introduced in Ethereum through EIP 1559, and is quite common in other networks (such as Avalanche).
Allocate fees to Community Treasury Part of the fees will be transferred to the Community Treasury, empowering the community to vote on how to allocate the fees (grants, token buy-back programs, etc.). This is something that is for example used in Polkadot.
Share fees as rewards to active dApps Part of the fees in the network will be distributed to the most active dApps. This will give developers a further reward to be successful in the Shimmer ecosystem. An objective metric to measure (which would be difficult to cheat) would be gas usage by a particular dApp.
Fee rebates from SMR inflation A portion of the inflation in $SMR could be used as fee rebates in the ShimmerEVM. These fee rebates would have to be carefully defined, most likely designed at helping to on-board new users.

Scaling

The EVM is limited to about 25 TPS, while the IOTA team has added some performance improvements to the EVM itself (without breaking compatibility), we will certainly hit the throughput limit if we are successful with our ecosystem growth. Luckily we have a potential short-term solution to this problem, as it will be possible to expand the ShimmerEVM beyond a single chain.

Therefore, if the transaction throughput in the network will be reached or transaction fees increase too high, we could deploy additional EVM chains operated by the same, or a different validator set. While these additional EVM chains will not break composability and interoperability, they do complicate things with the user experience (bridging assets cross-chain), the tooling and infrastructure. These issues are manageable, and our teams are already starting to prepare to host additional EVM chains on Shimmer.

Conclusion

The ShimmerEVM will be a community-governed EVM chain on Shimmer, ensuring maximum security, composability and the perfect user experience. There are important discussions we need to have on who will be the first validators of the ShimmerEVM committee, as well as make a decision on the tokenomics of the ShimmerEVM. There are interesting combinations of Token Burn, Fee Reward Share and Fee Rebates that we can introduce to make Shimmer a competitive Layer 1 smart contract network.

I would like to get feedback on the community on the following topics:

  1. ShimmerEVM validators and the proposed initial distribution
  2. How should the fees in the ShimmerEVM be distributed?
  3. Which of the new incentive / rewards ideas should we introduce into the ShimmerEVM (fee rebates, fee distribution to active dApps, etc.)
21 Likes

I think the proposed validator distribution should be changed.

The proposal works fine for high-availability, ie many physically-separated parties with experience of running servers. But when it comes to decentralization, 2/3 of the validators are under control of IF, since 1/3 is IF and 1/3 are their partners that probably do whatever IF tells them to do (we can’t assume they don’t). In other words, 2/3 of the validators are a single entity when it comes to control.

In the context of calling this “fully community-governed”, I propose to select ALL the validators by the community.

11 Likes

How about using the fees to reward those who will help making the network secured? Like validators or stakers? If security is a concern, I think the fees should be used to that end.

2 Likes

Just to make one point clear here, this is a Proof of Authority chain, which means that every validator is basically “staking” their identity and reputation. Therefore any form of collusion, once detected, will have serious repercussion for that entity. Especially a corporate partner will not want to do anything that would hurt their brand.

I am definitely open to have more than 1/3 of the validators be community run. Overall though, the majority of validators are not controlled by any one entity. Even the IF validators are governed by different entities outside of the IOTA Foundation. So we already have a pretty fair and even distribution. We can certainly optimize this though.

5 Likes

It is certainly possible to reward the validators for their work as well. Because this is a Proof of Authority setup, it is not necessary to reward them necessarily, as they are incentivized through other means (reputation, community building & trust, goodwill, strategic, etc.).

We can give a small % of the fees to validators for example.

2 Likes

There is already a proposal to increase the SMR token amount at launch in order to fund a Community Treasury ([Discussion] Proposal to Increase the Shimmer supply for a Community Treasury - #18 by Space_Monster). Allocating the fees to fund this Treasury is a better idea, as it would not change the token amount agreed on already.

1 Like

I don’t think that the fee will be sufficient to really fund the ambitions of the Treasury that Kappy has proposed btw.

1 Like

This is an excellent way to showcase the multi-chain approach by having 1 chain as PoA, while still making it possible to have many other permissionless/permissioned chains coexist and running in parallel. I’d go with this setup and wouldn’t think on a different distribution of validators. Why? Simply if someone doesn’t like the distribution they can form their own and community members can form a full community chain which runs in parallel with this one and the markets allocates trust how it wants. The important part is that multi-chain communication can be trustless so even if people want to switch chains they can.

How would I allocate the fees? I’d put them into a DAO meant for funding ecosystem project and I’d keep the PoA chain long term too. As I said it can coexists with Assembly and other permissionoless/permission networks. The PoA chain will be an excellent way to onboard other Ethereum projects without the need of additional IOTA knowledge. As mention the single chain doesn’t scale, but that’s not of big importance at the beginning.

On a side note - talking about security and scalability for later. I’d love for Assembly to offer permissionless nodes for a fixed hourly/daily/monthly fee as an option and not pay per compute (gas) only. Essentially making Assembly into AWS and Azure of the web3 world. Then dApp builders can incorporate the fixed fee to Assembly nodes as part of their business model and offer 0 gas fees to their users.

16 Likes

Thank you for the feedback luka :+1:

1 Like

I’m thinking about how to drive adoption, engagement, and excitement. One idea came to mind. There is a randomness to bitcoin mining as far as who receives the reward. What if we took a portion of the fees and at regular intervals randomly paid them out to transaction participants? A usage reward. The more you used the network the higher the chance you will win.

3 Likes

GM. What for Community Validator is meaned with “GreenDLT” - not us or? - @dlt.green, we also have some nodes what wan’t to do something :slight_smile: Nice greetings.

2 Likes

It is really an honor for TanglePay to be nominated as a validator of Shimmer Network. Based on the past experience of our team member running mining pool and validator on other chains, TanglePay team is willing and technically capable to contribute to the community as a validator.

Validator is one of the most important infrastructures in Shimmer network, because validators are responsible to create blocks and perform chain upgrade and even procedures with special accounts (such as whether to freeze an uncontroversial hacker accounts). Validators can also provide DApp-oriented data services, private transactions, and more.

How should the fees in the ShimmerEVM be distributed? Fee rebate and fee reward are both great models to be introduced to build the ecosystem. However, it is relatively more complicated and we will see manipulations of data for the fee rebate/reward. Therefore an efficient DAO will be needed in these models. Token burn model in comparison is easier to operate and it gives a market expectation of lower inflation or even deflation, which increase the expectation for a higher token price. This might lead to attraction of investors and users into the ecosystem and eventually benefit builders and the community as a whole.

6 Likes

Sorry, thats on me. I just recommended all the community node hosting services that I could think of without checking their proper names first :sweat_smile:

2 Likes

I like this proposal and no oppositions to it, I don’t have much to add except for my opinions on:

  1. ShimmerEVM validators

I think it would be fair to vote for the community validators and they would need to put forth a proposal and evidence of previous experience and commitment. As well as using it as a rough estimate of initial reputation from the vote itself.

  1. How should the fees in the ShimmerEVM be distributed?
  2. Which of the new incentive / rewards ideas should we introduce into the ShimmerEVM (fee rebates, fee distribution to active dApps, etc.)

I guess from a technical point of view we should do the simplest possible first, and in the future we could have proposals to expand this. Therefor, I would start with the majority percentage being burned and a minor percentage being allocated to a community treasury / dao once setup. As the evm matures we can start testing out the sharing fees as rewards or rebates, and take that from the percentage that is burnt. But there should always be a percentage burnt.

2 Likes

hey - no problem :slight_smile: - but are we meant?

I didn’t think about this but you are very right. Thinking broadly, it’s true that the partners will do whatever they are told by IF. It wouldn’t be ‘stealing’ broadly or anything like that, but my thinking goes to the early forks of eth.

Yes, as you already have experience as a node service hoster you should be considered for as community validator imo

1 Like

it’s a great honor for us to be listed in the “Proposed validator distribution” as Community Validator for the Shimmer EVM. THANKS

2 Likes

RockX is super excited to be included in the genesis list of proposed validators! With our experience running validator nodes across many blockchains we know that we can support this great initiative! From a personal opinion, and considering the initial focus will be on developing the dApp ecosystem, it would make sense to have some type of incentive for developers to build on ShummerEVM, whether through grants, fee rebates, or rewards. As to what is the best option, I’m not to sure myself.

1 Like

It’s a great honor to be on the proposed validator list for the ShimmerEVM. We are now more then one year deeply involved in preparing the new DEFI era for IOTA. The core goal of TangleSea is to help the IOTA/Shimmer Ecosystem to grow and flourish. Therefore we would be very excited to take the important role as a validator to secure the shimmerEVM chain.

Our DEX will be a leading AMM protocol which is 100% running on chain and will play a major role in enabling and connecting our community and projects. We can only succeed if the chain is operating reliable and most importantly secure. Properly validating the chain is therefore deeply linked to our core interest.

In addition, with decades of professional industry experience our team is well trained and skilled in operating an IT infrastructure at an industrial scale. Therefore, we feel well equipped to take over this important role.

In regards to tokennomics and fee earning distribution - we think probaby a mix between burning (to fight SMR inflation) and providing incentive for builders would be good! Overall, we really like this proposal and look forward to getting the chain going and seeing it live :slight_smile:

5 Likes