Bitcoin Forum
May 04, 2024, 03:51:10 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 5 »  All
  Print  
Author Topic: What will keep transaction fees up?  (Read 15384 times)
caveden
Legendary
*
Offline Offline

Activity: 1106
Merit: 1004



View Profile
November 21, 2010, 01:54:23 PM
 #41

Db is right. We should not expect people to generate on a net loss. I don't doubt that there will be people willing to do so. But I think we should aim more than that, otherwise the difficulty factor would be much lower than what it could be.

And this is a problem that could be partially solved by an automatic adjustment of the block size limit, as I argue on the other thread.
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714794670
Hero Member
*
Offline Offline

Posts: 1714794670

View Profile Personal Message (Offline)

Ignore
1714794670
Reply with quote  #2

1714794670
Report to moderator
1714794670
Hero Member
*
Offline Offline

Posts: 1714794670

View Profile Personal Message (Offline)

Ignore
1714794670
Reply with quote  #2

1714794670
Report to moderator
1714794670
Hero Member
*
Offline Offline

Posts: 1714794670

View Profile Personal Message (Offline)

Ignore
1714794670
Reply with quote  #2

1714794670
Report to moderator
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
November 21, 2010, 02:57:15 PM
 #42

From my understanding of the technology and current system, this entire discussion about the block size somehow being related to the transaction fees is silly in the long run.

Quite plainly, who said that the generators have to fill the entire block up?  To me it is simple that generators will simply include: x amount of low fee, and y amount of medium fee, and remainder high fee.  If the space isn’t used, it isn’t used.

It is in the generators interest for to keep the network healthy, this includes not generating at a loss.

Artificially holding the price high by having a smaller block size is both silly and rather pointless, it creates an artificial tax for bitcoin.  The only purpose of having block size limits is for flood protection; otherwise it should be as large as it needs to be.

You must remember that the generators are acting in their self-interest, therefor, they will charge for their service, of course, eventually the low fee transactions will be accepted by some charitable person, but on the whole, the large generators will be selfish and not undercharge for their service, rather they will decide on fees that are profitable.

Finally, who ever said that generators will blindly accept transactions from anyone?   I quite possibly foresee that a bank generator will have low transactions for any of its members address, and high fees for the competition.  This would give the bank a competitive advantage.

One off NP-Hard.
caveden
Legendary
*
Offline Offline

Activity: 1106
Merit: 1004



View Profile
November 21, 2010, 03:11:02 PM
 #43

@da2c7

Why would a generator refuse a transaction with any amount of fee if s/he can still add it to the block?

A bank doesn't need to mind with transactions the way you suggest. All transactions in between its clients don't need to be real bitcoin transactions, they can be just updates in the bank database. The bank would only need to send transactions to the chain when transferring from/to an "outsider" address.
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
November 21, 2010, 03:55:05 PM
 #44

@da2c7

Why would a generator refuse a transaction with any amount of fee if s/he can still add it to the block?

A bank doesn't need to mind with transactions the way you suggest. All transactions in between its clients don't need to be real bitcoin transactions, they can be just updates in the bank database. The bank would only need to send transactions to the chain when transferring from/to an "outsider" address.


Some will, that is charitable, but most aren’t that charitable (and this is a good thing).  I think that an analogy is in order.

A man runs a bakery; he bakes a certain amount of goods early each morning, and sells them throughout the day, when he has leftovers he may reduce the price to flog the bread off, or may take it home for his chooks to eat.

The fallacy that this entire discussion has been trapped into is the assumption that the ‘selfish’ thing is to accept every transaction, no matter how small the fee is, rather that is ‘altruistic.’ The real selfish thing is to accept whoever pays into the block.

See most that run bakeries know that most people buy the bread anyway, cheap or not.  They just wait until the end of the day when it is on sale. That is why it is (more) profitable to take the bread home for you chooks.

Both bakeries and generators work on the lovely formula:  Average Price = (Total Cost + Profit) / Average Sales.

On banks, banks will allow members free or cheap transactions for personal use, if they report the transaction to the bank.

One off NP-Hard.
db (OP)
Sr. Member
****
Offline Offline

Activity: 279
Merit: 261



View Profile
November 21, 2010, 04:51:55 PM
 #45

The fallacy that this entire discussion has been trapped into is the assumption that the ‘selfish’ thing is to accept every transaction, no matter how small the fee is, rather that is ‘altruistic.’

Accepting every transaction is the selfish thing. Every batch from the oven yields an unlimited amount of bread. And there is a thousand people who offer to pay very little. Will the baker decline to take the money, throw away the bread and let the competitors make the sales instead?
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1014


View Profile
November 21, 2010, 05:03:47 PM
 #46

Accepting every transaction is the selfish thing. Every batch from the oven yields an unlimited amount of bread. And there is a thousand people who offer to pay very little. Will the baker decline to take the money, throw away the bread and let the competitors make the sales instead?


But don't you need to accept a price?

db (OP)
Sr. Member
****
Offline Offline

Activity: 279
Merit: 261



View Profile
November 21, 2010, 05:23:15 PM
 #47

But don't you need to accept a price?

How do you mean?
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 21, 2010, 05:27:53 PM
 #48

@da2c7

Why would a generator refuse a transaction with any amount of fee if s/he can still add it to the block?

A bank doesn't need to mind with transactions the way you suggest. All transactions in between its clients don't need to be real bitcoin transactions, they can be just updates in the bank database. The bank would only need to send transactions to the chain when transferring from/to an "outsider" address.


Some will, that is charitable, but most aren’t that charitable (and this is a good thing).  I think that an analogy is in order.

A man runs a bakery; he bakes a certain amount of goods early each morning, and sells them throughout the day, when he has leftovers he may reduce the price to flog the bread off, or may take it home for his chooks to eat.

The fallacy that this entire discussion has been trapped into is the assumption that the ‘selfish’ thing is to accept every transaction, no matter how small the fee is, rather that is ‘altruistic.’ The real selfish thing is to accept whoever pays into the block.

See most that run bakeries know that most people buy the bread anyway, cheap or not.  They just wait until the end of the day when it is on sale. That is why it is (more) profitable to take the bread home for you chooks.

Both bakeries and generators work on the lovely formula:  Average Price = (Total Cost + Profit) / Average Sales.

On banks, banks will allow members free or cheap transactions for personal use, if they report the transaction to the bank.


I think there is an important difference. When one generator is faced with deciding to take tiny fees and fill up the block or leave them will compare the immediate gain of fees to his future loss via the general reduction of fees. But unless he has significant market share this general influence will affect other generators more than himself.

<here I paused to think for several minutes and almost deleted my post>

I was thinking that he should ignore the influence on other generators and simply calculate how much on average he expects fees to rise by keeping the cheapest fees out of his blocks and see if it is worth it. But then I realized that he actually benefits from reducing fees because they will remove marginal generators and decrease difficulty resulting in him generating blocks more quickly. And he will keep these particular small fees from going to a competitor as well.

I still can't say for sure, but I think the best strategy will be to accept all fees.

The bread story is not so good because almost everyone prefers the morning bread and won't wait just for a discount.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
asdf
Hero Member
*****
Offline Offline

Activity: 527
Merit: 500


View Profile
November 21, 2010, 11:14:36 PM
 #49

I think there is an important difference. When one generator is faced with deciding to take tiny fees and fill up the block or leave them will compare the immediate gain of fees to his future loss via the general reduction of fees. But unless he has significant market share this general influence will affect other generators more than himself.

<here I paused to think for several minutes and almost deleted my post>

I was thinking that he should ignore the influence on other generators and simply calculate how much on average he expects fees to rise by keeping the cheapest fees out of his blocks and see if it is worth it. But then I realized that he actually benefits from reducing fees because they will remove marginal generators and decrease difficulty resulting in him generating blocks more quickly. And he will keep these particular small fees from going to a competitor as well.

I still can't say for sure, but I think the best strategy will be to accept all fees.

The bread story is not so good because almost everyone prefers the morning bread and won't wait just for a discount.

This is the problem: there is NO incentive to NOT accept every fee paying transaction, unless the fee is extremely small (ie. it costs more for the ram + cpu time than the value of the fee). Fundamentally, I think there has to be a built in cost for generators to process a fee and this cost must scale with economic activity.

Adjusting the block size automatically is fine, if you can find a function that scales appropriately. This creates an artificial scarcity for transactions, so generators prioritize higher fees.

We need more debate on this issue. This is a serious economic flaw.
MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1007



View Profile
November 21, 2010, 11:55:00 PM
 #50



We need more debate on this issue. This is a serious economic flaw.

This is not a flaw, economicly or otherwise.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
November 21, 2010, 11:55:37 PM
 #51

The bread story is not so good because almost everyone prefers the morning bread and won't wait just for a discount.

This point just confirms the bread analogy; people who like to buy bread in the morning are akin to the people who want to be included in the block chain quickly; they pay a price for this privilege.

The bakery analogy is very correct, including low fee transactions is like making bread at cost/low profit, one can do it, however selfish thing IN THE LONG RUN is to make only as much bread that people will buy at a price that MAXIMIZES profit.

In the future we will have generators that will _not generate_ until there is a certain amount of high fee blocks waiting, and then they will automaticity turn on their massive generation capacity and quickly generate the block.  This leaves the average difficulty relatively low, and makes a strong incentive to include larger fees.  These generators plainly won’t include any low fee blocks, low fee blocks will have to wait around for a charity block.

There will be bank generators that generate regularly, however charge high fees for ANY transaction from the competition. (Just like ATM fees).

The large generators that do this will have a larger percentage of the high fees; they will also not waste electricity on nothing.

One off NP-Hard.
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
November 22, 2010, 12:02:19 AM
 #52

Accepting every transaction is the selfish thing. Every batch from the oven yields an unlimited amount of bread. And there is a thousand people who offer to pay very little. Will the baker decline to take the money, throw away the bread and let the competitors make the sales instead?

The problem is that there isn’t an unlimited supply, in this case of time.  The generator that accepts every transaction is not going to be 100% of the blocks generated, therefore there will be transactions that don’t’ get accepted in every block (i.e. low fee ones).  What people are paying for isn’t ‘to be included’ (where they are included anyway in the long run), but rather to be included more reliably in the next block(s).

One off NP-Hard.
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1014


View Profile
November 22, 2010, 12:09:59 AM
 #53

This should be moved to Economics.

db (OP)
Sr. Member
****
Offline Offline

Activity: 279
Merit: 261



View Profile
November 22, 2010, 12:33:50 AM
 #54

The problem is that there isn’t an unlimited supply, in this case of time.  The generator that accepts every transaction is not going to be 100% of the blocks generated, therefore there will be transactions that don’t’ get accepted in every block (i.e. low fee ones).  What people are paying for isn’t ‘to be included’ (where they are included anyway in the long run), but rather to be included more reliably in the next block(s).

Close to 100%. You will get few generators who selflessly sacrifice their own profits to keep prices up for their competitors.
asdf
Hero Member
*****
Offline Offline

Activity: 527
Merit: 500


View Profile
November 22, 2010, 04:51:07 AM
 #55

In the future we will have generators that will _not generate_ until there is a certain amount of high fee blocks waiting, and then they will automaticity turn on their massive generation capacity and quickly generate the block.  This leaves the average difficulty relatively low, and makes a strong incentive to include larger fees.  These generators plainly won’t include any low fee blocks, low fee blocks will have to wait around for a charity block.

How will the fees build up if the smaller generators are constantly processing them. there isn't going to be a sudden influx of high fee transactions... The large generators will simply be leaving all the profit to competitors. And if the competitors are snapping up any transaction no matter how small the fee, there is little incentive to pay a high fee in the first place.
MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1007



View Profile
November 22, 2010, 05:08:39 AM
 #56

In the future we will have generators that will _not generate_ until there is a certain amount of high fee blocks waiting, and then they will automaticity turn on their massive generation capacity and quickly generate the block.  This leaves the average difficulty relatively low, and makes a strong incentive to include larger fees.  These generators plainly won’t include any low fee blocks, low fee blocks will have to wait around for a charity block.

How will the fees build up if the smaller generators are constantly processing them. there isn't going to be a sudden influx of high fee transactions... The large generators will simply be leaving all the profit to competitors. And if the competitors are snapping up any transaction no matter how small the fee, there is little incentive to pay a high fee in the first place.

There is a lot of guessing going in this thread, for we seem to have all fallen victim to the idea that we can guess the nature of a market that doesn't yet exist.  As it is now, there is no incentive to pay a transaction fee at all, as the fee structure that currently exists is intended to limit spamming without prohibiting legitimately non-conforming transactions; not offer a profit motive to generators decades away.  The fee structure can be altered without much difficulty on a technical level, but the future political issues are as difficult to predict as the market is.  Yet many seem to get blinded by the profit motive as the only motive for generation, which can easily be shown to not be the case presently, and I have seen no compelling reason as to why it must become the only reason in the future. 

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
November 22, 2010, 05:14:12 AM
 #57

Ironically, the spamming has created an incentive to pay at least a 0.01 TX fee (the Bitcoin Faucet does this now).

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 22, 2010, 05:56:22 AM
 #58

In the future we will have generators that will _not generate_ until there is a certain amount of high fee blocks waiting, and then they will automaticity turn on their massive generation capacity and quickly generate the block.  This leaves the average difficulty relatively low, and makes a strong incentive to include larger fees.  These generators plainly won’t include any low fee blocks, low fee blocks will have to wait around for a charity block.

How will the fees build up if the smaller generators are constantly processing them. there isn't going to be a sudden influx of high fee transactions... The large generators will simply be leaving all the profit to competitors. And if the competitors are snapping up any transaction no matter how small the fee, there is little incentive to pay a high fee in the first place.

There is a lot of guessing going in this thread, for we seem to have all fallen victim to the idea that we can guess the nature of a market that doesn't yet exist.  As it is now, there is no incentive to pay a transaction fee at all, as the fee structure that currently exists is intended to limit spamming without prohibiting legitimately non-conforming transactions; not offer a profit motive to generators decades away.  The fee structure can be altered without much difficulty on a technical level, but the future political issues are as difficult to predict as the market is.  Yet many seem to get blinded by the profit motive as the only motive for generation, which can easily be shown to not be the case presently, and I have seen no compelling reason as to why it must become the only reason in the future. 

This is a good point.

While I wouldn't be real excited if, for example, transaction fees didn't even exist and the plan was that people would donate cycles since they wanted it to work, I can't even be sure that would fail. As the system is, I think the incentive scheme is good, but can't tell quite what the ultimate drivers of difficulty will be and to what extent, but one way or another I think it will be huge. People buy lottery tickets that are -EV all the time, millions of them daily. Well, when 100 million people are using bitcoin a 12.5+fees win might be pretty huge. People might buy that ticket way way more often than would be rational.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
da2ce7
Legendary
*
Offline Offline

Activity: 1222
Merit: 1016


Live and Let Live


View Profile
November 22, 2010, 07:22:58 AM
Last edit: November 22, 2010, 08:36:37 AM by da2ce7
 #59

Close to 100%. You will get few generators who selflessly sacrifice their own profits to keep prices up for their competitors.

I’ll try and explain it more formally. (The entire system is quite complex, but I’ll give it a go).

Limited and Unlimited domains:
Demand: Number of transactions. (Limited)
Demand Restriction: Amount that the bitcoin community is willing to spend on transactions. (Limited)
Demand Modifier:  Priority to record transaction in block chain. (Choice)
Supply: Recording transactions in block chain. (Unlimited or limited, depending on block size, variable of interest.)
Supply Restriction: Cost of generating block. (Variable, Limited)
Supply Restriction, Restriction: Number of block generated / time. (Fixed, Limited)

Now, supply and demand would dictate that an unlimited resource (space in block chain) with a limited demand (Number of transactions) will tend towards no cost.  This is the entire basis of the argument to limit the size of the block, to create a ‘market’ to be included in such block.  I’ll explain later (another post, this is already getting long) that this effectively is an artificial tax on the entire bitcoin community, and will diminish the performance of the economy.

The main fallacy is that happening is that the real cost isn’t just resource cost (dictated by supply and demand):
 
Resource Cost = Demand (transactions) / Resource Supply (space in block chain)
Supply Cost = Supply Restriction (Generation cost) * Supply Amount (Number of Transactions)
Cost = Resource Cost + Supply Cost + Profit

Even if the resource cost is 0, there still is a supply cost.  This can is because of the restricted supply domain. (A restriction on supply is the inverse of supply)

But why doesn’t the Supply Cost tend to zero also, through competition? This is a slightly less obvious, it depends on the time Doman: (number of block generated / time) fixed at around 1/10 bock per minute.

There is an unlimited supply of block in the timeless domain; this would normally push the price down to 0, making no incentive to produce blocks.  However there is a restriction in the time domain: the number blocks generated per time.

Therefore the calculations can be summarized as the first partial derivative, in respect to time.

See Attachment eq1 and eq2.


Where c = cost, d = demand, s = supply, t = time.

you can see for any time period (t), the demand and supply can be non zero. (eq2) as s, and d are for the prescribed t.

So simply, a selfish generator will always be better off by charging the real cost of transactions.  (In the time domain).  That means that the selfish thing in the long run is to not accept low fee transactions.

Hope this heps.  It is a bit of an over simplification, but I think it gets the basic message across.

Edit: Note, this is a simplification of supply and demand that works in percentage changed, and therefore limits and trends can be gleaned from it... It is _NOT_ useful in predicting absolute price.  

One off NP-Hard.
asdf
Hero Member
*****
Offline Offline

Activity: 527
Merit: 500


View Profile
November 22, 2010, 11:51:03 AM
 #60

Let's drop the analogies then and go straight at the problem.

The maximum block size is big, having room for all or most transactions.
Therefore, transaction fees are (close to) zero.
Therefore, total block transaction fees are also (close to) zero.
Therefore, all for-profit block generation ceases.
Therefore, difficulty drops.

If for-profit block generation was the only generation going on then difficulty would be very low and double spending very easy. The only thing that can save the system is people generating at a loss.

Now we have a lot of bitcoin holders that would lose greatly if payments become unreliable and confidence in the system drops. Will they contribute to their common good? If they do it will not be out of self interest. If you contribute to the system reliability you lose your contribution and benefit very little because the benefit is shared with everyone. If you use the system without contributing you benefit from everyone elses contributions anyway.

The usual sad result is that everyone tries to live off of everyone elses contributions, very little is actually contributed and everyone loses.

Classic tragedy of the commons.


I agree with db on this. The issue can be put simply like this: the generator which accepts the lowest fees, makes the most profit. given any two generators with the same capacity.

I don't quite understand da2ce7's post, but he seems to be implying that it's profitable "in the long run" to accept higher fees only. This seems flawed, because in the short run, such a generator will be the first to go out of business.

I want to start thinking about solutions.

One avenue might be to impose some sort of protocol restriction on the fee distribution of transactions in a block. In such a way that generators can't just include every little transaction in a block or else the network will reject it. For example, for a block to be valid, no more than half of the transactions in the block can have fees below the average fee for that block. So, if 10 transactions have a fee of 1BTC and 10 more have a fee of 0.5BTC the average is 0.75. Now half the fees are already below this so an additional transaction with a 0.5BTC fee cannot be accepted, but a 0.8BTC fee is okay. That's just an example, I'm not sure if it would actually work.
Pages: « 1 2 [3] 4 5 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!