Pages:
Author

Topic: Soft block size limit reached, action required by YOU - page 11. (Read 64279 times)

sr. member
Activity: 310
Merit: 250
You may have heard me say "Bitcoin is an experiment" before...  well, we're finding out right now what happens as the experiment scales up.

First:  I sent a message to the big mining pools, reminding them of the run-time options they can set to control the size of the blocks they create. I did not tell them what they should or shouldn't do, I think we need to move beyond centralized decision-making.

I did send them a pointer to this very rough back-of-the-envelope estimate on the current marginal cost of transactions:
  https://gist.github.com/gavinandresen/5044482

(if anybody wants to do a better analysis, I'd love to read it).

Second: block size is half of the equation. The other half is transaction fees and competition for getting included into blocks. All of the bitcoin clients need to do a better job of figuring out the 'right' transaction fee, and services that generate transactions will have to adjust the fees they pay (and are, already).

Finally: in my opinion, there is rough consensus that the 1MB block size limit WILL be raised. It is just a question of when and how much / how quickly.


Thank you Gavin, this is exactly what people need to hear.
member
Activity: 98
Merit: 13
I'll be blunt and say that I think many posters here don't fully understand the functions of a miner in the bitcoin world.

Not only are miners the armored trucks and tellers of bitcoin, securely transferring value and saying if a transaction is legit or not. But they are also the keepers of the chain. Gardeners weeding out undesirable elements. This is by design, it's a feature of the bitcoin protocol.

The blockchain isn't designed to accept unlimited amounts of abuse. Imagine blocks with unlimited size, you could fill them up with enough spam that no normal users could validate them, breaking bitcoin. If the blocksize is severely limited then bitcoin becomes illiquid, looses value and functionality. So there's disaster on ether side. Miners are the answer and always have been.

There's some elements of democracy to bitcoin. The choice of what clients to use is one. You could hardfork and have your own chain, adopt whatever features you'd like, work within the current chain, ect. Mining is another example of this. By each individual miner saying what he or she will allow into the chain and at what rate, we shape the traffic of bitcoin. It's not a disgrace, it's part of the normal function of the system. For example if half of all miners (controlling half of all hashpower) decide that SatoshiDice transactions are unacceptable then, on average, SD transactions will take twice as long to get a confirm. They have not been banned, people have voted on what will or will not go into the final product.

Morally I find that this solution is just and I think that ultimately it's the answer. I think that the current pool system is a security vulnerability and it reduces the choice (vote) of the individual miner. Mining should be full of choices and decentralized. Inexpensive hardware and software that is p2p is needed for this. We have P2Pool which is an excellent alternative to the centralized pools, Luke-Jr also has an alternative to centralized mining. Right now ASICs are the only mining hardware that's worth it but they are very expensive. I think that in the future though, prices on efficient and fast mining hardware will come down a great deal.

To sum it up, a laissez-faire standard for what goes into the blockchain is what's broken. If you think about it for a second, bitcoin can be permanently harmed by just spamming it with garbage, weeds overgrowing the path obscuring the true beauty of the system (laying it on thick now). It's not the duty of all future users to just take whatever from an unmetered sewage outlet. It's our duty as current users to be thoughtful and respectful of those who will come after us. Miners ARE the stewards of the blockchain and to say different is totally false.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
I lost a lot of money today because of this shit. And I don't care for satoshi dice. Let them move to litecoin or ban them from spamming the network and my harddrives.

If bitcoin miners can't handle one high frequency gambling game, bitcoin is totally fucked.

And you can thank Luke-Jr for turning the issue into a personal vendetta against SatoshiDice.

And for the record, Luke-Jr has every right to not include SD transactions, if he wishes. That's his choice, as a free individual using this technology. I don't fault people for using Bitcoin in whatever way they choose.

legendary
Activity: 3586
Merit: 1098
Think for yourself
Firstly, for all those people crying out the end of Bitcoin if the block size is not lifted to 1GB, do yourselves a favor and go read the blocksize thread.

There's a Block Size thread?  I guess that is what I've been looking for since this ruckus started a couple days ago.

Where is it?
Thanks,
Sam
legendary
Activity: 1526
Merit: 1134
Well thanks for being the "spokesperson" for everyone here but I think you'll find that quite a few people disagree and if Satoshi really had planned for Bitcoin to be a tx system to compete with the likes of Paypal/Visa then you don't think he might have made a mistake or two (if not then why does this very thread exist)?

Ian, Satoshi did plan for Bitcoin to compete with PayPal/Visa in traffic volumes. The block size limit was a quick safety hack that was always meant to be removed.

In fact, in the very first email he sent me back in April 2009, he said this:

Quote from: satoshi
Hi Mike,

I'm glad to answer any questions you have.  If I get time, I ought to write a FAQ to supplement the paper.

There is only one global chain.

The existing Visa credit card network processes about 15 million Internet purchases per day worldwide.  Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost.  It never really hits a scale ceiling.  If you're interested, I can go over the ways it would cope with extreme size.

By Moore's Law, we can expect hardware speed to be 10 times faster in 5 years and 100 times faster in 10.  Even if Bitcoin grows at crazy adoption rates, I think computer speeds will stay ahead of the number of transactions.

I don't anticipate that fees will be needed anytime soon, but if it becomes too burdensome to run a node, it is possible to run a node that only processes transactions that include a transaction fee.  The owner of the node would decide the minimum fee they'll accept.  Right now, such a node would get nothing, because nobody includes a fee, but if enough nodes did that, then users would get faster acceptance if they include a fee, or slower if they don't.  The fee the market would settle on should be minimal.  If a node requires a higher fee, that node would be passing up all transactions with lower fees.  It could do more volume and probably make more money by processing as many paying transactions as it can.  The transition is not controlled by some human in charge of the system though, just individuals reacting on their own to market forces.

Eventually, most nodes may be run by specialists with multiple GPU cards.  For now, it's nice that anyone with a PC can play without worrying about what video card they have, and hopefully it'll stay that way for a while.  More computers are shipping with fairly decent GPUs these days, so maybe later we'll transition to that.

Satoshi said back in 2010 that he intended larger block sizes to be phased in with some simple if (height > flag_day) type logic, theymos has linked to the thread before.

I think he would be really amazed at how much debate this thing has become. He never attributed much weight to it, it just didn't seem important to him. And yes, obviously, given the massive forum dramas that have resulted it'd have been nice if he had made the size limit floating from the start like he did with difficulty. However, he didn't and now we have to manage the transition.

Quote
1) My question is why will nodes contribute on behalf of everyone(including wasteful nodes)? Or is there a scheme where the payee can filter which txns are subsidised?

The "why" is the whole point of assurance contracts. They're a way to fund the creation of what economists call public goods, that is, goods which cost money to create but once created benefit everyone for free with no way to exclude people. The canonical example is a lighthouse.

Why will nodes contribute on the behalf of everyone? Firstly, it's not actually nodes, it's "receivers of funds", and it doesn't need to be all of them, just some. They will fund these contracts because they need network security and thus mining to take place. Yes, by doing so, they implicitly subsidize freeloaders who don't pay, however that's the reason for the design of an assurance contract - it means others have to chip in, otherwise nobody pays anything.

Quote
Even if there are big Bitcoin businesses which benefit from sustaining the network, how do we know their contribution will be enough?

The system naturally converges upon an equilibrium in which the only businesses that use Bitcoin are the ones who can tolerate the delay/double-spend-frequency tradeoff. If other businesses want more hashing in less time, they can join the contracts and result in more fees. So "enough" is a relative term. It will always be "enough" for the current set of users, and for other sets the equilibrium hash rate may be more or less than what they need.

Bear in mind that if everyone thinks "I won't pay for hashing because my competitors will" then the contract does not complete and nobody pays anything, therefore nobody gets any security. That's the purpose of an assurance contract - I pay only if my competitors also pay.

W.R.T "waste" - you have to distinguish between the cost of mining and the cost of validation. The two are not connected except that the cost of mining is always more than the cost of validation, because mining requires validation. I believe validation will be, even at high transaction rates, cheap enough that people can just swallow them as a cost of business or even just for hobbyist reasons. Alternatively, people can once again band together and form assurance contracts to fund the running of full nodes.

Quote
Having said that, maybe im wrong. If you feel strongly that this will work, please implement it and prove me wrong so that we can all have free Bitcoin txns.

Unfortunately I can't do that today. The present situation is that hash speeds are so great thanks to inflation that nobody is successfully double spending via forced re-orgs (the attack that lots of mining prevents). So there's no incentive for anyone to fund mining via fees, the only reason anyone is attaching fees at all right now is to try and win the block space auction or avoid DoS checks. Currently inflation is "good enough" and this has, in fact, always been the case.

One of the curious things about this whole argument is nobody knows the future well enough to implement solutions today. For all we know it can be the year 2050 and a single Bitcoin is worth so much that inflation is still driving hash speeds sky high. There may never even need to be incentivization via fees within our lifetimes. Or maybe there will. If there is, then if I'm still around I'll sit down and write the code.
donator
Activity: 980
Merit: 1000
You may have heard me say "Bitcoin is an experiment" before...  well, we're finding out right now what happens as the experiment scales up.

First:  I sent a message to the big mining pools, reminding them of the run-time options they can set to control the size of the blocks they create. I did not tell them what they should or shouldn't do, I think we need to move beyond centralized decision-making.

I did send them a pointer to this very rough back-of-the-envelope estimate on the current marginal cost of transactions:
  https://gist.github.com/gavinandresen/5044482

(if anybody wants to do a better analysis, I'd love to read it).

Second: block size is half of the equation. The other half is transaction fees and competition for getting included into blocks. All of the bitcoin clients need to do a better job of figuring out the 'right' transaction fee, and services that generate transactions will have to adjust the fees they pay (and are, already).

Finally: in my opinion, there is rough consensus that the 1MB block size limit WILL be raised. It is just a question of when and how much / how quickly.


IMO you should have included Luke's patch and its justification so they can balance their decision.

They are the miners, they should vote on that as well.
full member
Activity: 150
Merit: 100
Firstly, for all those people crying out the end of Bitcoin if the block size is not lifted to 1GB, do yourselves a favor and go read the blocksize thread. There are many many issues you have no clue of which have been raised in the thread by people who have been thinking about this issue far longer than you know of Bitcoin.

Regarding Luke's view on SD, while i personally do not agree with his view that SD MUST not exist in it's current form, it is entirely upto him what txns his pool includes or excludes. If you don't agree with him, start your own pool or join one which has policies which you agree with. This is called freedom.
I agree that SD is extremely wasteful in it's current form, but the ideal way to fix that must come from the market, when people are willing to pay more than SD in fees to ensure their "useful" txns are processed efficiently. Or a SD competitor to offer better odds by using a deposit system to cut down on fees. The market will eventually force SD to change or go out of business.

Mike -  Ive been reading up on Assurance Contracts, have some questions.
Quote from: Mike Hearn
5 other nodes indicate their willingness to participate, states how much they'd be willing to contribute, and each one also includes a fresh public key.

1) My question is why will nodes contribute on behalf of everyone(including wasteful nodes)? Or is there a scheme where the payee can filter which txns are subsidised?
2) If it is indeed meant for everyone's benefit,
a) How do you prevent waste by spammers or attackers?
b) Whats to prevent the cultivation of even more wasteful txns(sending msgs over blockchain, storing ascii art in scripts, etc..)
c) How is it sustainable?
I can understand for certain Kickstarter projects, its a 1 time cost. But incentivising miners will be a permanent requirement.
Even if there are big Bitcoin businesses which benefit from sustaining the network, how do we know their contribution will be enough?
Why not let my competitor foot the bill instead while i use the money saved to expand my business?
It just does not make economic sense to me.

I could see NAC subsidising and reducing network fees, but im quite certain the network will fall apart if NACs are going to be the sole source of funding for miners.
This is akin to the Fed bailing out banks for the "stability" of the global financial system. What happens instead is that you encourage banks to lever up even more since they know they are backstopped. Without personal cost/risk, there is no reason for anyone to optimise or reduce waste. If the world could function on the charity of a few, nobody would work.

Having said that, maybe im wrong. If you feel strongly that this will work, please implement it and prove me wrong so that we can all have free Bitcoin txns.
legendary
Activity: 1372
Merit: 1002
Filtering out satoshidice transactions would make it trivial to double spend a losing bet.  Therefore I think it would be a bad idea for mining pool operators to make satoshidice transactions low priority or reject them alltogether.
If you make a bet on satoshidice, you will usually know if it lost before getting any confirmations.  If miners prioritized non-satoshidice transactions, then all you need to do to cancel your losing bet is double spend the coins with a high transaction fee.

More info is here: https://bitcointalksearch.org/topic/success-double-spend-against-a-satoshidice-loss-130764

Rejecting SD transactions is NOT a solution.

I disagree. That's exactly the solution. If SD starts having losses because people double-spend all the losses then I guess they'll have to change the way the game is played, won't they? Wink
legendary
Activity: 1652
Merit: 2311
Chief Scientist
You may have heard me say "Bitcoin is an experiment" before...  well, we're finding out right now what happens as the experiment scales up.

First:  I sent a message to the big mining pools, reminding them of the run-time options they can set to control the size of the blocks they create. I did not tell them what they should or shouldn't do, I think we need to move beyond centralized decision-making.

I did send them a pointer to this very rough back-of-the-envelope estimate on the current marginal cost of transactions:
  https://gist.github.com/gavinandresen/5044482

(if anybody wants to do a better analysis, I'd love to read it).

Second: block size is half of the equation. The other half is transaction fees and competition for getting included into blocks. All of the bitcoin clients need to do a better job of figuring out the 'right' transaction fee, and services that generate transactions will have to adjust the fees they pay (and are, already).

Finally: in my opinion, there is rough consensus that the 1MB block size limit WILL be raised. It is just a question of when and how much / how quickly.
donator
Activity: 980
Merit: 1000
I'm convinced, Luke. But then again there's nothing I should do since I already mine in Eligius.
full member
Activity: 192
Merit: 100
Handling 1000 transactions per second for 10 active users (SatoshiDice) and handling 1000 tx/sec for 100000 active users are two totally different things.
The latter grows the infrastructure, the former overloads it.
Thanks Luke-Jr for taking the time to explain it to people. Bitcoin can scale up, but it's quite expensive! Expensive as in not just hardware and bandwidth, but also network decentralization and availability to enthusiasts.

Let's say you're a bitcoin enthusiast and you want to run a full node. Will you spend $1,000 just to service Satoshi Dice? No way! Will you spend $10,000 to be part of a world changing global money system? HELL YEAH!

Bitcoin will scale up, but it would be best if it kept small until there is actual user demand who want to transfer value. Sathosi Dice are mostly bots and they mostly transfer information, not value.
legendary
Activity: 2128
Merit: 1073
The reduction of Satoshi's 0.01 minimum fee to 0.0005 was an error. A divine design was altered by whims and perceived exponential growth of Bitcoin value, without considering future impact on the network. Whims like those seen all over this forum in the past few weeks.
OK, the phrase "divine design" is just so funny that I had to quote it for the future reference.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Let's just clear something up...

Bitcoin isn't gold - it's not intended to replace gold.

Gold is a store of value more than it is a currency. Bitcoin is for transactions great and small, local and international.

Well thanks for being the "spokesperson" for everyone here but I think you'll find that quite a few people disagree and if Satoshi really had planned for Bitcoin to be a tx system to compete with the likes of Paypal/Visa then you don't think he might have made a mistake or two (if not then why does this very thread exist)?
sr. member
Activity: 448
Merit: 250
Let's just clear something up...

Bitcoin isn't gold - it's not intended to replace gold.

Gold is a store of value more than it is a currency. Bitcoin is for transactions great and small, local and international.
member
Activity: 79
Merit: 10
SatoshiDice does not follow the rules:
The blockchain is a system for transferring value, of which the final total is specified in advance. Those are the terms of the social contract every Bitcoin holder has adopted understanding. Those are the terms every node has agreed to voluntarily participate in the network.
Nodes and miners have not unanimously agreed to have their resources/time spent inefficently processing informational messages like "you lose", "you win", or even "I bet on game with much". This was never part of the agreement.
My cognitive dissonance alarm is ringing.

On the one hand you're against people including 'informational messages' in the blockchain, even if actual value is transferred...
On the other hand your mining pool has embedded prayers and scripture into the blockchain.

Perhaps you've recently changed your opinion on blockchain bloat?

Regardless, I think S.Dice performs a few services to Bitcoin as a whole and is a good thing:
  • It stress tests the Bitcoin network. Without it we wouldn't truly know how the network would handle transaction volumes that we see today as it accounts for a large proportion of global volume.
  • It provides an incentive to use Bitcoin. While many are of the opinion that gambling is wrong, far more people around the globe enjoy it. S.Dice provides a simple way to gamble and has introduced Bitcoin to new users as a result; people can't gamble online as easily with cash.
  • It lets us anticipate future requirements for Bitcoin sooner, as Mike has pointed out with respect to the soft block limit. This is like a small alarm: we're 1/4 of the way to a breaking point so let's start thinking about the best way to solve this problem now.

Yes, S.Dice produces a large volume of transactions, but S.Dice is NOT an attack of the network. Every transaction into S.Dice is a transfer of legitimate value, and every response is another transfer of value. An attack would transfer NO value, or such negligible value that it is worthless.
Refusing to process these transfers in value is similar to a net-neutrality issue: it's a "currency-neutrality" issue.

Bitcoin was developed to prevent any party from declaring who can and cannot participate in a financial network. Blacklisting a set of addresses from having their transactions included in the blockchain seems like a step backwards and is the antithesis of Bitcoin's raison d'etre.

newbie
Activity: 12
Merit: 0
We need a direct proportion between the number of pending transaction in the memory and the limit size in real time.

someone's with me on this?

when a block is found, confirmation take in account the pending network memory size peak since the last block found

then, miner will have son incentive to add low fee transaction because they can always add a quite good proportion of all the pending transactions?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
This is technology, if it can't scale, it will be replaced by something that can. The people investing in bitcoins are doing it because they believe it can be digital cash. 7 transactions per second is not digital cash. Its not digital gold either, gold does not cost large amounts of money to trade.

So you are saying that Gold tx's are > 7 per second (just trying to work out what the *real* problem is)?
sr. member
Activity: 310
Merit: 250


Do people trading Gold need more than 7 tx's per second?

(i.e. do you think Bitcoin would really *die* if that was the limit?)


1) For all the gold in the world, traded amongst all the people in the world? Yes
2) It will die because it will be replaced by something without a silly limit. All it takes is that people start doubting the technology, and opening the door to a competitor that is obviously better.
legendary
Activity: 1400
Merit: 1005
The solution is to pay more for your transactions instead of demanding more for less.
Exactly this.

For everyone sending transactions, start putting fees in them HIGHER than whatever SatoshiDice is paying.  This would relegate SD transactions to be the least-prioritized transactions on the network, and they would only fill up the remainder of blocks after all of the more "legitimate" transactions have been processed

That said, we will eventually need to be increasing block sizes, so why not start now?  I completely agree that the network needs to be able to handle more transactions to go "mainstream", and I think we should begin planning based on what current hardware can handle, not on an arbitrary limit that we think will be enough.

Currently, the network at 1 MB per block can create about 52 GB of blockchain data in a year.  I'm not sure about the rest of you, but that amount is certainly feasible for me to store indefinitely.  A 2 TB drive can be had for $99.  That'll store 19 years of data, so less than $6/year to store the blockchain.  Is that really so unreasonable?

So say we increase the maximum block size to 5 MB per block.  That would create up to 260GB of blockchain data in a year.  Again, a 2 TB drive would store 7 years of data for $99.  So that's what, $12 or $13 a year?

Now certainly, there is no monetary compensation or incentive for people to choose to store the whole blockchain, and I don't expect many people to do so regardless of what block size is ultimately chosen.  But those who are interested in maintaining Bitcoin's integrity as a decentralized currency certainly will, and will definitely be willing to spend a token amount ($12-$13 a year) to maintain their Bitcoins' value.
sr. member
Activity: 310
Merit: 250
No one is going to use Bitcoin, even for high value transactions, if they have to

1) Pay a fee to have their local currency converted to bitcoins
2) Pay a large transaction fee
3) Cover the fee of the recipient converting bitcoins back to their local currency

These steps will be necessary if bitcoins are expensive to spend. And bitcoins will be expensive to spend if the number of transactions is artificially limited.

Large transaction fees makes Bitcoin uncompetitive and it makes it less useful. If you have to exchange bitcoins back to cash, to spend them on ordinary purchases, why bother at all?

This is technology, if it can't scale, it will be replaced by something that can. The people investing in bitcoins are doing it because they believe it can be digital cash. 7 transactions per second is not digital cash. Its not digital gold either, gold does not cost large amounts of money to trade.
Pages:
Jump to: