Hacker News new | past | comments | ask | show | jobs | submit login

I 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+.



It'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?


If micropayments are ever to be possible, sub-penny transactions need to happen. If 10^6 people send you $0.001, you get $1k....


$.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.


There are many things your bank simply won't let you do.

Is that now the guiding principle for Bitcoin?


You 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?


Can'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.


If 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.


> If 10^6 people send you $0.001, you get $1k....

Is this sarcasm?

0.01US$ might be worth nothing in the US, but might be worth something in some poorer countries.


Shh, economics. This is why people in developing (or not developing) regions will continue to use mobile phone minutes as a medium of exchange rather than adopting btc.

There are a number of effective "we're gonna change the world" platforms in the bitcoin world.

1) No centralized bank or government control of value/transactions/etc. 2) Anonymous wealth control 3) Microtransactions 4) Non-repudiable 'instant' transactions

These are not exclusive, nor a complete list. For example, I'm very much a fan of #3 and #4 because I have been hoping for years that we can create a sustainable system for implementing many of the commercial aspects, including transclusion, of the Xanadu goals.

All of us are ignorant or dismissive of some basic facts, whether technical, political, or economical. For example, people are very fascinated with identifying the high-net-worth btc holders. While the effort to track their accounts and transfers was originally non-trivial, people spent a lot of time developing tools and methods for correlating accumulation and distribution. It's a short hop from there to tying an account to human entities.

It's not that this was unforeseeable, but that the effort seemed too much to worry about. However, one should probably assume that any effort distributed across the Internet will attract the attention of those people who have the time and inclination to grind away at tasks considered to be pointless by the vast majority. For some, it's a way of counting coup, and you'll never escape that.

The 'opportunity' that the limitation on transaction size creates is a value-added service for micropayments. In effect, a merchant would keep a ledger of microtransactions that could be remitted at any time. You could do this today with Mt. Gox, for example.

The downside of this is much the same as with a conventional financial system. That is, people are morons and principles have a price. Many of the systems built to date have been compromised (Mt. Gox, Bitcoinica, etc.) or misappropriated completely (BTCST, Bitcoinica, etc.). It is unlikely (but possible) that an entity with technical and legal competence and a scrupled imperative will bridge the gap for microtransactions on a long-term basis.

If it were to happen, one would still have a centralized 'bank' that would have to follow practices that would compromise anonymity due to AML and KYC regulations because bitcoin services are not a competitive market at this time.


Maybe I do, yes.

A handful of developers shouldn't be deciding acceptable business models for bitcoin. That's not going to lead anywhere good.


It's like they did it by fiat or something.


If 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.


What 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.


The limit will be adjusted if BTC becomes worth thousands.


Yes, 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.


I 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.


Yeah, I do actually.


Why


The 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.


If 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.


not 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.


What does above mean in this context? If its later tx involving those addresses then it isn't a problem because there are none?


Well 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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: