An Elastos improvement proposal (ELIP) for increased utility of ELA

Ryan | Glide
Starfish Labs
6 min readJul 16, 2021

--

While discussing a feature we are hoping to implement for Elavate Finance, I had an idea for a mechanism that may be better suited as an upgrade to the core Elastos blockchain architecture as opposed to a product-specific solution. This is a rough concept at this stage and I merely put ideas to paper with the goal of starting a public discussion.

What’s the problem?

Within the last year, the Cyber Republic passed a proposal to implement a new economic model that coverts Elastos (ELA) into a deflationary asset using the halving model popularized by Bitcoin. This was well received within the community and positions ELA holders favorably as utility within the ecosystem grows. However, it also comes with some unintended consequences.

Both the Elastos mainchain and the sidechains are secured by delegated- proof-of-stake (DPoS) supernodes. The mainchain has the added security of Bitcoin merge-mining, but the sidechains are secured exclusively by DPoS. Therefore, we need a strong set of trustworthy validators to ensure our sidechains meet consensus and security expectations.

However, as voting rewards for DPoS decline due to cuts to ELA’s inflation, investors will seek more profitable means to make their ELA work for them. Currently, DPoS rewards sit at roughly 4% APR. This figure will likely drop to around 2% APR when the first official halving event occurs at the end of 2021. With the growth of the cryptocurrency DeFi sector in the last year and with multiple community development teams setting their sights on Elastos DeFi (Filda, Creda, etc.), it is highly unlikely that 2% APR will be sufficient to retain high voter participation.

In addition, the DPoS system is not healthy right now. The rewards mechanism has caused the majority of users to vote solely based on rewards and not on the merit of the supernode operator. This has led to an inability for new supernodes to climb the ranks because the incumbent nodes earn more and therefore they pay more, which makes them exceedingly difficult to displace.

To make matters worse, the recent changes to the DPoS consensus that randomly select any of the standby nodes for consensus duties have caused many of them to cancel their nodes because they were not running servers in the first place. Given the current price of ELA, it is not economically feasible for many supernode operators to both reward voters and pay server expenses.

Furthermore, 36 supernodes is too many for voters to actually research and make an informed decision upon. There are currently 44 supernodes in total. If you can vote for 36 of them, you’re not really making a decision at all and the net result is that the rankings never change. This is definitely a concern that should be addressed.

What’s the solution?

The root of the problem is that there will not be sufficient incentive to store ELA on the mainchain. Voting rewards are in decline and the desire for higher yield using DeFi on the sidechains will reduce the DPoS voter base and increase the likelihood of a DPoS cartel takeover. To prevent this, I believe the solution is as simple as flipping the incentive back in favor of the mainchain.

My proposition is as follows:

1. Redesign the supernode voting mechanism

  • Reduce the maximum number of supernodes users can vote for from 36 to 6 (this number is flexible, it could be 1 or we could keep it at 36). This will make the decision regarding which nodes to support more important.
  • Encourage all supernodes to stop sharing income with voters. This will remove the economic incentive for voting and result in higher ranks for quality supernodes who contribute to the project.
  • Create a voting contract. Unlike the current system wherein ELA does not leave the users wallet when they vote, ELA would now be physically locked into the voting contract.
  • Users should be able to re-delegate their votes while locked, but ELA will not be transferable until withdrawn from the contract.
  • Locked ELA should also be made available for use in DAO voting including the annual Cyber Republic election, community proposal veto, or council member impeachment.
  • In addition to selecting supernodes, the voting process will also request that the use specify how much ELA they would like to allocate to each supported sidechain. For example, when voting with 100 ELA, the user may choose to allocate 95 ELA to the Elastos smart contract sidechain (ESC), and 5 ELA to the decentralized identity (DID) sidechain. See point #2 for reasoning.

2. Redesign the current mainchain-sidechain transfer mechanism

  • Requiring users to make their own cross-chain transfers is clunky and a poor user experience. Instead of locking ELA in transfer addresses on the mainchain and minting ELA on the destination sidechain, now, when a user votes, ‘synthetic’ ELA will be automatically minted to the sidechains in the amounts the user specifies.
  • This enables users to vote with their ELA on the mainchain and simultaneously use their ELA for DeFi or DID management on the sidechains. We retain our mainchain security, enable full DAO participation, and encourage the exploration of applications on sidechains, all at the same time.
  • If a user does not vote on the mainchain, no ELA will be issued to the sidechains. This will create a high voter participation on the mainchain as users will be forced to vote if they wish to mint their ELA on the sidechains.

I believe if we could manage to design this concept into the core blockchain architecture, it would benefit Elastos users greatly.

Technical Considerations

While this concept is appealing on paper, it would require a major overhaul to the existing mainchain-sidechain structure and there are many technical implications to consider. Below I’ve listed a few questions, but there are likely many more to be discovered.

  • What happens if a user votes on the mainchain and then sells their ELA on the sidechain? I believe this could be handled similarity to how the cross-chain transfer process works today. Whoever acquired that ELA would submit their ELA to a smart contract on the sidechain, which would burn it, withdraw the corresponding amount from the mainchain voting contract, and credit the balance to their mainchain wallet. However, it is not quite this simple because the user who originally voted on the mainchain would still have their original vote recorded, meaning if the new owner also voted there would effectively be a ‘vote double-spend’, and the mainchain could end up with more votes than possible considering the supply of ELA. The total supply of ELA on the sidechains should always be equal to the voting total on the mainchain, so this relationship could at least be used as a global state for the supply of ELA. However, this requires more thought.
  • What happens to the ELA on the sidechains if a user withdraws their ELA from the voting contract on the mainchain? Should it be possible to initiate this request from the mainchain or should it require that the user manually destroy their sidechain ELA to unlock it on the mainchain?
  • If the sidechain minting process were to be automated, it would require that the sidechain accounts are derived using the same seeds as the mainchain account, similarly to how Essentials currently works. Accordingly, users would have to import their keys to Metamask (or otherwise) to access their sidechain ELA. This could be a less than ideal situation from a security perspective.

These are simply rough concepts, and I yield to the Gelaxy blockchain team for their thoughts on technical feasibility and implementation.

Conclusions

In summary, by enabling ELA holders to vote on the mainchain and use their ELA on the sidechains at the same time, I believe we would have a much healthier ecosystem overall. Security would be improved because supernodes would be elected based on merit rather than how much they pay. Supernode income would increase because they would not need to share profits with voters. Economic burden for operating a supernode would be reduced. Users would no longer need to decide between keeping their ELA on the mainchain or a sidechain and deal with the friction inherent to the cross-chain transfer process. DAO participation would be improved because users would not have to move their ELA back to the mainchain to vote. It’s a win-win-win-win.

I re-iterate that these are just general ideas at this stage and need to be properly evaluated with regard to their technical implications. Nevertheless, I look forward to feedback and further discussion from the core teams and community.

--

--