It is common to hear people say "why do we have to pay transaction fees to use this coin?" Some elaborate more and say "blocking premiums are not enough?" These miners are extorting us. "
In this article, I will try to explain why blockchains need taxes to be sustainable.
Well, if the goal was just to encourage miners to mine mine, then yes, blocking premiums are enough, at least for a while. Perhaps after some stops, this could change for BTC, but today it is not a determining factor.
According to https://www.blockchain.com/pt/charts/transaction-fees, in the vast majority of days in the last 6 months, the volume collected with commissions does not exceed 30 BTC. For comparison, considering 12.5 BTC as the basic bonus and 10 minutes as the average time between the blocks, 1,800 BTC are generated per day. Currently, taxes are less than 1.5% of miners' income on average.
theoretically, blockchains we are decentralized. Furthermore, they should be immutable is uncensored. Considering these idiosyncrasies, there must be ways to defend the ecosystem of attacks without centralized interventions.
The Proof of Work protocol itself is a way to protect the blockchain. By solving the problem of the Byzantine generals, it is possible to neutralize corrupt players without a central authority. The same applies to transaction fees: they are necessary to prevent unscrupulous people from flooding the network, even if they also serve as a form of incentive for miners.
Flood attack / Dustproof sponge / Penny spent attack
A attack flood / spam spam / attack spend penny it is an attack characterized by the sending of infinitesimal fractions of certain cryptocurrencies to an absurd number of different addresses. If there were no commissions, an attacker could do it for free, filling the blocks of unnecessary transactions, increasing the size of the blockchain unnecessarily, increasing the consumption of RAM with UTXO and making it impossible for people to run a complete node. This would kill any chain after a while.
According to https://www.blockchain.com/pt/charts/utxo-count, there are currently around 60,000,000 transaction outputs that are not turned off in the Bitcoin network. How much would it cost to double it?
Well, you can create large transactions with many exits to minimize taxes. Assuming 10 bytes for the transaction header, 100 bytes for the inputs and the previous transaction reference and 50 bytes for each output, you can create 200 outputs with a transaction (10 + 100 + 50 * 200) = 10110 bytes . Paying 3 satoshi / byte results in 30330 satoshis per transaction. While 1 satoshi has been sent in each output, the price is 30530 for 200 outputs.
So doubling the UTXO Bitcoin would cost 92 BTC with a 3 sathike / byte fee. The blockchain of ~ 3 GB would also increase. But it is very unlikely that miners will add so many transactions for so little, and even less likely to do so with such large transactions. Considering the competitive rates of 42 satoshis / bytes to be added in the next block, it would cost 1274 BTC. It is also necessary to consider how long it will take to do it. Assuming that this madman puts one of these transactions by block, it would take 300,000 blocks, something like 5.7 years. I classify such an attack as not feasible. In addition, the UTXO database tends to grow naturally, after a long time that natural growth is significant in itself. Therefore, BTC passed the test, Despite being targeted by a similar attack 3 years ago, which has been able to flood the mempoli of many knots.
A not so small note: although it is much cheaper to invade the mempool of many complete nodes than to increase the size of the UTXO set, each node has its own mempool and only stores transactions that have not been added to any block. There is no consensus on transactions not added in the blocks, and this is a part of the protocol. Network nodes should not trust anything until they have demonstrated their legitimacy according to the rules of the protocol. If you look at the mempool of blockchain.info, it might or may not be similar to mempools of other nodes. If no miner adds spam transactions to their blocks, they will eventually be deleted from most nodes. The non-switched outputs, on the other hand, must be memorized by each complete node and can remain immobile forever.
The historical case of Litecoin
Litecoin was probably the first cryptocurrency that suffered this attack
Litecoin has suffered a similar problem in 2011 with some bad actor who has spammed the chain with about 23.538.000 UTXO of 1 litoshi each. Even today, these UTXOs account for over 50% of all non-expenditure expenditures of the Litecoin chain. The problem has apparently been solved by creating a mechanism that defines a minimum transaction fee depending on the difficulty of extraction. According to Charlie Lee's comments on BitcoinTalk at the moment, it seems that the minimum commission formula was defined as BaseFee = (0.1 / difficulty) LTC, with a limit of 0.1 LTC.
Recently on Reddit, Charlie Lee has raised the possibility of marking these outputs as not expendable through the bifurcation, since it would not be feasible to pass them anyway because of the commissions on transactions that are much higher than 1 lithoshi. This would reduce by half the amount of RAM used to load the UTXO database.
It is a very controversial subject, because although it is not worth spending these lithos, this can still be considered a censorship. The community came to the opinion that this change would be a bad precedent for the currency and they decided to do nothing. They are in agreement with their decision. One DAO is sufficient.
The case of Nano
Nano is a case a little different than most cryptocurrencies. It has some fundamental differences compared to the Bitcoin blockchain. They call it block-lattice, in practice, it's as if every "account" had its blockchain. Dwarf transactions are unpretentious in the sense of paying the tax with the currency; instead, people make a light PoW when they send transactions to prevent attacks. So doing PoW is the Nano fee.
Since this PoW also needs to be useful from a third-class smartphone, it is relatively inexpensive to spam the network. But how to solve this without arbitrary and decentralized censorship? Well, they could reduce their parallel PoW, reducing the advantage of multi-threaded machines compared to less robust systems, but this does not seem to be enough.
It seems they try to solve this problem by pruning low-balance accounts in incomplete nodes. I do not think this is a good way to solve the problem, as it discourages people from executing a complete node. After all, the Nano consensus is DPoS, therefore in theoryIt is not so bad that people do not have their whole knot.
In fact, all the DPoS currencies I know have centralizing trends, some more, others less. As for the feasibility of Nano, I think it is about finding ways to make it as little as possible for people to have an entire node if they wish, otherwise it will tend to centralize. Will this model work in the long run? This is the question.
EOS and DPoS
Many people claim that EOS is not a blockchain. I am particularly on agreement, but this is not the case now. This notorious currency focused on the smart contract has very high feeless transactions and TPS.
The point is that these things are not impressive when all transactions are validated by only 21 entities. This is why it seems to be just a distributed database. Even the recovery of compromised funds is not very exciting. The low circulation of the currencies also renders the voting system flawed, giving the power to control the currency to an oligarchic group and discouraging the holders of lower quotas to vote.
DPoS blockchains are inherently based on trust. It usually also implies that censorship is possible. This is an indication that in order to have a network without taxes it is necessary to sacrifice the characteristic elements of the blockchain technology. So, why is a blockchain also necessary for this network? I do not know, maybe it's wiser to ask the developers or the community.
Bearing in mind the points raised, it is necessary to understand why blockchain technology is important is what distinguishes it from everything else. What characteristics should be remembered when thinking of blockchains?
This is my list of what should be a blockchain, or at least try to be: secure, without trust, immutable, without censorship, decentralized, without permission, resistant, antifragile, adaptable and sustainable.
If you need to sacrifice many of these features just to be meaningless, then it's probably not worth it. Perhaps a centralized solution is more suitable.