I propose that we increase on-chain transaction (TX) fees.
I see two general reasons for doing this, which I’ll address first, in Part 1, before getting into the particulars in Part 2. In sum, a negligible increase in TX fees will (A) substantially decrease the supply—if, in a subsequent proposal, we establish an automatic on-chain burn—and it will, more importantly, (B) substantially increase the security of XDC.
Finally, in Part 3, I’ll mention an additional consideration, about the (currently, centralized) way in which masternodes are rewarded, which, I think, should be taken into account in all of this.
The XDC Network is currently micro-inflationary. That is, the network mints about 88,237,728 XDC per year in order to reward masternodes. It’s important to understand that this relatively small amount of minting is crucial to keep the network secure. A permissionless blockchain depends for its safety on properly incentivized network participants. In this case, it’s imperative that the masternodes entrusted with validating the network be incentivized to do so—meaning, rewarded with XDC—and it’s equally imperative that they be rewarded with XDC automatically, in a decentralized way, by the network itself. Without decentralized, automated minting, the masternodes would be dependent on someone or something else for their income, which would put the network at risk. In short, if anything were to happen to the entity subsidizing the masternodes, or if that entity were to engage in any misbehavior, the system of incentives that keeps the network afloat would break down.
But, while minting is absolutely necessary for this reason, we can offset at least some of its inflationary effects by increasing the TX fees as well as the burn rate of XDC, which will serve to decrease XDC’s supply and maybe even, eventually, make XDC deflationary.
XDC Network users always have the option of sending XDC to the burn contract, and some dApps have been designed to do this automatically. But there is presently no automatic on-chain burn mechanism. Only about 700,000 XDC has been manually sent to the burn contract since the network went live in 2019. As compared with about 300,000,000 XDC minted, that isn’t much.
So, this is the first reason why I am proposing that we increase the TX fees: if we decide to increase TX fees, we can then move ahead with a separate proposal to add an automated burn, thus making make the XDC Network less inflationary and maybe even, eventually, deflationary.
But, as important as that is, the second reason for doing this is much, much more important than the first.
Sending a transaction on a permissionless blockchain requires users to pay a relatively small fee. These TX fees, generally speaking, serve two distinct purposes:
First, since the fees are paid in whole or in part to validators (masternodes), they serve to reward validators for good behavior.
Second, since it costs something to send a transaction, TX fees serve to deter spam, which can create network congestion, degrade the network’s performance, and even, in the worst case scenario, bring down the network entirely. Spamming can be unintentional; but it can also be intentional, as when a bad actor launches a Distributed-Denial-Of-Service (DDoS) attack.
When setting on-chain TX fees, it is therefore necessary to strike a balance between affordability and security. On the one hand, if TX fees are too high, users will be deterred from using the network, which will of course prevent widespread adoption … and that’s no good … BUT, on the other hand, if TX fees are too low, the network can be spammed to death … and that’s not good either.
To illustrate the dilemma we face, consider the case of Ethereum as compared with Solana. XDC was designed partly in order to fill the gap left by Ethereum (ETH), with its prohibitively high TX fees. But Ethereum’s high TX fees, while they deter network adoption, actually do a very good job of keeping the network safe from spamming and DDoS attacks. On the other hand, Solana (SOL) has been vulnerable to multiple high-profile network failures owing partly to the fact that it has such low TX fees: https://www.yahoo.com/video/solana-latest-ddos-attack-leads-120022342.html.
The bad news is that XDC’s TX fees are currently too low to deter spamming and DDoS attacks. A typical transaction on the XDC Network costs at a maximum about 0.0004 XDC (or about $0.000012 @ $0.03/XDC)—usually, transactions are actually much less expensive than that (around 0.000021 XDC), but we’ll err on the side of caution here and go with maximum. Since every block can carry a maximum of 4,000 transactions, it would only cost, at most, about 1.6 XDC to fill an entire block (or about $0.05). And since there are about 1,800 blocks every hour, it would only cost, at most, about $90 to jam the network for an hour, which comes to about $2,160 for an entire day. That’s not costly enough to deter malicious actors or even just innocent, overactive users from clogging the network up.
So, this is the second, and more important, reason why I am proposing that we increase the TX fees: to make the XDC Network more secure and future-proof.
The good news is that TX fees are currently so infinitesimally low on XDC that even if we were to increase TX fees 5x or 10x or even 20x, for example, there would be little to no impact on the network’s affordability.
A 5x increase in TX fees would come to about 0.002 XDC or about $0.00006/TX.
A 10x increase would come to about 0.0048 XDC or about $0.000144/TX.
A 20x increase would come to about 0.008 XDC or about $0.00024/TX.
Needless to say, the cost would remain negligible from the point of view of the end-user. But a 5x increase would bring the cost of a DDoS attack over a 24-hour up to $10,800, a 10x increase would bring the cost up to $21,600, and a 20x increase would bring the cost up to $43,200.
In addition to this, a 5x, 10x, or even 20x increase in TX fees would allow the network to burn a more substantial amount of XDC with every TX, potentially doing more to offset the micro-inflation due to the ongoing minting.
That would mean, specifically, if there are on average 10 TXs pers second happening on chain, and if the TX fees were increased by 5x, 10x, or 20x, there would be .02 XDC (or $0.0003), 0.048 XDC (or $0.0006), or 0.08 XDC (or $0.0012) collected per second, respectively. Or, respectively, 630,720 XDC, 1,513,655 XDC, 2,522,800 XDC collected per year. If there are more or less TXs happening per second on chain, the annual amount of XDC collected would of course increase or decrease accordingly.
But the key thing here is that, since all of that XDC could be burned, yearly inflation on XDC would be cut … almost in half, for example, if there were 150 TXs happening per second and TX fees were increased by 20x.
So, in conclusion, by increasing TX fees, we can improve the security of the network. Moreover, if, in a subsequent proposal/vote, we go on to establish an automatic on-chain burn of the newly increased TX fees, we can cut down on inflation. All in all, with this increase, we will be future-proofing XDC and paving the way for additional future-proofing. The most important thing here, I think, is that we take the initiative and increase the TX fees proactively, and not wait until after the XDC Network is subjected to a DDoS attack, which is likely to happen as the Network gains more and more traction and is adopted ever more widely. Lastly, remember that the calculations above are all based on the maximum TX fee, not the average, which is orders of magnitude lower than the maximum.
A final consideration.
Masternodes are currently subsidized by funds set aside by XinFin in an ecosystem development fund wallet. Since there is not enough on-chain minting to ensure that masternodes receive the expected 8-10% APY, rewards are manually dispensed to node operators by the tech team every month. Core masternodes are partly and standby masternodes are fully subsidized in this way. However, because the process by which masternodes are rewarded is largely manual, rather than fully automatic, the network is less secure than it could or should be. For, to repeat, if anything were to happen to the entity subsidizing the masternodes, or if that entity were to engage in any misbehavior, the system of incentives that keeps the network afloat would break down.
We should, for this reason, be working toward a fully automated and thus fully decentralized incentive-structure, one in which masternodes are not dependent on monthly payments from any entity, including even XinFin itself. Increasing the TX fees will make it possible, sometime down the road, to generate more rewards from the network and distribute them to masternodes … automatically, in a decentralized way, and not manually.
At the stage, I’m not proposing a specific TX fee increase. Instead, I’m proposing that we agree (or disagree) to increase the TX fee on XDC, probably anywhere between 5-20x ... for all of the abovementioned reasons.
Once we agree on that—if we do—then we can move forward with additional proposals. First, we’ll vote on exactly how much to increase the TX fees. Then, once we decide how much to increase the TX fees, we can decide whether to automatically burn some/all of the larger amount of TX fees collected, and whether (and how) to reward masternodes automatically from the increased TX fees.
Comments are, of course, welcome below.
When you’ve made up your mind, please cast your vote in the comments section: Vote = YES or NO.
Voting will begin today, Thursday, November 10, at 8 AM (EST) and end Thursday November 17 at 8 AM (EST).
Thanks to all in advance for participating in this process!
Thanks again for participating. The results are as follows:
Total Votes: 96
YES votes: 95
NO votes: 1
The wayback machine keeps failing to archive the pages. As soon as it works, I'll update the post with links to the archives pages.