7 ms·
Bitcoin will soon block small transaction outputs
- trevelyan 13y agoI do not understand this move. If blockchain size is an issue, I don't understand why the focus isn't pruning the blockchain so that only the hashed headers are stored for past transactions. This defeats the point of having 8 decimal places if you can only reasonably use 3+.
- nwh 13y agoIt's presumably only temporary measure, and only present in the reference client. Anything below four decimal places is completely worthless at this point anyway; do you really have a use for being able to send 0.01c USD?
- waterlesscloud 13y agoMaybe I do, yes. A handful of developers shouldn't be deciding acceptable business models for bitcoin. That's not going to lead anywhere good.
- numbsafari 13y agoIt's like they did it by fiat or something.
- deleted 13y ago[deleted]
- lwat 13y agoIf you're making transactions smaller than 1 cent, keep them off the blockchain. You're just wasting everyone's resources. Aggregate them until they're big enough to matter and THEN commit them to the blockchain.
- Avshalom 13y agoI can't but people are always talking up bitcoin's ability to be more than just currency, so I assume some of those people probably have a use.
- stormbrew 13y agoWhat if I have need to send $0.10c tomorrow if BTC is then worth $1000? Placing the constraint right on the edge of the current value seems like it will just cause a lot of problems as the value continues to fluctuate.
- lwat 13y agoThe limit will be adjusted if BTC becomes worth thousands.
- stormbrew 13y agoYes, I see that they're adding command line flags. I don't really think BTC can be considered so stable at this point that a run up to $1000 and then a drop back down to the low hundreds within a day or two could be considered impossible. And if its value grows beyond even that the fluctuations may swing even wilder in terms of monetary value. I'd also point out that in much of the world, the local equivalent of $0.01 USD may actually not be a trivially dismissable amount of money. But I'm not sure it's a bad idea, I just think they chose a very awkward value to peg it at.
- trevelyan 13y agoYeah, I do actually.
- lwat 13y agoWhy
- ISL 13y agoIf micropayments are ever to be possible, sub-penny transactions need to happen. If 10^6 people send you $0.001, you get $1k....
- unreal37 13y agoYou should be able to send whatever value you want, as long as you pay a fee for the resources used. Why should it take hours for my Bitcoin client to sync (and therefore for me to do anything with my Bitcoins) because people want to encode URLs in the blockchain? In a few years, it could take days to sync a new client. What kind of banking system would that be?
- Jtsummers 13y agoCan't you submit transaction before it syncs as long as you you're confident the transaction will be valid? For a business, they could maintain a current sync and you submit your transmitting address to them and they can verify, that way your smartphone doesn't have to get bogged down with the task of anything other than signing the transaction.
- unreal37 13y agoIf I recall, the standard Bitcoin client doesn't work until the blockchain is synced. I've had to wait an hour to do a transaction I wanted to do because I hadn't opened it in a few months.
- harshreality 13y ago$.001 is so low it's not even worth talking about in terms of a globally visible transaction. Your bank won't let you transfer that amount. Why should bitcoin? You don't need to be able to transfer such amounts in order to have sub-1-cent microtransactions. You can have $.000001 cent microtransactions. You simply can't clear them in the global economy without batching them up... which people are used to doing already, because payment clearing services in gov currency have transaction charges that far exceed $.01. Even if payment processing costs weren't an issue (which would cause many more small unbatched transactions in gov currency, similar to the crap being dumped into the block chain... banks have to log gov currency transactions for auditing purposes), whatever the cost of individual transactions, if you have a payor who owes you $.001 over a billing period, you've done something wrong. They'd be just as willing to pay you $.01 as $.001.
- lordgilman 13y agoThe UTXO acronym stands for unspent transaction output. Think of it as the total number of Bitcoin bank accounts. Pruning past transactions doesn't shrink this size at all. These UTXOs have to stick around and can never[1] be pruned as they're used in future transactions. And yes, it does seem like 8 decimal places was too much for the current time and they're now correcting for that. [1] If they really wanted to do so with a major fork it's possible but it's not nearly worth the hassle.
- trevelyan 13y agoIf people are worried about an explosion of ghost accounts with 1 satoshi (80 bytes, right?), just give unspent transaction output to miners if the receiving account has below a certain threshold of funds. Don't tell me I can't send arbitrary payments if I am willing to pay whatever the necessary transaction fee is to process them.
- eof 13y agonot sure pruning the blockchain is really possible. most of the earliest coins are not even spent and many are likely lost; this was something satoshi may not have thought through completely as pruning the blockchain was something he specifically talked about.. but many of the 'deep' coins are still unspent and anything 'above' them is unprunable.
- richcollins 13y agoWhat does above mean in this context? If its later tx involving those addresses then it isn't a problem because there are none?
- eof 13y agoWell the way to prune the blockchain is to store the merklehash only of all spent outputs if you can get a whole tree that has no spendable coins left. So if a bunch of old outputs all had their coins spent you can just prune that part of the tree and forget the blocks themselves and just store the merkleroot that represents the tree; but so many of the oldest coins are still unspent that there won't be a lot of benefit to this (I haven't done the analysis so this is somewhat a hypothesis). You actually have it backwards, it's aproblem precisely because there are not transactions involving those addresses other than the initial block rewards; pruning the tree would make those coins unspendable, which would be unfair. There are so many definitely-lost and likely-lost coins that I imagine at some point there will be a 'move your coins or lose them' mandate that will give people.. idk maybe 2 years or something to move coins to prove they aren't lost, and allow a large chunk of the blockchain to be pruned.
- MichaelGG 13y agoI haven't gotten around to reading the Bitcoin paper yet. But in cases where features like this are added, don't they rely on most miners moving over? Otherwise, won't some miners reject the new block while others accept it? Or it is only for non-confirmation mode that "dust" is dropped?
- stormbrew 13y agoIf you're thinking this would result in a block chain split I don't think that's the case. This affects which transactions get relayed and eventually included into the blocks miners are mining against, but it doesn't mean that blocks with these transactions would be rejected by any client.
- jasonkolb 13y agoI assume the reason behind this is to block people from encoding data into the block chain by doing thousands of worthless transactions. If I recall correctly someone recently encoded the URL to a child porn site into the block chain, this is the only reasonable response to prevent it from happening again IMO.
- fianchetto 13y agoI don't think developers care about that issue. Per the lead developer: "If you have a better suggestion for fixing the problem of new users wasting lots of time gathering tiny drips and drabs of bitcoins, and then getting upset when they can't spend them (because it costs more in fees that they are worth), I'm open to suggestions." https://bitcointalk.org/index.php?topic=191425.msg1985498#msg1985498 https://bitcointalk.org/index.php?topic=191425.msg1985498#ms...
- fizx 13y agoEncoding data into the blockchain isn't a bug--it's a feature (perhaps THE feature). When you want distributed consensus (e.g. for free-as-in-speech domain names), it's the only game in town. People should be able to put whatever data they want in the system, assuming they cover the cost.
- new299 13y agoEncoding domain names in the block chain probably isn't optimal, have you looked at Namecoin?
- kolinko 13y agoThe problem with "dust" transactions is that they do not cover the cost.
- javert 13y agoWell, miners can ignore transactions that have small fees or no fees. If there were not enough space in a block for all outstanding transactions, the transactions with the least fees will just be ignored. So, there is an economic mechanism already in place to make sure dust transactions are paid for. So that's not the problem that's being addressed. EDIT: Well, actually, it's a "tragedy of the commons" situation. Having tons of dust transactions is seen as bad for Bitcoin (for reasons that are not yet 100% clear to me). So the devs think there is a need to dis-incentivize that. But the economic mechanism I explained above has not yet kicked in, so right now, you can make tons of dust transactions without having to directly pay for it. The burden of storing those small outputs for all time then falls on everybody who uses bitcoin.
- tocomment 13y agoThis sucks. I thought one of the killer apps for bitcoin was going to be micropayments. Oh well maybe the world will switch to litecoin.
- lwat 13y agoNo this is awesome. Only transaction smaller than about half a cent is blocked. There's no good reason to make a transaction that small on the blockchain. Satoshidice sends thousands of transactions of one satoshi each every day and it adds gigabytes of data to to millions of computers worldwide. What a waste of resources.
- tocomment 13y agoBut true micro payments do need to be a lot smaller than that. It's kind of the idea if every web browser could load a dollar a week into their browser and have it evenly paid to each site they visit. It doesn't seem like a lot of money but if everyone did it I'm guessing it would probably beat Adsense. There are hundreds of other applications as well for micropayments.
- lwat 13y agoYou can aggregate those and pay them out when they become big enough. Bitcoin stores every transaction on every computer on the Bitcoin network. It's not suited to transactions that small, you're just wasting everyone's resources.
- consz 13y ago>here's no good reason to make a transaction that small on the blockchain. You don't have the right to say that, it should be my right to decide whether my transaction size is appropriate or not. This sounds like regulation to me.
- deleted 13y ago[deleted]
- 13y ago
- oillio 13y agoSmall value amounts are useful for smart property: https://en.bitcoin.it/wiki/Smart_Property https://en.bitcoin.it/wiki/Smart_Property The tl;dr: Represent a piece of property, say a stock certificate, as a small value of bitcoin. By transferring the bitcoin to another user, you are transferring the ownership of the property. This can be useful for creating distributed markets where property can be traded for bitcoins without requiring a trusted intermediary. I don't understand why this is such a big deal for the developers. You see a lot of panic about UTXO bloat. It seems to me this can be solved by making the UTXO cache a bit smarter. If you have a very small value output that has not been used in a while, store it on the harddrive, not in RAM. If the output shows up in a new transaction, you will have a cache miss, but that doesn't seem like a serious issue. If the client is smart property aware, store those dusty-looking outputs in a seperate cache. This might be an attack vector for DDOS attacks, but that should be solvable by throttling the processing of transactions that miss the cache. The propogation of transactions that are not in the RAM cache might be a bit longer, but that is the price you pay for making a transaction with dust.
- justinmk 13y agoWhy not forward your suggestion to the lead developer? https://news.ycombinator.com/item?id=5660244 https://news.ycombinator.com/item?id=5660244
- oillio 13y agoThey are aware of the issue. There is a long discussion of it in the linked pull request comments. My interpretation is that they do not see this application as important enough to take into account in their updates. This is a perfectly valid stance, and they are the developers doing the work; I just don't agree with it.
- witten 13y agoWhy does the deposited amount of Bitcoin for smart property have to be a small value?
- 13y ago
- tlrobinson 13y agoThis isn't a protocol change, so it's not really a big deal. It's basically a strongly worded (coded) suggestion from the core developers to discourage micro-transactions and blockchain spam (SatoshiDice, encoding data in the blockchain, etc) If miners decide they still want to include these transactions, they can. This is the way it should be since miners bear the cost of every transaction in the form of computing/network/storage resources.
- dragontamer 13y agoMiners also are the ones running the system. If you control 51% of bitcoin miners, you control the BTC network as well as the rules. A malicious BTC miner would want the BTC network to be as hard as possible. The fewer people mining, the easier it is to take over the network.
- mortenjorck 13y agoSo this slows the growth of the blockchain. If blockchain length is already becoming an issue today, what happens a year from now if trading volume multiplies as much as it did in the past year? What happens in five, ten years? Could the blockchain outstrip the economic feasibility of maintaining it at some point, or is there a mechanism already built into Bitcoin that addresses this?
- sp332 13y agoThere is a game called "satoshidice" that is basically clogging the network with ridiculous amounts of tiny transactions. So far, there's plenty of room for "normal" traffic. Here's an opinionated explanation that sums up people's dislike of the practice: http://buttcoin.org/satoshidice-is-killing-bitcoin http://buttcoin.org/satoshidice-is-killing-bitcoin
- deleted 13y ago[deleted]
- jpdoctor 13y agoThis is idiocy. I know it's a knee jerk reaction to ZOMG-PORN-IN-THE-BLOCKCHAIN!!1!, but c'mon. We can use such steganography all over the net. Do we have to show proof-of-concept by putting porn into the DNS records? How about imgur; You know all those LSBs in the pictures? Think it's hard to get google search to propagate your steganography for you [and then have Bing steal it?] The genie is out of the bottle, I'm surprised that the bitcoin / litecoin /cryptocoin world is where a line got drawn in the sand.
- venomsnake 13y agoNo central authority - well at least until we hit a small technological bump and it becomes mildly annoying - then we will solve the problem with a decree or fiat.
- crapnowwhat 13y agoUpdate changes a hard coded limit to a setting with a default value. IE easily changeable. So it's more like a guideline. So basically they went in the opposite direction of a dictate with this release.
- venomsnake 13y agoEvery developer worth his salt knows that what is set as default stays as default for the majority of users.
- crapnowwhat 13y agoFor typical users I totally agree. My sense is that the miners who run the nodes probably are pretty comfortable tweaking settings. So as a developer who I dare say is worth his salt I'd agree with this regarding a general population, but not the group that's currently running the nodes.
- javert 13y agoAn open source software project has to make policy decisions. They've been making these kinds of decisions for years. In fact, there used to be (a long time ago) a rule that outputs smaller than .01 BTC were not relayed. The "no central authority" concept is from a different context, i.e., the fact that a decentralized Byzantine consensus type scheme is being used to guard against double-spends and to control minting, instead of an individual company or bank or government (i.e., "authority"). Plus, anybody can always fork Bitcoin.
- crapnowwhat 13y agoActually what's changing is the default value for minimum transaction size, which can be overridden by nodes and clients who wish to. Further reading @ http://www.reddit.com/r/Bitcoin/comments/1drslh/082_will_not_eliminate_microtransactions/ http://www.reddit.com/r/Bitcoin/comments/1drslh/082_will_not...