Pages:
Author

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

legendary
Activity: 1652
Merit: 2301
Chief Scientist
November 01, 2014, 06:30:31 PM
#36
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).

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.

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.
member
Activity: 111
Merit: 10
October 31, 2014, 06:35:33 AM
#35
Network security is a very broad term. What are we actually talking about here?
Maybe it would be useful to talk about different levels of security.

Is the network secure if all other current global computing power was turned against the current total hashing power?

Is the network secure if all current available hashing power not being used on the network was turned against it?

Is the network secure against a rational actor (homo economicus) trying to exploit it for gain by buying hashing power?

Is the network secure against a government trying to destroy it, not necessarily caring about the cost?

Different networks would achieve different levels of security.

I see an opportunity for lots more acronyms. TGC security, HE security ...... Smiley

donator
Activity: 2058
Merit: 1054
October 31, 2014, 01:16:25 AM
#34
Verification is more important, yes. But I expect that the total cost of hashing will be much, much higher than the total cost of tx processing (this is of course the case now - there's a $500M / yr market of mining hardware, but no similar market of network nodes). Hence, when talking about hashing, I consider the capacity cheap.

The reason for this is simple - mining is deliberately made artificially difficult. Tx processing is not.
Ah, but mining is not made artificially difficult in any absolute sense. It's whatever it needs to be to keep the target pace. The system operates fine, though its insecure with the difficulty at 1.  The hardware investments are one time, they amortize, energy usage is what is actually interesting. I know I'm not saying anything you don't know,  but I don't know why you expect a particular cost for hashing without first starting with an income (e.g. transaction fees) which would sustain it.
The primary quantity is the amount of hashing power an attacker (who wishes to commit hashrate-based attacks) is expected to amass.
(And in this respect, I do believe hardware capex is more significant than power costs. At least for SHA-256, hardware is extremely specialized, so obtaining a high burst rate is difficult. The opex costs of an attack greatly depend on the available % of network hashrate).

From this we derive what the total cost of mining should be to keep the network secure from hashrate-based attacks (it is proportional to the attacker's hashrate).

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.
staff
Activity: 4284
Merit: 8808
October 30, 2014, 06:59:04 PM
#33
Verification is more important, yes. But I expect that the total cost of hashing will be much, much higher than the total cost of tx processing (this is of course the case now - there's a $500M / yr market of mining hardware, but no similar market of network nodes). Hence, when talking about hashing, I consider the capacity cheap.

The reason for this is simple - mining is deliberately made artificially difficult. Tx processing is not.
Ah, but mining is not made artificially difficult in any absolute sense. It's whatever it needs to be to keep the target pace. The system operates fine, though its insecure with the difficulty at 1.  The hardware investments are one time, they amortize, energy usage is what is actually interesting. I know I'm not saying anything you don't know,  but I don't know why you expect a particular cost for hashing without first starting with an income (e.g. transaction fees) which would sustain it.
donator
Activity: 2058
Merit: 1054
October 30, 2014, 06:36:32 PM
#32
(an incentive for the user to give up on a beneficial tx to conserve a resource which is, in absolute terms, cheap).
I disagree here. Network capacity is not very cheap... It is cheap marginally to miners but thats because the trust cost of a transaction is largely an externality to miners. It's also cheap in a highly centralized network where there is only one or a few verifiers, but in a highly decentralized network much less so. Security does not come exclusively from miners, it comes _primarily_ from verification. Miners serve to provide ordering, an essential part of the system, but miners incentive are aligned by all the other parties verifying (otherwise, a rational thing for all miners to do would be to just agree to inflate the currency forever).
Verification is more important, yes. But I expect that the total cost of hashing will be much, much higher than the total cost of tx processing (this is of course the case now - there's a $500M / yr market of mining hardware, but no similar market of network nodes). Hence, when talking about hashing, I consider the capacity cheap.

The reason for this is simple - mining is deliberately made artificially difficult. Tx processing is not.
staff
Activity: 4284
Merit: 8808
October 30, 2014, 05:47:40 PM
#31
(an incentive for the user to give up on a beneficial tx to conserve a resource which is, in absolute terms, cheap).
I disagree here. Network capacity is not very cheap... It is cheap marginally to miners but thats because the trust cost of a transaction is largely an externality to miners. It's also cheap in a highly centralized network where there is only one or a few verifiers, but in a highly decentralized network much less so. Security does not come exclusively from miners, it comes _primarily_ from verification. Miners serve to provide ordering, an essential part of the system, but miners incentive are aligned by all the other parties verifying (otherwise, a rational thing for all miners to do would be to just agree to inflate the currency forever).
donator
Activity: 2058
Merit: 1054
October 30, 2014, 05:43:09 PM
#30
I believe a good proxy for this is the total number of coins transferred in the tx.
Probably not, due to all the non-bitcoin overlay things people are interested in. (E.g. the altcoins, colored coins, etc).
That is indeed an issue. But for the current purpose I'm talking about Bitcoin as a currency, not a generic ledger.

I disagree with the claim that its unrelated. Scarcity of block space is what enables a market for it; absent complete miner collusion, with unlimited block sizes there is a defection problem (the rational move for the miner is to take very low fee paying transactions instead of turning their nose up at them in order to drive the market price for fees above zero).
I don't think you understood my point. Yes, absent any limits you'll have tragedy of the commons. Limits on block size have an effect on this problem, but only in a distorted way, which creates perverse incentives (an incentive for the user to give up on a beneficial tx to conserve a resource which is, in absolute terms, cheap). This is because the cost of hashing has nothing to do with block sizes - a bigger size doesn't make it more expensive to hash to secure the network.
staff
Activity: 4284
Merit: 8808
October 30, 2014, 05:26:42 PM
#29
I believe a good proxy for this is the total number of coins transferred in the tx.
Probably not, due to all the non-bitcoin overlay things people are interested in. (E.g. the altcoins, colored coins, etc).

I disagree with the claim that its unrelated. Scarcity of block space is what enables a market for it; absent complete miner collusion, with unlimited block sizes there is a defection problem (the rational move for the miner is to take very low fee paying transactions instead of turning their nose up at them in order to drive the market price for fees above zero).
donator
Activity: 2058
Merit: 1054
October 30, 2014, 04:28:08 AM
#28
I believe that if people want a secure network, they will figure out a way of getting it.
I agree, for a sufficiently broad definition of "a way". I believe the way will be placing hardcoded block caps; and figuring it out is what we're doing right now.


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.

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.


I'm not convinced about the viability of assurance contracts as a solution. It works well when either:
1. You have a small number of players, each with a large stake in the outcome and a large influence on the chances of success (as in traditional infrastructure projects)
2. Players get perks for their pledges, and have additional complex motivation (as in Kickstarter)

Here, if there are players with a big stake, we have failed in creating a decentralized system. If there are a large number of small players, they don't get anything extra for pledging (and their chances of effecting the primary objective is low), and it doesn't seem like the kind of thing they'd do for personal satisfaction, so people will still prefer to hold off their pledges and wait for someone else to pledge.


30% -- Bitcoin sustained through charitable mining / donations
20% -- Creation of an inflationary Bitcoin2
15% -- It doesn't get solved, some other blockchain with better economics eventually replaces Bitcoin.
10% -- Things will work roughly as-is
5% -- Assurance contracts
I'd assign less weight to charity, more weight to a radical economic change (though I hope Bitcoin will itself morph into something new rather than being replaced).
legendary
Activity: 1260
Merit: 1019
October 30, 2014, 02:32:18 AM
#27
Quote
The mining cartel would have a global monopoly on SHA256 hashing power, but thanks to proof-of-stake and other block signing systems, there are viable alternatives to SHA256 proof-of-work.

PoS either do not provide security on long time range.
https://download.wpsoftware.net/bitcoin/pos.pdf
legendary
Activity: 1176
Merit: 1020
October 30, 2014, 01:11:48 AM
#26
the P2P node network could configure itself as a giant parallel processor,
This cannot be done with the design of Bitcoin today.  I've previously (incompletely) sketched out what would be required, but we're a fair ways away from that. And so far there has been virtually no interest in moving things in a direction to support things like that inside Bitcoin.

With the rest of your post you seem to be describing a closed cartel system for mining--  if we have that, why not dispense with the mining, trust it to keep the ledger... (and call it paypal?). Centralized systems are much more efficient and easier to make reliable. I think Bitcoin's (unique) value derives almost exclusively from not being centralized.

I agree.  I meant a P2P network could be designed in such a way.  I didn’t mean to imply that the current software could somehow reconfigure itself, or only need slight modifications to perform in such a way.

With the rest of your post you seem to be describing a closed cartel system for mining--  if we have that, why not dispense with the mining, trust it to keep the ledger... (and call it paypal?). Centralized systems are much more efficient and easier to make reliable. I think Bitcoin's (unique) value derives almost exclusively from not being centralized.

I have a slightly different take on the roots of bitcoin’s value proposition, where decentralization is actually the means and not the ends.  I see Bitcoin’s true fundamental traits including: irreversible transactions, a predictable money supply, and no requirement to supply personal identity information to use the network.  Open access to any entity willing to pay the fees, as well as a fully transparent ledger are also important.  I accept that a decentralized network may be - practically speaking - the only way to currently meet those goals on a global scale.  Otherwise untrustworthy and primitive governments would interfere with Bitcoin if they could.

Lets imagine, in some fantasy world, that we could trust governments to always follow though on their promises and commitments.  Let us further imagine the U.S. Government committed to running a bitcoin-like network, one that espoused all the principles listed above.  If it was run with integrity and transparency, I doubt there would be the anything like the kind of grass-roots support Bitcoin has thus far enjoyed.  Bitcoin would be a solution in search of a problem.  It would still be a great solution to the Byzantine General’s problem, but it’s application as money system would be a minimal improvement over the centralized Bitcoin look-a-like.

I see Bitcoin as an expression of people’s desire to be part of a money system that has those certain traits.  We should fervently guard decentralization in general as it is currently the best way to achieve those traits in a world that is seemingly hostile to those principles.  Bitcoin has proved an important point, mainly that such a system can exist, and in doing so has challenged countless peoples’ assumptions about money, information, and control.  I am suggesting that such a demonstration of what is possible can permanently change peoples perspectives, and maybe in the future a bitcoin-like system, likely even Bitcoin itself, will have widespread support of people and governments the world over.  When the world becomes friendlier to the underlying concepts, I think some sets of design tradeoffs could be re-evaluated. 

Miners are already organized to an extent, the collaborative product being the blockchain.  A cartel would represent a greater degree of organization.  It is truly unstoppable phenomenon, as miners are free to associate and make agreements just like anyone else.  Most of us don’t live in fear of a 51% attack because we know it would not be in the miners’ self interest.  For exactly the same set of reasons I don’t worry about the actions of a miner cartel.  I assume they would use their power to uphold the traits that made Bitcoin valuable to begin with.  A well organized association of miners would actually be able to add additional value to the network, and that is why I see it as inevitable.  Guaranteeing unconfirmed transactions by actively rejecting any double-spend would be one way of adding value.  Such an association would also provide a convenient framework for implementing some version of Thaddeus Dryja’s proof-of-idle concept.  I would expect the association to be welcoming of any hash power that wanted to join.

Paypal, as a totally centralized service, could not look anything like Bitcoin even if they wanted to.  Governments would not allow it.  A global association of miners could and would be set up in a way to make government orders unenforceable.

The mining cartel would have a global monopoly on SHA256 hashing power, but thanks to proof-of-stake and other block signing systems, there are viable alternatives to SHA256 proof-of-work.  PoS has issues, and I remain big fan of PoW, but PoS would easily be better than centralized and exclusive PoW that did not uphold the core principles this community cares so much about.  I believe miners know this today and will not forget it in the future.  Hashing power allows miners to provide a great security service to the world in the form of PoW, but as a tool of oppression, it would be utterly impotent.

The P2P network of full nodes will still have role to play, but it will primarily be in auditing the miners.  Miners have an economic interest in maintaining an audit-able network, since openness itself is a primary feature of bitcoin.  As Gavin suggested, nodes could cooperate in auditing the blockchain.
In that case, the miners' cartel back-bone would have an incentive to delay publishing full blocks for auditing.

Only if they were being shortsighted would they confuse the incentives.  The miners should realized the network (and their mined BTC) would have maximum value if it remained easy to audit and make every effort to keep it that way.

A third audit function of the P2P node network would be as a channel for a wrongly excluded miner to submit a valid block.  A bedrock principle we should expect the mining backbone to adhere to would be to be welcoming and inclusive of any hashpower.  The P2P network could be configured to accept and verify any allegations that the mining backbone was engaging is exclusive activity.

How would merchants and users respond if a block was excluded?  In theory, they could blacklist one of the backbone's blocks, but that seems excessive.  Cancelling tx fees would be possible, but would likely just encourage fees to be moved off-chain.

I don’t know exactly, but it would in essence be a political crisis for the network.  I would imagine it would cause a fissure within the mining collective.  A steadfast policy of inclusiveness would result in more work being done on the chain than if some hash power was excluded.  I expect inclusiveness to be the policy of the collective, and it would be a problem if there was proof the policy was not being followed.

The ultimate power the Bitcoin community would have would be to fork and move away from SHA256 proof of work if the miners were abusing their position.
legendary
Activity: 1260
Merit: 1019
October 29, 2014, 11:24:40 PM
#25
Quote
...this leaves 20% for something that I don't foresee.

100% The decentralization problem can not be solved.
full member
Activity: 187
Merit: 162
October 29, 2014, 07:22:51 PM
#24
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.

I agree that people will figure out a way of getting a secure, relatively decentralized cryptocurrency with low fees. I just worry that it won't use Bitcoin's blockchain.

Here are my non-expert estimates for how the problem will get solved, with rough guesses as to the chance of each:

30% -- Bitcoin sustained through charitable mining / donations: The same spirit that causes people to work on Wikipedia or open source software projects will cause lots of individuals to either mine or make donations to sustain mining. Libertarians and anarchists will donate for political reasons. Companies may donate for the same reason they donate to charity now (PR, boost employee morale, etc)). Bitcoin businesses especially will donate or mine to be seen as a responsible member of the community. Bitcoin users may prefer to deal with businesses who can prove they're doing their party to support the network. Governments may allocate some relatively small amount of funds to miners if it proves popular among citizens.

20% -- Creation of an inflationary Bitcoin2: Once inflation runs out for all practical purposes, someone creates Bitcoin2 based on the Bitcoin blockchain at the time, and makes one change: 1% annual inflation forever. (Or the lowest % that would result in a reasonable amount of security). People who use Bitcoin a lot decide they're tired of the entire network's security freeloading off of just their transaction fees, so the people doing the actual transactions start migrating to Bitcoin2. This drives up the Bitcoin2 price and drives down the Bitcoin price. Soon because of the 1% mining subsidy and increasing use, Bitcoin2 has better security and lower transaction fees than Bitcoin, causing almost everyone except the most hardcore anti-inflationists to switch to Bitcoin2.

15% -- It doesn't get solved, some other blockchain with better economics eventually replaces Bitcoin. People talk a lot about Bitcoin's infrastructure and network effect making this unlikely, but the infrastructure being built for Bitcoin right now could almost all be reused by Bitcoin's replacement.

10% -- Things will work roughly as-is: It will turn out that a relatively uncontroversial block size change combined with a large increase in Bitcoin usage and perhaps a few other uncontraversial technical changes will result in Bitcoin actually having enough security with low enough fees. Perhaps sidechains or some form of off-chain transactions handle the cases where people need extremely low fees.

5% -- Assurance contracts: I doubt it will be in the rational interests of most organizations to partake in these, because it only makes sense to participate if your individual participation will be decisive in whether the contract gets funded. If assurance contracts do become a major mechanism to fund mining, I imagine most organizations will participate mostly for altruistic / PR reasons.

...this leaves 20% for something that I don't foresee.
sr. member
Activity: 433
Merit: 267
October 29, 2014, 05:39:28 PM
#23
I agree with that argument in general, and I think many other people have made it somewhat different forms as well...  But so long as the node operating cost is insignificant, I think it doesn't apply.

Well ok. I thought I had walked off the deep end because it certainly was not what I expected. Maybe the following walk-through example will illustrate to someone else as it did for me;

Quote from: example
30% vs 1%

$10 to maintain a node per block, and the blocks are paying $5,000 each. The network is running 100 petahashes per block and each petahash costs $20 per block to maintain. We're looking at a 100 block interval.

One would think that the 30% hashpower node would get 30% of the block reward, and that the 1% node would get 1% of the block rewards. Which is totally true. However, lets look this over more thoroughly.

If there are 100 blocks, the 30% node would spend $1,000 maintaining itself, and $60,000 maintaining it's hashpower, and getting $150,000 in block rewards. So that makes a tidy $89,000 profit.

So wouldn't the 1% node get 1/30th of that or a $2,966.67 profit? Actually, no.

If we look at the %1 node, again we can see that it would get $5,000, but maintaining itself costs $1,000, the hashpower costs $2,000 with a net gain of $2,000. What happened to that $1000?

Looking at the costs spent per block found reveals the problem. The larger node spent $2033.33 per block it found (61,000/30), whereas the smaller node spent $3000 per block it found (3000/1).

That result happens because a node that's running a low hashpower is also running "idle" resources for a much longer period than larger hash-power nodes. Note that even if we assume that the smaller hashpower has 10x lower maintenence costs aside from hashpower it would still be running just barely less than what we'd expect. However, a much more realistic scenario would be the larger node running lower maintenance costs and lower hashpower costs.

So the point here is that centralized parties necessarily have lower costs per block over time than uncentralized parties even when their maintenance costs are exactly the same and even when the costs per hash are exactly the same. That's throwing about as much bone as I can at the little guy and even then he can't get ahead.

Do you think that the blocks can be kept small enough and enough people will choose to hash despite the disadvantage? I'm not asking sarcastically, I'm genuinely curious.

In other words... I totally agree that this wouldn't be a problem if running a node would be insignificant, but if that's required is it possible to keep that attribute while still having a useful currency?
staff
Activity: 4284
Merit: 8808
October 29, 2014, 04:27:19 PM
#22
Hm. I'll think about this more before I answer, I don't want to waste anyone's time. I don't think that refutes what I'm saying though, basically because the point I'm making is that the higher hash-power node have lower-overhead per transaction due to the very fact that they are getting blocks faster. It's a kind of positive-feedback loop for the best miners.
I agree with that argument in general, and I think many other people have made it somewhat different forms as well...  But so long as the node operating cost is insignificant, I think it doesn't apply.
sr. member
Activity: 433
Merit: 267
October 29, 2014, 04:04:02 PM
#21
Hm. I'll think about this more before I answer, I don't want to waste anyone's time. I don't think that refutes what I'm saying though, basically because the point I'm making is that the higher hash-power node have lower-overhead per transaction due to the very fact that they are getting blocks faster. It's a kind of positive-feedback loop for the best miners.
staff
Activity: 4284
Merit: 8808
October 29, 2014, 03:52:01 PM
#20
I would expect that once inflation stops, transaction fees will not be enough for the vast majority of nodes to stay in operation
Are you missing that the transaction load (and thus cost) is limited by the hard rules of the network, just as the supply of coins is... under the current rules there is no risk of nodes becoming too expensive to run. (I just ask because you used such absolute language in you message).
sr. member
Activity: 433
Merit: 267
October 29, 2014, 02:07:19 PM
#19
There seems to be a misunderstanding that addressing the maximum block-size problem will also address the problem of centralization.

Network Costs
P = NCT1

Node Costs
P = CT2

P is the total price for transactions. A fee would be P divided by the size of transactions.
N is the number of nodes.
C is cost of accepting a transaction over time.
T is the time between blocks. (The time is different for the network as a whole versus a node.)

As you can clearly see the problem is actually not that a node doesn't bear the cost of the rest of the network, the problem is that the cost of running a node is higher the longer it takes to find a block, but the fee for a transaction is the average between all blocks. The problem is actually the inverse of what I thought when I started writing this post. The network doesn't tolerate the cost of the node, not the other way around.

In other words; The longer a node takes to get a block the higher his fee needs to be to cover his costs, but users will only pay the fee that the network average seeks in order to run. Because people like to pay less in fees, the price will trend toward the entities that collect blocks more often (And those same entities tend to have lower overhead per transaction.)

I would expect that once inflation stops, transaction fees will not be enough for the vast majority of nodes to stay in operation and even hash power in general could atrophy. The atrophy of hash power could occur because the network as a whole functions fine regardless of the difficulty, so hashing will only be high enough to sufficiently keep competitors away, which is less necessary as the blockchain grows in size. It might also occur because transaction fees must stay low enough to remain competitive in the broader currency market.

So the blocksize limit is necessary to keep the barrier to entry low, but ultimately the driver of centralization is actually the lower overhead of larger, rather than distributed, nodes. Crucially; Their overhead is lower per transaction precisely because they get blocks faster.

A "floor" to centralization is when users decide to start using other currencies due to the perceived threat to security. Since 67% of hashing power is currently controlled by 3 entities, it appears that this floor is very low.

The reason Bitcoin has been able to achieve as much decentralization as it has now is low interest, fairly low market value, and low barrier to entry.

Am I missing something? This post really surprised me as I was writing it out so I expect I may have lost my mind somewhere along the way.

A good indication that this (centralization) is not a Tragedy of the Commons problem, is that the problem of appropriate fee pricing disappears if you can guarantee every node has the same hash-power, and the block-size remains low (Regardless of the number of nodes.). Though the block-size issue itself is a Tragedy of the Commons problem.
member
Activity: 114
Merit: 12
October 29, 2014, 08:01:47 AM
#18

So, the community have to pay all expenses. And the simpliest way is reducing number of nodes... Down to one. And this is centralized system.

All or nothing false dichotomies are boring.
legendary
Activity: 1232
Merit: 1094
October 29, 2014, 07:26:29 AM
#17
The P2P network of full nodes will still have role to play, but it will primarily be in auditing the miners.  Miners have an economic interest in maintaining an audit-able network, since openness itself is a primary feature of bitcoin.  As Gavin suggested, nodes could cooperate in auditing the blockchain.

In that case, the miners' cartel back-bone would have an incentive to delay publishing full blocks for auditing.

Quote
A third audit function of the P2P node network would be as a channel for a wrongly excluded miner to submit a valid block.  A bedrock principle we should expect the mining backbone to adhere to would be to be welcoming and inclusive of any hashpower.  The P2P network could be configured to accept and verify any allegations that the mining backbone was engaging is exclusive activity.

How would merchants and users respond if a block was excluded?  In theory, they could blacklist one of the backbone's blocks, but that seems excessive.  Cancelling tx fees would be possible, but would likely just encourage fees to be moved off-chain.
Pages:
Jump to: