Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: larry_vw_1955 on July 31, 2021, 04:43:14 AM



Title: How to give btc users no transaction fees.
Post by: larry_vw_1955 on July 31, 2021, 04:43:14 AM
Introduction

Casual bitcoin users should have a way to get a free transaction every now and then. In fact, every user should have that privilege. That would help them to understand how to create transactions and they could experiment with very small amounts first so that they didn't make a big mistake and give all their funds to someone mistakenly.

Now there are problems with doing something like that. One of them is that people would try and abuse the privilege. So it's not so trivial to come up with something that would stop that. Also, miners rely on fees to some extent so they need to be incentivized to mine no-fee transactions as well. Otherwise, the whole thing wouldn't work.

Miner incentive

Pay miners a block reward which is competitive with what they would get if they mined a normal block that contained transactions that paid fees. But only if the entire block is filled with no-fee transactions. I would tend to favor a constant block reward that doesn't decrease with time for this purpose, thus ensuring that miners might even put a premium on mining no-fee transactions.


Also having a list of rules that free transactions must follow in order to be able to pay no transaction fee would be a necessary thing.

Consensus Rules

Rule #1: Reject no-fee transactions that have a high number of vouts.

Regarding rule #1, this number could be something that changes with the state of the network or it might be some fixed hard-coded number like anything greater than "two".

Rule #2: Reject no-fee transactions that have any of their inputs that are too recent.

Someone that recently got sent money shouldn't need to be sending it out immediately. If that's not the case, they can pay a fee to do it.

Rule #3: Reject no-fee transactions if the sender got a no-fee transaction in the recent past.

They don't need to be able to send no-fee transactions all the time, just every now and then.

Rule #4: Reject no-fee transactions that have a high number of vins with one potential exception which is that if they are consolidating their utxos and sending them straight back to the same address with no change address (that might possibly be allowed, not sure).

A high number of vins in general indicates some type of business or power user. But in order to help reduce the size of the utxo set, it might be beneficial to allow people to do a no-fee transaction to consolidate their utxos.

Rule #5: Require some amount of proof of work to submit a no-fee transaction.

That way people won't waste the network's time in submitting transactions that just get rejected without wasting some of their own resources.

Rule #6: Reject no-fee transactions where the output size of any of the last n transaction IDs leading up to it is larger than m for any of the inputs.

That way someone can't send a large batch of transactions to 500 different addresses and then try and get free transactions from each individual address until they use each individual address a certain amount first.

Rule #7: Reject no-fee transactions where any one of the outputs gets send to an address that has recently received a no-fee transaction.

This would indicate someone is a business of some type.


Outlook


The outlook for bitcoin's future as far as transaction fees are concerned is that they are likely to get higher. Since the block rewards are decreasing, miners must get their income from higher transaction fees. This does not benefit bitcoin users though. In fact, it could make bitcoin be unusable for someone that just wants to use bitcoin to transfer small amounts of money. That has already happened to some degree but it's likely to get much worse unless something is done to alleviate the issue.

Ref: 1BEB4859-B30C-489F-96B2-A76EFBF319B8


Title: Re: How to give btc users no transaction fees.
Post by: pooya87 on July 31, 2021, 04:58:41 AM
This means when BTC price is high in USD value, users tend to pay more than they should have to whereas if BTC price was low, they wouldn't be paying as much as they should.
Users pay fees based on their transaction weight and the "competition" for the block space not based on USD price of bitcoin.

Quote
Possible solutions
These aren't solutions. For starters the miners don't rely on the fees, they are getting paid more than enough with the block reward and will continue earning more money as price keeps going up. Also as I said the fees aren't set based on what the block reward is, it is based on the competition for the block space.

Quote
But it could be remedied somewhat by requiring users to do some form of proof of work.
That makes bitcoin unusable for everyone.


Title: Re: How to give btc users no transaction fees.
Post by: joniboini on July 31, 2021, 09:05:55 AM
2) Have a constant block reward for mining so that miners do not need to supplement their earnings by charging transaction fees to bitcoin users.
So you want an infinite supply of coins then? I think this is part of an ongoing discussion on how to solve the incentive issue when the block rewards are emptied, but I don't think a lot of people would agree with this. Scarcity is one of Bitcoin's selling points so removing it doesn't make sense.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on July 31, 2021, 09:15:29 AM
1) Offer a higher block reward for miners who mine transactions that have no transaction fee as long as all the transactions in the block being mined pay zero transaction fees.
So then you run in to a scenario where there are a handful of fee paying transactions, but the combined total fee of all these transactions is less than the difference in block reward for mining a no-fee block. Miners are now incentivized to ignore the fee paying transactions and mine zero fee transactions instead, no one who wants a confirmation will pay a fee, and the fee paying transactions get stuck until they are dropped or someone RBFs an astronomical fee to overcome the deficit.

2) Have a constant block reward for mining so that miners do not need to supplement their earnings by charging transaction fees to bitcoin users.
Users would still pay fees to prioritize themselves over other transactions. The only thing that would change would be when the mempool is empty, people would pay 0 instead of 1 sat/vbyte, which would only change the total fees paid by a few mBTC at most.


Title: Re: How to give btc users no transaction fees.
Post by: ranochigo on July 31, 2021, 10:40:15 AM
PoW works on the concept that it expends some resources while making it trivial for the rest of the network to validate. Adding additional strain to process like this isn't really ideal; we aren't looking to make it more expensive resource wise for validation than required.

I don't see fees as necessarily something that is required by the miner, in the context of coin distribution. You could very well get away with a tail emission and ensuring that block rewards are never really zero. That won't be implemented in Bitcoin. I don't think we need to necessarily make Bitcoin more complicated as it is, having users pay transaction fees is not a bad idea at all. If you were to enforce PoW, then people are going to eventually spend the equivalent as paying a fee and it would probably just be better to pay the fees, for the network and for the users themselves.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on July 31, 2021, 12:40:51 PM
Users pay fees based on their transaction weight and the "competition" for the block space not based on USD price of bitcoin.
I guess that the OP understands it like that:

Assuming that the user wants to transfer the equivalent of $10,000 in Bitcoin.

Case where 1 BTC = $10,000.
  • User creates a transaction that moves 1 BTC and pays 1000 sats in fees.
  • The user has paid the equivalent of $0.01 in fees.

Case where 1 BTC = $20,000.
  • User creates a transaction that moves 0.5 BTC and pays 1000 sats in fees.
  • The user has paid the equivalent of $0.02 in fees.

It doesn't matter if the mempool is empty or not; if both transactions weight the same and pay the same amount of BTC to the miner, then the user seems to pay more in the equivalent of dollars in fees if the price rises.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on July 31, 2021, 12:59:35 PM
-snip-
When you are transacting in bitcoin, there is absolutely no point considering fees in USD or any other currency. If I am paying by credit card, would I consider any additional fees in terms of yen? If I am buying a money order, would I consider the fee I pay in terms of rubles? Of course not; nobody would. So why would it be any different for bitcoin?

Further, even if you do consider fees in terms of USD, then even if the USD value is static then your fee can vary greatly, as you have pointed out. The fees that I pay are affected far more by the type of transaction I am making and when I am making it than by the price of bitcoin in USD. If I use segwit instead of legacy and smartly choose the time to consolidate my inputs, then I can save >99% on fees. Even if the bitcoin price swings by several thousand dollars, then my fee in terms of USD will only change by a few percent.



Title: Re: How to give btc users no transaction fees.
Post by: dkbit98 on July 31, 2021, 01:06:33 PM
I see a possible solution that can work with sending temporary private keys to other user that can use and activate that private key.
Something similar is used by Chipmixer and there is one wallet called Mercury that is using this idea for improving privacy on Bitcoin using layer-2 scaling technology based on statechains.
For sending a private key you don't need to pay any fees, but there needs to be some trustless solution to avoid scamming and abuse.
Another way is paying (almost) no fee using Lightning Network for sending Bitcoin.


Title: Re: How to give btc users no transaction fees.
Post by: bitmover on July 31, 2021, 01:48:23 PM
2) Have a constant block reward for mining so that miners do not need to supplement their earnings by charging transaction fees to bitcoin users.

I think you are missing the point.

It is possible to pay higher/lower fees based on the user hurry.

If I really need to get a confirmation in the next block, it is important for me to pay for a high priority transaction.
On the other hand, if I can wait for a week, it is also important to have an option to send for lower fees.

You are paying for what you get. And as pooya87 pointed out, miners do not need transactions fees to make money ( at least not for now). Block subsidy (6.25) is more than enough to pay for their expenses.

Further, even if you do consider fees in terms of USD, then even if the USD value is static then your fee can vary greatly, as you have pointed out. The fees that I pay are affected far more by the type of transaction I am making and when I am making it than by the price of bitcoin in USD. If I use segwit instead of legacy and smartly choose the time to consolidate my inputs, then I can save >99% on fees. Even if the bitcoin price swings by several thousand dollars, then my fee in terms of USD will only change by a few percent.

I agree with this. I have pointed out many times that fiat currencies also have a high volatility. USD and EUR are not so volatile as other currencies. For example, BRL is very volatile.

Take a look at USD BRL charts over the last 5 years: 63% variation
https://i.imgur.com/xUcibME.png

Since the pandemia started (march 2020) BRL lost 21% value against USD.

This is a very high volatility, and people live here with this volatility. Just as bitcoin users live and make transactions with BTC volatility.

I think that in long term, there might be a possibility to create sub  satoshi/vbyte transactions, as bitcoin prices gets higher...


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on July 31, 2021, 03:00:12 PM
I think that in long term, there might be a possibility to create sub  satoshi/vbyte transactions, as bitcoin prices gets higher...
Easy enough to do. Fees are generally defined in the code as "per kilobyte" rather than "per byte", so the minimum relay fee is currently set at 1000 sats/kilobyte, which obviously works out to the 1 sat/byte which we are all familiar with. Easy enough, then, to simply change that to 500 or 100 or whatever sats/kilobyte which converts to 0.5 or 0.1 sats/byte.

In Bitcoin Core version 0.11.1, the minimum fee was temporarily increased to 5000 sats/kilobyte or 5 sats/byte to protect against transaction flooding.


Title: Re: How to give btc users no transaction fees.
Post by: odolvlobo on July 31, 2021, 07:50:44 PM
...when BTC price is high in USD value, users tend to pay more than they should ... if BTC price was low, they wouldn't be paying as much as they should. It would make sense then to have some form of regulation of transaction fees rather than just what the market is willing to pay.

What do you mean by users pay more or less than they should? How do you determine what users should pay? Currently, the market determines what users should pay.

Since the block rewards are decreasing, miners must get their income from higher transaction fees.

There is nothing in Bitcoin that requires miners to receive higher fees in order to cover the decreasing subsidy. The effect of a smaller block reward is lower security, so you must show that security is too low before claiming that fees are too low.

In fact, it could make bitcoin be unusable for someone that just wants to use bitcoin to transfer small amounts of money. That has already happened to some degree but it's likely to get much worse unless something is done to alleviate the issue.

It has become apparent to most people now that Bitcoin cannot be used for everything that everyone wants to use it for. If it cannot be used for transferring small amounts (and this is debatable), then that is just the way it is.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 01, 2021, 12:58:25 AM

So then you run in to a scenario where there are a handful of fee paying transactions, but the combined total fee of all these transactions is less than the difference in block reward for mining a no-fee block. Miners are now incentivized to ignore the fee paying transactions and mine zero fee transactions instead, no one who wants a confirmation will pay a fee, and the fee paying transactions get stuck until they are dropped or someone RBFs an astronomical fee to overcome the deficit.


 I see your point but someone that has a "stuck transaction" could always submit a new one with no fee I suppose. And get it picked up quick.






Quote
I don't see fees as necessarily something that is required by the miner, in the context of coin distribution. You could very well get away with a tail emission and ensuring that block rewards are never really zero. That won't be implemented in Bitcoin. I don't think we need to necessarily make Bitcoin more complicated as it is, having users pay transaction fees is not a bad idea at all. If you were to enforce PoW, then people are going to eventually spend the equivalent as paying a fee and it would probably just be better to pay the fees, for the network and for the users themselves.

No one would be enforcing pow on the users or mandating that. It would just be an option. I'd love to have the option to let my cpu do some number crunching in exchange for a free btc transfer. As long as it didn't take too long.



So you want an infinite supply of coins then? I think this is part of an ongoing discussion on how to solve the incentive issue when the block rewards are emptied, but I don't think a lot of people would agree with this. Scarcity is one of Bitcoin's selling points so removing it doesn't make sense.

Well I think there's a delicate balance that has to be achieved. You see, the thing to keep in mind is that as people lose their private keys through whatever events that happen in their lives, the bitcoin supply actually goes down. Thus, having a tail emission does make sense from the perspective of renewing those lost bitcoins. But I don't really think a large tail emission would be ideal.

[moderator's note: consecutive posts merged]


Title: Re: How to give btc users no transaction fees.
Post by: kaggie on August 01, 2021, 04:53:21 AM
So you want an infinite supply of coins then? I think this is part of an ongoing discussion on how to solve the incentive issue when the block rewards are emptied, but I don't think a lot of people would agree with this. Scarcity is one of Bitcoin's selling points so removing it doesn't make sense.

Well I think there's a delicate balance that has to be achieved. You see, the thing to keep in mind is that as people lose their private keys through whatever events that happen in their lives, the bitcoin supply actually goes down. Thus, having a tail emission does make sense from the perspective of renewing those lost bitcoins. But I don't really think a large tail emission would be ideal.

I've lost bitcoin to a crashed encrypted computer, which I had to overwrite because of a deadline.
So that's probably gone forever.
But there's no guarantee that a large amount of bitcoin is truly lost though.
It's an assumption -- a completely impossible to prove assumption.

A lower supply isn't necessarily a bad thing on a macroscopic level.
On an individual level, it no doubt sucks -- but there is no way to reverse transactions without introducing all sorts of protocol flaws.
There isn't a macroscopic reason to renew those bitcoin, as it brings value to the bitcoin that already exist as bitcoin is lost.

There are reasons to keep miners incentivized to secure the network. An infinite supply is fine, but miner rewards should always decrease over time to match the lost bitcoin, or miners would eventually outstrip node power and limit that security benefit.
Small transactions don't need the same security, which is what alt coins and the lightning network are good at.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 01, 2021, 06:04:19 AM
If I am paying by credit card, would I consider any additional fees in terms of yen?
This is a very bad analogy. If you pay with your credit card, the payee can repay his bills or any other person of his country (or nation) with the currency you paid him. There's no point to count the fees in yen, because you are completely unconcerned about that currency if you're not living in China where everyone accepts it. This isn't true with Bitcoin, that's why there are no fixed prices in any store that accepts it. Only a fool would do that.

Just like when you translate a price of a product in terms of USD whether you accept Bitcoin or not, you do it for the mining fees too. In the example above, a person who wants to move the equivalent of $10,000 in Bitcoin pays more as the price arises, because the equivalent in BTC decreases but the fee remains the same.

Even if the bitcoin price swings by several thousand dollars, then my fee in terms of USD will only change by a few percent.
I took the example where both transactions weight the same. Then I doubled the price; the equivalent in fees was doubled too.


Title: Re: How to give btc users no transaction fees.
Post by: ranochigo on August 01, 2021, 07:22:50 AM
No one would be enforcing pow on the users or mandating that. It would just be an option. I'd love to have the option to let my cpu do some number crunching in exchange for a free btc transfer. As long as it didn't take too long.
You can. Miners don't want to include transactions that don't have a fee because there is no benefits in for them, other than to have a slower block propagation. There is nothing that can make miners include zero-fees transaction, arbitrarily giving miners Bitcoins in lieu of transaction fees involves significant economics repercussions and definitely would need far more research in that.

Since a reasonable timeframe for a CPU to generate a sufficiently expensive PoW would be in the range of hours, then it would make little sense. Too cheap, and you risk having spammers clog up the network.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 01, 2021, 10:01:45 AM
I see your point but someone that has a "stuck transaction" could always submit a new one with no fee I suppose. And get it picked up quick.
Except it would be rejected by the network since the mempool already contains a transaction spending those inputs, and RBF cannot be used since the fee on the new transaction would be lower, not higher.

I'd love to have the option to let my cpu do some number crunching in exchange for a free btc transfer. As long as it didn't take too long.
You are still paying for it, just in terms of electricity and hardware degradation rather than in bitcoin. Nothing stopping you from mining some useless altcoin, dumping it for a few hundred sats, and using that to pay your bitcoin fees.

This is a very bad analogy.
I disagree. If a merchant is selling something for bitcoin, I am paying them in bitcoin, and we are making a transaction between our bitcoin wallets, then why would we be calculating the fees in USD? It makes no sense.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 01, 2021, 01:20:20 PM
I disagree. If a merchant is selling something for bitcoin, I am paying them in bitcoin, and we are making a transaction between our bitcoin wallets, then why would we be calculating the fees in USD? It makes no sense.
If we were all able to pay our bills, our purchases from the local market, our education, our health using Bitcoin, it'd start not having much sense to calculate the exchange rate of 1 BTC in terms of USD, because we'd be enough from our self-controlled and decentralized currency. But, since no state accepts it, then the merchant will have to convert these sats to USD; he's constrained into using Bitcoin.

While this currency is one of the most revolutionary moves of all time, you're still living in a society where you're restricted into following certain rules. I've said this before, but adopting a so “anarchist product” into an orderliness world isn't going to really work.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 01, 2021, 01:35:23 PM
If we were all able to pay our bills, our purchases from the local market, our education, our health using Bitcoin, it'd start not having much sense to calculate the exchange rate of 1 BTC in terms of USD, because we'd be enough from our self-controlled and decentralized currency. But, since no state accepts it, then the merchant will have to convert these sats to USD; he's constrained into using Bitcoin.
The merchant can price things in a fluctuating amount of BTC, pegged to a certain amount of USD or other fiat, if they choose. Of course. No problems there. But I have no knowledge of what they are doing with the BTC I send them, nor do I care to know. They could immediately convert it to USD, they could hold it forever, they could pay their staff or suppliers with it, they could buy some shitcoin. Their choice, and none of my concern. All I know is there is something I want to buy for x amount of BTC, I will send the merchant x amount of BTC to purchase that item, and I will pay the fees for this transaction in BTC.

Honestly, I do this multiple times a week. Usually the only reason I know that the bitcoin price has swung significantly is because of posts on this forum. I pretty much never check the price in terms of USD before I spend or use BTC, and I never think of the fee I pay in terms of USD.

While this currency is one of the most revolutionary moves of all time, you're still living in a society where you're restricted into following certain rules. I've said this before, but adopting a so “anarchist product” into an orderliness world isn't going to really work.
And the things I cannot buy with bitcoin I buy with USD. And when spending my USD I think in terms of USD, and any credit card fees or other such fees I calculate and consider in USD. Just as when being charged sales tax on an item I'm buying in USD I don't think of the additional charge in BTC, then when buying an item with BTC I'm not going to think of the fee in USD.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 01, 2021, 02:05:45 PM
All I know is there is something I want to buy for x amount of BTC, I will send the merchant x amount of BTC to purchase that item, and I will pay the fees for this transaction in BTC.
But, why does this amount of BTC changes every single moment? Haven't you wondered that the marketing value of BTC in terms of USD affects your purchase since the merchant will prefer not to keep them in the block chain, but rather convert them to USD?

Just as when being charged sales tax on an item I'm buying in USD I don't think of the additional charge in BTC, then when buying an item with BTC I'm not going to think of the fee in USD.
That may be just you; when I make a purchase I want to make sure the fee that I'll pay won't be high in terms of USD, because I'm generally paying everything in terms of USD. There's no reason to think in terms of USD for the price of the products, but skip the fee.

Ironically, these non-custodial wallets show the equivalent of your fiat you're spending for the mining fee.



Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 01, 2021, 02:30:54 PM
But, why does this amount of BTC changes every single moment?
But I don't see it change every single moment. I see a price displayed when I place my order on a website or when I take my goods to the cashier to be rung up. I don't ask for their conversion rate to USD to see if I'm getting a good deal in USD, and very rarely do I look up the going rate on a web browser myself (usually only if I think something seems expensive in terms of BTC, I'll check if there has been a big price swing since the last time I looked at the price, which could have been weeks ago). Why, when everything else about the transaction is measured in BTC, does it make sense to single out the fee for consideration in USD, especially when the fee is almost always a couple of hundred sats, or in the case of a Lightning payment, completely negligible.

Haven't you wondered that the marketing value of BTC in terms of USD affects your purchase since the merchant will prefer not to keep them in the block chain, but rather convert them to USD?
As I said, it is none of my business what the merchant does with the BTC once he has received them.

There's no reason to think in terms of USD for the price of the products, but skip the fee.
That's the point I'm making. I generally don't think of the price of the product in USD.

Ironically, these non-custodial wallets show the equivalent of your fiat you're spending for the mining fee.
Only if you select a fiat option in the preferences. If you don't select a fiat, then no fiat rate shows.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 01, 2021, 03:02:09 PM
But I don't see it change every single moment. I see a price displayed when I place my order on a website or when I take my goods to the cashier to be rung up.
If the merchant wants USD and not BTC, then the product that costs $10 will be sold for 24,000 sats. If the price suddenly (or not) decreases by 10% then your purchasing power also does too. The merchant won't ask you for 24,000 sats, but for 26,400. Without noticing it, you'd need 2,400 sats more; not because of the demanding; simply because the merchant doesn't ask for a fixed amount of Bitcoins, but measures them in USD instead. So, essentially, what the merchant does with the Bitcoins is a little much of your concern.

I have dealt with someone who was only accepting one fixed price (310,000 sats) for his product. He's allowed to leave it the same forever. The problem is that if Bitcoin becomes more valuable than before, so does his product.

You can't really deny the irony. As long as the currency you use for living isn't Bitcoin, you're doomed to calculate the in-between exchange rate. Fees included.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 01, 2021, 03:24:04 PM
If the merchant wants USD and not BTC, then the product that costs $10 will be sold for 24,000 sats. If the price suddenly (or not) decreases by 10% then your purchasing power also does too. The merchant won't ask you for 24,000 sats, but for 26,400. Without noticing it, you'd need 2,400 sats more; not because of the demanding; simply because the merchant doesn't ask for a fixed amount of Bitcoins, but measures them in USD instead.
I appreciate all that. What I'm saying is that I don't care enough to either check the exchange rate or not buy the product or service. If I'm going to use bitcoin as a currency (which I am), then I'm going to use it as a currency, and that means spending it when I need to spend it without thinking "Maybe if I wait till tomorrow I'll get a better rate on this product/service". Just like with DCA for holding, if you just spend it when you want to spend it then it all averages out over time. Sure, sometimes I'll pay a bit more and sometimes I'll pay a bit less, but that's a price (pun intended :P) I'm willing to pay for using bitcoin as a currency.

As long as the currency you use for living isn't Bitcoin, you're doomed to calculate the in-between exchange rate.
Only if there is an item being sold for USD, and I want to sell the necessary amount of BTC to have enough USD to buy that item, which I never do. Anything I can buy with BTC, I buy with BTC. Anything I can't, I buy with USD. I couldn't tell you the last time I actually just sold some BTC for USD in a straight exchange.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 02, 2021, 05:58:09 AM

Except it would be rejected by the network since the mempool already contains a transaction spending those inputs, and RBF cannot be used since the fee on the new transaction would be lower, not higher.

Well of course it wouldn't be rejected. New rules would be in place that allowed a transaction that had a fee to be replaced by a transaction with zero-fee. Similar to RBF but in the other direction.

Quote
You are still paying for it, just in terms of electricity and hardware degradation rather than in bitcoin. Nothing stopping you from mining some useless altcoin, dumping it for a few hundred sats, and using that to pay your bitcoin fees.

Well yes there is, it costs money to get into mining. For example, you can't use an office computer to mine things. It needs expensive GPU which may not last a long time. Then you have to buy another one. Also, you have to be able to find an exchange to unload your "useless altcoin" as you referred to it. And that may not be so easy and you have to trust shady exchanges maybe to do that.

Quote
A lower supply isn't necessarily a bad thing on a macroscopic level.

But I would think it would imply people using smaller and smaller fractions of bitcoins in transactions. There's a limit to how far down that goes though, one satoshi. If one satoshi ever got to be worth alot then what do you do then?





Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 02, 2021, 06:32:35 AM
If I'm going to use bitcoin as a currency (which I am), then I'm going to use it as a currency
I like seeing it that way, but there are tons of things that prevent me from doing it. There's so much speculation behind all this and the point of a currency is to finally behave stably. But, it won't. It turns out, that nowadays, a currency has to be approved from the government to operate properly; we aren't living with bargaining nor with gold coins' usage. These things are long gone and the way Bitcoin works misses out that fact.

I believe we're into an experiment; some say that it's the new gold. I personally find one characteristic that makes it not look like that either. It's been owned by civilians, but gold from the governments and that's probably why its price is being so manipulated. Simply put, it's something new.

Just think what would happen if the whole world used a deflationary currency during the pandemic...

But I would think it would imply people using smaller and smaller fractions of bitcoins in transactions. There's a limit to how far down that goes though, one satoshi. If one satoshi ever got to be worth alot then what do you do then?
If one satoshi ever worths a lot or simply more than the dust amount, we can agree upon a hard fork where we'll extend it to twelve subunits.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 02, 2021, 06:33:56 AM
No one would be enforcing pow on the users or mandating that. It would just be an option. I'd love to have the option to let my cpu do some number crunching in exchange for a free btc transfer. As long as it didn't take too long.
You can. Miners don't want to include transactions that don't have a fee because there is no benefits in for them, other than to have a slower block propagation.
I assume you're referring to the current state of things.

Quote
There is nothing that can make miners include zero-fees transaction, arbitrarily giving miners Bitcoins in lieu of transaction fees involves significant economics repercussions and definitely would need far more research in that.

If there was a financial incentive for them to mine zero-fee transactions they would. But I agree it requires more study. You can't just say you're going to pay them 10 bitcoin for every block mined neglecting everything else.

Quote
Since a reasonable timeframe for a CPU to generate a sufficiently expensive PoW would be in the range of hours, then it would make little sense. Too cheap, and you risk having spammers clog up the network.

Well I think 2 or 3 hours is not unreasonble. It could be alot cheaper than paying an actual transaction fee. Obviously it's not going to work for someone that needs to send alot of individual transactions in a short timeframe. But it would be ideal for the casual bitcoin weekend warrior. They would really get excited about the prospect of paying no fee!

Quote
Too cheap, and you risk having spammers clog up the network.

Ahh yes the old spammer problem clogging up the network. Hasn't bitcoin dealt with them just fine already? Or are they still waiting in the woodwork ready to descend upon innocent miners once the lights turn off like a bunch of hungry cockroaches?









But I would think it would imply people using smaller and smaller fractions of bitcoins in transactions. There's a limit to how far down that goes though, one satoshi. If one satoshi ever got to be worth alot then what do you do then?
If one satoshi ever worths a lot or simply more than the dust amount, we can agree upon a hard fork where we'll extend it to twelve subunits.

Why stop at 12? Heck why not go all the way to 100 subunits? Then we're talking!

I mean you could guarantee you would never run out of bitcoin even though there's a 21 million max supply! Just rename 1 bitcoin to a milli-bitcoin and you've just turned 21 million of them into 21 billion.

[moderator's note: consecutive posts merged]


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 02, 2021, 06:57:14 AM
Why stop at 12? Heck why not go all the way to 100 subunits? Then we're talking!
We usually don't take seriously any amounts that are under the dust. Currently, you can't broadcast a transaction that funds less than 547 sats. This isn't an arbitrary number choice. It is calculated to be cents in terms of USD. At the moment, 547 sats are equal with 22 cents. Back in 2011, the dust amount was 0.01 BTC, but the exchange rate was $1-$5.

In order for us to assume that one satoshi is valuable enough to not consider it a dust amount, it should worth around 1-20 cents. That makes 1 BTC = 1-20 million dollars. I think we're fine with eight sub-units for the next 4-8 years.  :P

I mean you could guarantee you would never run out of bitcoin even though there's a 21 million max supply! Just rename 1 bitcoin to a milli-bitcoin and you've just turned 21 million of them into 21 billion.
If you cut an extra piece for each slice of pizza, you don't have two pizzas. You just cut your pizza into two pieces.


Title: Re: How to give btc users no transaction fees.
Post by: Pmalek on August 02, 2021, 07:31:33 AM
That's the point I'm making. I generally don't think of the price of the product in USD.
Maybe you don't, but the merchants certainly do. If their product or service is priced $100, they will want the equivalent in bitcoin at the time you make that purchase. One day, that item might be 0.002 BTC, the other day it can be 0.001 BTC or 0.003 BTC. I have rarely come across a shop selling its gear for a fixed amount in bitcoin. If I noticed that I am paying 50% more or less than I did the last time, I would be curious to find out why. And that's where you have to go back to the fiat value of the item to find out if it just got more expensive/cheaper, or has the value of Bitcoin changed.


Title: Re: How to give btc users no transaction fees.
Post by: vjudeu on August 02, 2021, 07:56:07 AM
Quote
If one satoshi ever worths a lot or simply more than the dust amount, we can agree upon a hard fork where we'll extend it to twelve subunits.
Hard fork will be rejected, because even soft fork was, see: https://bitcointalk.org/index.php?topic=5330102

Quote
Why stop at 12? Heck why not go all the way to 100 subunits? Then we're talking!
Technically it is possible (as mentioned in the topic above), for example we could have one byte for moving decimal dot and seven bytes for amounts. Seven bytes is enough to cover all 21 million BTC today with eight decimal places, so when going to smaller units, they should still be expressed as 64-bit numbers. If anyone would need more precision, then two outputs will cover what 128-bit number could, but I think there will be almost no cases where more than one output will be needed. Moving decimal dot by three places would mean 21k BTC with millisatoshi precision, and that could mean using "03" byte prefix instead of "00", going to 100 subunits could be simply done by using "5c" prefix. That format would allow us to use up to "ff" prefix with 255+8, so 263 decimal places! Of course such amounts will be rejected on mempool level in the same way as dust amounts are rejected today.


Title: Re: How to give btc users no transaction fees.
Post by: ranochigo on August 02, 2021, 08:18:00 AM
If there was a financial incentive for them to mine zero-fee transactions they would. But I agree it requires more study. You can't just say you're going to pay them 10 bitcoin for every block mined neglecting everything else.
Correct.
Well I think 2 or 3 hours is not unreasonble. It could be alot cheaper than paying an actual transaction fee. Obviously it's not going to work for someone that needs to send alot of individual transactions in a short timeframe. But it would be ideal for the casual bitcoin weekend warrior. They would really get excited about the prospect of paying no fee!
It depends. The time taken to generate that is dependent on your own PC/phone which ends up as kind of a discriminatory policy; only those who have a sufficiently powerful computers can generate it quickly and those who don't have that can take hours or days. Going by this, then those people are very likely to not want to waste their time to try to do this and would rather pay $1 - $5 to just immediately send their transaction.
Ahh yes the old spammer problem clogging up the network. Hasn't bitcoin dealt with them just fine already? Or are they still waiting in the woodwork ready to descend upon innocent miners once the lights turn off like a bunch of hungry cockroaches?
Nope. Bitcoin dealt with it just fine because fees became so expensive. A few years ago, the spam was artificially generated and it wasn't necessarily expensive, considering the costs of Bitcoin at that time. Botnets are fairly suitable for spamming the network, if you introduce a PoW which is fast on CPUs and going by the concept.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 02, 2021, 11:34:24 AM
And that's where you have to go back to the fiat value of the item to find out if it just got more expensive/cheaper, or has the value of Bitcoin changed.
Well, he justifies it as following:
Quote from: o_e_l_e_o
I'm willing to pay for using bitcoin as a currency.

Look, it isn't bad to want financial freedom or deflation over your currency. It is perfectly acknowledged to want avoidance of a currency whose value decreases over time by an entity. It is also understandable to not want handing over your custody of your money to a third-party. But, you should also see this skeptically instead of credulously.

In the last centuries, economists concluded that: Currency = Politics. A state can't operate if they're unable to control the currency that is being used. The fact that they may harm the economy with their bubbles doesn't mean that we have to turn this obsoletely. Dreaming of a world where Bitcoin prevails sounds pretty anarchistic; we aren't in the P&S section and it's aimless to discuss about such case, but I personally disagree.

I believe in Bitcoin, but I don't see it as a currency brought to solve the “corrupted” modern financial system. Since no state controls it, it'll probably remain a speculating asset that is considered very useful. Just like gold, it isn't used for exchanging goods, but it could be used perfectly as a store of value.





<monologue>
Quote
But, BlackHatCoiner, gold stores value by its future usage; if Bitcoin isn't planned to be used as a currency, doesn't that make it valueless in the future?
</monologue>

Well, actually, it will never stop being used. There will always be people willing to accept it as a payment method. As long as few accept it, it can be used as a store of value. Most of the gold isn't been used for jewelry & technological stuff either; the majority is kept by governments.


Title: Re: How to give btc users no transaction fees.
Post by: Pmalek on August 02, 2021, 03:49:31 PM
Well, actually, it will never stop being used. There will always be people willing to accept it as a payment method. As long as few accept it, it can be used as a store of value. Most of the gold isn't been used for jewelry & technological stuff either; the majority is kept by governments.
If you watched the movie Borat, you might remember the scene where he offers an antique dealer a bag of pubic hair as a method of payment for breaking items in his shop. It's obviously a mockery, but imagine if there was a market for quality pubic hair. That would make it a payment method as well so long there are people who are willing to trade goods and services for it. But the majority won't be thinking how much something is worth in terms of pubic hair. It would be wonderful if one day Bitcoin could become such an economy where you won't have to use fiat as a comparison. I doubt it, but we will know more in 20-30 years.   


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 02, 2021, 08:18:44 PM
I doubt it, but we will know more in 20-30 years.
The thing you saw in the movie is an economic term called “barter”. People simply exchange goods & services with no mediums such as money. This is how people started transacting before the very first appearance of money. But, I wouldn't say that I could somehow compare it with Bitcoin.

Bitcoin is indeed money/medium of exchange/currency; don't get me wrong. I'm just not in agreement that it can work in a global manner, where every state adopts it as their main currency. In other words, I don't expect the lightning network to ever “prevail” in the world. The way I see it is that the majority of its users will never stop behaving speculatively about it, or at best, it could be considered as the new digital gold from each country. But, 'til there.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 02, 2021, 09:10:40 PM
There's so much speculation behind all this and the point of a currency is to finally behave stably.
And such stability will be reached as and when we reach significant adoption. But if no one ever adopts it as a currency, then we will never get there. Someone has to be an early adopter. ;)

It turns out, that nowadays, a currency has to be approved from the government to operate properly; we aren't living with bargaining nor with gold coins' usage.
Only because every currency we've had so far has been government issued. Bitcoin is something new.

Maybe you don't, but the merchants certainly do.
And as I explained above, I don't really care what the merchants choose to do. It is none of my business. I want to use bitcoin as a currency, so I will continue to use bitcoin as a currency.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 03, 2021, 05:21:21 AM
I mean you could guarantee you would never run out of bitcoin even though there's a 21 million max supply! Just rename 1 bitcoin to a milli-bitcoin and you've just turned 21 million of them into 21 billion.

The term you're looking is redenomination, but usually it's used to reduce amount of zeros.

No kidding! I owned this stock once and they did some type of stock split and I ended up with nothing except a few bucks cash in my account and no shares!




Quote
Nope. Bitcoin dealt with it just fine because fees became so expensive. A few years ago, the spam was artificially generated and it wasn't necessarily expensive, considering the costs of Bitcoin at that time. Botnets are fairly suitable for spamming the network, if you introduce a PoW which is fast on CPUs and going by the concept.

when you first brought up the issue of spam, i thought there's 2 ways to deal with spammers on the network in my "free transaction fee" utopia.

#1) If you are able to identify spamming bitcoin addresses, then you punish them by placing them on a blacklist that all miners keep and share just like they share other things. An address could stay on the blacklist for an agreed upon amount of time, say 6 months or 1 year. Whatever.

#2) If you are able to identify spamming bitcoin addresses, you punish them financially. How that would be done is a good question but it would involve debiting their bitcoin balance.

As you alluded to, the idea of having to pay expensive fees served as a deterrant to spammers.

[moderator's note: consecutive posts merged]


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 03, 2021, 05:59:19 AM
#1) If you are able to identify spamming bitcoin addresses, then you punish them by placing them on a blacklist that all miners keep and share just like they share other things. An address could stay on the blacklist for an agreed upon amount of time, say 6 months or 1 year. Whatever.
Spamming isn't necessarily in the mempool only. One could spam by having their transactions included into blocks. What those folks do with the fulfilling of 547 sats (https://blockchair.com/bitcoin/transaction/f0cd68ea11f2d17d2e6a8d8aa19d929ccd35b6c70302da5bf6179df513dc8d42) is clearly spamming.

Spamming won't be prevented by blacklisting addresses. A network attacker could use temporary burning addresses for each transaction, as a result for you to still keep those, but in your blacklist. Also, how will you differentiate a regular address from a spamming one? In the transaction I linked you, the spammer funded both their and others' people addresses. Should they be blacklisted too?

#2) If you are able to identify spamming bitcoin addresses, you punish them financially. How that would be done is a good question but it would involve debiting their bitcoin balance.
I'll answer you very simply:  The nodes can't punish anyone; especially financially. In order for debiting their Bitcoin balance, they'd have to somehow provide a signature from the attacker's address, otherwise the whole purpose of this system where we sign digitally with our unique private keys corrupts. They can't sign and thus, they can't detract any amounts.

Only because every currency we've had so far has been government issued. Bitcoin is something new.
Well, every society we've been so far required a government to work properly, so yes it was issued by it. As I said, currency equals politics.


Title: Re: How to give btc users no transaction fees.
Post by: pooya87 on August 03, 2021, 06:15:31 AM
If you are able to identify spamming bitcoin addresses, then you punish them~
The problem with "spam" is that it is a matter of perspective. These transactions aren't breaking any consensus rules, not even standard rules. We call them "spam" just because they have certain attributes that we dislike. Any kind of restriction will consequently limit the protocol which is not a good idea.


Title: Re: How to give btc users no transaction fees.
Post by: Pmalek on August 03, 2021, 06:16:05 AM
#1) If you are able to identify spamming bitcoin addresses, then you punish them by placing them on a blacklist that all miners keep and share just like they share other things. An address could stay on the blacklist for an agreed upon amount of time, say 6 months or 1 year. Whatever.
What mechanisms would be in place to prevent me and my friends to put you on that blacklist simply because I don't like you or because I am a jerk? Who decides who goes on the blacklist and who doesn't? Is it like a democratic voting system? How would you prevent that from becoming a popularity contest where those powerful enough could influence the opinions of others to make decisions that favor them?

#2) If you are able to identify spamming bitcoin addresses, you punish them financially. How that would be done is a good question but it would involve debiting their bitcoin balance.
You are proposing a system that would have a backdoor that turns Bitcoin into a custodial service where individual users aren't in full control of their money because it can be taken away from them. 


Title: Re: How to give btc users no transaction fees.
Post by: ranochigo on August 03, 2021, 12:11:34 PM
#1) If you are able to identify spamming bitcoin addresses, then you punish them by placing them on a blacklist that all miners keep and share just like they share other things. An address could stay on the blacklist for an agreed upon amount of time, say 6 months or 1 year. Whatever.

#2) If you are able to identify spamming bitcoin addresses, you punish them financially. How that would be done is a good question but it would involve debiting their bitcoin balance.

As you alluded to, the idea of having to pay expensive fees served as a deterrant to spammers.
Probably answered fully by the users above; no censorship should happen on the network. Much less one that is decided through arbitrary criteria and risk affecting certain users as a collateral.

I appreciate the brainstorming and the ideas that you've proposed. However, I find that it really isn't anywhere near the most pressing issues, or an issue at all for that matter that would justify additional strain on the network nodes, and being subjected to red tapes during the implementation, by the miners, mainly. Paying a fee for transactions is just fine; if users are complaining about high fees, then well too bad. Going by the proposal, then they would be waiting for hours or days to make any transaction. I'll very much rather pay $10 and get it over and done with. You'll probably run into the problem with larger botnets and specialized computing arrays offering services for the PoW as dictated in your proposal eitherways.

There is no such thing as no fees. If you are going to have PoW as a substitute, then you are paying for the fees in the form of additional strain on your CPU and electrical costs. It would have to be more expensive than paying the fees as you are also putting a strain on the rest of the network, for making them validating the transaction's PoW. This will probably never happen in Bitcoin, but feel free to try it as an altcoin.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 03, 2021, 04:33:38 PM
then you punish them by placing them on a blacklist that all miners keep and share just like they share other things.
Terrible idea. Bitcoin is no longer fungible.

If you are able to identify spamming bitcoin addresses, you punish them financially.
Even worse idea. Bitcoin is no longer trustless, decentralized, secure, or censorship resistant.

I'll quite gladly pay a few sats per transaction to not destroy Bitcoin as we know it, thanks.



Well, every society we've been so far required a government to work properly, so yes it was issued by it. As I said, currency equals politics.
And bitcoin is a new currency which isn't issued by a government. You can't say bitcoin can't be a currency because every currency is government issued when bitcoin is the first that isn't. It is proving that statement wrong time and time again.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 03, 2021, 05:36:56 PM
And bitcoin is a new currency which isn't issued by a government. You can't say bitcoin can't be a currency because every currency is government issued when bitcoin is the first that isn't. It is proving that statement wrong time and time again.
It is a currency; what it can't be in my opinion is a reserve currency used by ever person in a society. In other words, it can't replace the current financial system; the “fiat”. Simply, because it can't be controlled by the government, which is required for a proper functionality of the economy.

The technology of Bitcoin is indeed something relatively new, but deflationary currencies like gold coins were a thing thousands of years ago and with the today's world, they'd fail miserably. Inflation is sometimes required due to the increase of population. The more the people, the worse the economy.

Just imagine of a world where the main currency of the societies is deflationary not controlled by the government... Complete fuckin' chaos...


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 03, 2021, 08:14:05 PM
Simply, because it can't be controlled by the government, which is required for a proper functionality of the economy.
There are dozens of countries which do not control their own currency, either because they use a different country's currency altogether, or because their currency is pegged to someone else's currency. There are currency unions, such as the Euro and the CFA Franc, in which many countries share a currency and none can control it directly. All these countries have functioning economies, including some of the biggest economies in the world.

Just imagine of a world where the main currency of the societies is deflationary not controlled by the government... Complete fuckin' chaos...
Because currencies spiraling in to hyperinflation forcing average people to lose their purchasing power and end up in poverty is working so well?


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 04, 2021, 07:01:18 AM
There are currency unions, such as the Euro and the CFA Franc, in which many countries share a currency and none can control it directly. All these countries have functioning economies, including some of the biggest economies in the world.
And that is good, because not one government decides about the currency's policy, but a community which is conscious about their autonomy. If you read about the Euro you mentioned, you'll continuously observe their persistence to keep the price stable. It is very justified for a fiat currency to lose its value over time; the number of people in these countries increases.

So, to counter-argue,
  • They don't print 21,000,000 euros and then destroy the European Central Bank, nor do they set a fixed amount of euros to be printed every 10 minutes.
  • They're not unable to control their currency in case of a liquidity trap (https://en.wikipedia.org/wiki/Liquidity_trap) or price instability.

Because currencies spiraling in to hyperinflation forcing average people to lose their purchasing power and end up in poverty is working so well?
Hyperinflation is one extremity. Bitcoin is the other. Both of them damage the economy. Sorry for asking this, but do you really imagine a world where an uncontrolled deflationary currency prevails? Where each person will transact using LN and everyone will suddenly become happy they're not victims of inflation?

Small and stable inflation rates do good to the economy; if you know that €1 will worth less in the (far) future you will spend it. You won't rather keep it, because you'll lose your purchasing power over time. This tendency to spend your money results to an intense money circulation which is obviously economically healthier. Now imagine having Bitcoin which is generally considered a “fiat replacer”. Why would I want to spend my money if it'll surely worth more in the future?

Anyway, that's the Dev & Tech section and I wrongly chose to continue further the discussion. If you want to reply, quote me here (https://bitcointalk.org/index.php?topic=5341932).


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 08, 2021, 04:36:11 AM
ok guys thanks for all the comments I could see that having no transaction fees seems very problematic to many of you. the point that got repeated was the spamming issue as a reason for not allowing free transactions. And many of you didn't like the idea to punish spammers financially, arguing how would that even be possible.

Well I don't have all the answers but punishing users of the network is not a novel idea. Ethereum does it to stakers if they go offline. They get punished financially.

Heck, the dude I saw pay $37 to transfer $200 worth of btc, that kind of seemed like a punishment.

So dont worry it's ok to punish people. It's happening as we speak. Now before we go and say something like "but they opted in to get punished". Well, when someone abuses network resources they are kind of asking for punishment. So I wouldn't shed much of a tear if it happened lol. So yeah, free transactions that would be great. Punish the spammers, that would be fine. Just give me free transactions even if it's only one or two a month.

The biggest challenge is figuring out how to go about punishing them. i think we need vitalik for that.


Title: Re: How to give btc users no transaction fees.
Post by: pooya87 on August 08, 2021, 04:57:36 AM
Ethereum does it to stakers if they go offline. They get punished financially.
That has nothing to do with spam.

Quote
The biggest challenge is figuring out how to go about punishing them.
The biggest challenge is determining what transaction is spam.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 08, 2021, 08:19:33 AM
And many of you didn't like the idea to punish spammers financially, arguing how would that even be possible.
Currently, if someone tries to spam the network, he will be punished financially, due to the fees he'll have to pay.

Ethereum does it to stakers if they go offline. They get punished financially.
Staking isn't the same with transacting. It's the mechanism used to secure the network; in Ethereum, they aren't punished if they spam with lots transactions unless if you include the fact that I wrote above.

The biggest challenge is figuring out how to go about punishing them. i think we need vitalik for that.
The biggest challenge was to figure out a way to decentralize consensus. We didn't need Vitalik for that, so possibly nor for this situation.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 09, 2021, 02:32:43 AM
The problem with "spam" is that it is a matter of perspective. These transactions aren't breaking any consensus rules, not even standard rules. We call them "spam" just because they have certain attributes that we dislike. Any kind of restriction will consequently limit the protocol which is not a good idea.

So if there was free transactions with no fees spam wuold still be a matter of perspective? If that's the case then I'm all for having free transactions! maybe not unlimited in number but at least a few every week. as a side question why wuold bitcoin developers build attributes into the prototocol that they dislike and frown upon them being used when they themself designed it to be used that way. certainly they had to realize that if they allow for example transactions with large numbers of outputs and small send sizes per output then people will do that, right? why should anyone frown upon something that the consensus rules allow unless it is unintended behavior which in that case means things need fixing.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 09, 2021, 02:47:48 AM

I'm not against free/fee-less transaction as long as it doesn't bring another problem. But so far no one mention how to achieve it without trade-off.


Exactly. but I think there would have to be some type of a trade off. The question is, is it acceptable to people. I wouldn't mind limiting certain types of transactions such as large # of outputs with small transaction amounts per output. Those are clearly undesirable. But other people might disagree but when you're sending dust to 500 btc addresses, you're spamming. If you want to pay for it fine but if not then that shouldn't be free.

But even that might not be enough in a free transactions utopia. You have to be more sophistocated than that. I'm gonna cook up some ideas though and see if they fly. but it might take me a while!



Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 09, 2021, 08:20:02 AM
maybe not unlimited in number but at least a few every week.
And how do you choose who gets to use the free transactions? There is no way to set up a system where "everybody gets one" or something similar without some ridiculous KYC requirements. If you allow something like "10 per block", then you guarantee that the mempool would be permanently filled with a huge backlog of free transactions, and you can also guarantee some people would set up bots to auto-rebroadcast their own free transactions, and so the average user would be no better off. And what would be the incentive for miners to pick up a few free transactions over paying ones?


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 10, 2021, 03:24:10 AM
And how do you choose who gets to use the free transactions?

Well, I personally would not be the one to choose who gets to use a free transaction. I suppose that would be left up to the system. It would need to be able to look at a transaction and determine whether to accept it or reject it with no transaction fee attached.

Quote

There is no way to set up a system where "everybody gets one" or something similar without some ridiculous KYC requirements. If you allow something like "10 per block", then you guarantee that the mempool would be permanently filled with a huge backlog of free transactions, and you can also guarantee some people would set up bots to auto-rebroadcast their own free transactions, and so the average user would be no better off.

Well I don't think you understand the whole idea was that free transactions would be mined in a block of their own, not mixed with other transactions that had a fee. You can read back through the thread though and you'll see where I discussed that idea.

Quote
And what would be the incentive for miners to pick up a few free transactions over paying ones?


That was already explained in detail. You can find that explanation earlier in this thread. Once you read over that explanation then I'm sure it will make more sense to you!


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 10, 2021, 06:35:32 AM
Well, I personally would not be the one to choose who gets to use a free transaction. I suppose that would be left up to the system. It would need to be able to look at a transaction and determine whether to accept it or reject it with no transaction fee attached.
This is an incentive based system. Just think that the security of the network is maintained due to the importance of the incentive; due to the exploitation of the human's greed. It turns out that this is the greatest and possible way to secure a network if it's ran by humans.

That was already explained in detail. You can find that explanation earlier in this thread. Once you read over that explanation then I'm sure it will make more sense to you!
And you received some answers with co-arguments. Simply put, you can't do what you've thought and retain both the same security, transaction objectivity and fee zeroing.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 10, 2021, 07:35:13 AM
I suppose that would be left up to the system.
Sure, but how? What's to stop some big exchange, service, or other business, who has tens or even hundreds of thousands of UTXOs they want to consolidate or move around but with no urgency whatsoever just flooding the mempool with zero fee transactions, or at the very least taking up all the permitted "slots" with their zero fee transactions, leaving no slots available for anybody else?

It would need to be able to look at a transaction and determine whether to accept it or reject it with no transaction fee attached.
Based on what criteria? Who gets to decide which transactions are allowed to have no fee and which aren't?

free transactions would be mined in a block of their own
And as I said earlier in the thread, you can then end up with the situation where zero fee transactions are prioritized over fee paying transactions when there are not enough fee paying transactions to overcome the additional incentive you proposed for zero fee blocks. Users are then stuck with fee paying transactions in the mempool which they cannot replace and aren't being mined.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 11, 2021, 03:42:13 AM
I wouldn't mind limiting certain types of transactions such as large # of outputs with small transaction amounts per output. Those are clearly undesirable.

You can't prevent small Bitcoin output as long as the transaction still follow Bitcoin protocol. Besides, it's inevitable as long as Bitcoin price continue rising and more people use Bitcoin.


Small transactions aren't necessarily the problem. The problem is when a single transaction has alot of "vouts". You could change consensus rule so that if transaction had more than a certain number of vout then it has to pay a fee. That could be one of the rules. There would have to be others most likely. That would not be enough but it would be a start point.

For people that wanting to spam the network with large vout count transactions they can feel free to just continue doing the same thing because it's not a problem for the network. They will continue to pay the required fee and things will be just fine.





Title: Re: How to give btc users no transaction fees.
Post by: pooya87 on August 11, 2021, 04:31:21 AM
as a side question why wuold bitcoin developers build attributes into the prototocol that they dislike and frown upon them being used when they themself designed it to be used that way. certainly they had to realize that if they allow for example transactions with large numbers of outputs and small send sizes per output then people will do that, right?
There is no unnecessary "attributes" that lets the spammers spam, they are using the same attributes that everyone else is using and creating the same normal looking transactions to attack the network. You are also focusing too much on only a single type of spam attack but there are many types. For example the simplest form is to fill the mempool with regular transactions with 1 input and 2 outputs.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 11, 2021, 07:22:25 AM
You could change consensus rule so that if transaction had more than a certain number of vout then it has to pay a fee.
Like a post toll? If you have more than 10, will you pay more? These transactions already pay more than those that have less vouts. They pay similar amounts percentage-ly, but if you change that, then the transactions' objectivity is lost. The miners will, then, prefer including the transactions that pay more percentage-ly, which means those that have lots of vouts.

For people that wanting to spam the network with large vout count transactions they can feel free to just continue doing the same thing because it's not a problem for the network. They will continue to pay the required fee and things will be just fine.
As I said, miners will want from those people to continue spamming. By changing this consensus rule, you aren't defending spamming; you're incentivising miners to include spamming transactions into their blocks.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 11, 2021, 08:06:01 AM
You could change consensus rule so that if transaction had more than a certain number of vout then it has to pay a fee.
And in doing so, you incentivize users and exchanges not to batch their transactions. It is preferable then, from a fee point of view, to create 100 separate transactions each with 2 outputs each (obviously each transaction would include a change output), than it is to create 1 transaction with 100 outputs. The total size difference, even considering the best case segwit use, is something around 14,000 vbytes compared to 3,000 vbytes. That's an awful lot of unnecessary blockchain bloat and an awful lot of excess unconfirmed vbytes in the mempool. This would make things worse for everybody.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 11, 2021, 11:10:06 AM
You could change consensus rule so that if transaction had more than a certain number of vout then it has to pay a fee.
And in doing so, you incentivize users and exchanges not to batch their transactions. It is preferable then, from a fee point of view, to create 100 separate transactions each with 2 outputs each (obviously each transaction would include a change output), than it is to create 1 transaction with 100 outputs. The total size difference, even considering the best case segwit use, is something around 14,000 vbytes compared to 3,000 vbytes. That's an awful lot of unnecessary blockchain bloat and an awful lot of excess unconfirmed vbytes in the mempool. This would make things worse for everybody.

not if the consensus rules are good enough and sophistocated enough then someone won't be able to get away with avoiding batching and paying a fee vs sending out a huge number of separate transactions. it's not meant for that. free transactions are meant for the casual bitcoin user who from time to time would like to send some bitcoin somewhere. but not everyday and maybe not ever week. maybe once a month or something like that. power users and businesses don't need free transactions to the extent that I would care how my rules affected them. thanks for your post.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 11, 2021, 11:28:38 AM
free transactions are meant for the casual bitcoin user who from time to time would like to send some bitcoin somewhere. but not everyday and maybe not ever week. maybe once a month or something like that. power users and businesses don't need free transactions to the extent that I would care how my rules affected them.
If a user is only sending bitcoin once a month, then what is the issue with paying a few cents equivalent in a fee?

Further, how do you plan to differentiate a casual user from a power user without KYC, given that any user can generate as many different addresses as they want? An exchange could just keep user deposits on individual addresses and not consolidate them since they know they can then process withdrawals for free.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 12, 2021, 04:17:58 AM

If a user is only sending bitcoin once a month, then what is the issue with paying a few cents equivalent in a fee?

Not necessarily a "few cents" I think it might cost like $5 to send bitcoin sometimes on average. If it was always just a few cents to send then that would be different.

Quote
Further, how do you plan to differentiate a casual user from a power user without KYC, given that any user can generate as many different addresses as they want?

One thing I didn't consider is what if someone sends to 500 different addresses in one big batch just to try and game my system. Then from each individual address they try and use it to get free transactions all the time. Wow that would be a big disaster. I would have to figure out a way to stop a cheater like that dead in their tracks! That cuold be a problem.

Quote
An exchange could just keep user deposits on individual addresses and not consolidate them since they know they can then process withdrawals for free.

That would be ok as long as they didn't abuse it. The thing is though, they might find their customers not too happy with how long it took to get their money. As we know, exchanges usually inflate the fee to make sure things get confirmed fast, very fast. too fast.
 One  address per one person is fine but they would find out pretty fast that this isn't for power users.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 12, 2021, 12:54:45 PM
Not necessarily a "few cents" I think it might cost like $5 to send bitcoin sometimes on average. If it was always just a few cents to send then that would be different.
The median fee is usually less than 10 sats/vbyte. Even large transactions don't pay more than $3 if they use SegWit native and 1 sat/vbyte. Most of the entities that create these large transactions are exchanges. They'll prefer to wait until they can get their transactions confirmed cheaper rather than pay too much money; the fact that they don't is another story.

One thing I didn't consider is what if someone sends to 500 different addresses in one big batch just to try and game my system. Then from each individual address they try and use it to get free transactions all the time. Wow that would be a big disaster. I would have to figure out a way to stop a cheater like that dead in their tracks! That cuold be a problem.
I still don't understand though, haven't we convinced you that a system where the user doesn't pay a 'toshi for their transactions has drawbacks?


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 12, 2021, 08:36:54 PM
Not necessarily a "few cents" I think it might cost like $5 to send bitcoin sometimes on average.
I have literally never paid that much to transfer bitcoin ever. If that is the average amount you are paying to transfer bitcoin, then you either need to educate yourself about fees, use a better wallet which lets you set your own fee, or both.

I would have to figure out a way to stop a cheater like that dead in their tracks!
Simple! You charge a fee. :P

That would be ok as long as they didn't abuse it.
And how do you stop them from abusing it, short of charging a fee? As soon as you do it on an "honor" system or something similar, then it will be abused almost immediately.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 13, 2021, 04:17:18 AM

I still don't understand though, haven't we convinced you that a system where the user doesn't pay a 'toshi for their transactions has drawbacks?

Yes, I think you have convinced me that having no-fee transactions is very problematic. It's not just as easy as saying "poof, free transactions everyone!". Not at all.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 13, 2021, 04:41:50 AM

I have literally never paid that much to transfer bitcoin ever. If that is the average amount you are paying to transfer bitcoin, then you either need to educate yourself about fees, use a better wallet which lets you set your own fee, or both.

Between June and July of this year, average btc transaction fees was in the range of $5. https://bitinfocharts.com/comparison/bitcoin-transactionfees.html (https://bitinfocharts.com/comparison/bitcoin-transactionfees.html)



And how do you stop them from abusing it, short of charging a fee? As soon as you do it on an "honor" system or something similar, then it will be abused almost immediately.

Thus the need for a large set of metrics/rules which would act as sort of an AI to decide whether a transaction could be done without a fee or not. I updated my initial posting with such a set of rules but if that doesn't look complicated then I don' t know what does! Even if those rules were enough to prevent abuse and make things work how I wanted, I don't think nodes are set up to be able to have that much ability to look into history of individual addresses/utxos/etc. It might be a drag on their resources to have to try. So it's probably not feasible what I proposed there at all.

those were just some rules i came up with off the cuff. it feels like trying to use a hammer to solve a problem that should only need a much more delicate tool  :)

After realizing all of that, I thought maybe the simpler way is to just assign a flag to each utxo that says "yes" or "no". Yes you can be used in a free transaction or "no" you can't. But then how do you construct the logic to decide? And even then it still seems as though you would have to have some type of ability to understand the past transaction history of an address too. I don't know if nodes could have that type of capabilities. It's kind of doubtful.


Title: Re: How to give btc users no transaction fees.
Post by: vjudeu on August 13, 2021, 05:51:18 AM
In the old times, there was something called "coinage", when you could calculate how old your coin is, in this way if you had old enough coins, you could spend them for free. Repeating that was not an option, because after each transaction coin age dropped, so older transactions had higher priority. In code it was expressed as:
Code:
priority = sum(input_value_in_base_units * input_age)/size_in_bytes
Edit: also see https://en.bitcoin.it/wiki/Miner_fees#Historic_rules_for_free_transactions


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 13, 2021, 09:33:16 AM
Between June and July of this year, average btc transaction fees was in the range of $5.
Average fees include all the transactions made by exchanges and other big services with grossly overestimated fees. They are not indicative of what you actually need to pay. If you look at the mempool for June and July, more often than not you could pay 1 sat/vbyte and still get a fast confirmation.

After realizing all of that, I thought maybe the simpler way is to just assign a flag to each utxo that says "yes" or "no".
I'm not sure this would work either. Either you allow the person broadcasting the transaction to set the flag and nodes don't check it, in which case everyone can flag every output as "allowed to be spent for free", or you make nodes check or assign the flag themselves, in which case they need to perform a deep dive in to the history of every transaction they receive, which is a huge amount of additional work. And every node needs to repeat this work on every broadcast transaction.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 13, 2021, 09:34:04 AM
In the old times, there was something called "coinage", when you could calculate how old your coin is, in this way if you had old enough coins, you could spend them for free. Repeating that was not an option, because after each transaction coin age dropped, so older transactions had higher priority. In code it was expressed as:
Code:
priority = sum(input_value_in_base_units * input_age)/size_in_bytes
Edit: also see https://en.bitcoin.it/wiki/Miner_fees#Historic_rules_for_free_transactions

I guess miners were not incentivized enough to keep doing that so it stopped. Once there was enough people willing to fill their blocks with paying customers, that whole thing disappeared off the face of the planet I bet! But it was kind of ingenious though in its simplicity.


Title: Re: How to give btc users no transaction fees.
Post by: NeuroticFish on August 13, 2021, 09:37:29 AM
Between June and July of this year, average btc transaction fees was in the range of $5. https://bitinfocharts.com/comparison/bitcoin-transactionfees.html (https://bitinfocharts.com/comparison/bitcoin-transactionfees.html)

This only shows how many use centralized wallets and services, which are known for overestimating the fees big time.
I've been following the blocks and I do know how many blocks were not full or just. In many occasions one would have had the same result with 3 sat/vbyte (or even 1!) and still paid 400 sat/vbyte. Here's where these numbers come from.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 14, 2021, 05:02:29 AM
Between June and July of this year, average btc transaction fees was in the range of $5. https://bitinfocharts.com/comparison/bitcoin-transactionfees.html (https://bitinfocharts.com/comparison/bitcoin-transactionfees.html)

This only shows how many use centralized wallets and services, which are known for overestimating the fees big time.
I've been following the blocks and I do know how many blocks were not full or just. In many occasions one would have had the same result with 3 sat/vbyte (or even 1!) and still paid 400 sat/vbyte. Here's where these numbers come from.

Ok well I appreciate you guys pointing out that, I wasn't aware of that. I just was going by the chart but if you say so then ... I'm the kind of guy that would want to pay 1 satoshi per byte or even less than that if possible  :D


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 14, 2021, 06:23:51 AM
I'm the kind of guy that would want to pay 1 satoshi per byte or even less than that if possible  :D
Then just keep an eye on the mempool and make your transaction when it is empty. Or just pay 1 sat/vbyte and be patient - over the last month it has never taken more than a day for a 1 sat/vbyte confirmation to confirm, but the majority of the time it confirms within the hour.

For transactions which fit all of your rules - especially not having a large number of inputs or outputs - then you are looking at somewhere in the region of 200 - 500 vbytes, meaning 1 sat/vbyte works out at around 10 to 20 cents at current prices. Is that really too much to pay for a transaction? It's probably less than the electricity cost would be for the proof of work you want people to do to earn a free transaction. If that is still too much for you, then open a Lightning channel for 10 cents and make as many transactions as you like essentially for free.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 14, 2021, 07:41:56 AM

I'm not sure this would work either. Either you allow the person broadcasting the transaction to set the flag and nodes don't check it, in which case everyone can flag every output as "allowed to be spent for free", or you make nodes check or assign the flag themselves, in which case they need to perform a deep dive in to the history of every transaction they receive, which is a huge amount of additional work. And every node needs to repeat this work on every broadcast transaction.

If you assigned a value to each utxo which represented how good or bad it was, and only let good ones be used as inputs to free transactions, that's what I was thinking. And yeah, it can't require "deep diving" it has to be fast and quick to compute the number. If anyone knows that the formula is... ;D

Then you could incentivize miners to include this type of transactions by adding extra amounts to their coinbase reward to make up for the missing transaction fee. Well I know that would require some type of hard fork.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 14, 2021, 07:57:04 AM

For transactions which fit all of your rules - especially not having a large number of inputs or outputs - then you are looking at somewhere in the region of 200 - 500 vbytes, meaning 1 sat/vbyte works out at around 10 to 20 cents at current prices. Is that really too much to pay for a transaction?

 I dont think anyone is going to complain about paying 10 or 20 cents. heck people on the eth network don't even complain about paying $50 to send $500. they think that's ok! for me personally, if I paid 2 cents transaction fee, I feel good about it. that's how it used to be on ethereum, not anymore!

Quote
It's probably less than the electricity cost would be for the proof of work you want people to do to earn a free transaction. If that is still too much for you, then open a Lightning channel for 10 cents and make as many transactions as you like essentially for free.

i doubt most casual bitcoin users or people that "accept" bitcoin know how to use the lightning network or even what it is. me included. but thanks for the suggestion, i'll think about it.


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 14, 2021, 08:51:41 AM
If you assigned a value to each utxo which represented how good or bad it was
Sure, but there is no way to, calculate, assign or verify such a value based on your rules without requiring each node to look back and analyze multiple transaction chains for every new unconfirmed transaction it receives.

Then you could incentivize miners to include this type of transactions by adding extra amounts to their coinbase reward to make up for the missing transaction fee. Well I know that would require some type of hard fork.
So instead of the person making a transaction paying a fee, every bitcoin user has to pay the fee with the cost of the slight devaluation of their coins since you are introducing excess new coins in to circulation.

i doubt most casual bitcoin users or people that "accept" bitcoin know how to use the lightning network or even what it is.
And how many casual bitcoin users would understand your multiple rules and how they function? It's far easier to download and use a Lightning wallet which will deal with all the channel open and closing for you.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 15, 2021, 04:24:27 AM
If you assigned a value to each utxo which represented how good or bad it was
Sure, but there is no way to, calculate, assign or verify such a value based on your rules without requiring each node to look back and analyze multiple transaction chains for every new unconfirmed transaction it receives.


Well I did some thinking about this issue and I think I came up with something. I'll have to gather my thoughts and post it soon!
 

Quote
So instead of the person making a transaction paying a fee, every bitcoin user has to pay the fee with the cost of the slight devaluation of their coins since you are introducing excess new coins in to circulation.

 if even 0.5% of bitcoins are lost forever each year, then in 100 years, what's that? 50% of all bitcoins are gone what are you going to do then? once the block subsidy ends, that becomes a real issue because it's kind of cheating to redenominate and start calling a millibtc a btc. they should never be allowed to redenominate like that.

Quote
And how many casual bitcoin users would understand your multiple rules and how they function? It's far easier to download and use a Lightning wallet which will deal with all the channel open and closing for you.

You'd be surprised how normal everyday people can become experts on things dealing with money when there's something in it for them. But I doubt the lightning network is the solution. For one thing, both parties have to be able to use it. Not just one of them. If someone had a transaction they wanted to submit without a fee, they could do that and if it worked it worked, if not then it gets rejected simple as that.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 15, 2021, 04:47:57 AM
ok guys, I think I might have solved the problem about a metric to use for seeing if a transaction qualifiy for no fee. it just uses a formula that gets computed when the transaction is submitted. the node will do the following computation.

Some background: Each utxo will be assigned a Score at the time it is created.

When a transaction is submitted: The node will sum up a satoshi-based weighting of the Scores of the individual inputs to give a value we will call Total_score. The formula is Total_score=sum(satoshis*score)

If Total_score >= free_transaction_threshhold then accept transaction.

If Total_score < free_transaction_threshhold then reject transaction.

For an accepted transaction, the node will assign Scores to all of the transactions outputs in such a way as to prevent spamming of the network and abuse of free transactions. And also to encourage utxo consolidation as it helps the utxo set to stay small.

For example, let P be a reduction percentage. A typical value for P might be 50% for example. Then let Output_total_score=Total_Score*P/100. The node would then compute the satoshi-based weighting for the outputs that solves the equation Output_total_score=sum(satoshis*score).


This is freaking amazing guys! I thnk I solved it thanks to all your helps! ;D




Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 15, 2021, 05:50:44 AM
I realized there was a few issues with my idea so I plugged those holes let me show you what I changed:

ok guys, I think I might have solved the problem about a metric to use for seeing if a transaction qualifiy for no fee. it just uses a formula that gets computed when the transaction is submitted. the node will do the following computation.

Some background: Each utxo will be assigned a Score at the time it is created.

When a transaction is submitted: The node will sum up a satoshi-based weighting of the Scores of the individual inputs to give a value we will call Total_score. The formula is Total_score=sum(satoshis*score)

We also need to compute Ave_score=Total_score/(# of inputs).

Quote

If Total_score >= free_transaction_threshhold then accept transaction.

If Total_score < free_transaction_threshhold then reject transaction.


The correct comparison would be :

If Ave_score >= free_transaction_threshhold then accept transaction.

If Ave_score < free_transaction_threshhold then reject transaction.

Quote

For an accepted transaction, the node will assign Scores to all of the transactions outputs in such a way as to prevent spamming of the network and abuse of free transactions. And also to encourage utxo consolidation as it helps the utxo set to stay small.

For example, let P be a reduction percentage. A typical value for P might be 50% for example. Then let Output_total_score=Total_Score*P/100. The node would then compute the satoshi-based weighting for the outputs that solves the equation Output_total_score=sum(satoshis*score).


That would be nice but that's not well defined. There is no "unique" weighting. But we can fix that. For example, let all the individual scores of the outputs be equal such that the above equation is satisfied. The affect that will have is larger outputs will have a greater weight. Smaller outputs will have a smaller weight.

it's good to think about how this metric would stop someone from just sending the same bitcoin over and over to another address they own.







Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 15, 2021, 06:31:46 AM
if even 0.5% of bitcoins are lost forever each year
But, this isn't a fixed value. I personally think that, overtime, people will protect their funds more than they did when they weren't that valuable. Think of it this way: In 2010 someone lost a hard drive with 9,000 BTC. At the moment, only huge exchange businesses own so many coins. Are the odds the same for them to lose them?

Not to mention that before the introduction of HD wallets, it was much easier to lose coins. You'd have to write down private keys which is dangerous for human mistakes. It also discouraged you to write them all down, if you had more than, let's say, five addresses. Thus, you kept them on your hard drive which can also lead to a loss.

Sure, there'll always be lost coins, especially the burned ones, but I don't believe that it'll remain 0.5% forever.

But I doubt the lightning network is the solution. For one thing, both parties have to be able to use it. Not just one of them.
When a payment is meant to be made, both of the parties have to be there. The sender must know that the receiver knows he got his money. The way block chains work confuse you with this payment's characteristic. Essentially, you lock your funds on some boxes and wait until the receivers open them and spend them. If they announce they lost their seed phrase / private keys, they haven't received them. (while they gave you an invoice saying that if you fund it, they will)

With the lightning network, both of the users have to be online to transact, but I don't understand why is that a drawback. In every non-IOU payment system we had so far, both of the users had to remain online except Bitcoin's blockchain. (To avoid misunderstandings:  LN isn't an IOU payment system)

If someone had a transaction they wanted to submit without a fee, they could do that and if it worked it worked, if not then it gets rejected simple as that.
It's not simple as that, but anyway.



Could you please not double/triple post, but just edit your last post instead?


Title: Re: How to give btc users no transaction fees.
Post by: o_e_l_e_o on August 15, 2021, 08:22:54 AM
if even 0.5% of bitcoins are lost forever each year, then in 100 years, what's that? 50% of all bitcoins are gone what are you going to do then?
Continue to use bitcoin as I always have done (except I won't be alive :P). Bitcoin was built on a fixed supply, and Satoshi himself acknowledged the issue of lost coins, calling them a "donation to everyone". Any plan which will mint additional bitcoin will almost certainly be rejected by a supermajority of nodes, miners, and users.

once the block subsidy ends, that becomes a real issue because it's kind of cheating to redenominate and start calling a millibtc a btc. they should never be allowed to redenominate like that.
You don't need to redominate, just add additional zeros after the decimal point. Lightning already works in millisats, or 0.00000000001 BTC, which is an additional three decimal places over the base layer.

For one thing, both parties have to be able to use it. Not just one of them.
Many payment processors, services, and merchants, all set a minimum fee rate which is required for payments. What makes you think they would all happily accept zero fee transactions?


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 15, 2021, 01:56:52 PM

What's the formula to assign score to each UTXO?

if you read all the way through you would see how outgoing newly created utxos get assigned a score. So I must assume you're asking me "how do utxos that have never been used before under this new system get assigned a score?" If that's your question, then that's a good one. Probably they would just get some nominal value probably not large enough to allow them a free transaction right away, but if it got combined with some other utxos they might help one another get a free transaction.


Quote
How is P value determined?

P could be hardcoded in but I don't think anyone could really know what value of P would be most reasonable without alot of data and experimentation. I'm using P=45% in my spreadsheet right now.

Quote
P.S. can you give example where the transaction has >1 input & >1 output?

I can do even more than that. Here's 10 inputs going to 5 outputs going to 1 output. The 10 inputs transaction qualified for a free transaction as it met the free transaction threshhold value which is 10^8 (hi satoshi). The 5 inputs going to 1 output did not qualify for a free transaction. And as we can see, the single output transaction does qualify for a free transaction. Consolidating utxos has benefits! Maybe not immediately but eventually you get rewarded. Sorry about the god awful typesetting.


   sat   100000000         
   p   45   percent      
   free_transaction_threshhold   100000000         
10   INPUTS            
   BTC   Satoshis   Pre-existing score   Calculated weight   
   0.001   100000   0   0   
   0.05   5000000   20   100000000   
   0.1   10000000   14   140000000   
   0.5   50000000   4   200000000   
   0.0001   10000   1   10000   
   0.025   2500000   3   7500000   
   1   100000000   4   400000000   
   0.0076   760000   3   2280000   
   0.55   55000000   3   165000000   
   0.34   34000000   1   34000000   
TOTALS   2.5737   257370000      1048790000   
Reduction by P            471955500   
               
               
Average            104879000   qualifies for free transcation
New score            1.833762676   
5   OUTPUTS            
   BTC   Satoshis   Computed scores   Calculated weight   
   0.0723   7230000   1.833762676   13258104.15   
   0.0014   140000   1.833762676   256726.7747   
   0.6   60000000   1.833762676   110025760.6   
   0.5   50000000   1.833762676   91688133.82   
   1.4   140000000   1.833762676   256726774.7   
TOTALS   2.5737   257370000   1.833762676   471955500   
Reduction by P            212379975   
               
               
Average            94391100   does not qualify for free transaction
New score            0.8251932043   
1   OUTPUTS            
   BTC   Satoshis   Computed scores   Calculated weight   
   2.5737   257370000   0.8251932043   212379975   
   0   0   0.8251932043   0   
   0   0   0.8251932043   0   
   0   0   0.8251932043   0   
   0   0   0.8251932043   0   
TOTALS   2.5737   257370000   1.833762676   212379975   
Reduction by P            95570988.75   
               
               
Average            212379975   qualifies for free transcation
               
               



Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 16, 2021, 04:08:43 AM
Hey guys, just an update. I don't think this idea works after running a few basic simulations on a spreadsheet. I think it actually punishes people for consolidating their utxos and eventually things would get to a point where no one would qualify to get a free transaction. So it doesn't even do any good.

So I got rid of P the reduction percentage parameter and put something else in its place. it works a little better maybe but i'm not ready to post any results on it yet because i don't wanna look like a fool again  ;D but the idea I'm testing now is to look at (#inputs/#outputs)^(1/3) as a scaling factor for the total "weight". that way at least it rewards utxo consolidation but not too much but the problem is when inputs/outputs is less than 1, it doesn't punish it enough. and then there's the issue of if the ratio equals 1 theres a big problem there i noticed which is someone can just get free transactions repeatedly. not good.



Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 16, 2021, 06:52:35 AM
The 5 inputs going to 1 output did not qualify for a free transaction. And as we can see, the single output transaction does qualify for a free transaction.
Hi, I've taken a look on the numbers you posted, but haven't understood much. In a nutshell, you want to make the block size non-standard, but to increase/decrease instead analogously with the total of the transactions it has. If the coinbase reward remains the same, please answer me the following question and I'll pay more attention to your post:

How will you incentivize the miners to include a transaction that provides zero benefit to them?

If the coinbase reward does not remain the same, but increases if it contains free transactions, how will you prevent them from creating their own transactions just to fulfill the requirement so that they can cheat the system?



It's nice to see new forum users dealing with the scaling problem.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 17, 2021, 04:20:12 AM

Hi, I've taken a look on the numbers you posted, but haven't understood much. In a nutshell, you want to make the block size non-standard, but to increase/decrease instead analogously with the total of the transactions it has. If the coinbase reward remains the same, please answer me the following question and I'll pay more attention to your post:

How will you incentivize the miners to include a transaction that provides zero benefit to them?

There has to be some type of motivation on their part to want to include no-fee transactions into a block. Incentives dont always have to be in the form of extra rewards. You could punish miners who did not put enough free transactions into a block for example by reducing their coinbase reward. Right now though I've been focused on coming up with a metric that decides whether a transaction qualifies to be free or not. I feel I've made some progress lately. Although the numbers I posted that you referenced were from an idea that didn't make the cut.


Quote
If the coinbase reward does not remain the same, but increases if it contains free transactions, how will you prevent them from creating their own transactions just to fulfill the requirement so that they can cheat the system?


The problem with the scenario of "comping" miners extra for putting no-fee transactions into blocks has to do with how does one place a value on no-fee transactions so that miners are not overly or underly incentivized to put no-fee transactions into blocks?

I'm hoping that if a strong enough metric can be put in place to decide if no fee is warranted then miners would not be able to do any cheating. Anymoreso than a normal bitcoin user.





Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 17, 2021, 07:39:20 AM
Incentives dont always have to be in the form of extra rewards.
They don't if all of the transactions in the mempool can fit into a block. If they can't, then it's a matter of incentive and with 1MB blocks and 400,000 transactions per day, they can't fit. So, if you don't somehow reward the miner, since there is no other way to incentivize him in this system, he won't include an extra, useless for him, transaction.

You could punish miners who did not put enough free transactions into a block for example by reducing their coinbase reward.
And how will you:

1. Confirm that they indeed chose to not include a free transaction from their mempool since every mempool is unique?
2. Prevent them from including their own transactions to bypass this annoying requirement and cheat the system.

If you can't reply to both of those questions then this discussion has no point.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 18, 2021, 01:37:42 PM

... he won't include an extra, useless for him, transaction.

Then guess whose problem that is? It's the person who wants to freeload and not pay any fee. Do you really feel sorry for them?


Quote
And how will you:

1. Confirm that they indeed chose to not include a free transaction from their mempool since every mempool is unique?
It doesn't take a phD to understand how to go through a transaction and check if a fee was paid or not.

Quote
2. Prevent them from including their own transactions to bypass this annoying requirement and cheat the system.
You haven't even explained how miners would cheat the system and yet you are acting like its a foregone conclusion.  ???
This seems more like an interrogation than a discussion lol.






Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 18, 2021, 01:51:51 PM
Here is some output from a simple metric I tested. If utxo input/outut ratio is smaller than 1.4 OR the transaction's average age in blocks (btc weighted) is bigger than 1 month then decline it as a free transaction. It's a bit unrealistic because I don't think you coud allow 8 inputs thats probably too many. In reality, free transactions probably only need 3 or 4 inputs AT MOST and only need 2 outputs no more.

Code:
transaction inputs
utxo #0
size in btc: 0.5305910052255669
age in blocks: 43430
utxo #1
size in btc: 0.6277492538322264
age in blocks: 51426
utxo #2
size in btc: 0.03292092424977866
age in blocks: 23834
utxo #3
size in btc: 0.2721370957957041
age in blocks: 19943
utxo #4
size in btc: 0.7818320782631636
age in blocks: 28050
utxo #5
size in btc: 0.8452880194977738
age in blocks: 20873
utxo #6
size in btc: 0.2964992314423315
age in blocks: 52355
utxo #7
size in btc: 0.8428448040612679
age in blocks: 21731
utxo #8
size in btc: 0.8181116104020796
age in blocks: 9144

transaction outputs
utxo #0
size in btc: 4.824852643726152
sum2=4.824852643726152
utxo #1
size in btc: 0.1493581884735465
sum2=4.974210832199699
utxo #2
size in btc: 0.017812122850125043
sum2=4.992022955049824
utxo #3
size in btc: 0.052368161935472994
sum2=5.044391116985296
utxo #4
size in btc: 0.0020762735714105296
sum2=5.046467390556707
utxo #5
size in btc: 0.001475761181884893
sum2=5.0479431517385915
utxo #6
size in btc: 1.2914002376347624e-05
sum2=5.0479560657409674
utxo #7
size in btc: 1.795702892515294e-05
sum2=5.047974022769893

Determinations
transaction_size_btc = 5.047974022769893
transaction_ave_age=28215.68497442169
transaction_spread=1.125
Success: transaction age is acceptable
Failure: transaction spread is unacceptable


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 18, 2021, 05:45:37 PM
Then guess whose problem that is? It's the person who wants to freeload and not pay any fee. Do you really feel sorry for them?
I'm completely confused. Don't you want a system where the Bitcoin user can get away with their transaction's confirmation without paying a fee?

It doesn't take a phD to understand how to go through a transaction and check if a fee was paid or not.
Please read my question properly. You say that there'll be a sort of a punishment for the miners who'll choose to not include a free transaction into their candidate block, correct?

Now, I'm asking:  How will you confirm that they indeed chose to not include it since you know only your own mempool and not theirs.

You haven't even explained how miners would cheat the system and yet you are acting like its a foregone conclusion.
I've given an example of how a miner could cheat the system:

How will you prevent them from including their own transactions to bypass this annoying requirement and cheat the system.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 19, 2021, 04:57:22 AM
I'm completely confused. Don't you want a system where the Bitcoin user can get away with their transaction's confirmation without paying a fee?
Originally I thought it would be nice if people could get free transactions whenever they wanted them but that seemed a bit undoable so I modified the idea that maybe they can only get them every so often. Every so often means they won't be doing them whenever they want to, only when they have utxos that would qualify.

Quote
Please read my question properly. You say that there'll be a sort of a punishment for the miners who'll choose to not include a free transaction into their candidate block, correct?

Now, I'm asking:  How will you confirm that they indeed chose to not include it since you know only your own mempool and not theirs.

nodes would perform verification on the block that was submitted to the network and see if it included free transaction in it or not.

Quote
I've given an example of how a miner could cheat the system:

How will you prevent them from including their own transactions to bypass this annoying requirement and cheat the system.


Well then I guess we have a philosophical disagreement because I don't see a problem with bitcoin miners including their own transactions in a block. They probably already do that now. Do you consider that cheating?

I think you might be under the impression that I'm advocating for free transactions all the time anytime 24/7/365 which is not the case.


Title: Re: How to give btc users no transaction fees.
Post by: garlonicon on August 19, 2021, 06:54:25 AM
Quote
Do you consider that cheating?
Now it's not cheating, because it's not something they have to do. In your system they have to include free transactions, so they can simply reject free transactions from people and create their own free transactions, just to include something. There is no way to set fees by using consensus rules. You can have no fees and then they will be paid in transaction outputs (or even in Lightning Network transactions, maybe even in dollars if that will be convenient for miners). You can have too high fees and then users will switch to another coin or miners will return some fees back to the users to bring them back and bypass stupid rules.

To sum up: you can set fees only on mempool level. You can create some solo miner or some mining pool with different rules, but that's all, there is no way to force everyone to switch into your system, the only possible thing is creating some nodes that will accept lower fees or no fees. For now, if you pay 10 satoshis per byte or more, ViaBTC will include up to 100 transactions in their blocks every hour. In your node, you can offer pushing up to N transactions with no fees (or up to N bytes of such transactions), you can offer some kind of gambling (you can win a free transaction or pay two times more than usual), I can imagine something like that.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 19, 2021, 07:01:59 AM
Every so often means they won't be doing them whenever they want to, only when they have utxos that would qualify.
But, that's not “every so often”. For some people whose transactions will qualify, it'll be “always” and for those whose transactions won't qualify, it'll be “never”. Would you mind writing what are the qualifications for a free transaction, though?

nodes would perform verification on the block that was submitted to the network and see if it included free transaction in it or not.
Alright, let's take it from the beginning.

The nodes have to somehow punish the miners who choose to not include free transactions in their block, if there are some, correct? But, for the rest of the nodes, what the miners receive in their mempool is non of their business. They can't know what they've received, because each mempool is considered unique for each node; it's just a place where the unconfirmed transactions are gathered.

Each node chooses their own minimum relay fee policy. One may accept any transaction, but others only those that pay a higher amount than 1000 sats as a fee. Thus, they end up with a different mempools.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 19, 2021, 08:55:35 AM

But, that's not “every so often”. For some people whose transactions will qualify, it'll be “always” and for those whose transactions won't qualify, it'll be “never”. Would you mind writing what are the qualifications for a free transaction, though?


Oh that's a very good question indeed! But look at posting #92. That was a very simple metric. I'm going to experiment with other ones. I'll post here when I get something that I like.  Because I know everyone is really excited about how they can get a free transaction oneday  ;D as long as miners dont cheat too much of course. Because nothing would be worse than a miner that didn't want to play by the rules and let peoples free transactions into a block, I mean how do you even force them to??


Quote
Alright, let's take it from the beginning.

The nodes have to somehow punish the miners who choose to not include free transactions in their block, if there are some, correct? But, for the rest of the nodes, what the miners receive in their mempool is non of their business. They can't know what they've received, because each mempool is considered unique for each node; it's just a place where the unconfirmed transactions are gathered.

Each node chooses their own minimum relay fee policy. One may accept any transaction, but others only those that pay a higher amount than 1000 sats as a fee. Thus, they end up with a different mempools.

Nodes validate blocks according to the consensus rules. They don't punish or reward anyone as far as I'm concerned. Anyhow, it's ok if different nodes have different mempools. Not sure why you have such a big sticking point about that matter. ???


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 19, 2021, 09:18:42 AM
Quote
Do you consider that cheating?
Now it's not cheating, because it's not something they have to do. In your system they have to include free transactions, so they can simply reject free transactions from people and create their own free transactions, just to include something.

That does seem to be problematic. I didn't really think of it that way. But you're right. Unless it is easier for them to let other peoples' free transactions be used than their own. That's the only way I could envision it still being possible.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on August 19, 2021, 12:38:53 PM
I'll post here when I get something that I like.
Ensure your proposal's straightforwardness. Whatever you have to propose, if you ever come into a valid solution, make sure it is understandable from your readers. Let it be simple and don't mess with advanced terms which may make us understand it falsely.

Nodes validate blocks according to the consensus rules. They don't punish or reward anyone as far as I'm concerned.
They don't, but you referred to a punishment from the side of the miners if they choose to not confirm free transactions and I asked you to tell me how will you confirm that they, indeed, do that on purpose and how will you prevent them from filling the block with their free transactions to bypass that requirement.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on August 20, 2021, 02:18:49 AM

Ensure your proposal's straightforwardness. Whatever you have to propose, if you ever come into a valid solution, make sure it is understandable from your readers. Let it be simple and don't mess with advanced terms which may make us understand it falsely.

Will do boss. thanks for your inputs.


Title: Re: How to give btc users no transaction fees.
Post by: larry_vw_1955 on September 01, 2021, 02:50:52 AM
Iota has free transactions and very innovative. I guess bitcoin is still in the dinosaur age.

Problem is the admins like to lock threads so no free speach and the people here exist to shoot ideas down which is fine I wouldnt have that any other way but the admins shouldnt be locking threads. They should let a free discussion but they dont.


Title: Re: How to give btc users no transaction fees.
Post by: garlonicon on September 01, 2021, 04:42:38 AM
Quote
Iota has free transactions and very innovative.
Bitcoin also had free transactions, but there was simply no incentive to continue that. If you want to change that, you can pay transaction fees for other people (if you are not a miner) or mine free transactions (if you are a miner). There are no protocol limitations, just default node settings prevent free transactions to avoid spamming the network for free.

Also notice that in the Lightning Network you can create a channel with your friend and have zero fees at all, as long as both nodes agree. You can also create your own public node with no fees.

Quote
I guess bitcoin is still in the dinosaur age.
I think the situation is completely different. Every coin that reached some serious level of adoption, encountered high fees and something we can call "fee market". So, the lack of fees is some sign of being "in the dinosaur age", like "this coin is brand new, so we don't need fees (yet)". But fees are needed in every coin with limited supply. If the basic block reward in a coin will ever reach zero, then miners need any fees to build new blocks. On the other hand, if some coin has unlimited supply, then there could be no fees at all, but then inflation will act as a hidden fee.

Also, transaction batching is possible now (and transaction joining on mempool level may be possible in the future). So, if there are hundreds of transactions and they are all batched, then the whole transaction can be broadcasted for one satoshi per byte, everyone could pay one satoshi for transaction and if there are more users than bytes, then some people could get that batched for free.


Title: Re: How to give btc users no transaction fees.
Post by: Wind_FURY on September 01, 2021, 06:59:38 AM
Iota has free transactions and very innovative. I guess bitcoin is still in the dinosaur age.

Problem is the admins like to lock threads so no free speach and the people here exist to shoot ideas down which is fine I wouldnt have that any other way but the admins shouldnt be locking threads. They should let a free discussion but they dont.


ZERO? Then what kind of protection mechanism does it have to prevent bad actors from spamming the network? Is that shitcoin Proof of Work or Proof of Stake? What kind of incentive stucture does it have to prevent from Sybil Attacks by bad actors?

The problem with people is they don’t read the SIMPLE basics of how a true decentralized cryptocurrency network works. They simply notice some faster shitcoin, and assume it’s better.


Title: Re: How to give btc users no transaction fees.
Post by: ABCbits on September 01, 2021, 09:52:00 AM
Iota has free transactions and very innovative. I guess bitcoin is still in the dinosaur age.

Have you researched the trade-off?
1. To create/broadcast 1 transaction, you need to perform PoW.
2. IOTA has single point of failure, read https://globalcryptosociety.com/2021/08/iota-cryptocurrency-shuts-down-entire-network-after-wallet-hack/ (https://globalcryptosociety.com/2021/08/iota-cryptocurrency-shuts-down-entire-network-after-wallet-hack/)
3. IOTA don't care about cost of running node.


Title: Re: How to give btc users no transaction fees.
Post by: vjudeu on September 01, 2021, 12:09:18 PM
Quote
To create/broadcast 1 transaction, you need to perform PoW
That's terrible, because if the same would be done in Bitcoin, then let's assume that block 00000000000000000008e18585a83e67e6fae1029e761cc07a7f20511dbfae1a created 636709588 satoshis. If everyone would need to perform equivalent amount of work in sha256d, then that would mean sending one satoshi would cost producing hash below 000000000001510a12cb3ba29a2d36581f50e80d3e2028757af44a9a0580f188. Doing that with CPU would be extremely difficult and would halt the whole network, because only miners could send any transactions at all.


Title: Re: How to give btc users no transaction fees.
Post by: BlackHatCoiner on September 01, 2021, 12:38:10 PM
Iota has free transactions and very innovative. I guess bitcoin is still in the dinosaur age.
I guess you haven't understood what's the scaling problem.

In a decentralized system, where we store transactions into blocks, they have to have a certain size limit. If we had 1 GB of blocks, then we'd also pay zero fees, but only a few mining rigs with technologically upgraded optical fibers could hold out the entire network. I couldn't run my a own node which provides me tons of benefits except if I had few thousands dollars to purchase the required storage. Thus, decentralization becomes a myth as I will need to trust someone else for delivering me the correct chain.

Quote
To create/broadcast 1 transaction, you need to perform PoW
That's terrible
I think he meant “To confirm a transaction”.


Title: Re: How to give btc users no transaction fees.
Post by: n0nce on September 03, 2021, 08:58:24 AM
Iota has free transactions and very innovative. I guess bitcoin is still in the dinosaur age.

Problem is the admins like to lock threads so no free speach and the people here exist to shoot ideas down which is fine I wouldnt have that any other way but the admins shouldnt be locking threads. They should let a free discussion but they dont.
I think you should be more thankful of knowledgeable people that have been in the space for years and tell you why a shitcoin is bad. They're protecting you from losing all of your funds in a way.

As alluded to by others, many chains were 'cheap and fast' when adoption was near 0. Bitcoin was like that. Ethereum was like that a few years later. ETH maxis laughed about the idea of LN since 'their coin scaled on-chain cheaply'. Fast-forward to 2021: much larger blockchain size, AND higher fees. Blockchains are always fast and cheap when nobody uses them.

Only real scaling solution is off-chain. Think about it: how many more people have yet to get into Bitcoin in the world? How much would the blockchain (and block size) need to grow if they'd all use on-chain transactions all the time? It will need Gigabyte sized blocks, thus centralizing all nodes and defeating the whole purpose of Bitcoin.
Heck - even on-chain transactions these days partly use 'off-chain technology' when using SegWit to keep nodes easy to run.

However, L2 solutions like Lightning do scale, because everyone can create a channel with anyone else, with a single transaction, then send unlimited amount of transactions over that channel - faster than with any pure blockchain-based solution since there is no 'block time' at all, no confirmations to be awaited. And through routing it gets even better since it limits the amount of channels to usually a hand full to be able to reach most nodes in the network.


Title: Re: How to give btc users no transaction fees.
Post by: Wind_FURY on September 03, 2021, 09:20:12 AM
Quote
To create/broadcast 1 transaction, you need to perform PoW
That's terrible
I think he meant “To confirm a transaction”.

To be precise, you need to confirm 2 transaction. But IOTA community often refer it as PoW since it took few seconds to minutes (depending on decice you use). The goal of PoW on Bitcoin and IOTA quite different, where PoW on IOTA is designed to prevent/reduce transaction spam.


Then instead of a “blockchain”, it’s a “transaction-chain” with individual transactions using Proof of Work as a spam prevention mechanism. That’s not free, and what are the incetives, plus what determines which transaction goes first? How to prevent reorganization of transactions?


Title: Re: How to give btc users no transaction fees.
Post by: ABCbits on September 03, 2021, 09:47:58 AM
To be precise, you need to confirm 2 transaction. But IOTA community often refer it as PoW since it took few seconds to minutes (depending on decice you use). The goal of PoW on Bitcoin and IOTA quite different, where PoW on IOTA is designed to prevent/reduce transaction spam.
Then instead of a “blockchain”, it’s a “transaction-chain” with individual transactions using Proof of Work as a spam prevention mechanism.

True, IOTA doesn't use blockchain, but DAG (Directed Aligned Graph).

That’s not free

Their definition of free is not spending coin.

and what are the incetives, plus what determines which transaction goes first? How to prevent reorganization of transactions?

I don't perform detailed research, so i don't know. But honestly i don't care since IOTA has single point of failure (see link i mentioned above).


Title: Re: How to give btc users no transaction fees.
Post by: n0nce on September 03, 2021, 10:04:22 AM
Only real scaling solution is off-chain. Think about it: how many more people have yet to get into Bitcoin in the world? How much would the blockchain (and block size) need to grow if they'd all use on-chain transactions all the time? It will need Gigabyte sized blocks, thus centralizing all nodes and defeating the whole purpose of Bitcoin.
Heck - even on-chain transactions these days partly use 'off-chain technology' when using SegWit to keep nodes easy to run.
That's the point though. We don't have to be using off chain, and the block size on chain will likely have to increase in the future. Storage is increasing year by year, and as a result is becoming cheaper. While it might centralise nodes a little bit, we can increase the block size in accordance to the affordability of storage, and its future outlook.
I agree that Bitcoin blockchain is growing slower than the decrease of SSD prices, but I don't think it can accomodate for 7 billion users doing transactions daily, except when using unreasonably ginormous blocks, while off-chain solutions do allow for this functionality.