Hello everyone,
I hope you’re doing well.
This post is dedicated to XEN’s presence on our blockchain. For those who don’t know, XEN is a multi-chain protocol and token, which is minted via the execution of transactions.
You can find out more at this link or read their whitepaper.
I don’t wish to judge the interest or lack of interest of such a dApp. As a builder, I simply want to point out that this token is detrimental to the smooth running of our chain. As a result, it’s hindering users of other dApps. In my case, when XEN spams the chain, The Great Escape players can no longer play. The same applies to PINK buyers, whose transactions are blocked.
When this happens, it’s extremely annoying as:
- there’s nothing I can do
- Moonbeam’s credibility is damaged
In concrete terms, this is what XEN spamming looks like:
The block is filled with “claimMintRewards” transactions of contract 0xb564A5767A00Ee9075cAC561c427643286F8F4E1
In the last 7 days, this represents 580 000 transactions, for example.
The problem is real for various actors:
- users, who can no longer use dApps,
- collators, who see their infrastructure over-used,
- builders, whose credibility is damaged.
The fundamental problem is that the dynamic fee model of our chain doesn’t adapt well to this spamming, which allows XEN to spam here and prevents the wallets of legit users from picking the right price for their transactions.
After consultation with various ecosystem actors, I’d like to propose several ways of dealing with this problem:
1) Ban XEN from our chain
Not sure of the feasibility, not very decentralized as they don’t do anything illegal.
2) Drastically increase fees for this specific contract.
Very heavy, and perhaps not foolproof as they could redeploy another ERC20. Would require a runtime upgrade.
3) Add an optional flag on the client, which would stop including transactions of a particular contract if it sent too many transactions in the same block.
The idea here would be to have a list of suspicious contracts, perhaps hosted on the foundation’s github. The flag would be activated when the threshold is exceeded.
4) Ask collators to stop including XEN transactions
Difficult to implement (as there is no consensus or incentives to do so).
Between the challenges of decentralization and the technical realities, it seems to me that option 3 is the most appropriate.
Still, I’m not a core dev, so I’d be very curious and interested to hear the community’s opinions on these various proposals.
I’ll conclude this post by saying that Moonbeam belongs to its users. Technology must follow usage. If we all agree that XEN is a problem, it’s up to us to come up with a solution.