Blockchains Are Not Free

in #bitcoin7 years ago

There is a common misconception that has really always persisted in the blockchain space, especially with bitcoin early on. One of the large selling points for those looking to use bitcoin in the early days was the idea that transactions were basically free, an idea that was ultimately pushed through for much longer than it should have. Even today we see new altcoins claiming free transactions, when in reality, with any success, the truth will be vastly different.

Once bitcoin saw adoption at higher levels and the mempool began to experience times of congestion, the reality of transaction fees became very apparent. Some people adapted but many others also started to feel disenfranchised with the protocol, feeling like they had been lied to from the beginning. The problem was the narrative of free transactions was carried for way too long and many people in the space today still are under the assumption that blockchains are free.

If the title of the article didn’t give away the premise, well here it is, blockchains are not free and there will never be a blockchain that will be completely free to use. Why not? Simply put, the demand for free data is near infinite compared to the computers in the world that could actually store the data. Many times blockchains are not efficient in terms of cost, they offer a trade off between cost and security which is why you would use a blockchain compared to a simple database.

Even if a blockchain allowed infinite free data to be stored on it, the demand would far outweigh the supply. There is a reason why companies like dropbox only offer a certain amount of free storage to people and its because the second you allow unlimited free storage to anyone everywhere, you start getting people pivoting businesses to capitalize on that free storage. Why pay a company to host data when they could host it for completely free? This is exactly what companies will end up doing.

Certain blockchains might be free for a while, but in general blockchains are not free and the utility and security they offer is something that needs to be paid for. Once real demand and usability comes to the specific blockchain, you will see how easy it is to clog up the chain with all types of transactions. Satoshi Dice, one of the first notable dice games in bitcoin for a long period of time literally would send a transaction with a single satoshi saying whether or not you won or lost. Ethereum claimed they were near free until the ICO market came and transactions got stuck for hours with people trying to get in their transactions. Free never lasts when there is an inherent cost to block chain technology.


Thanks to @Elyaque for the badges

Sort:  

Blockchains offering free transactions basically "pay" the transactions through inflation of the money supply. Like with Bitcoin, miners are getting a reward for every block they produce, this is "new printed money". With Bitcoin, we're seeing an ever-increasing demand and that the new supply of money is much lower than the new demand, hence the Bitcoin price is still rising.

If the point of this article is to mock blockchains offering free transactions ... then, yes, the author does have a point. I doubt bitshares, steemit and other platforms offering real free transactions really are as secure as Bitcoin. And yes, someone has to draw the line somewhere. Everyone could theoretically store an encrypted backup of their photo album on steemit, and without any safeguards such abuse is bound to happen (and even with safeguards ... the only good safeguard is to make transactions non-free).

At the other hand, this post is also about Bitcoin fees. Parts of the Bitcoin community argues that the Bitcoin fees are currently artificially high. In 2010, Satoshi threw in a temporary arbritrary 1 MB block size limit just to avoid DoS-attacks (at least according to those cooperating with him at that time; some people contest this and claim the limit was never meant to be temporary and that it's an essential part of the Bitcoin protocol). At the time the limit was thrown in, the median block sizes were some few kilobytes each, so for all practical purposes the limit was "invisible" until around 2014. Yes, the SatoshiDice gambling service has probably caused quite some sympathy for the said limit, but except for that the "free" block space was rarely abused.

If there should be any doubt, I do think that the bitcoin fees are artificially high. Yes, at some distant point in the future, it's probably reasonable that an on-chain bitcoin transaction should cost the same as a full shopping bag of groceries, but right now it's too early, it's killing adoption of Bitcoin as a payment platform.

There is quite some people rallying behind the 1 MB block limit, and I agree that it's a good idea to be prudent and keep some limits on the rate of blockchain data growth, but ... no, neither SegWit nor lightning are "silver bullets" in this regard, we do need bigger blocks - and cheaper transactions!

Wow well written

I'm still a bitcoin newb, can someone explain to me how the transaction fees are calculated? Does the sender or receiver of the bitcoin pay for the transaction fee?

It's complicated.

The sender pays the fee, BUT the fee is dependent on the number of "inputs" (and "outputs") in the transaction. It's also dependent on the "traffic jams", sometimes (still!) transactions goes through almost for free, other times it costs a fortune. To complicate matters, the sender is free to choose how much fee to spend (and even 0 is a valid option) - but if the fee is too low, the transaction may not get confirmed, the receiver will not get the money. Even worse, the transaction may get "stuck" in the mempool for three days. Also, the receiver may try to spend "unconfirmed" funds, and if paying a sufficiently high fee, both transaction may confirm faster. This is called "Child Pays for Parent" (CPFP).

Let's take an example. I have received 5 BTC from someone, and I borrow 1 BTC to my aunt. It's a simple one-input-two-output-transaction; a 5 BTC input, a 1 BTC output and an almost 4 BTC output to myself ("change"). I pay 0.0001 in fees, so 1.0001 sent. The fee was too low, so my aunt will spend 0.001 btc when sending those funds further. In this case, the receiver actually paid most of the fee.

Then she pays me 0.001 BTC each day in interests. One day I have 0.1 BTC in my wallet, but spread over 100 inputs. There is peak traffic on the blockchain, and I need a fast confirmation. The transaction should have costed 0.001 BTC if it was a simple one-input-two-outputs-transaction, but instead it costs maybe 0.04, which is 40% of what I have in my wallet!

With SegWit, the input part of the transaction gets a discount. It won't help in the situation above, but if I empty my wallet, generate a new SegWit address and my aunt starts paying to that one, then next time I have 0.1 BTC in my wallet and need to move it during prime time, I will need to spend "only" 0.01 instead of 0.04.

With Lightning ... well, the problem is that I would need to spend probably 0.05 just to move those funds into the Lightning network, and yet more transaction fees to close the lightning channel ... and, more importantly, both the sender and the receiver needs to be connected to the lightning network, sharing some path (probably through some centralized hub) in order to use the lightning network. I tend to believe that still in a year, take two random peers, and the likelihood that they can easily transact through some shared alt-coin is higher than that they will be able to transact through the lightning network.

I guess they really aren't free. Still not sure why you used the giant FREE graphic. :p


http://www.FlippyCoin.com is the #1 Cryptocurrency Exchange!

Its a fee market so the higher you pay the better chance you have to be included in the block

Usually the sender pays the fee, the minimum fee is based on a complex formula that I don't know completely, but it's based on the number of inputs to the transaction. More inputs means more space needed in the block to represent the transaction, and blocks have limited space.
What has happened recently as the article says, is as the amount of available space in each block has diminished (due to more transactions), even single input transactions have needed higher fees, otherwise they get left out of the block (in favour of other transactions that did set higher fees). So then a marketplace opens up where people 'bid' to get their transactions included by adding more fees.

I have been wondering how the transaction fees are calculated

you (or your wallet) decide how much you are willing to pay. you can easily decide to put a .00000000 fee in that field, BUT it's very probable that in this case no miner will be willing to procede your transaction. basically it's a bidding mechanism.

The sender will pay for the transaction fee.

Agreed and setting fees stops spam transactions. What I don't understand is why anyone would send a transaction in Bitcoin, which is slow and expensive compared to say other reliable coins like my favourites #gridcoin or #solarcoin, which are much faster and have far lower fees (even when exchange fees are added).
Theoretically you would expect party A and B to negotiate a payment method that suits them both. Party A owes party B 1BTC; party A offers party B the market rate of 1BTC in an altcoin, party B complains about exchange fees to return the balance to BTC, party A counters that the uncertainty of block inclusion and speed of payment in BTC should offset party B exchange fees. Party B considers that value is value and accepts a far faster payment in the altcoin.
Then consider exchanges have zero fees and it's clear that using altcoins is faster and cheaper.
Current recommended fee is 0.1%,

What I don't understand is why anyone would send a transaction in Bitcoin, which is slow and expensive compared to say other reliable coins like my favourites #gridcoin or #solarcoin, which are much faster and have far lower fees (even when exchange fees are added).

Network effect, network effect, brand name and network effect.

"Everyone" has heard about Bitcoin, while even quite some insiders in the crypto-currency-community haven't heard about your favorite coins. It's needed with two parties to transact, and both parties needs to support the same coin. Even if both parties does support one other alt, the likelihood that both of them supports the same alt is small.

I believe that there are lots and lots and lots of ordinary folks that buys Bitcoin as an investment. Brand name matters; probably Bitcoin seems to be a much safer bet than some random altcoin.

And then the on-ramps and off-ramps matters too. If you have physical cash and want to exchange it into crypto currency, what would you do? Most likely you'd visit a site like Localbitcoins - and they serve only bitcoins, period. So even if you want to exchange your physical cash into some rare altcoin, you'd probably go via Bitcoin.

What I really don't understand is why organizations like OpenBazaar and BitPay still stick to their Bitcoin-only-policy. With payments being their bread-and-butter, it would most likely be prudent to diversify and give people options to use cheaper and better alternatives; particularly when even the current Bitcoin developers seems to think the Bitcoin is not for payments but for "store of value".

Right, I suppose I should have said crypto-aficionados! The general public are going to get sucked into whatever the headlines tell them to buy.
Also as you allude to, most people just want to get-rich-quick and aren't interested in a new payments system, let's hope that can get turned around at some point.

The general public are going to get sucked into whatever the headlines tell them to buy.
Also as you allude to, most people just want to get-rich-quick and aren't interested in a new payments system,

And that's most likely what's driving the crypto bubble - common folks searching for a profitable place to invest their savings.

I believe what gives Bitcoin value is the promise of usability as a means of payment. It is not and cannot be a safe "store of value" without a good usability value - if the only usability case is speculation on future bitcoin prices (plus some criminal corner-cases, including tax evasion), then Bitcoin is just an advanced ponzi scheme, it's bound to crash hard at some point.

I have some digital tulips for sale! Do you want to buy some?

I totally agree, it is a general misconception. People just follow a hype and only when they lose money, they start to research how crypto works as such.

Love the truth. Thats the reason I still believe in bitcoin. It had just gonw through so many problems already and keeps on pushing through even if it is a slow pace game.

Thank you @calaber24p
Very interesting post.

Thanks @calaber24p. I'd love to hear your thoughts on steems "free transactions". I hear fast and free transactions associated with steem a lot. Wondering where you're at with that idea. Thanks!!

You show good amount of knowledge of the history of transaction fees in the bitcoin and crypto world. I'm going to follow and upvote your post because I thought it was informative and valuable, which is what steemit is for. Good job!!

Well it seems kinda logical, you still use a service someone has to provide. Although I would think it to be near free at some point in technology's revolution...

Some of the competing cryptos use Proof of Stake say vs proof of work which would appear to be inherently cheaper vs burning electricity to mine. Is it necessarily less secure?