Pages:
Author

Topic: Funding network security in the future - page 3. (Read 13334 times)

legendary
Activity: 1176
Merit: 1020
November 04, 2014, 03:13:38 AM
#56
Suppose all the miners form a cartel. They will have no problem funding themselves; they can all agree not to include any tx that doesn't pay high fees. The users would pay this fee because they have no other choice.

Some users will try to pay a fee lower than the cartel's threshold. One miner decides to defect from the cartel; he includes in his block all these low-fee transactions. This costs him nothing, so this is a net profit for him (he benefits).

Seeing this, users will know that even if they don't pay the cartel's high fees, they can still get their tx included eventually. Thus, their willingness to pay high fees is lower (that is, the miner consumed their willingness). Thus, more users will try to pay low fees, and the total revenue of all miners decreases.

But it's not just the one miner. Every miner will, individually, have an incentive to include low-fee txs. This means that even with a low fee, it's easy to get a tx to the block. Thus, no user will want to pay high fees, and the total revenue of miners will be low (this is the tragedy - for the miners, and due to the effect on network health, for all Bitcoin users).

This is completely analogous to the classical instance of tragedy of the commons, where all herders would benefit if they all grazed just their fair share, but everyone is incentivized to defect and overgraze, depleting the resource and causing everyone to suffer.

As long as the cartel has more than 50% of the hash power, it can dictate the terms and ensure any blocks not conforming to the cartel's fee policy would be orphaned.  A cartel operating in such a fashion can prevent the tragedy of the commons you describe.  I prefer to think of it as a race-to-the-bottom issue, with the bottom being inadequate network security.  Realistically I would expect the 'willing' participants in the cartel to have somewhere between 70% and 90% of the hash power.  The remaining fraction of hash power would also contribute hashing to the cartel because it would NOT be in their best interest to have their blocks constantly orphaned.  Those miners might not like the cartel policies, but they would have little choice.

I wrote about this concept extensively in my earlier posts on this same thread.
full member
Activity: 187
Merit: 162
November 03, 2014, 10:53:15 PM
#55
There would be a certain percentage of miners that would try and include any low fee paying transactions in their blocks (and maybe the community miners too, who want to provide this service) but for anybody with a reasonable share of the total hashing power it would definitely be against their long term self interest to move too far away from a cartel price (whether the cartel was natural or not) and I think that miners with a large share of hashing power would act according to these long term interests.

You could just as easily say that in the classic tragedy of the commons scenario, anyone with a reasonable number of cows would limit their grazing voluntarily because otherwise they'd be acting against their long term interest, so we don't have to worry about the tragedy of the commons. I think your argument fails for the same reason.

The market for digital products is similar in that once you have built the software for a computer game it doesn’t cost you any more no matter how many games you produce. However we don’t see the market price being driven down to the actual costs of production and below even though there is a willingness to pay a lower price.

This is a very dissimilar situation, because the game producer has a monopoly on the right to sell the game. If anyone off the street had a right to sell the game, you would see the price fall to almost zero.

If permanent inflation ends up being required to encourage large amounts of hashing power, the heavy hitters will switch to a chain that has permanent inflation built in. If % fees on transactions end up being the most attractive choice, then the heavy hitters will switch to the chain that has % fees, because though they may not like the fee, they value the security and the heavy hitters will care enough to stomach the fees. If a really restrictive block size ends up being the correct choice... and so on. Sidechains could let all of these experiments happen on the Bitcoin currency directly.

Unfortunately, sidechains could probably not be used to switch to a cryptocurrency (ccy) with permanent inflation. The reason is that if a new ccy had permanent inflation, no holder of of that ccy could escape it, and everyone would be forced to pay for network security in proportion to their holdings. If you create a Bitcoin sidechain with permanent inflation, everyone has a choice as to whether to move their coins to that sidechain. So the only people paying for network security will be the people who choose to do so. You still have a free rider problem.

I saw "probably" above because there might be some clever solution where you'd make it extremely costly and difficult to move one's coins back from the sidechain to Bitcoin which somehow encourages everyone to just move their coins there and keep them there, or you might be able to come up with some crazy rules on the sidechain that I haven't thought of. But as far as I know, no one has proposed a viable way that sidechains could be used to solve the future network security problem.
full member
Activity: 187
Merit: 162
November 03, 2014, 10:38:25 PM
#54
Funding hashing is a pure bargaining game between miners and users; the miners can include a tx at no cost, but they are in a position to charge a fee for this because the user relies on them. Shapley value theory suggests the amount the user should pay is proportional to the value of the transaction for them. Knowing the value for the user is difficult; however, I believe a good proxy for this is the total number of coins transferred in the tx. Placing a cap on the total number of coins transferred in transactions in the block helps ensure that users pay fees proportional to the amount sent, which in turn is roughly proportional to the value of the tx to them.

And from this, we derive how we should fund this cost using tx fees. We want to keep tx fees artificially high, so that the total cost of mining is high, so that the network is secure.

I think your analysis regarding keeping Bitcoin fees "artificially high" would work in a world where there is a high switching cost to competing cryptocurrencies (ccys). However, it won't work if users have an easy alternative to paying these artificially high fees. Assume that in the future the switching cost between ccys is negligible. Then people who actually use Bitcoin as a medium of exchange will migrate to ccys that are designed for low transaction fees by having a greater share of network security paid for by inflation/demurrage. Because the value of a ccy is driven by its use as a medium of exchange, Bitcoin would basically fade away and be replaced by this more medium of exchange friendly ccy. Robert Sams has an amazing post about this at http://cryptonomics.org/2014/01/15/the-marginal-cost-of-cryptocurrency/, which is the most serious treatment of Bitcoin economics I've ever seen.

So the question becomes: in the future will the switching cost between ccys be so high that people who want to use ccys as a medium of exchange can be forced to pay the entire cost of securing a ccy network? As a software developer I'm skeptical of this because I can envision how simple it would be for payment software to be able to accept multiple ccys and convert between them.

member
Activity: 75
Merit: 10
November 03, 2014, 07:29:27 PM
#53
The problem that remains with many of these proposals is that it will always be cheaper to transact off-blockchain and it is free to hold bitcoins once the inflation rate falls. Depending on people's desire for on-blockchain vs. off-blockchain transactions, this can be a serious problem.

Regardless, Meni's suggestion seems clearly better than limiting the blocksize by data.
hero member
Activity: 543
Merit: 501
November 03, 2014, 12:47:37 PM
#52
A few thoughts:

I believe that if people want a secure network, they will figure out a way of getting it. My justification is the same as my belief that if people want clean, cheap, safe drinking water they will figure out a way of getting it.

Quote
Both conventional wisdom and economic theory have been called into question recently by a series of research papers which report experimental studies of collective decision-making about public goods. Almost without exception, these papers have reported results that cast serious doubt upon the importance - and, in some cases, even upon the very existence - of the free rider problem.

The people who are most likely to care about security are the people with a ton of stake in the system. The average person, having a few thousand dollars worth of coins (or less), is unlikely to want to fund miner security if they know that there are already tens of thousands of dollars of hashing being done every day. They will probably be a collective deadweight, simply because of a diffused sense of responsibility. (10 million people each having $1000 stake will not fund as much mining collectively as a single person with $10 billion stake). Enough of the heavy hitters though will care to fund the network to a reasonable amount of security. I think this will happen at any value. If a bitcoin is $25, the heavy hitters will have a realistic sense of what the hash rate needs to be to protect them. If a bitcoin is $250,000, the heavy hitters are now probably governments and corporations, but they will still have a realistic sense of what is needed to properly protect their stake into the currency.

I think that altchains and altcoins will be able to play a big role in this. If permanent inflation ends up being required to encourage large amounts of hashing power, the heavy hitters will switch to a chain that has permanent inflation built in. If % fees on transactions end up being the most attractive choice, then the heavy hitters will switch to the chain that has % fees, because though they may not like the fee, they value the security and the heavy hitters will care enough to stomach the fees. If a really restrictive block size ends up being the correct choice... and so on. Sidechains could let all of these experiments happen on the Bitcoin currency directly.

My personal guess is that a permanently inflationary currency is going to be the long term solution. I don't see assurance contracts panning out, I don't see the value in restricting the amount of transactions (beyond enabling the average home connection to keep up), and I don't think people will voluntarily pay higher than necessary fees.
member
Activity: 111
Merit: 10
November 03, 2014, 11:27:49 AM
#51
Suppose all the miners form a cartel. They will have no problem funding themselves; they can all agree not to include any tx that doesn't pay high fees. The users would pay this fee because they have no other choice.

Some users will try to pay a fee lower than the cartel's threshold. One miner decides to defect from the cartel; he includes in his block all these low-fee transactions. This costs him nothing, so this is a net profit for him (he benefits).

Seeing this, users will know that even if they don't pay the cartel's high fees, they can still get their tx included eventually. Thus, their willingness to pay high fees is lower (that is, the miner consumed their willingness). Thus, more users will try to pay low fees, and the total revenue of all miners decreases.

But it's not just the one miner. Every miner will, individually, have an incentive to include low-fee txs. This means that even with a low fee, it's easy to get a tx to the block. Thus, no user will want to pay high fees, and the total revenue of miners will be low (this is the tragedy - for the miners, and due to the effect on network health, for all Bitcoin users).


OK, I understand that explanation a bit better.
The key factor is that it doesn’t cost any more to produce a block with the extra low fee paying transactions in as well than to just include the high fee transactions.

Even if the miners didn’t collude to form a cartel I think that some form of natural cartel would form and the transaction fee would reflect the cost of mining.

 There would be a certain percentage of miners that would try and include any low fee paying transactions in their blocks (and maybe the community miners too, who want to provide this service) but for anybody with a reasonable share of the total hashing power it would definitely be against their long term self interest to move too far away from a cartel price (whether the cartel was natural or not) and I think that miners with a large share of hashing power would act according to these long term interests.

The market for digital products is similar in that once you have built the software for a computer game it doesn’t cost you any more no matter how many games you produce. However we don’t see the market price being driven down to the actual costs of production and below even though there is a willingness to pay a lower price. Perhaps this isn't a perfect analogy either, but it has some similarities.

 I tend to think that the market would still reach an equilibrium with the major miners sticking to a certain price level to protect their long term interests and the result would be the consumer choice of how quickly their transactions will be processed.

Quote
This is completely analogous to the classical instance of tragedy of the commons, where all herders would benefit if they all grazed just their fair share, but everyone is incentivized to defect and overgraze, depleting the resource and causing everyone to suffer.

 I would probably still argue that there is a difference in the analogy that might make any insights gained potentially misleading. In your case it would be the suppliers of the resource that are cheating the system by defying the cartel and reducing the price of the resource, rather than the consumers that are over using and depleting a finite resource, but I agree that what we decide to call the problem isn’t too important.

Quote
If we agree there is a problem (do we?)

There is definitely a potential problem. At the moment I wouldn’t like to guess how it will develop or what is the best solution if/when the problem does appear.
 
member
Activity: 129
Merit: 14
November 03, 2014, 10:48:52 AM
#50
There appears to be a degree of consensus that when the block reward falls to a low level, we need an artificial scarcity of something in order to ensure aggregate transaction fees are high enough to provide sufficient security.  I have tried to analyse the available options of things to make artificially scarce with some kind of maximum:

1.      Block Size (Currently implemented for different reasons)

Advantages
o   This is already implemented for spam protection and bandwidth capacity issues, there could therefore be more of a seamless transition, with the reason for the blocksize limit shifting, rather than the rules
o   Bandwidth, propagation or storage issues could remain for many years to come and therefore a blocksize rule may be relevant for a while.  Having two limits may be too complicated
o   All data to is available in the blockchain
Disadvantages
o   Transaction size may have no relationship to the amortised cost of hashing nor the value of the transaction to the user.

2.      Value of transactions per block (Meni’s preferred option)
Advantages
o   The value of a transaction may relate to the value to the user, therefore it could make more sense for higher value transactions to have higher fees
o   This is reasonably consistent with many other financial systems, which often have a percentage transaction fee
o   All data to is available in the blockchain
Disadvantages
o   What if you have a transaction output higher than the limit, then would that output become unspendable?
o   There is no relationship between the cost of hashing and the value of transactions
o   There may be a limited relationship between the transaction value and the economic value to the user, for example coloured coins, proof of existence, sending large amounts of money between wallets or a large amount of change in a transaction.
o   This may cause administrative difficulties, with people reluctant to consolidate balances into the same transaction outputs, for fear of spending higher fees
o   Transaction outputs with a lower balance could trade at a higher price, since the fee to send money from these outputs will be lower, challenging fungibility
o   This arbitrary limit could be seen as aggressive and challenge the claim that there are no limits on your transactions

3.      Number of transactions per block (My preferred option)
Advantages
o   The transaction fee is paid per transaction, therefore limiting the number of transactions is the most simple option and most direct option in attempting to manipulate the value of the transaction fees.
o   Less of a value judgement is involved in this more neutral policy
o   All transactions are treated equal, regardless of the size involved or value, this supports the systems use as a general case distributed ledger and not just a currency.
o   All data to is available in the blockchain
Disadvantages
o   There is no relationship between the cost of hashing and the number of transactions
o   No account is made for the economic value of the transaction to the user

4.      Hybrid between some of the above
Disadvantages
o   This may be too complex

Does anyone have any other potential ideas?
donator
Activity: 2058
Merit: 1054
November 03, 2014, 09:17:28 AM
#49
The tragedy of the commons relates to unregulated use of common resources.

I don’t think this is any way relevant. Mining resources are not under common ownership and there is no common right to use these resources. They are generally owned by private entities trying to make a commercial profit and you have no right to make them mine your transaction. Miners can choose what transactions they mine so the use of this resource is regulated by the miners.
The common resource here is abstract. It is the willingness of users to pay tx fees. By accepting low-fee txs, a miner consumes this resource (that is, makes users less willing to pay tx fees) for his own benefit, at the expense of the total benefit of all miners. And, since Bitcoin needs miners, this is a problem for all Bitcoin users.

Nobody suggested that the mining devices themselves are a common good.

The demand curve for a product or service shows the relationship between the price of a product and the willingness and ability of consumers to pay.
In traditional economics willingness to pay for a product is not an abstract resource it is a variable in the demand calculation.

As I pointed out, if a certain percentage of miners offer lower fees (such as the charity miners) then this will mean that consumers will have the choice of how fast their transaction is likely to be processed. The fees charged by commercial miners will probably reflect the amount of discounted transaction mining available. Although all of this discounted mining will have to be paid for one way or another.

A miner consuming a ‘willingness to pay’ resource for his own benefit makes no sense to me.
Suppose all the miners form a cartel. They will have no problem funding themselves; they can all agree not to include any tx that doesn't pay high fees. The users would pay this fee because they have no other choice.

Some users will try to pay a fee lower than the cartel's threshold. One miner decides to defect from the cartel; he includes in his block all these low-fee transactions. This costs him nothing, so this is a net profit for him (he benefits).

Seeing this, users will know that even if they don't pay the cartel's high fees, they can still get their tx included eventually. Thus, their willingness to pay high fees is lower (that is, the miner consumed their willingness). Thus, more users will try to pay low fees, and the total revenue of all miners decreases.

But it's not just the one miner. Every miner will, individually, have an incentive to include low-fee txs. This means that even with a low fee, it's easy to get a tx to the block. Thus, no user will want to pay high fees, and the total revenue of miners will be low (this is the tragedy - for the miners, and due to the effect on network health, for all Bitcoin users).

This is completely analogous to the classical instance of tragedy of the commons, where all herders would benefit if they all grazed just their fair share, but everyone is incentivized to defect and overgraze, depleting the resource and causing everyone to suffer.

I didn’t quote blindly. I read it and thought it was relevant to the point I was making. The point I was making was regarding particular economic arguments that used the tragedy of the commons as their premise. I was not making any argument as to whether the equilibrium reached by free market economics would ‘secure’ a network.
If we agree there is a problem (do we?), and we understand its moving parts, it doesn't really matter whether we call it "tragedy of the commons" or not. Though, I do believe that calling it that helps us gain insights from existing knowledge regarding tragedy of the commons problems.

We do not necessarily want to keep mining costs artificially high. What we actually want is to have a network that is secure against hash rate attacks. These are different things.
Sure, but unless we find a better way to keep the network secure, keeping mining costs artificially high is a subgoal.
member
Activity: 111
Merit: 10
November 03, 2014, 08:10:51 AM
#48
The tragedy of the commons relates to unregulated use of common resources.

I don’t think this is any way relevant. Mining resources are not under common ownership and there is no common right to use these resources. They are generally owned by private entities trying to make a commercial profit and you have no right to make them mine your transaction. Miners can choose what transactions they mine so the use of this resource is regulated by the miners.
The common resource here is abstract. It is the willingness of users to pay tx fees. By accepting low-fee txs, a miner consumes this resource (that is, makes users less willing to pay tx fees) for his own benefit, at the expense of the total benefit of all miners. And, since Bitcoin needs miners, this is a problem for all Bitcoin users.

Nobody suggested that the mining devices themselves are a common good.

The demand curve for a product or service shows the relationship between the price of a product and the willingness and ability of consumers to pay.
In traditional economics willingness to pay for a product is not an abstract resource it is a variable in the demand calculation.

As I pointed out, if a certain percentage of miners offer lower fees (such as the charity miners) then this will mean that consumers will have the choice of how fast their transaction is likely to be processed. The fees charged by commercial miners will probably reflect the amount of discounted transaction mining available. Although all of this discounted mining will have to be paid for one way or another.

A miner consuming a ‘willingness to pay’ resource for his own benefit makes no sense to me.

Miners will simply set prices at what it is worth for them to mine and make a reasonable profit. With no block size limit they will be able to set the fee at which they can turn a profit at a lower level.
Quote
economic theory says that in a competitive market, supply, demand, and price will find an equilibrium where the price is equal to the marginal cost to suppliers plus some net income (because suppliers can always choose to do something more profitable with their time or money)
(Gavin’s blog)
Quoting this theory blindly is failing to acknowledge some specific characteristics of Bitcoin mining. Most importantly, that we want to keep mining costs artificially high. Absent any limiting mechanism, sure, the market will reach an equilibrium... An equilibrium where tx fees are low, total hashrate is low, and the network is vulnerable to hashrate attacks.

In a healthy network with a high hashrate, the main cost of a tx is amortized, and the marginal cost is negligible. Hence, having the price equal to the marginal cost (as in the quote) is a disaster.

Thought of another way: Mining has a positive externality which is difficult to monetize, due to "race to the bottom" effects. Left to the market's own devices, no mining will be done. Hence we need some way to coordinate players into providing this externality.


I didn’t quote blindly. I read it and thought it was relevant to the point I was making. The point I was making was regarding particular economic arguments that used the tragedy of the commons as their premise. I was not making any argument as to whether the equilibrium reached by free market economics would ‘secure’ a network.

We do not necessarily want to keep mining costs artificially high. What we actually want is to have a network that is secure against hash rate attacks. These are different things.
For example if the network reaches an equilibrium where it is secure then we don’t need to manipulate mining costs in any way. Transaction costs might, in the future sustain this. We don’t know.

 As my other post mentioned there are different hash rate attacks to consider and some might be done to try and profit but some might be done for political reasons with no regard to cost.
 Guarding against an attack with no regard to cost is more difficult.

 Anyway, I don’t want to seem too argumentative because I agree with most of what you have to say. I just don’t agree with the economic argument based on the tragedy of the commons.

 The subject of mechanisms to manipulate the market in order to provide security is quite a big subject that I haven’t really got time to offer a considered opinion on. I did spend some time trying to build a mathematical model of the different variables in a decentralised network and how they affected each other. I might try and finish this project and post it to see if anyone would be interested in building a simulation (maybe as an open source project) that might be an interesting way of envisioning future effects of applying these mechanisms.


donator
Activity: 2058
Merit: 1054
November 03, 2014, 04:07:55 AM
#47
The tragedy of the commons relates to unregulated use of common resources.

I don’t think this is any way relevant. Mining resources are not under common ownership and there is no common right to use these resources. They are generally owned by private entities trying to make a commercial profit and you have no right to make them mine your transaction. Miners can choose what transactions they mine so the use of this resource is regulated by the miners.
The common resource here is abstract. It is the willingness of users to pay tx fees. By accepting low-fee txs, a miner consumes this resource (that is, makes users less willing to pay tx fees) for his own benefit, at the expense of the total benefit of all miners. And, since Bitcoin needs miners, this is a problem for all Bitcoin users.

Nobody suggested that the mining devices themselves are a common good.

Miners will simply set prices at what it is worth for them to mine and make a reasonable profit. With no block size limit they will be able to set the fee at which they can turn a profit at a lower level.
Quote
economic theory says that in a competitive market, supply, demand, and price will find an equilibrium where the price is equal to the marginal cost to suppliers plus some net income (because suppliers can always choose to do something more profitable with their time or money)
(Gavin’s blog)
Quoting this theory blindly is failing to acknowledge some specific characteristics of Bitcoin mining. Most importantly, that we want to keep mining costs artificially high. Absent any limiting mechanism, sure, the market will reach an equilibrium... An equilibrium where tx fees are low, total hashrate is low, and the network is vulnerable to hashrate attacks.

In a healthy network with a high hashrate, the main cost of a tx is amortized, and the marginal cost is negligible. Hence, having the price equal to the marginal cost (as in the quote) is a disaster.

Thought of another way: Mining has a positive externality which is difficult to monetize, due to "race to the bottom" effects. Left to the market's own devices, no mining will be done. Hence we need some way to coordinate players into providing this externality.


Speaking of caps: I'd like to stress the point that there are two separate costs in the Bitcoin network, each should be addressed in its own way:
1. The marginal cost of propagating, verifying and storing transactions. Caps on the block data size and amount of ECDSA signatures help with funding this.
2. The amortized cost of hashing blocks to secure the network. This has nothing to do with data size, and using data size caps to fund this is misguided and creates perverse incentives.

Meni

Thanks for this interesting comment.  I guess you are correct that the amortised cost of hashing blocks has nothing to do with the data size.  However as you say, knowing the value for the user is difficult.  I am not sure of the value of bitcoins sent is a good proxy, because of additional layers like colored coins and who is to say that a transaction for one person buying medical care has less value to the other than a millionaire pointlessly moving money between wallets?  Why not assume all transactions are equal?  The number of transactions may be the best proxy.
Additional layers are an issue to consider, but even so I believe value sent is a better proxy than all transactions being equal.

Regarding your other point:
1. I hope you realize that my suggestion makes things easier for the person paying medical care. The quantity sent is lower for him, so he is expected to pay less fees.
2. I'm talking about value in the economic sense, not in the emotional, personal sense. Someone who is rich and is sending large amounts is generally willing to pay higher fees. The willingness is an advantage, and should be used to fund the network.
3. If the moving of money between wallets is "pointless", I see no harm in a policy that discourages it. If it's not pointless (security concerns etc.), then the sender is willing to pay for it, and we should use that.

Therefore I would alter my “transaction fee targeting”, mentioned https://bitcointalksearch.org/topic/m.9208935 to be the following:

I propose the following rule to determine the number of transactions in a block limit, once the block reward is low
The number of transactions in a block limit would increase (or decrease), by X%, if total transaction fees in the last N blocks is Y Bitcoin or more (or less).  
This kind of dynamic rules can have very unstable, unpredictable behavior. They should be approached with great care.


Most of the conversation seems to have been about ensuring sufficient transaction fees are paid to miners. But what about the verifiers? Currently, all tx validation is done by volunteers. I think Satoshi initially intended for validators to double as miners, but in a world where the two are largely mutually distinct, how do we support the verifiers? And if we can't, isn't the network doomed anyway?
This is true, and I believe research such as the Red Balloons paper is a step towards resolving this issue.

Anyway, I expect the cost of verifying to be much lower than of hashing, so finding a way to fund that should be easier.

Related to this is something I have not seen considered: the upper limit on hash speed per device.
There is no known physical limit on computation. (There are some erroneous limits occasionally quoted, based on the physical limits of erasing information; but in truth, it is not known that computation requires erasing information proportionally).

And even if there is:
1. We're decades away from being anywhere near it
2. I'm not sure why the rest of your scenario would follow.


I couldn't resist peeking at the literature; the first hit on a google search for "experimental economics free rider" turns up this 1984 paper:

Quote
Both conventional wisdom and economic theory have been called into question recently by a series of research papers which report experimental studies of collective decision-making about public goods. Almost without exception, these papers have reported results that cast serious doubt upon the importance - and, in some cases, even upon the very existence - of the free rider problem.
AFAICT, this paper discusses the methodological errors in those research papers that dismissed the free rider problem, and itself did not find evidence against the free rider problem.

Anyway, in the real world the free rider problem obviously exists.
newbie
Activity: 21
Merit: 0
November 02, 2014, 10:20:08 PM
#46
Exactly. I think the proper analyses is to look at hashing vs cost. In the beginning, it was essentially linear. For the last couple and probably the next 10 or so years at least, it will be exponential as better ASICs offer exponential speedups over CPUs. Eventually, as their capacity saturates, the curve will be linear again, based on number of devices (rather than capacity per device) and as you say on electricity.

A linear situation is much more amenable to the volunteer. If bitcoin becomes important enough, for example, Apple and the rest will throw ASIC miners and EC verifiers into their products, and the network security will be funded by its usefulness in maintaining society all together.

A bit too romantic, maybe, but I'm an optimist Wink
legendary
Activity: 1176
Merit: 1020
November 02, 2014, 10:00:24 PM
#45
Yes, I did misunderstand.  I though you were advocating for a network imposed limit, but I see better now what you are thinking. You are describing 100% thermodynamic efficiency, right?  It think that is theoretically impossible to attain, but it is widely expected that as the rate of efficiency improvement in SHA256 hashing slows down, mining costs will come to be dominated by operational expenditures (electricity). Currently  capital expenditures (buying more efficient ASIC's) are still the major factor.

The importance of cheap electricity will become ever more important as hashing tech matures.
newbie
Activity: 21
Merit: 0
November 02, 2014, 08:18:33 PM
#44
Quote
No one has seriously considered it because the concept is a non-starter.  Even if you could devise some way to enforce the rule on a per-device basis, there is no known and accepted way to stop a single entity from controlling multiple devices.  People would figure out a way to control multiple hashing devices, and in such case your idea would introduce only added complexity and possible attack vectors and, I think, nothing positive.

Hm I think maybe you misunderstood my point (did you read the whole post?). I'm talking about ASICs achieving the limit set by the universe on hashes per second. No enforcing necessary, physics takes care of that. So I have not actually "proposed" anything complexifying. Simply wondering how the economics change when ASICs hit such a limit (assuming the limit exists - hello physicists?) and become "cheap as cpus", motivating EC verification to achieve a similar limit, also become "cheap as cpus", and finally have both integrated into modern (being X decades into the future) personal devices. Sure, anyone can buy more devices, but the idea is that speedup in a given device may saturate, so the advantage is only linear (rather than exponential) in cost. By that point tx fees may be tiny, or even nil, but it will be relatively cheap for an average user to participate, just like in bittorrent. So indeed, as Gavin keeps saying, the market may figure out how to pay for security, in this case by saturating ASIC capacity and making it feasible for the average user to once again play.
legendary
Activity: 1176
Merit: 1020
November 02, 2014, 08:02:41 PM
#43
Most of the conversation seems to have been about ensuring sufficient transaction fees are paid to miners. But what about the verifiers? Currently, all tx validation is done by volunteers. I think Satoshi initially intended for validators to double as miners, but in a world where the two are largely mutually distinct, how do we support the verifiers? And if we can't, isn't the network doomed anyway?

It is in users' self interest to validate.  If you don't want to run your own full node, there are plenty of companies that will do the validation for you and charge you a fee.  One reason to have a block-size limit is to make sure it always stays reasonable for a hobbyist, with a relatively modest expenditure or resources, to perform full validation at home.  So I would say no, the network is not doomed in the absence of financial support for nodes.

Related to this is something I have not seen considered: an upper limit on hash speed per device.

No one has seriously considered it because the concept is a non-starter.  Even if you could devise some way to enforce the rule on a per-device basis, there is no known and accepted way to stop a single entity from controlling multiple devices.  People would figure out a way to control multiple hashing devices, and in such case your idea would introduce only added complexity and possible attack vectors and, I think, nothing positive.
newbie
Activity: 21
Merit: 0
November 02, 2014, 07:08:35 PM
#42
Most of the conversation seems to have been about ensuring sufficient transaction fees are paid to miners. But what about the verifiers? Currently, all tx validation is done by volunteers. I think Satoshi initially intended for validators to double as miners, but in a world where the two are largely mutually distinct, how do we support the verifiers? And if we can't, isn't the network doomed anyway?

Related to this is something I have not seen considered: the upper limit on hash speed per device.

A naiive calculation would go like this. Take the universe's maximum bit-operations/second (assuming it exists) as the speed of light in nanometers/second, or 3x10^17 (ie. 300 peta(nm/s)). Suppose a SHA256 takes 1000 bit operations. So we can say ASICs will top out at 0.3 PH/S or 300 TH/S (from what I can tell, they are currently around 1-10 TH/s, so this would be order of 10-100 times speed up). I know very little about hardware, but given the incentives and the acceleration of knowledge, this may not be unreasonable within say the next 20 years, to pull a number out of my ass. All this assuming of course there is an upper bound set by the cosmos on computations per second, which may or may not be reasonable, depending on your approach to modern physics. Of course my estimate of SHA256 bit ops may be wildly off and obviously depends on the size of the input, but it doesn't matter - what does matter is ASIC manufacturers reach the limit in the next couple (maybe even five?!) decades. Suppose its a graphene based breakthrough, if you're hung up on transistors and the end of Moore's Law.

(As an aside, note that it takes ~40ms to get from New York to Hong Kong at the speed of light. So unless we break that barrier, high performance large scale distributed systems are kind of screwed anyways. In other words, the speed of light is too slow for our needs Wink ).

Supposing ASICs do reach this limit (and will probably be the first devices in our corner of the cosmos to do so), then some point afterward we will be seemingly back to the kind of thing Satoshi originally envisioned. A 300TH/s ASIC cheap as a modern CPU today. One 300 TH/s ASIC, 1 vote. Of course there is still the centralization incentive, so let's assume we have solved that by transitioning to something like Hashimoto or another such hashing scheme that requires the entire blockchain to be available to the miner. The next step, driven by market demand of regular people mining again, will then be ASIC EC verification. Give it a couple decades or so to also become "cheap as a cpu".

Now we're in a situation again where full nodes validate and mine, just like the good ole days, supporting the system for the same reasons bittorrent is supported - it's useful, it provides for us, it sticks it to the man, whatever.

And they lived happily ever after?
legendary
Activity: 1176
Merit: 1020
November 02, 2014, 05:45:36 PM
#41
And from this, we derive how we should fund this cost using tx fees. We want to keep tx fees artificially high, so that the total cost of mining is high, so that the network is secure.

How do you imagine you will be able to keep transaction fees artificially high?

The word artificial is tricky.  It can mean insincere, false and fake in one set of more negative meanings.  It can also mean made by people, as with an artificial lake.  That is not a negative concept;  I love artificial light when I trying to read at night.  In this instance we seem to be talking about how to avoid a race to the bottom at the expense of network security, with the race to the bottom being a 'natural' economic concept.  Thus, avoiding such a 'natural' outcome would entail the use of some 'artificial' constraints.

I can imagine a lot of possible futures, from big merchants and exchanges investing in mining to save themselves on transaction fees and ensure that their transactions are confirmed securely, to assurance contracts, to a cartel of miners regulated and funded and licensed as a global public utility.

I hope that last one doesn't happen...


There could be a cartel of miners that wasn't regulated, licensed, or funded by governments.

Bitcoin has no monopoly on blockchain technology.  Competing chains have and will continue to place competitive pressure on the Bitcoin system.  Keeping that in mind, I see no problem with Bitcoin miners organizing to decide what security level they want to provide, and how much that security will cost.  Offer too little security and people might prefer to use some other system they perceive as safer.  Charge to much and people will use a cheaper system.  I think a group of people, analyzing risks and making active judgements, will do a better job striking a good security balance than some fixed algorithm.  That group of people would be some form of miner association, or cartel, or decentralized company, or whatever you want to call it.  It could have many possible forms.  If you are worried about this group abusing their power, let me recall my first point, that Bitcoin does not have a monopoly on this technology.  Miners do have the network effect, as described by Metcalfe's law, working in their favor.  A mining cartel would be able to extract some additional profit thanks to the barrier cost of forking bitcoin, or switching to an alt coin.  But if the Bitcoin miners are too far off the optimum mix, alternatives will fill the gap.

A cartel would also be able to solve the free rider problem, as it would stop a race to bottom.  Minimum fees would be established so that network security would remain adequately funded.  

I view this thread as discussion on the merits of whether proof-of-work alone is going to give us the network we want, or if we need some additional parameters to have PoW function as desired.  The follow is a short list of some pro’s and con’s for PoW that I could think of.  I am interested to know if there is agreement on these.  Also, the lists are not complete, so please add!


PoW - Advantages

•A very fair method for initial distribution
•No risk that critical signing keys will be stolen since the system is not based on such keys
•Easy for any person in the world to verify that a particular transaction has been vouched for by a massive, and calculable, quantity of electricity and computational power.
•Absolute certainty that the work done was committed to a single version of history
•Some built-in degree of global geographic distribution since the cheapest power is globally distributed.  Why?  The cheapest power is going to be interruptible, surplus power, and there is a finite quantity at every generation station.
•Some degree of local distribution do to heat buildup, possible uses for waste heat, and the square-cube law
•Can be physically trackable to the extent that a visitable number of major data centers, together, perform a majority of the hashing.  This can be a benefit once world at large accepts Bitcoin as a ‘good thing’ to be supported and encouraged.  In the Bitcoin-at-war scenario, which is currently still a possibility, identifiable physical locations are a weakness.


PoW - Disadvantages

•Expensive (yet this is inextricably tied to the cost to attack, which is a benefit.  Paradoxical!)
•Potential for a government to carry out a massive ASIC mega-farm attack (economically and politically unlikely, but absolutely possible.  1% chance?)
•SHA256 almost certainly will be broken at some point.  Not really a problem as long as a viable transition process happens first.
member
Activity: 129
Merit: 14
November 02, 2014, 04:09:04 PM
#40
Speaking of caps: I'd like to stress the point that there are two separate costs in the Bitcoin network, each should be addressed in its own way:
1. The marginal cost of propagating, verifying and storing transactions. Caps on the block data size and amount of ECDSA signatures help with funding this.
2. The amortized cost of hashing blocks to secure the network. This has nothing to do with data size, and using data size caps to fund this is misguided and creates perverse incentives.

Meni

Thanks for this interesting comment.  I guess you are correct that the amortised cost of hashing blocks has nothing to do with the data size.  However as you say, knowing the value for the user is difficult.  I am not sure of the value of bitcoins sent is a good proxy, because of additional layers like colored coins and who is to say that a transaction for one person buying medical care has less value to the other than a millionaire pointlessly moving money between wallets?  Why not assume all transactions are equal?  The number of transactions may be the best proxy.

Therefore I would alter my “transaction fee targeting”, mentioned https://bitcointalksearch.org/topic/m.9208935 to be the following:

I propose the following rule to determine the number of transactions in a block limit, once the block reward is low
The number of transactions in a block limit would increase (or decrease), by X%, if total transaction fees in the last N blocks is Y Bitcoin or more (or less).  

For example, if in the last 100,000 blocks, the average transaction fee per block is greater than 1 BTC, then the system increases the maximum number of transactions allowed in a block.

Advantages of this methodology include:
•   The system ensures sufficient fees are paid to secure the network in a direct way, with minimal changes to the protocol
•   If 1 BTC per block was chosen, this would represent c0.25% of the market capitalization being spent on security a year
•   This algorithm would be relatively simple
•   The transaction per block limit is determined algorithmically from historic blockchain data and therefore there will be a high level of agreement and little scope for attack
•   It would be difficult and expensive to manipulate this data, especially if mining is competitive and decentralized
•   The limit would relate well to demand for Bitcoin usage and real demand based on transaction fees, not just volume
member
Activity: 111
Merit: 10
November 02, 2014, 10:35:49 AM
#39
The tragedy of the commons relates to unregulated use of common resources.

I don’t think this is any way relevant. Mining resources are not under common ownership and there is no common right to use these resources. They are generally owned by private entities trying to make a commercial profit and you have no right to make them mine your transaction. Miners can choose what transactions they mine so the use of this resource is regulated by the miners.

Miners will simply set prices at what it is worth for them to mine and make a reasonable profit. With no block size limit they will be able to set the fee at which they can turn a profit at a lower level.
Quote
economic theory says that in a competitive market, supply, demand, and price will find an equilibrium where the price is equal to the marginal cost to suppliers plus some net income (because suppliers can always choose to do something more profitable with their time or money)
(Gavin’s blog)

Maybe a small percentage of mining will be paid for by community organisations or charity (but this still has to be paid for somehow) and people who are willing to wait longer can move coins for free but if you want a quicker service you pay a fee. So maybe these community miners will mine huge blocks (and be at a disadvantage due to block propagation) but they will be mining everybody’s transactions. So the choice is a free transaction that is only mined by 5% of miners or the higher fee you pay the more miners try to mine it. You get a better service if you pay.

 There are valid arguments for block size limits, such as, spamming and blockchain growth but I don’t think tragedy of the commons is one of them.

 The real danger is tragedy of the anticommons.
Quote
a type of coordination breakdown, in which a single resource has numerous rightsholders who prevent others from using it, frustrating what would be a socially desirable outcome
(wikipedia)

As suggested previously a large wallet might team with a large (say 30%) mining pool and charge their wallet users fixed transaction fees and pay the miners out of band. The mining pool is contracted to refuse to mine anyone else’s transactions. Another competing wallet buys a large portion of the remaining hash power (say 25%) and now nobody has access to all of the hashing power for their transactions.
legendary
Activity: 1652
Merit: 2301
Chief Scientist
November 02, 2014, 08:55:55 AM
#38
I couldn't resist peeking at the literature; the first hit on a google search for "experimental economics free rider" turns up this 1984 paper:

Quote
Both conventional wisdom and economic theory have been called into question recently by a series of research papers which report experimental studies of collective decision-making about public goods. Almost without exception, these papers have reported results that cast serious doubt upon the importance - and, in some cases, even upon the very existence - of the free rider problem.
donator
Activity: 2058
Merit: 1054
November 02, 2014, 06:06:37 AM
#37
And from this, we derive how we should fund this cost using tx fees. We want to keep tx fees artificially high, so that the total cost of mining is high, so that the network is secure.
How do you imagine you will be able to keep transaction fees artificially high?

I can imagine a future with 1MB blocks full of zero-transaction-fee transactions (all fees paid off-blockchain through special cozy relationships between big merchants/exchanges and big miners. Or simply big merchants/exchanges mining their own transactions).
It's fine if miners will be funded out-of-band. But I think it will be difficult to do this while keeping the market decentralized and competitive.

My suggestion for keeping tx fees artificially high is to place a hardcoded cap on the total amount of coins transferred in each block.

I think network security CAN be funded through transaction fees-- that is easy, if you want to buy some security just attach a larger-than-strictly-necessary-to-get-confirmed fee to your transactions.

I don't think we know yet whether network security WILL be funded through transaction fees; there might be a free-rider problem that keeps people who want a secure network from actually paying for a secure network.
I think tragedy of the commons is inevitable if no cap of any sort is placed on blocks. Hence my cap suggestion above.

This is where it would be lovely for some academic economists who have studied the free-rider problem to chime in and predict what is likely to happen, and how other markets have solved (or not) the problem.
Agreed.
Pages:
Jump to: