Title: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Kluge on December 31, 2012, 03:22:08 AM I can't keep up with the blockchain anymore. I am now roughly 150 blocks behind.
I cannot run Bitcoin-qt during the day because I'm on a tethered 3g connection and do actually need to use most of the available 5-150kbps of bandwidth during the day. My only available alternatives are dial-up, which simply couldn't keep up with the blockchain even if on 24/7, and satellite, which, aside its terrible latency issues, has bandwidth caps harsh enough to make downloading the blockchain a two-week process. I'm a bit beyond the Last Mile zone, which most people probably don't have to deal with, but many more people do have to deal with increasingly-common bandwidth caps, and certainly not just with satellite and mobile ISPs. Where am I to go, but a centralized server handing me only information they deem true and relevant? What am I to do, but throw away the largely zero-trust system I was initially interested in? There are alternatives in the "Lite" world.... Some people let me "own" my coins, instead of tossing it all in a collective wallet. Some people are even generous enough to allow me to keep my privkeys to myself. If their service goes down, I could go to another private entity, but I can never again hold what the majority agree is "the blockchain" - just what small groups of people, or individuals, tell me the blockchain is. I love Armory. It's a fantastic product. I need a blockchain to use it, though, and I can't keep up. I can go to family/friends' houses to leech off their cable connection, so I'll see transactions days after they happen. Maybe the migration to lite clients isn't necessarily bad, but I don't think active nodes shutting off could possibly be considered good. So what can we do? Expand our definition of "dust" and further limit freedom to use Bitcoin? Do we forfeit the zero-trust vision? Do we wait for a real solution? How much longer? ... Someone sent me a couple BTC this morning. I wouldn't have known if he didn't email me. Anyway - enough wispy bullshit -- Is there a solution I'm missing, or one in the works? Or should I just suck it up, quit my bitching, and download Electrum? Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: grau on December 31, 2012, 06:49:17 AM Anyway - enough wispy bullshit -- Is there a solution I'm missing, or one in the works? Or should I just suck it up, quit my bitching, and download Electrum? I am afraid that any remedy will only push out your timeline running a full node a few months or a year. You will have to decide to be in the business of running a full node, that will become as serious as it is now to be a mining pool operator, or you move your bitcoin with most of the customer to a tablet. Above statements are not ideological, just rational thinking. I also regret that times of all having equal "vote" will be gone. They are actually already gone. A mining pool operator has more than equal "vote" compared to your full node since long, e.g. he can exclude transactions from blocks, you do not. You will hardly win a real world argument against blockchain.info with a merchant remote from you by pointing to your screen. I work on an implementation that aims to support creation trustworthy centralized services, unlock innovation so we preserve as much of the the zero trust environment as possible. The future will unlikely be a homogenous set of nodes, since it is not already. Peter works on a short term remedy with 0.8 for us. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: FreeMoney on December 31, 2012, 06:55:15 AM I'm not 100% sure, but supposedly 0.8 will be fast enough that processing won't be the bottleneck anymore so the maximum you would have to download each day is ~6x24 = 144MB. And in reality it's like 10% of that now.
Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: FreeMoney on December 31, 2012, 06:58:21 AM I also regret that times of all having equal "vote" will be gone. They are actually already gone. A mining pool operator has more than equal "vote" compared to your full node since long, e.g. he can exclude transactions from blocks, you do not. That's as silly as saying that the 'olden days' of bitcoin didn't give equal votes because my mother (she doesn't mine) couldn't exclude transactions. She could have if she cared and so can any current miner. Do you think pool operators are special? They are just people who care to do what is required by the actual laws of physics to set up blocks for mining. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Stephen Gornick on December 31, 2012, 11:11:01 AM There are alternatives in the "Lite" world.... You get the blockchain headers with Simplified Payment Verification (SPV) clients, such as MutliBit. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on December 31, 2012, 11:19:39 AM See Ultimate blockchain compression w/ trust-free lite nodes (https://bitcointalk.org/index.php?topic=88208.0).
It was never intended for every user to run a full node. I haven't followed up on the details of the above suggestion but AFAIK it's viable and, once implemented, allow using an SPV client without need for trust. Also, while people in your situation shouldn't be neglected, I don't think it's the norm. I think enthusiasts will be able to run full nodes for quite a while. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Mike Hearn on December 31, 2012, 02:34:19 PM We will soon be merging support for Bloom filtering into Bitcoin and bitcoinj. This will allow you to have SPV level security without downloading the whole block chain - just headers and relevant transactions. It means as long as honest nodes control the majority of the hashing power, you can trust the block chain to be correct.
This mode will give you what you want. So it's just a matter of time. I'm hoping we can have a testing setup you can use in the next few weeks, at least, with release some time after that. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: blueadept on December 31, 2012, 04:15:41 PM Mike, do you know if Bloom filter support is intended for the Bitcoin 0.8 release or after that?
Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on December 31, 2012, 08:15:20 PM I cannot run Bitcoin-qt during the day because I'm on a tethered 3g connection and do actually need to use most of the available 5-150kbps of bandwidth during the day. The absolute maximum long term average bandwidth pulling the blockchain can take is about 13.3kbit/sec. I'm not sure what the source of your issues is— it may be due to bandwidth used relaying blocks and transactions to other peers, but you do have enough bandwidth to stay synchronized— at least to within a couple blocks of most current. Claims like "I am afraid that any remedy will only push out your timeline running a full node a few months or a year. " are just factually untrue on the data that you've provided. And, if the "business of running a full node, (...) become(s) as serious as it is now to be a mining pool operator" then bitcoin will be dead and pointless, because running a full node has no _business case_ as it can't be directly monetized and there is always an incentive to let someone else take the cost if the cost is great enough to not be inconsequential. If fairly few parties run Bitcoin, then Bitcoin would fail at its purpose of requiring less trust than the commercial banks of democratic nations, as their trust model is stronger. Fortunately, the design of the Bitcoin actually prohibits this loss of decentralization from happening— Blocks have a maximum size (and the size of blocks nodes will create is further artificially constrained by current implementations), and this bounds the cost of running a full node. This size can not be increased without a hardfork of identical technical complexity to changing the supply of coins— so to pull it off it would have to be utterly uncontroversial, and presumably people will always stand up to insist Bitcoin remain practically decenteralized. The maximum cost is still a bit high relative to current hardware, but it won't be in a couple years with a few more cranks of the silicon and storage scaling laws. That said, for a mobile connection— a thin or lite client is the obvious thing to use. Ideally, you could run one behind a full node that you have absolute trust over (E.g. because you own it), and then you don't even need to worry about the potentially reduced trust model involved. But it would still be interesting to figure out why your node isn't keeping up. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on December 31, 2012, 09:00:12 PM I cannot run Bitcoin-qt during the day because I'm on a tethered 3g connection and do actually need to use most of the available 5-150kbps of bandwidth during the day. The absolute maximum long term average bandwidth pulling the blockchain can take is about 13.3kbit/sec. I'm not sure what the source of your issues is— it may be due to bandwidth used relaying blocks and transactions to other peers, but you do have enough bandwidth to stay synchronized— at least to within a couple blocks of most current. Claims like "I am afraid that any remedy will only push out your timeline running a full node a few months or a year. " are just factually untrue on the data that you've provided. And, if the "business of running a full node, (...) become(s) as serious as it is now to be a mining pool operator" then bitcoin will be dead and pointless, because running a full node has no _business case_ as it can't be directly monetized and there is always an incentive to let someone else take the cost if the cost is great enough to not be inconsequential. If fairly few parties run Bitcoin, then Bitcoin would fail at its purpose of requiring less trust than the commercial banks of democratic nations, as their trust model is stronger. Fortunately, the design of the Bitcoin actually prohibits this loss of decentralization from happening— Blocks have a maximum size (and the size of blocks nodes will create is further artificially constrained by current implementations), and this bounds the cost of running a full node. This size can not be increased without a hardfork of identical technical complexity to changing the supply of coins— so to pull it off it would have to be utterly uncontroversial, and presumably people will always stand up to insist Bitcoin remain practically decenteralized. The maximum cost is still a bit high relative to current hardware, but it won't be in a couple years with a few more cranks of the silicon and storage scaling laws. That said, for a mobile connection— a thin or lite client is the obvious thing to use. Ideally, you could run one behind a full node that you have absolute trust over (E.g. because you own it), and then you don't even need to worry about the potentially reduced trust model involved. But it would still be interesting to figure out why your node isn't keeping up. If Bitcoin is ubiquitous there will be about 10K Bitcoin payments per second. A block size limit of 1MB will allow about 1 transaction per second. This means that 99.99% of payments will be outside the blockchain. So you will have this beautiful decentralized system that everyone can run but nobody can use, they will have to resort to 3rd party alternatives with various trust requirements. There will still be some benefit from having Bitcoin as the foundation, but that diminishes the more expensive it is to actually do a real Bitcoin transaction. It's more likely the block limit will be raised eventually to about 100 MB. People won't be able to run a full node on their cellphones, but any enthusiast will still be able to do it on a PC, and it will allow for 1% of payments to take place on the blockchain. It's still sufficiently decentralized and is now also useful. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on December 31, 2012, 09:24:20 PM economic/social complexity - people signed up to Bitcoin on the premise that the value of bitcoins are maintained by their scarcity, with a specific inflation schedule. Changing that will destroy the Schelling point and nobody will agree to it. On the other hand, nobody signed up to Bitcoin on the premise of a specific block size limit, The scarcity of bitcoin's can not be maintained without security, the worth of Bitcoin as a transaction medium can't be maintained without security. The comparitive benefits of Bitcoin over alternatives depend on decenteralization. Security and decentralization are not possible without block size scarcity. I certainly signed up for limited size blocks— and so did Satoshi, as the limit is baked into the code not just a soft limit— as many limits are (including the 500k maximum block target)— but a hard network rule. Absent this rule Satoshi's economic argument that fees will eventually provide the incentive for honest participation once the subsidy has become small is invalid. There _must_ be competition for block space to make fees a viable way to pay for security. Without a limit which is reasonably within the bounds of inexpensive hardware there will be great pressure to let someone else handle the validation, and you end up with an outcome similar to the central banks in democratic countries. Bitcoin would be just another very technically inefficient way to have a trust laden monetary system. Quote So you will have this beautiful decentralized system that everyone can run but nobody can use, they will have to resort to 3rd party alternatives with various trust requirements. The overwhelming majority of gold and USD transactions are not done with gold bars or US bills— can no one use these currencies.Your use of 'Various' there is deceptive. Various means people have a choice. It's perfectly possible to build fully decentralized payment system denominated in Bitcoin. But if Bitcoin itself is bloated then these options can't exist because they they would have both their own high cost of operation plus the unimaginably high cost of operation of a bitcoin shipping around gigabyte blocks. Quote It's more likely the block limit will be raised eventually to about 100 MB. People won't be able to run a full node on their cellphones, but any enthusiast will still be able to do it on a PC, and it will allow for 1% of payments to take place on the blockchain. It's still sufficiently decentralized and is now also useful. And on this point we do not completely disagree, though I think 100MB is rather high. I'm not saying that adjusting the limit is a complete non-starter. Only that removing it or setting it to some value which is not utterly uncontroversial— long after most practical devices can handle it is a non-starter. My point in responding here is that arguments that it will soon be harder to handle— and only something that major businesses can support— are bogus. It may or may not be increased in the future, but if it is it will only happen to a level which is uncontroversial. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: justusranvier on December 31, 2012, 10:36:36 PM There _must_ be competition for block space to make fees a viable way to pay for security. It's not necessarily the case that transaction fees are the only way, or even a viable way at all, to pay for security. Saying the block size must be kept small because that's the only way to keep transaction fees high is begging the question.No matter how decentralized it remains, Bitcoin doesn't provide any security at all if it's not used, and if 99.99% of transactions must pass through other (probably centralized) networks due to block size limits how much security is Bitcoin actually providing in real terms? Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 01, 2013, 04:50:49 AM No matter how decentralized it remains, Bitcoin doesn't provide any security at all if it's not used, and if 99.99% of transactions must pass through other (probably centralized) networks due to block size limits how much security is Bitcoin actually providing in real terms? The primary novel thing Bitcoin provides relative to other systems is inflation resistance. It's fairly straight forward show that a system denominated in Bitcoin is actually backed by control over the Bitcoin value they claim to control.(e.g. for example— if you have a distributed payment network based on blinded tokens, you just re-blind and publish all the the tokens, and then publish signmessages with keys in the bitcoin chain for all the coin in the system. Anyone with a token can verify their their token is in the list... and anyone can sum the tokens and see that there aren't more tokens than coins ('anyone' in these cases really just being auditing built into the software that runs randomly and publishes alerts if a discrepency is found)) You're adding the centralized requirement there— but it isn't needed, distributed and decentralized systems denominated in Bitcoin can be created— though centralization does allow certain efficiencies. Alternative distributed and decenteralized payment networks systems can scale better than Bitcoin simply because there can be more of them, or they can potentially scale better because they are less secure (e.g. one using guy fawkes signatures), or because they are less decenteralized. Arguably the latter two are harmful, but better that harm happen on a smaller scale than the whole world and the whole currency. If the economics of scaling create some centralization I would much rather it be in secondary systems than in Bitcoin itself. E.g. if to scale to support all soda-pop transactions centralization must be employed to achieve information hiding, I'd much rather have it in secondary system so that _something_ remained decentralized— that there could be choices in centralized systems— and so that people could insist on those systems prove ownership of their backing Bitcoin. If directly scaling bitcoin creates effective centralization there we would have one-centralized-system to rule them all, and proofs of backing would be not worthwhile. Compromising in bitcoin itself would be strictly inferior— better to compartmentalize the compromise if any must exist at all. Nothing can be more decentralized than the ultimate backing asset (e.g. using a bitcoin-like blockchain to move around mtgox-USD would have almost no value over mtgox issuing blinded tokens for mtgox-usd and would be much less scalable), and so if Bitcoin is to back anything it should be as decentralized as possible. Quote It's not necessarily the case that transaction fees are the only way They are— however— the way we signed up for. And so far, no one has yet suggested something else that would obviously work (e.g. the POS stuff is all sadly broken because as Amiller has aptly put "In proof of stake, nothing is actually at stake") much less would be an uncontroversial replacement for what Satoshi created.Moreover, I'd like to point out that even if a controversial change were technically successful, that success would be potenitally its undoing because it would ultimately erode trust. It would be better for cryptocurrency in general if the succession of incompatible rules were to take place through natural market adoption of alternatives, rather than through a hard-forking change over which there existed any real controversy. ... simply because there is no property right concern when people freely choose to use one system over another, as there may be when a system is, arguably, changed out "from under" people and potentially against their will. (The migration from one cryptocurrency to another is potentially undermining too— 'why adopt foocoin when barcoin will just replace it later?'... but it's potentially less undermining then 'why adopt foocoin when the technorati may change out from under me in the future?'. Considering that Bitcoin's 'competition' is other pure monies backed by the fickle whims of (very powerful) populations and institutions, we must be especially mindful of this.). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: justusranvier on January 01, 2013, 01:15:47 PM It's not necessarily the case that transaction fees are the only way They are— however— the way we signed up for.[/quote]I signed up for a currency with a predetermined, limited supply and a lack of a mechanism to enforce prior restraint, not guaranteed profits for any particular person or group of people.If Satoshi thought that transaction fees would be how mining supported itself, that was just a guess. He couldn't possibly have known how it would eventually work out or even thought he could know (http://en.wikipedia.org/wiki/Economic_calculation_problem). Note that some of his other guesses have proved wrong, like the popularity of sending directly to IP addresses. Right now it makes sense to limit the growth of the blockchain while the network is still young, to prevent spammers from overloading it, but restricting the block size in the long term for the exclusive purpose of keeping transaction fees high is a form of central planning. If artificially restricting supply in order to manipulate prices worked to create a healthy economy, there wouldn't be so many people trying to leave managed economies for Bitcoin. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: FreeMoney on January 01, 2013, 02:29:37 PM No matter how decentralized it remains, Bitcoin doesn't provide any security at all if it's not used, and if 99.99% of transactions must pass through other (probably centralized) networks due to block size limits how much security is Bitcoin actually providing in real terms? The primary novel thing Bitcoin provides relative to other systems is inflation resistance. It's fairly straight forward show that a system denominated in Bitcoin is actually backed by control over the Bitcoin value they claim to control.(e.g. for example— if you have a distributed payment network based on blinded tokens, you just re-blind and publish all the the tokens, and then publish signmessages with keys in the bitcoin chain for all the coin in the system. Anyone with a token can verify their their token is in the list... and anyone can sum the tokens and see that there aren't more tokens than coins ('anyone' in these cases really just being auditing built into the software that runs randomly and publishes alerts if a discrepency is found)) You're adding the centralized requirement there— but it isn't needed, distributed and decentralized systems denominated in Bitcoin can be created— though centralization does allow certain efficiencies. Alternative distributed and decenteralized payment networks systems can scale better than Bitcoin simply because there can be more of them, or they can potentially scale better because they are less secure (e.g. one using guy fawkes signatures), or because they are less decenteralized. Arguably the latter two are harmful, but better that harm happen on a smaller scale than the whole world and the whole currency. If the economics of scaling create some centralization I would much rather it be in secondary systems than in Bitcoin itself. E.g. if to scale to support all soda-pop transactions centralization must be employed to achieve information hiding, I'd much rather have it in secondary system so that _something_ remained decentralized— that there could be choices in centralized systems— and so that people could insist on those systems prove ownership of their backing Bitcoin. If directly scaling bitcoin creates effective centralization there we would have one-centralized-system to rule them all, and proofs of backing would be not worthwhile. Compromising in bitcoin itself would be strictly inferior— better to compartmentalize the compromise if any must exist at all. Nothing can be more decentralized than the ultimate backing asset (e.g. using a bitcoin-like blockchain to move around mtgox-USD would have almost no value over mtgox issuing blinded tokens for mtgox-usd and would be much less scalable), and so if Bitcoin is to back anything it should be as decentralized as possible. Quote It's not necessarily the case that transaction fees are the only way They are— however— the way we signed up for. And so far, no one has yet suggested something else that would obviously work (e.g. the POS stuff is all sadly broken because as Amiller has aptly put "In proof of stake, nothing is actually at stake") much less would be an uncontroversial replacement for what Satoshi created.Moreover, I'd like to point out that even if a controversial change were technically successful, that success would be potenitally its undoing because it would ultimately erode trust. It would be better for cryptocurrency in general if the succession of incompatible rules were to take place through natural market adoption of alternatives, rather than through a hard-forking change over which there existed any real controversy. ... simply because there is no property right concern when people freely choose to use one system over another, as there may be when a system is, arguably, changed out "from under" people and potentially against their will. (The migration from one cryptocurrency to another is potentially undermining too— 'why adopt foocoin when barcoin will just replace it later?'... but it's potentially less undermining then 'why adopt foocoin when the technorati may change out from under me in the future?'. Considering that Bitcoin's 'competition' is other pure monies backed by the fickle whims of (very powerful) populations and institutions, we must be especially mindful of this.). Hear, hear. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: dree12 on January 01, 2013, 02:34:22 PM It's not necessarily the case that transaction fees are the only way They are— however— the way we signed up for.If Satoshi thought that transaction fees would be how mining supported itself, that was just a guess. He couldn't possibly have known how it would eventually work out or even thought he could know (http://en.wikipedia.org/wiki/Economic_calculation_problem). Note that some of his other guesses have proved wrong, like the popularity of sending directly to IP addresses. Right now it makes sense to limit the growth of the blockchain while the network is still young, to prevent spammers from overloading it, but restricting the block size in the long term for the exclusive purpose of keeping transaction fees high is a form of central planning. If artificially restricting supply in order to manipulate prices worked to create a healthy economy, there wouldn't be so many people trying to leave managed economies for Bitcoin. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Mike Hearn on January 01, 2013, 03:55:18 PM Actually Satoshi always intended the block size limit to be raised. I queried the size once (as part of a longer conversation about scalability) and he said this:
Quote A higher limit can be phased in once we have actual use closer to the limit and make sure it's working OK. But that's it. He didn't elaborate on how he imagined it being phased in or what "working OK" meant. Satoshis view was always that Bitcoin could scale up more or less forever. I was quite skeptical back then, but I came around to his way of thinking with time. gmaxwells point about the relationship between block size limits and fees is valid, if you agree with the following statement: Quote There _must_ be competition for block space to make fees a viable way to pay for security. However not everyone does agree with it. For instance, I believe that coalitions of entities interested in maintaining certain network speeds can and will build network assurance contracts (contracts that spend all their inputs to fees), thus funding the public good of security. I don't think competition for entering blocks is the right funding model. Fortunately, there are ways to resolve these debates amicably. For now of course we can just ignore it. We're not close to reaching the block size limit nor are we close to losing inflation as a funding source. Later on, we can use the usual mechanism for phasing in rule changes - have new block or transaction version numbers express acceptance of the new rule set and automatically begin enforcing them if/when more than a certain percentage of users have opted in (probably a very high percentage). I think these debates will gain clarity once inflation falls again and we start seeing merchants losing money with some degree of regularity, due to double spends. If assurance contracts are going to work, it'd make sense that we find out at that time. If it's shown that they can work, a lot of the arguments for small block sizes go away (especially with software that scales much better). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Mike Hearn on January 01, 2013, 03:56:17 PM Mike, do you know if Bloom filter support is intended for the Bitcoin 0.8 release or after that? I'm hoping we can get it into 0.8 - it just adds new features so unless the new commands are exploitable somehow, there's no real risk. If there any serious bugs are found we just delay the rollout on the bitcoinj side until things are resolved. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Stephen Gornick on January 01, 2013, 07:57:13 PM We're not close to reaching the block size limit You and I have differing opinions on what "close" is then. Here are the last 10 blocks: 214657 48.711 214656 31.016 214655 133.286 214654 261.695 214653 15.265 214652 42.617 214651 36.039 214650 204.577 214649 3.489 214648 214.828 The average for these is about 100K. And it appears to be approaching the rate of 300 transactions per block (about 43K transactions per-day). - http://blockchain.info/charts/n-transactions-per-block?timespan=180days&daysAverageString=7 This is a transaction every two seconds. A lot of these are microtransactions (e.g., under a dollar's worth of coins) used for wagering, so the blockchain already has a way of limiting those: Quote If the blocksize is more than 250 kB, transactions get increasingly more expensive as the blocksize approaches the limit of 500 kB. Sending a transaction when the blocksize is 400 kB will cost 5 times the normal amount; sending when it's 499 kB will cost 500x, etc. - http://en.bitcoin.it/wiki/Transaction_feesBut twelve months ago no SatoshiDICE existed and nobody knows what 2013's breakaway Bitcoin success story will be but what if there are four of them, each as popular as SatoshiDICE is today. Then the blockchain size limit (at the current restrictions) will be reached. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Kluge on January 01, 2013, 08:10:12 PM I cannot run Bitcoin-qt during the day because I'm on a tethered 3g connection and do actually need to use most of the available 5-150kbps of bandwidth during the day. The absolute maximum long term average bandwidth pulling the blockchain can take is about 13.3kbps/sec. I'm not sure what the source of your issues is— it may be due to bandwidth used relaying blocks and transactions to other peers, but you do have enough bandwidth to stay synchronized— at least to within a couple blocks of most current. That said, for a mobile connection— a thin or lite client is the obvious thing to use. Ideally, you could run one behind a full node that you have absolute trust over (E.g. because you own it), and then you don't even need to worry about the potentially reduced trust model involved. But it would still be interesting to figure out why your node isn't keeping up. If you really need an answer on how I can't keep up..... ;D At night, -qt is also competing with programs including Skype (which sucks down ~50MB/day), Chrome (usually with auto-updating pages like Gmail because I forget to shut them off), and a miner (consuming 25MB/day more). Chrome varies, but probably consumes roughly 10MB at night. Combined at night, then, assuming 10pm-8am, programs other than -qt consume ~41.25MB over 10 hours, which'd work out to be 4.125MB/h, .06875MB/m, ~9.2kbps. -qt runs only during those 10 hours (when I remember), so for the sake of quick, rough guesstimates, I'll say it has 7.5 hours to run. It was claimed above that blocks are currently ~10% full. I'm not sure how exactly that'd translate to kbps, but I'll just assume it's ~10% of 13.3kbps. So, -qt should then consume only ~1.33kbps. Multiply by 3.2 (24/7.5) and you get 4.256kbps to run -qt from 10pm-8am and keep up with the blockchain. In total, I should be consuming ~13.456kbps at night. But then you have to take service outages into account, which vary widely in times per day, and duration, but it's safe to say my service is out >20% of the time, the ">" being what I'll trade for the bandwidth the miner, Gmail, and Skype won't be utilizing at full capacity. So now the effective rate I need my Internet connection to be at night is ~16.1472kbps. My connection varies wildly, but if I had to take a guess based on MB/day I consume from logs, assuming I'm utilizing the max amount of bandwidth all the time, I have something along the lines of 31kbps on average (almost as fast as dial-up!), a bit under 2x what's required. Though, you could've ignored everything I wrote in this paragraph since you'd only need to read that I start "large" (5MB+) downloads at night. No guarantees on the math, but that should be about where I'm at. Glad to see such an in-depth discussion. Thanks for everyone's response. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: jgarzik on January 01, 2013, 08:22:16 PM If Satoshi thought that transaction fees would be how mining supported itself, that was just a guess. He couldn't possibly have known how it would eventually work out or even thought he could know (http://en.wikipedia.org/wiki/Economic_calculation_problem). Note that some of his other guesses have proved wrong, like the popularity of sending directly to IP addresses. Not quite. Once the initial block reward is exhausted (negligible), fees are the only mining income. So that leaves only two possibilities: transaction fees would be how mining supported itself, or external incentives cause miners to mine at a loss (fee-wise). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: dree12 on January 01, 2013, 09:20:36 PM If Satoshi thought that transaction fees would be how mining supported itself, that was just a guess. He couldn't possibly have known how it would eventually work out or even thought he could know (http://en.wikipedia.org/wiki/Economic_calculation_problem). Note that some of his other guesses have proved wrong, like the popularity of sending directly to IP addresses. Not quite. Once the initial block reward is exhausted (negligible), fees are the only mining income. So that leaves only two possibilities: transaction fees would be how mining supported itself, or external incentives cause miners to mine at a loss (fee-wise). As computing times shrink, I expect big miners will be paid by big corporations and banks to directly deliver new blocks to them, bypassing the network and its latency. This is an example of an external incentive. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: justusranvier on January 01, 2013, 09:32:01 PM or external incentives cause miners to mine at a loss (fee-wise). My back of the envelope calculations (https://bitcointalk.org/index.php?topic=133865.0) suggest this is a likely possibility.Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 01, 2013, 10:14:18 PM As computing times shrink, I expect big miners will be paid by big corporations and banks to directly deliver new blocks to them, bypassing the network and its latency. This is an example of an external incentive. I don't see how this makes any sense at all without making additional assumptions which would make Bitcoin pointless. The stochastic nature of mining means that there is always large uncertainty about block delivery times— the block gap is frequently anywhere in an hour window. Paying non-trivial amounts for trivially copyable data to get it seconds faster when the common arrival uncertainty was already an hour does not generally make sense for most applications.Keep in mind that a little payment isn't sufficient, mining needs to be expensive enough that an attacker can't do a short term attack— doubly so in the future because there will no subsidy motivation for honest behavior anymore, the motivation to behave honestly would be fees and preserving their value— Without the proof of work Bitcoin is just a particularly computationally and bandwidth expensive rumoring network totally vulnerable to network attackers. You might be assuming that the miners would keep blocks secret from parties that don't pay them, but this can only be done if mining is centralized since otherwise a miner who promotes their block further faster gets built on and they become the valid block. Moreover, block secrecy violates the less discussed second half of the Bitcoin security assumption: Bitcoin assumes that honest parties control a majority of the mining applied computing power _and_ that information is easy to spread and hard to stifle. The latter part is critical because you can only converge on the longest chain if you've actually heard of it. We don't talk about it much because it's not hard to meet today and you have bigger problems if you can't even get the blocks... but it really precludes any kind of paid access to blocks from being viable. As far as the OP's issue— it would be pretty easy to add a trickle mode to the client where it only connects to the network periodically and only fetches blocks just to avoid failing behind. So you'd leave it running... but it would only connect to a few peers on the network ever half hour or so, pull new blocks and disconnect, then process them slowly and unintrusively. But I don't think there is enough demand for such a thing to bother coding and testing it. Maybe that sort of thing could become the default behavior for minimized gui full nodes that aren't listening, but I dunno— differences in behavior create confusion. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: theymos on January 01, 2013, 10:49:03 PM Later on, we can use the usual mechanism for phasing in rule changes - have new block or transaction version numbers express acceptance of the new rule set and automatically begin enforcing them if/when more than a certain percentage of users have opted in (probably a very high percentage). That's a terrible way of deciding an important issue such as this. Miners are not a very important part of the Bitcoin economy, and they don't have much more understanding of Bitcoin than anyone else. Their "votes" shouldn't matter more than anyone else's. (There shouldn't be general voting at all, in fact -- democracy is a poor way of making decisions.) restricting the block size in the long term for the exclusive purpose of keeping transaction fees high is a form of central planning. If artificially restricting supply in order to manipulate prices worked to create a healthy economy, there wouldn't be so many people trying to leave managed economies for Bitcoin. The block size limit doesn't need to be centrally-determined. Each node could automatically set its max block size to a calculated value based on disk space and bandwidth: "I have 100 GB disk space available, 10 MB per 10 minutes download speed and 1 MB per 10 minutes upload speed, so I'll stop relaying blocks [discouraging them] if they're near 1/8 MB [enough for each peer] and stop accepting them at all if they're over 2MB because I'd run out of disk space in less than a year at that rate". If Bitcoin ends up rejecting a long chain due to its max block size, it can ask the user whether he wants to switch to a lightweight mode. Users could also specify target difficulty levels that they'd like the network to have and reduce their max block size when the network's actual difficulty level drops below that. A default target difficulty level could maybe be calculated based on how fast the user's computer is -- as users' computers get faster, you'd expect mining to also get faster. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: greyhawk on January 02, 2013, 12:00:20 AM And it appears to be approaching the rate of 300 transactions per block (about 43K transactions per-day). - http://blockchain.info/charts/n-transactions-per-block?timespan=180days&daysAverageString=7 This is a transaction every two seconds. A lot of these are microtransactions (e.g., under a dollar's worth of coins) used for wagering, so the blockchain already has a way of limiting those: It's doubtful that anyone will be able to hold the entire blockchain at some point in the future, should Bitcoin become a mainstream thing. Here's some interesting data (from 2006 only for the US) Average daily number of transactions: - 60 Million credit card transactions - 100 Million Interbank ATM transactions - 60 Million ACH transactions - 15 Million SWIFT transactions - 365.000 CHIPS transactions - 521.000 FEDwire transactions - 700.000 CLS transactions So that's a cool 237 Million daily transactions, in the US alone, excluding cash transactions. Let's assume a conservative average of 3 daily cash transactions per person (buying the paper, a hotdog and a pack of smokes). That adds a cool 1000 Million transactions for the US alone right there. Yeah. Better go grab a YottaByte HD real quick. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on January 02, 2013, 12:29:19 AM And it appears to be approaching the rate of 300 transactions per block (about 43K transactions per-day). - http://blockchain.info/charts/n-transactions-per-block?timespan=180days&daysAverageString=7 This is a transaction every two seconds. A lot of these are microtransactions (e.g., under a dollar's worth of coins) used for wagering, so the blockchain already has a way of limiting those: It's doubtful that anyone will be able to hold the entire blockchain at some point in the future, should Bitcoin become a mainstream thing. Here's some interesting data (from 2006 only for the US) Average daily number of transactions: - 60 Million credit card transactions - 100 Million Interbank ATM transactions - 60 Million ACH transactions - 15 Million SWIFT transactions - 365.000 CHIPS transactions - 521.000 FEDwire transactions - 700.000 CLS transactions So that's a cool 237 Million daily transactions, in the US alone, excluding cash transactions. Let's assume a conservative average of 3 daily cash transactions per person (buying the paper, a hotdog and a pack of smokes). That adds a cool 1000 Million transactions for the US alone right there. Yeah. Better go grab a YottaByte HD real quick. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 02, 2013, 01:27:47 AM I think it is agreed that most Bitcoin payments won't take place on the blockchain. e.g., with tx replacement you can have one transaction carry multiple payments, and there can be various 3rd party services (I'm using "various" in a mostly positive sense - Bitcoin enables possibilities with good tradeoffs, better than the current banking system) . So 1B daily payments doesn't mean 1B daily transactions. The more transactions can actually make it to the blockchain, the lesser the overall "tax" (in the broadest sense) of using additional layers. Exactly. Bitcoin is fundamentally not very good as a payment network. Global visibility is not compatible with high scalability and the security global-visibility provides somewhat unnecessary for pretty much anything short of the inflation resistance of the system... 99.999999% of the world does not care about the security of every dumpling bought in china. The nature of Bitcoin makes many worthwhile mechanisms like anti-fraud and instant fairly-firm resistance to reversal hard or impossible without attentional layers. Bitcoin needs to be something of a payment network to be useful at all and the better of one that it is the less costly payment networks will and must be, so it's desirable to make it the best it can be— but it's not worthwhile to compromise the unique values that make it worth having, since no amount of compromise can free you from payment networks. I think if more of the effort spent speculating on likely impossible modifications to Bitcoin itself (I don't mean the block size stuff as much as stuff like demurrage) was spent on inventing decentralized payment infrastructure we'd make a lot more progress. Remember, that one of the attractions of Bitcoin is that there is no centeral bank telling you that you can't invent new payment systems. Bitcoin has solved the hard part in this ecosystem: invent a purely decentralized digital asset which people will recognize as valuable. Now interested parties can go figure out how to optimally exchange it with others. Plus, when building a new system you're free to design in whatever features you think are important without being called a thief, and the public is free to choose not to use it. Bitcoin gives you an existing cryptocurrency ecosystem so getting value into it at all isn't a problem. Win win win. It makes me sad that in so many technology discussions people penalize things for being more flexible. Were it possible for bitcoin to be usable with no payment network functionality at all it would still be awesome. It seems when something can do five different things all the 'experts' on the Internet think it's appropriate to demand that it be the absolute best at each thing and that it sucks if it isn't. Sorry kids: Real engineering is all about compromises. :P Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: dree12 on January 02, 2013, 04:54:37 AM As computing times shrink, I expect big miners will be paid by big corporations and banks to directly deliver new blocks to them, bypassing the network and its latency. This is an example of an external incentive. I don't see how this makes any sense at all without making additional assumptions which would make Bitcoin pointless. The stochastic nature of mining means that there is always large uncertainty about block delivery times— the block gap is frequently anywhere in an hour window. Paying non-trivial amounts for trivially copyable data to get it seconds faster when the common arrival uncertainty was already an hour does not generally make sense for most applications.Keep in mind that a little payment isn't sufficient, mining needs to be expensive enough that an attacker can't do a short term attack— doubly so in the future because there will no subsidy motivation for honest behavior anymore, the motivation to behave honestly would be fees and preserving their value— Without the proof of work Bitcoin is just a particularly computationally and bandwidth expensive rumoring network totally vulnerable to network attackers. You might be assuming that the miners would keep blocks secret from parties that don't pay them, but this can only be done if mining is centralized since otherwise a miner who promotes their block further faster gets built on and they become the valid block. Moreover, block secrecy violates the less discussed second half of the Bitcoin security assumption: Bitcoin assumes that honest parties control a majority of the mining applied computing power _and_ that information is easy to spread and hard to stifle. The latter part is critical because you can only converge on the longest chain if you've actually heard of it. We don't talk about it much because it's not hard to meet today and you have bigger problems if you can't even get the blocks... but it really precludes any kind of paid access to blocks from being viable. As far as the OP's issue— it would be pretty easy to add a trickle mode to the client where it only connects to the network periodically and only fetches blocks just to avoid failing behind. So you'd leave it running... but it would only connect to a few peers on the network ever half hour or so, pull new blocks and disconnect, then process them slowly and unintrusively. But I don't think there is enough demand for such a thing to bother coding and testing it. Maybe that sort of thing could become the default behavior for minimized gui full nodes that aren't listening, but I dunno— differences in behavior create confusion. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 02, 2013, 06:01:47 AM I never claimed that the payment would replace fees. In fact, I believe fees should and will be here to stay. I meant that as an example that in the future, mining revenue is not entirely dependent on fees — therefore, the withdrawal of the block subsidy is unlikely to have as great an effect as people make it out to be. Except you didn't actually substantiate your claim.Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: EskimoBob on January 02, 2013, 10:04:00 AM S.DICE spam is just a prelude.
It sure starts to sound like that we are circling back to what we are running away from - central control by few large entities. I guess we must be blindfolded and our imaginary straight line away from here, takes us back where we started. Few huge mining farms will become the new "central banks" or "FED", if I may, and nothing has really changed. They will control the fees, the software features, protocol etc. BTC will be really convenient to use and it's accepted widely, but we as a community, have no vote/controll/etc over it. You win some, you lose some :) Small guy is kicked out of the mining picture, bloated blockchain requires absurd amount of space and user will never ever download the full bc. Nobody really knows, is the existing BC the correct one or not. Only "Banks" know and you can be probably wiped out financially or blocked to use your funds as you are now. Time to get over this childish "Staoshi knows everything" hysteria and start thinking about the worst outcomes and how to avoid it. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: grau on January 02, 2013, 10:53:25 AM Small guy is kicked out of the mining picture, bloated blockchain requires absurd amount of space and user will never ever download the full bc. Yes. The longer we maintain unworldly policies like relaying zero fee transactions and dust the faster this will happen.Nobody really knows, is the existing BC the correct one or not. Only "Banks" know and you can be probably wiped out financially or blocked to use your funds as you are now. What we might choose is if the "Banks" will be the old ones or we provide funding to some arising out of this new community. The first step for the second alternative is to reduce funding dependency on inflation by enforcing fees. The same applies to funding innovation that ensures the decentralized nature of the system is preserved to the extent possible. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: jl2012 on January 02, 2013, 11:01:41 AM The current blockchain size is about 4.5G. If we prune all spent outputs, what the size would be?
Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Jeweller on January 02, 2013, 02:11:14 PM This is one of the most interesting threads I've seen here -- made an account to reply.
A lot of people have different ideas about the importance of this block size limit, and I think it's useful to separate opinions about what "should" happen, and more objective analysis of what "will" happen. And thinking about it, to me it looks like the 1MB block size is here to stay. I'm not really sure what that means for bitcoin, if it's "good" or "bad", but here's why I think it's permanent. First, it's a hard fork. Every node right now, to my knowledge, will reject any block coming in at over 1MB. Miners included. ANY kind of hard fork is going to be really hard to implement due to the size of the network. But if a hard fork does benefit everyone, or almost everyone, it could be planned in advance and switched to at some date. As long as most (substantially more than 51%) of nodes switch to the new protocol in a coordinated way, a hard fork change could work. (BTW, has this ever happened? I haven't heard of it but maybe it has?) But in the case of removing the 1MB limit, I don't think the agents involved here will agree. Specifically, the miners. SatoshiDice would certainly be on board for 1GB blocks, as would BitPay, Gox, and I'd imagine most end users. But I think miners have incentive to maintain the 1MB limit. The limit creates an (artificial?) scarcity for what they are providing / selling: inclusion in the block chain. If there's only room for ~4K transactions per block, thus only ~1M transactions a day, a spot in that blockchain is going to be quite valuable if millions of people want in. Transaction fees could be quite high, making only large transfers feasible. A transition to larger block sizes would thus be resisted by miners. While you might say, "Well, at 10MB / block there's potential for 10X as many transactions, thus 10X the fees" I don't think it would work that way. But in fact, I don't think this will ever be tested; all you need is miners to resist this change due to uncertainty. Some miners might like to increase the size limit, but many won't. Having large groups of miners disagreeing on fundamental protocol aspects sounds like a disaster for bitcoin. Basically, to me, the network of miners IS bitcoin; they provide the power to run the network, and are compensated to do so. If the miners aren't 100% for it, it's just not going to happen. So I'd like to hear from people who agree, but mostly who disagree with me; how do you think this modification of the protocol could play out? How would the miners get on board? Do you think miners would in fact want bigger blocks, and why? This seems like a very relevant discussion to have right now. We could be hitting 1MB blocks in a matter of months. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 02, 2013, 03:47:13 PM (BTW, has this ever happened? I haven't heard of it but maybe it has?) There has never been a hardforking change of the blockchain protocol rules.There has however, been a 'hardforking' change of the on-the-wire P2P gossip protocol. A checkvalue was added all messages (negotiated, so compatible) but the negotiation itself got a checkvalue too after a two year time delay (and all nodes switched to the new new negotiation at a hard coded time). It caused a few minor issues but no major disruption. We've also made softforking changes— changes which strictly reduced the set of acceptable things, so they need some coordination of mining to prevent the formation of forks but don't require a 100% upgrade— and there is one going on right now: https://en.bitcoin.it/wiki/BIP_0034 There are ways you could make increasing the blocksize technically soft-forking change (by having an auxblock committed in the block, and once coin is moved by the auxblock it may never be spent in the real blocks) but it would be hideous and pretextual. But along those lines, it would also be technically possible to integrate a lower security high volume payment blockchain as a pure softfork. The idea is that txn would be send to an address on the rapid payment blockchain using an output script that looks like an anyone can spend to old nodes. New nodes would require that some evidence be presented (via some channel) before accepting a transaction that moves those coins back into the bitcoin network (perhaps a SPV like fragment proving the merge mined federated system agreed with the change?). (Perhaps by admitting this possibility I can get people to stop obsessing over the block size? There are a lot of possible things to do here, I personally prefer generally isolated systems because I think that people should have a choice. But even if you demand that it must be part of "bitcoin" that doesn't mean we have to increase the block size) Oh, and welcome to the forum! Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: 2112 on January 02, 2013, 04:06:13 PM There has never been a hardforking change of the blockchain protocol rules. So how do you call the hard fork that occured after a fix to the integer overflow issue?https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures#CVE-2010-5139 Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on January 02, 2013, 04:47:10 PM First, it's a hard fork. Every node right now, to my knowledge, will reject any block coming in at over 1MB. Miners included. ANY kind of hard fork is going to be really hard to implement due to the size of the network. But if a hard fork does benefit everyone, or almost everyone, it could be planned in advance and switched to at some date. As long as most (substantially more than 51%) of nodes switch to the new protocol in a coordinated way, a hard fork change could work. (BTW, has this ever happened? I haven't heard of it but maybe it has?) In case it's not clear, the advance planning is done in software. That is, if we decide right now it should be changed, we add the line "if blockheight > 270000 then sizelimit = 10MB" to the upcoming software version. Then anyone who upgrades his client within the next half year will automatically switch when the time comes.But in the case of removing the 1MB limit, I don't think the agents involved here will agree. Specifically, the miners. SatoshiDice would certainly be on board for 1GB blocks, as would BitPay, Gox, and I'd imagine most end users. But I think miners have incentive to maintain the 1MB limit. The limit creates an (artificial?) scarcity for what they are providing / selling: inclusion in the block chain. If there's only room for ~4K transactions per block, thus only ~1M transactions a day, a spot in that blockchain is going to be quite valuable if millions of people want in. Transaction fees could be quite high, making only large transfers feasible. A limit on the data size of a block isn't the only or even the most efficient way to keep demand for transactions high. The marginal cost of handling the tx size is expected to be much lower than the amortized cost of hashing to secure it, so artificial scarcity in the former to sponsor the latter creates perverse incentives.A transition to larger block sizes would thus be resisted by miners. While you might say, "Well, at 10MB / block there's potential for 10X as many transactions, thus 10X the fees" I don't think it would work that way. But in fact, I don't think this will ever be tested; all you need is miners to resist this change due to uncertainty. Some miners might like to increase the size limit, but many won't. Having large groups of miners disagreeing on fundamental protocol aspects sounds like a disaster for bitcoin. Basically, to me, the network of miners IS bitcoin; they provide the power to run the network, and are compensated to do so. If the miners aren't 100% for it, it's just not going to happen. I favor a structured fee solution that takes into consideration the different costs. A component for storing and broadcasting data (e.g. data size limit); a component for signature verifications (e.g. limit on the number of signatures); and a (much more significant) component for miners' bargaining power in demanding payment for their hashing (e.g. limit on the total amount of bitcoins transferred). Even in case data size limit remains as a rough approximation to encompass all three: Sure, at some point increasing the supply of transaction room will greatly reduce the price and the total revenue. But miners will also understand that if the limit is too low, the usability of the Bitcoin system at large is reduced, which will harm growth and potential total revenues. If a majority cartel of miners decides anyway to reject all blocks with increased size limit, despite this being the new protocol agreed by the economic majority, this is none other than a >50% DoS attack. Whatever tools we come up with to handle that (e.g., moving to a block DAG structure) will apply. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Mike Hearn on January 02, 2013, 04:52:30 PM A lot of these are microtransactions (e.g., under a dollar's worth of coins) used for wagering Actually a lot of them are not really "used for wagering", they're (ab)used as a way to send messages to the client the wagerers are using. Part of the point of the payment protocol work is to give sites like SatoshiDice a messaging system that doesn't require assigning meaning to magic quantities of money. By the way, SatoshiDice is (afaik) not using compressed pubkeys. That's because bitcoinj doesn't use them. SatoshiDice is open source, it uses a fork of the library. We can probably halve the amount of data it generates just by fixing that. Quote from: Stephen Gornick But twelve months ago no SatoshiDICE existed and nobody knows what 2013's breakaway Bitcoin success story will be but what if there are four of them, each as popular as SatoshiDICE is today. Then the blockchain size limit (at the current restrictions) will be reached. I fully agree we will reach the block size limits at some point, if only because people will come up with uses for micropayments beyond wagering. I think expecting a quadrupling of tx volume is optimistic, but hey, we're on the same side here. This is why I want to see the block size limit float. Quote from: greyhawk It's doubtful that anyone will be able to hold the entire blockchain at some point in the future, should Bitcoin become a mainstream thing. Your calculations are useful if my "mainstream thing" you mean "one world currency used for everything", which could only conceivably occur in some Star Trek future. If that does occur then yottabyte storage - for a few parties at least - is hardly inconceivable. I mean there was a time when "hold the web in RAM" sounded absurd yet multiple companies do it today. You don't need many parties to store the entire block chain because all other nodes can prune and only have to handle the working set size. Quote from: jl2012 The current blockchain size is about 4.5G. If we prune all spent outputs, what the size would be? It's on the order of a couple hundred megs. I forgot the exact size. Perfectly feasible to hold entirely in RAM for now. Quote from: theymos That's a terrible way of deciding an important issue such as this. Miners are not a very important part of the Bitcoin economy, and they don't have much more understanding of Bitcoin than anyone else. Their "votes" shouldn't matter more than anyone else's. (There shouldn't be general voting at all, in fact -- democracy is a poor way of making decisions.) You're right, I guess everyone should just do what I say instead. That's far more efficient. Good to hear you'll be on my side when the time comes ;) Obviously for a hard forking change it's economic majority that matters, not miner majority. That's why I said maybe transaction version numbers should be adjusted instead/as well. For the majority of participants who have no opinion one way or another, they will just upgrade to whatever their client developers deem best. Quote from: Jeweller Every node right now, to my knowledge, will reject any block coming in at over 1MB. Miners included. This will shortly cease to be the case because SPV clients are going to start receiving filtered blocks, so cannot check their size. Sooner or later the majority of all users will be on SPV clients. Whether this equates to the majority of economic activity is still uncertain - I'd hope most merchants run their own full node, but I honestly don't know what the makeup of Bitcoin-using merchants will look like over time. Quote from: Jeweller But in the case of removing the 1MB limit, I don't think the agents involved here will agree. Specifically, the miners. SatoshiDice would certainly be on board for 1GB blocks, as would BitPay, Gox, and I'd imagine most end users. But I think miners have incentive to maintain the 1MB limit. If all economic actors except some miners want the change then it's just equivalent to a 51% "attack" - if you can get a majority of hash power to agree, then the rest of the miners have to go along with it or see no income at all. However, I think in the presence of a working alternative funding model most miners would accept larger blocks. I don't think there's any advantage to artificially throttling Bitcoins scalability if funding is not obtained via user-levied fees. I know gmaxwell argues strongly that allowing Bitcoin to scale would destroy its decentralization, but again I disagree. Anyway, these are old, tired debates. The answers will become clear nearer the time. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Pieter Wuille on January 02, 2013, 05:19:41 PM By the way, SatoshiDice is (afaik) not using compressed pubkeys. That's because bitcoinj doesn't use them. SatoshiDice is open source, it uses a fork of the library. We can probably halve the amount of data it generates just by fixing that. It only saves you 32 bytes per txin, so more something like 20%. That said, yes, that would be a very welcome change. Quote It's on the order of a couple hundred megs. I forgot the exact size. Perfectly feasible to hold entirely in RAM for now. In the format used by the current git head of the reference client (which will become 0.8 ), it's about 122 MiB now. Together with indexes and other overhead added by LevelDB, it's 143 MiB. Unpacked in RAM it's probably close to 5x as much (though there is little reason to have the entire database unpacked in memory). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: nevafuse on January 02, 2013, 09:30:49 PM There _must_ be competition for block space to make fees a viable way to pay for security. Limiting block space isn't the only way to increase mining fees. Removing/reducing the block reward has the same effect. Once the reward is less than the cost to mine, most miners will require a tx fee. Given this incentive, there's really no reason to limit the block size. It is in the miners best interest to set the limit as high as possible so they can receive the maximum amount of tx fees possible. For this reason alone I foresee the block limit rising significantly. Someone could try to disrupt the network with an extremely large block that contains millions of satoshi transactions, but it wouldn't be worth the effort. Not to mention, miners could set their own size limits (for just this reason) & the consensus could be to orphan the block. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on January 02, 2013, 10:14:46 PM There _must_ be competition for block space to make fees a viable way to pay for security. Limiting block space isn't the only way to increase mining fees. Removing/reducing the block reward has the same effect. Once the reward is less than the cost to mine, most miners will require a tx fee. Given this incentive, there's really no reason to limit the block size. It is in the miners best interest to set the limit as high as possible so they can receive the maximum amount of tx fees possible. For this reason alone I foresee the block limit rising significantly.This will be alleviated if mining is highly centralized (which we don't want), or if there are other factors such as assurance contract funding or a limit on total bitcoins transferred per block. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: meowmeowbrowncow on January 02, 2013, 10:37:07 PM There _must_ be competition for block space to make fees a viable way to pay for security. Limiting block space isn't the only way to increase mining fees. Removing/reducing the block reward has the same effect. Once the reward is less than the cost to mine, most miners will require a tx fee. Given this incentive, there's really no reason to limit the block size. It is in the miners best interest to set the limit as high as possible so they can receive the maximum amount of tx fees possible. For this reason alone I foresee the block limit rising significantly.This will be alleviated if mining is highly centralized (which we don't want), or if there are other factors such as assurance contract funding or a limit on total bitcoins transferred per block. Meni. What is the degree of this TotC problem? That is to say what percentage of self-interested miners (or I suppose successful blocks solves) would sufficiently degrade the position of a loose affiliation of miners enforcing a sustainable tx fee? Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: nevafuse on January 02, 2013, 10:58:47 PM There _must_ be competition for block space to make fees a viable way to pay for security. Limiting block space isn't the only way to increase mining fees. Removing/reducing the block reward has the same effect. Once the reward is less than the cost to mine, most miners will require a tx fee. Given this incentive, there's really no reason to limit the block size. It is in the miners best interest to set the limit as high as possible so they can receive the maximum amount of tx fees possible. For this reason alone I foresee the block limit rising significantly.This will be alleviated if mining is highly centralized (which we don't want), or if there are other factors such as assurance contract funding or a limit on total bitcoins transferred per block. The same argument could be applied to block size. Competition creates an environment where tx fees = mining costs. Right now tx fees + block reward = mining costs. Block reward is high, so tx fees are low. Once the block limit starts to become a problem, it will be increased or removed. It's a win-win for everyone. More transaction fees per block & faster confirmations. The only downside is a larger blockchain, but I don't think we're even close to limiting transactions based on bandwidth and/or storage concerns. Keeping the block size limit may increase tx fees in short term, but long term it will be more harmful than good to the miners. People will be annoyed by the long confirmation times & high fees and start using a different cryptocurrency. Now the miners have hurt themselves by transferring value out of the bitcoin economy. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on January 03, 2013, 12:47:53 AM There _must_ be competition for block space to make fees a viable way to pay for security. Limiting block space isn't the only way to increase mining fees. Removing/reducing the block reward has the same effect. Once the reward is less than the cost to mine, most miners will require a tx fee. Given this incentive, there's really no reason to limit the block size. It is in the miners best interest to set the limit as high as possible so they can receive the maximum amount of tx fees possible. For this reason alone I foresee the block limit rising significantly.This will be alleviated if mining is highly centralized (which we don't want), or if there are other factors such as assurance contract funding or a limit on total bitcoins transferred per block. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: zebedee on January 03, 2013, 08:39:55 AM There _must_ be competition for block space to make fees a viable way to pay for security. Limiting block space isn't the only way to increase mining fees. Removing/reducing the block reward has the same effect. Once the reward is less than the cost to mine, most miners will require a tx fee. Given this incentive, there's really no reason to limit the block size. It is in the miners best interest to set the limit as high as possible so they can receive the maximum amount of tx fees possible. For this reason alone I foresee the block limit rising significantly.This will be alleviated if mining is highly centralized (which we don't want), or if there are other factors such as assurance contract funding or a limit on total bitcoins transferred per block. My gut feeling is that the block size limit should be removed, and let the free market reign. It works elsewhere, why not for transaction processing? You're effectively claiming that some miner can survive and be profitable / just eat the cost by being selfish and adding all transactions no matter how small the fee. Good for her! She must be more efficient than everyone else. If you can't stand the competition, stop trying to compete and get out of the race. If mining is not profitable, miners will drop out until it is profitable, just like happens now. Everyone will benefit from the competition towards more efficient mining setups and lower transaction fees. The argument that block size must be limited seems to me to ignore that: - every node is free to not relay "spam" blocks, in the same way they are free to not relay spam transactions now, for whatever definition of spam that node sees as fit. - hashing transactions into blocks has a cost, as does relaying large blocks. If your block is "too big", for some technology and market-determined definition of big - then you will be beaten to the relaying race by a smaller, lighter, more network-acceptable block. - a real feedback loop exists here to determine the right pricing and policies, "on average" - every node is free to implement whatever policy on this stuff they want. - if sufficient hashing power believes a certain miner or pool is an anti-social PITA, they can put "social pressure" on them by not relaying their stuff. Remove the block size limit entirely I say. Ultimately it is effectively just another indirect input to block difficulty, and we let all the other inputs such as CPU/GPU/ASIC technology advances float, and so we should do the same for block size. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on January 03, 2013, 09:44:15 AM Why do you believe this (that small self-interested miners will survive)? Why must this be a tragedy of the commons? What is special about bitcoin mining that makes block space the only scarce resource that cannot find a price? Removing the limit doesn't make it a non-scarce resource, as precisely the fact it is a scarce resource is what is apparently scaring so many commenters. I will say again. Block data size is one cost (storing the data, downloading and uploading it, and it also correlates with number of signature verifications required). Hashing is a completely different cost which is independent of the block size. There is no way to reasonably discuss this without clearly understanding the distinction.Sponsoring the resources required to handling block size is a TotC problem in itself (the fee for including a tx is given to the miner which included it; the burden on the network is placed on all nodes). Which is why I earlier suggested some block size limit (or something equivalent) remains. But I'll be generous and assume the marginal resource cost finds a way to fund itself efficiently (e.g., "grassroots" rejection of large blocks). This leaves the problem of sponsoring hashing. If the marginal cost of a transaction is C, including a transaction with fee C+epsilon is pure profit. There is no reason for a small miner not to include it. This means epsilon will tend to 0 and total revenue from txs will be equal to the resource cost needed to handle them, leaving no revenue to sponsor the very expensive hashing. My gut feeling is that the block size limit should be removed, and let the free market reign. It works elsewhere, why not for transaction processing? It works when there's no TotC (meaning, the business pays for any externalities). When there is one (as we can clearly identify in this case), some method to resolve it is needed.For the marginal cost of handling transactions, the externality is network burden, and one solution is to limit network burden per block. For the amortized cost of hashing, the externality is dissolving the bargaining power of hashers. One solution is to limit the bitcoins transferred per block. (So miners can still have bargaining power against big senders willing to pay a large fee to have their tx included). You're effectively claiming that some miner can survive and be profitable / just eat the cost by being selfish and adding all transactions no matter how small the fee. Good for her! She must be more efficient than everyone else. If you can't stand the competition, stop trying to compete and get out of the race. If mining is not profitable, miners will drop out until it is profitable, just like happens now. Everyone will benefit from the competition towards more efficient mining setups and lower transaction fees. Hashing is an artificially difficult problem and thus has an additional degree of freedom. Most things aren't artificially difficult; e.g., energy generation really is difficult, and if a more efficient method can be found to do it, people can enjoy cheaper energy. But if a more efficient way to hash is found, it favors attackers and the honest network equally.The degree of freedom is exactly as you described: If there's not enough profit, miners will quit. Which is exactly what I'm worried about; with less miners the network will be more vulnerable to hashrate attacks. I want to make sure there is enough revenue to fund the amount of hashing required to secure the network; and I argue that left to itself, the TotC problem will create a race to the bottom with little total revenue and low network hashrate. There are several suggested solutions. I'm not saying none of them can work, I'm saying the problem shouldn't be swept under the carpet. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: zebedee on January 03, 2013, 10:53:43 AM Sponsoring the resources required to handling block size is a TotC problem in itself (the fee for including a tx is given to the miner which included it; the burden on the network is placed on all nodes). Which is why I earlier suggested some block size limit (or something equivalent) remains. But I'll be generous and assume the marginal resource cost finds a way to fund itself efficiently (e.g., "grassroots" rejection of large blocks). But I pointed out this isn't true. Including the transaction increases block size and therefore storage costs, increases time to propagate, and increases the chance of some other relay not liking it.This leaves the problem of sponsoring hashing. If the marginal cost of a transaction is C, including a transaction with fee C+epsilon is pure profit. There is no reason for a small miner not to include it. I'm disagreeing with the fundamental assumption you're making that it's "pure profit". Also, whatever the costs are to the network, the fact is they're being borne by the network. If the network can't afford it, the network won't afford it. I haven't seen a convincing (to me) refutation of these points. If something isn't worthwhile people won't do it. If it is, people will. It's not clear to me, as I've tried to explain. Just like producing widgets - if someone can't do it profitably, that isn't a reason to seek out a central authority (here the arbitrary block size limit) to "solve" the problem (by specifying a minimum price in the case of the widget, or maximum block size for a block). They just go bust.My gut feeling is that the block size limit should be removed, and let the free market reign. It works elsewhere, why not for transaction processing? It works when there's no TotC (meaning, the business pays for any externalities). When there is one (as we can clearly identify in this case), some method to resolve it is needed.This is even the case now - clearly block size is not a constraint at the moment, it might as well be infinite, as most blocks are way below the limit, and not even at the point where the reference client makes it "more expensive" to take up more space. And yet the network isn't suffering, and also not every transaction is getting accepted in the immediately next block. Because there are costs, lags, and delays, and that is their way of being expressed. Some people moan, but they're the ones who will stop trying to do it (including qt client users who aren't adding much to the network). If the "market" wants those users to keep doing it, the market will pay a higher fee to ensure they find it worthwhile. Hashing is an artificially difficult problem and thus has an additional degree of freedom. Most things aren't artificially difficult; e.g., energy generation really is difficult, and if a more efficient method can be found to do it, people can enjoy cheaper energy. But if a more efficient way to hash is found, it favors attackers and the honest network equally. By hashing, I was talking about the cost of rebuilding and rehashing the merkle tree, not the cost of hashing the block. Sorry for any confusion; I feel that may have led you to misunderstand my argument.The degree of freedom is exactly as you described: If there's not enough profit, miners will quit. Which is exactly what I'm worried about; with less miners the network will be more vulnerable to hashrate attacks. I want to make sure there is enough revenue to fund the amount of hashing required to secure the network; and I argue that left to itself, the TotC problem will create a race to the bottom with little total revenue and low network hashrate. I'm not certain an unconstrained block size can work. But I think it's highly likely it can, and I've not read anything to persuade me otherwise.There are several suggested solutions. I'm not saying none of them can work, I'm saying the problem shouldn't be swept under the carpet. If the market wants something (here, more hashing power) it will pay for it, like anything else. So why not give it a go? If it's a disaster, there will be no problem getting the 50% consensus to put one back, right? Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Jeweller on January 03, 2013, 12:14:46 PM A limit on the data size of a block isn't the only or even the most efficient way to keep demand for transactions high. The marginal cost of handling the tx size is expected to be much lower than the amortized cost of hashing to secure it, so artificial scarcity in the former to sponsor the latter creates perverse incentives. I agree here: Limiting a block to 1MB feels strange and arbitrary. More so given that 1MB is pretty much nothing for today's computers, and many times this transaction rate could be supported with no real problems other than removing the block size limit. This leaves the problem of sponsoring hashing. If the marginal cost of a transaction is C, including a transaction with fee C+epsilon is pure profit. There is no reason for a small miner not to include it. This means epsilon will tend to 0 and total revenue from txs will be equal to the resource cost needed to handle them, leaving no revenue to sponsor the very expensive hashing. So if I understand what you're saying here, it's that any self-interested solo miner (not a cartel) will include transactions as long as it's profitable for him / her to do so. Or rather, not unprofitable / loss making. We see this now; miners include transactions with no fees, with no direct benefit to themselves. Assuming no block size limit, the negative feedback loop would simply be processing cost to the miner vs. transaction fee, which would tend to make for very cheap transactions. This is basically how it works now. C+epsilon for each transaction included, with both C and epsilon equal to 0 in most transactions right now. Right now what's determining effort into block publishing is the block reward, which overwhelms transaction fees, essentially subsidizing them. The block reward will become negligible, but that's many years ahead of us. Long before that, within a year or two, we're likely to start hitting block size limits somewhat regularly, and after that, perhaps constantly. I'm not certain an unconstrained block size can work. But I think it's highly likely it can, and I've not read anything to persuade me otherwise. If the market wants something (here, more hashing power) it will pay for it, like anything else. So why not give it a go? If it's a disaster, there will be no problem getting the 50% consensus to put one back, right? Yeah, why not! ;D Seriously though I'm inclined to agree here as well -- I bet removing the size limit wouldn't kill bitcoin. But here's the thing-- while we're debating these issues on bitcointalk.org (and sorry if this is an old / tired debate -- it certainly isn't to me however) people are building new bitcoin businesses and investments and all sorts of stuff. And the blockchain is growing, and miners are mining, and the average transactions / sec and block size are going up. If we all came to a unanimous decision about a protocol change, it would still be a big pain to switch / fork. But since we can't even agree, and developers are saying basically "we'll see what happens", to me that means the 1MB limit is going to be with us for quite a while, for good or bad. So I'm still trying to figure out myself if "artificially" constrained block sizes is "good" or "bad" for bitcoin. My feeling is that either with the 1MB limit, or without a hard limit, the system will work, but it will work for somewhat different purposes. But would you all agree that regardless of desirability, we will see blocks really hitting that limit hard, and stuff really affected by it, before any protocol change occurs? (If it ever does.) Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: nevafuse on January 03, 2013, 05:37:30 PM If we all came to a unanimous decision about a protocol change, it would still be a big pain to switch / fork. But since we can't even agree, and developers are saying basically "we'll see what happens", to me that means the 1MB limit is going to be with us for quite a while, for good or bad. So I'm still trying to figure out myself if "artificially" constrained block sizes is "good" or "bad" for bitcoin. My feeling is that either with the 1MB limit, or without a hard limit, the system will work, but it will work for somewhat different purposes. But would you all agree that regardless of desirability, we will see blocks really hitting that limit hard, and stuff really affected by it, before any protocol change occurs? (If it ever does.) I'm not sure if you can really call it a "hard" fork. Some people could change the limit today without really effecting the network since we aren't really hitting the limit yet. And it would make the most sense for us to change it now so by the time people start hitting the 1MB limit, it won't be an issue. Regardless, it isn't really up to the core developers anymore. The developers at slush or deepbit could change the limit today. It'd be risky to try to propagate a block today over the limit, but if the larger miners got together and decided on a date to collectively change the limit, there'd be a higher success rate. The incentives are there, its just a matter of time. No doubt in my mind that artificially limiting the block size to increase miner fees will bring great success to the next cryptocurrency that does away with the block size limit. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 03, 2013, 05:52:24 PM The developers at slush or deepbit could change the limit today. It'd be risky to try to propagate a block today over the limit. No, they can't. The rules of Bitcoin are not based on voting, only the ordering of transactions is. The only way they could do that is by becoming the effective developers of the Bitcoin software that all the users and merchants, etc use. As someone who mines a bit myself I _fully_ welcome them to try though! In fact, I'll gladly write the patch for any big miner that wants it.Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: jgarzik on January 03, 2013, 06:43:38 PM I'm not sure if you can really call it a "hard" fork. Some people could change the limit today without really effecting the network since we aren't really hitting the limit yet. And it would make the most sense for us to change it now so by the time people start hitting the 1MB limit, it won't be an issue. Regardless, it isn't really up to the core developers anymore. The developers at slush or deepbit could change the limit today. It'd be risky to try to propagate a block today over the limit, but if the larger miners got together and decided on a date to collectively change the limit, there'd be a higher success rate. Wrong. All bitcoin clients will reject a block above 1MB, regardless of what any miner produces. Thus, it would take a hard fork to change the maximum block size. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Meni Rosenfeld on January 03, 2013, 11:28:17 PM Sponsoring the resources required to handling block size is a TotC problem in itself (the fee for including a tx is given to the miner which included it; the burden on the network is placed on all nodes). Which is why I earlier suggested some block size limit (or something equivalent) remains. But I'll be generous and assume the marginal resource cost finds a way to fund itself efficiently (e.g., "grassroots" rejection of large blocks). But I pointed out this isn't true. Including the transaction increases block size and therefore storage costs, increases time to propagate, and increases the chance of some other relay not liking it.This leaves the problem of sponsoring hashing. If the marginal cost of a transaction is C, including a transaction with fee C+epsilon is pure profit. There is no reason for a small miner not to include it. I'm disagreeing with the fundamental assumption you're making that it's "pure profit". Also, whatever the costs are to the network, the fact is they're being borne by the network. If the network can't afford it, the network won't afford it. I haven't seen a convincing (to me) refutation of these points. If something isn't worthwhile people won't do it. If it is, people will. It's not clear to me, as I've tried to explain. Just like producing widgets - if someone can't do it profitably, that isn't a reason to seek out a central authority (here the arbitrary block size limit) to "solve" the problem (by specifying a minimum price in the case of the widget, or maximum block size for a block). They just go bust.My gut feeling is that the block size limit should be removed, and let the free market reign. It works elsewhere, why not for transaction processing? It works when there's no TotC (meaning, the business pays for any externalities). When there is one (as we can clearly identify in this case), some method to resolve it is needed.This is even the case now - clearly block size is not a constraint at the moment, it might as well be infinite, as most blocks are way below the limit, and not even at the point where the reference client makes it "more expensive" to take up more space. And yet the network isn't suffering, and also not every transaction is getting accepted in the immediately next block. Because there are costs, lags, and delays, and that is their way of being expressed. Some people moan, but they're the ones who will stop trying to do it (including qt client users who aren't adding much to the network). If the "market" wants those users to keep doing it, the market will pay a higher fee to ensure they find it worthwhile. The problem of sponsoring hashing hasn't even begun to manifest itself because of the coinbase, which is still more than sufficient for it. And txs are still few enough that the crude anti-spam rules (required fee for low-priority txs) are enough to keep the nodes from overloading.Hashing is an artificially difficult problem and thus has an additional degree of freedom. Most things aren't artificially difficult; e.g., energy generation really is difficult, and if a more efficient method can be found to do it, people can enjoy cheaper energy. But if a more efficient way to hash is found, it favors attackers and the honest network equally. By hashing, I was talking about the cost of rebuilding and rehashing the merkle tree, not the cost of hashing the block. Sorry for any confusion; I feel that may have led you to misunderstand my argument.The degree of freedom is exactly as you described: If there's not enough profit, miners will quit. Which is exactly what I'm worried about; with less miners the network will be more vulnerable to hashrate attacks. I want to make sure there is enough revenue to fund the amount of hashing required to secure the network; and I argue that left to itself, the TotC problem will create a race to the bottom with little total revenue and low network hashrate. I'm not certain an unconstrained block size can work. But I think it's highly likely it can, and I've not read anything to persuade me otherwise.There are several suggested solutions. I'm not saying none of them can work, I'm saying the problem shouldn't be swept under the carpet. If the market wants something (here, more hashing power) it will pay for it, like anything else. So why not give it a go? If it's a disaster, there will be no problem getting the 50% consensus to put one back, right? The study of game theory brings up some examples, especially wherever bargaining is involved. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: dree12 on January 05, 2013, 01:41:07 AM I'm not sure if you can really call it a "hard" fork. Some people could change the limit today without really effecting the network since we aren't really hitting the limit yet. And it would make the most sense for us to change it now so by the time people start hitting the 1MB limit, it won't be an issue. Regardless, it isn't really up to the core developers anymore. The developers at slush or deepbit could change the limit today. It'd be risky to try to propagate a block today over the limit, but if the larger miners got together and decided on a date to collectively change the limit, there'd be a higher success rate. Wrong. All bitcoin clients will reject a block above 1MB, regardless of what any miner produces. Thus, it would take a hard fork to change the maximum block size. This makes very little sense. Why not code the limit into miners only, and have the client simply prefer to relay smaller blocks over larger ones? Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 05, 2013, 02:32:22 AM This makes very little sense. Why not code the limit into miners only, and have the client simply prefer to relay smaller blocks over larger ones? Because the purpose of Bitcoin is to build a currency that substantially eliminates trust. If Bitcoin users are forced by technology have to trust miners to do the correct thing— to not inflate the currency, to not destroy its decentralization, etc— then they can be easily disenfranchised. Not only would they be forced to trust (which is against the goals of the system) but without the enforcement by a great many users miners would have reduced incentives to not cheat in the various ways that the enforcement prohibits absolutely. E.g. why not increase the subsidy to 26 BTC? Because it would undermine confidence? pfft. They'd justify it by some argument about lost coins, expanding economy, importance of security and such, just like the inflation producing governements and central banks do. Doing it would benefit all the miners, so why shouldn't they "vote" a raise for themselves? And a little bit of inflation at a time demonstrability doesn't undermine all confidence in a currency. Of course, you do have the option to trust miners in exchange for a reduced validation cost to you by using a SPV node— but that option is only really viable because the miners are regulated by the many other participants who do verify. Why have mining at all? Because we can't accomplish a decentralized currency without a way of providing for the ordering of transactions, and we don't know a way to provide ordering without some kind of vote or without centralization. So mining is just an attack resistant way of voting on the order of transactions. But we don't use mining for more than that because voting is not actually a good solution, it requires a kind of trust (though better than centralization)— and so for the non-ordering things that can be validated independently nodes do validate them independently. (Even SPV nodes should and do validate all that they can within the context of their permitted operating cost). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: dree12 on January 06, 2013, 03:42:50 AM This makes very little sense. Why not code the limit into miners only, and have the client simply prefer to relay smaller blocks over larger ones? Because the purpose of Bitcoin is to build a currency that substantially eliminates trust. If Bitcoin users are forced by technology have to trust miners to do the correct thing— to not inflate the currency, to not destroy its decentralization, etc— then they can be easily disenfranchised. Not only would they be forced to trust (which is against the goals of the system) but without the enforcement by a great many users miners would have reduced incentives to not cheat in the various ways that the enforcement prohibits absolutely. E.g. why not increase the subsidy to 26 BTC? Because it would undermine confidence? pfft. They'd justify it by some argument about lost coins, expanding economy, importance of security and such, just like the inflation producing governements and central banks do. Doing it would benefit all the miners, so why shouldn't they "vote" a raise for themselves? And a little bit of inflation at a time demonstrability doesn't undermine all confidence in a currency. Of course, you do have the option to trust miners in exchange for a reduced validation cost to you by using a SPV node— but that option is only really viable because the miners are regulated by the many other participants who do verify. Why have mining at all? Because we can't accomplish a decentralized currency without a way of providing for the ordering of transactions, and we don't know a way to provide ordering without some kind of vote or without centralization. So mining is just an attack resistant way of voting on the order of transactions. But we don't use mining for more than that because voting is not actually a good solution, it requires a kind of trust (though better than centralization)— and so for the non-ordering things that can be validated independently nodes do validate them independently. (Even SPV nodes should and do validate all that they can within the context of their permitted operating cost). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 06, 2013, 11:06:05 PM I don't see how this applies to block size. Miners do not have a significant benefit in increasing the block size, the only extra power granted to them. They would— it would allow them to accept more low fee transactions, thus increasing their fee income in that single block, by making the space non-scarce— though in the long run it will make miners less, at the time of forming a block it would make them more. There would be no rational reason to not gobble up the fees as as fast as you can unless there was cartel behavior to force lower sizes anyways. Maybe the cartel regulating miners would choose better limits, but it would mean that we'd have to trust the cartel to behave wisely rather than a set in stone rule which produces a market for fees by fixing the maximum size.That is all in regard to why it should work the way it does— the reason it does work the way it does is just a result of the principle of the system. Miners are only depended on for ordering. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: nevafuse on January 07, 2013, 06:16:18 PM I'm not sure if you can really call it a "hard" fork. Some people could change the limit today without really effecting the network since we aren't really hitting the limit yet. And it would make the most sense for us to change it now so by the time people start hitting the 1MB limit, it won't be an issue. Regardless, it isn't really up to the core developers anymore. The developers at slush or deepbit could change the limit today. It'd be risky to try to propagate a block today over the limit, but if the larger miners got together and decided on a date to collectively change the limit, there'd be a higher success rate. Wrong. All bitcoin clients will reject a block above 1MB, regardless of what any miner produces. Thus, it would take a hard fork to change the maximum block size. This makes very little sense. Why not code the limit into miners only, and have the client simply prefer to relay smaller blocks over larger ones? Miners & clients are the same thing. Even if you aren't necessarily trying to find the next block, if you are running the client, you are still voting on what blocks are valid & which ones aren't and propagating them appropriately. The problem isn't that blocks over 1MB would be too large for miners/clients to propagate. The problem is that they would see the larger blocks as INVALID. Lets assume 50% of the miners/clients were running bitcoin instances that accepted blocks over 1MB. It would look like the hashrate dropped in half to both sides. Basically 2 different versions of bitcoin would exist. Mtgox, blockchain, slush, deepbit, etc would all have to decide what side to take. Or they could even fight on both sides. Technically both could exist indefinitely. The prices would probably even be different between the two. Nothing is stopping that from happening...even today. Same problem happens if advances in quantum computing make people want to use a different encryption method. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 07, 2013, 07:24:52 PM Lets assume 50% of the miners/clients were running bitcoin instances that accepted blocks over 1MB. It would look like the hashrate dropped in half to both sides. Not quite, the accepting side would still see the mining of the non-accepting side. It's not mutually exclusive.Quote Basically 2 different versions of bitcoin would exist. Mtgox, blockchain, slush, deepbit, etc would all have to decide what side to take. Or they could even fight on both sides. Technically both could exist indefinitely. Of course, the value of bitcoin depends on it not biurficating. That would be a maximally bad outcome: basically everyone with funds before the split would double their funds. So thats obviously highly unstable.Quote Same problem happens if advances in quantum computing make people want to use a different encryption method. We don't use encryption in bitcoin. Perhaps you meant signatures? We can actually upgrade signature algorithms without a hard fork.Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: nevafuse on January 07, 2013, 10:44:08 PM Not quite, the accepting side would still see the mining of the non-accepting side. It's not mutually exclusive. Depends which blockchain is longer, right? Isn't that the whole point of requiring more than 51% of the hashrate? If the blockchain with the >1MB blocks is longest, the clients on the accepting side will not see the mining of the non-accepting side because they will be working on a different blockchain. But if the blockchain with the <=1MB blocks is longest, both clients will see the same thing & be working on the same blockchain. Hints why it'd make sense to do it now because there aren't any blocks being generated anywhere near the 1MB limit. So both clients could co-exist for the time being. There wouldn't be any issue until a >1MB block is generated & accepting nodes own more than 50% of the hashrate. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: dree12 on January 07, 2013, 11:35:33 PM Not quite, the accepting side would still see the mining of the non-accepting side. It's not mutually exclusive. Depends which blockchain is longer, right? Isn't that the whole point of requiring more than 51% of the hashrate? If the blockchain with the >1MB blocks is longest, the clients on the accepting side will not see the mining of the non-accepting side because they will be working on a different blockchain. But if the blockchain with the <=1MB blocks is longest, both clients will see the same thing & be working on the same blockchain. Hints why it'd make sense to do it now because there aren't any blocks being generated anywhere near the 1MB limit. So both clients could co-exist for the time being. There wouldn't be any issue until a >1MB block is generated & accepting nodes own more than 50% of the hashrate. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: ErebusBat on January 10, 2013, 08:22:41 PM TL;DR ^^^
If this has been stated before then please smack me. It is important to remember the difference between privacy and security. The are different, although often confused. If you use a properly designed client (electrum for instance) then you sacrifice no security, only privacy (arguably). The worst thing a central server could do to you is lie, it could not permanently alter the blockchain. Because you broadcast your TXs through the server they could potentially track that you own which address, although I think you can tunnel electrum through TOR if that is a concern. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: gmaxwell on January 10, 2013, 09:05:42 PM If you use a properly designed client (electrum for instance) then you sacrifice no security, only privacy (arguably). Pedantically, an electrum server can put you on a not-longest fork, and from there could give you fake payments which look confirmed (electrum is gradually getting better too, so in six months this may no longer be true).More generally, if most Bitcoin users follow your reasoning bitcoin itself will be insecure— subject to theft, inflation, etc. Because the marginal personal security/privacy cost is low (and likely to be underestimated due to hyperbolic discounting and underestimation of small risks) in running a reduced node we have a tragidy of the commons risks where almost no one honest runs full nodes (except attackers as they have a clear incentive!) and the network dies. To address this we should strive to minimize the cost of running a full node (relative to technology) and we should produce altruistic software which automatically runs a full node on hardware that can handle it without burdening the user. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: dree12 on January 10, 2013, 11:44:10 PM If you use a properly designed client (electrum for instance) then you sacrifice no security, only privacy (arguably). Pedantically, an electrum server can put you on a not-longest fork, and from there could give you fake payments which look confirmed (electrum is gradually getting better too, so in six months this may no longer be true).More generally, if most Bitcoin users follow your reasoning bitcoin itself will be insecure— subject to theft, inflation, etc. Because the marginal personal security/privacy cost is low (and likely to be underestimated due to hyperbolic discounting and underestimation of small risks) in running a reduced node we have a tragidy of the commons risks where almost no one honest runs full nodes (except attackers as they have a clear incentive!) and the network dies. To address this we should strive to minimize the cost of running a full node (relative to technology) and we should produce altruistic software which automatically runs a full node on hardware that can handle it without burdening the user. Wasn't there a proposal before to pay full nodes? That idea could possibly be explored more, though it would require a hard fork. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Sergio_Demian_Lerner on January 11, 2013, 12:13:05 AM I will add my grain of salt to the discussion.
First, regarding miner´s incentives, this is an excerpt of my paper "Mavepay". (It adds little new matter to what was said, only the idea tha miners could be required to do more work than the rest of the nodes) From the game-theoretic point of view, Bitcoin miners do not have a strong incentive to protect end-users resources. In the long term miners may want to protect the end-users in order to maintain the value of their savings in the virtual coin, and the fixed cost of the infrastructure acquired for mining. But miners can at any time sell their coins and start mining for other P2P currencies, so the incentive is not strong enough. In the short term, they compete to collect fees, even if the transactions included in a block impose a high workload on the end-users. If miners were forced to store, transfer or compute much more data than end-users, then they would choose transactions of shorter length and lower CPU usage. In Bitcoin transactions are checked only once before the block mining process can start, and the quality and quantity of the transactions included in a block does not alter the winning probability significantly for a miner. The block size may affect slightly the dispersion time of a block across the network, and so may reduce the chances of a miner winning over a currently competing short-sized block. But currently this is not a limiting factor on miners, since blocks travel fast, and the diameter of the Bitcoin network is low. Also if a greater time is required to check a transaction, then the time when the block mining can effectively begin is postponed in that same amount. But transactions are checked only once, and each block mined requires a hashing effort orders of magnitude higher than the time required for transaction verification. So the CPU resources used in transaction verification during mining have little effect on the block cost and almost no effect on miners revenue. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: Sergio_Demian_Lerner on January 11, 2013, 12:16:36 AM Second, there are other solutions to the tragedy of the commons "problem" with fees. One of the is fee confiscation. This is another excerpt of the paper: 10.6.1. Fee confiscation. In this scheme, part of the fees collected by a miner get “confiscated”. When a transaction with fee f is included in a block, the miner applies a predefined multiplier x to the fee f. The miner can only collect x ∗ f and the rest is confiscated. The multiplier x is always lower or equal to 1.The longer the message, the lower the multiplier. The slower the cryptographic operations required by the transaction, the lower the multiplier. As an example, if CPU usage was the only factor to consider to calculate the cost of a transaction to the network, then a transaction which requires 100 times more time to evaluate than other would have a multiplier that is 100 times lower. Because miners always choose the transactions that give them the higher reward, then users would be forced to compensate the punishment of confiscation by increasing the fees by the same factor for those commands. CPU usage is not the only factor to consider when calculating the cost of a transaction to the network as a whole. All expensive resources already described must be considered to design a realistic function that takes into account average costs and tries to anticipate how those costs will evolve in the future. As fees are reduced by the multipliers, is necessary to restore the remaining money (1 − x) ∗ f to the network to avoid destroying it. One possible solution is to accumulate all the remaining fees and setup a price to be awarded to the miner of the following block. To prevent the miner from trying to delay broadcasting a block in order to mine the next, we can setup the price to be awarded to the miner of some blocks ahead (e.g. ten blocks). This automatic prize generation may give an incentive for the casual miner not to include so many transactions, since a fixed reward (higher than the transaction fees) may exist. But since including transactions in a block requires very little resources, here is no reason not to include all known transaction and collect all possible fees. For the miners who have a high percentage of network computing power (like mining pools) obviously no such incentive exists, since including less transaction imply being awarded less money as prices in following mined blocks. Anyone would like to write a book with the discussions of these threads? I imagine the book be called something like "Agreement without Trust, Inside the Bitcoin P2P community" (by P2PMaster, 2013) 0.99 BTC, paperback. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: da2ce7 on January 11, 2013, 01:30:36 AM While I believe that insurance based network security services would naturally keep the network secure (while using the minimal amount of work).
I general fall-in and agree with gmaxwell that this is a core economic rule, and should not be changed. (just like any other of bitcoin's economic rules, such as the block-reward). I also think that it is a non-issue. As one day solutions such as Open Transactions will provide secure off-chain transactions. (and in the future we see Bitcoin transactions for the settlement between OT servers and issuers.) Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: MPOE-PR on January 31, 2013, 09:20:43 AM I also think that it is a non-issue. As one day solutions such as Open Transactions will provide secure off-chain transactions. (and in the future we see Bitcoin transactions for the settlement between OT servers and issuers.) For the record, MPEx's off chain transaction system (the PUSH commands) is already moving more value daily than any of the alt chains, and possibly more than all the altchains combined (course it's mostly LTC and NMC that have any value to speak of as it is). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: justusranvier on January 31, 2013, 12:24:42 PM I general fall-in and agree with gmaxwell that this is a core economic rule, and should not be changed. (just like any other of bitcoin's economic rules, such as the block-reward). The first successful 51% attack is going to be a company who wants to use Bitcoin to get some real work done, but discovers a vocal group of miners who dream of being the next Goldman Sachs blocking them with silly size restrictions on the block chain.That company will dig through its couch cushions and find a billion dollars per year to experiment with and will successfully out-mine the rest of the network, placing more commerce-friendly rules in play and displacing everyone who came before. Unless the network makes the changes ahead of time. Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: MPOE-PR on January 31, 2013, 12:44:14 PM I general fall-in and agree with gmaxwell that this is a core economic rule, and should not be changed. (just like any other of bitcoin's economic rules, such as the block-reward). The first successful 51% attack is going to be a company who wants to use Bitcoin to get some real work done, but discovers a vocal group of miners who dream of being the next Goldman Sachs blocking them with silly size restrictions on the block chain.That company will dig through its couch cushions and find a billion dollars per year to experiment with and will successfully out-mine the rest of the network, placing more commerce-friendly rules in play and displacing everyone who came before. Unless the network makes the changes ahead of time. And you know this because why? MPEx is the real company getting real work done. No need to 51% the network (yet). Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: justusranvier on January 31, 2013, 01:02:26 PM MPEx may be a big fish, but bitcoin as a whole is a very small pond presently.
Title: Re: SatoshiDice, lack of remedies, and poor ISP options are pushing me toward "Lite" Post by: MPOE-PR on January 31, 2013, 02:28:31 PM MPEx may be a big fish, but bitcoin as a whole is a very small pond presently. No argument there. At issue is the blind conviction of most everyone that Bitcoin has to be a sort of universal payment processor directly (possibly because all the payments these people ever engage in are to the tune of ten bucks). In fact consumer level transactions, those five dollars for a moccachino, those nineteen dollars for a new pair of socks, those three hundred dollars for a new set of dildos and handcuffs constitute an area where Bitcoin's advantages are significantly dimmed (not reversible?! ouch), Bitcoin's disadvantages significantly magnified (wait up to six hours for a transaction to clear?! srsly!?), and currently existing infrastructure is well adapted (hey, Visa already does a billion transactions a week, why bother to put all the hard work into supplanting them? Why replace all the billion piece-of-shit point of sale units they already have on field? Guess what, they're not pieces of shit because corporations are evil, they're pieces of shit because when you do retail and interact with consumers you have to REALLY keep costs down). Bitcoin's advantages shine at the other end of the spectrum. If I have to pay my Chinese suppliers for eight containers of socks or dildos or handcuffs or whatever else, I currently have to wait for a month or more just to obtain some bank's permission. The system of handling large payments is so complex, so risky, inefficient, and so downright insulting to the customer that I couldn't begin to tell you. That's where Bitcoin's advantages really matter, and as long as we gain market share there it makes absolutely zero difference if fifty or fifty million coffee shops start taking or stop taking Bitcoin. It may be a fact that mostly nobody currently involved with Bitcoin has ever paid for anything outside of retail channels. That happenstance doesn't make retail the only thing that exists. I know that most everyone would like Bitcoin to be a currency for the masses, because most everyone actually is the masses. This still has no bearing, much like the case of the duckling that sat on a dragon egg. You can't expect the dragon to be sitting around the pond playing with your duckling friends, now can you? It's a dragon, it has dragony shit to do! Store of value? Great, sure, forever. Ultimate unit of account, gateway to real finance as opposed to the wrestling show put up by Wall Street? Sure. Payment processor? Sure, if you're buying a plane. If you're buying a cup of coffee enjoy it while it lasts, but don't expect it to last forever. It just makes no sense to buy your cup of coffee in Bitcoin (tho it may make sense to buy a Bitcoin's worth of store tokens once a month, and from there on the gate is wide open to Bitcoin-based payments, using bitcoin-backed private currencies, such as United States Dollars, Unified Store Dingdongs or Universal Spurious Dobaloos. It's just that they won't be put through the blockchain, because there's no need to put them though the blockchain and no benefit to doing so.) |