Hacker News new | past | comments | ask | show | jobs | submit login
Bitcoin is at over 43K unconfirmed transactions (reddit.com)
58 points by snitko on Oct 26, 2016 | hide | past | favorite | 58 comments



I like the idea of cryptocurrency, but I have some doubts about the longevity of Bitcoin. As Bitcoin grows, there is a greater need for mining. However, as Bitcoin grows, the returns for mining diminish.


Most people are hoping that transaction fees will pay for mining in the future.

I don't think it's the best design, but practically speaking it seems like that will play out as anticipated.


The idea is that Bitcoin will become more valuable as it grows because of deflation.


That would be the idea, but the value of 1 bitcoin is still subject to heavy day-day fluctuation, so I'm unsure if deflation/inflation are relevant wrt. Bitcoin today (or in the next few years).

Simply news that transactions are taking hours to confirm is probably enough to influence the price a significant amount.


I realize there is a lot of politics etc involved - but would it be technically feasible to just drastically improve the performance? Could bitcoin be changed into a system that could e.g. handle the scale and throughput of some of the non-cryptocurrency money transfer systems (e.g. 10million transactions/day)?

If not - is there something fundamental about cryptocurrencies that limits their throughput or could another system be scaling much better than Bitcoin? E.g. does a cryptocurrency always need proof-of-work and does that always need to be time consmuing?


Uh, I definitely don't mean to be offensive at all but your question is very naive.

The short answer is that a lot of engineering effort has gone into improving performance and today's Bitcoin is already enjoying those benefits.

The long answer is an entire field of research. There are fundamental things about cryptocurrency that means global throughput is very low and also high latency.

The hard part is the decentralization. If you can delegate trust to a small handful of entities, it's much easier to get scaling.


No offense.

My question was really e.g. are there newer "generations" of cryptocurrencies that have worked around some of the problems Bitcoin has with eg. scaling?

mostly interesting wrt. whether Bitcoin will survive or be superceded by something else.


There are newer currencies that claim to have solved the problem. But the vast majority of them do not understand the problems that Bitcoin is trying to solve, and make security tradeoffs that would be considered unacceptable in the Bitcoin ecosystem.

Those that show promise are yet-incomplete. Most don't provide practical scaling benefits greater than 5x, not a strong number considering the amount of scaling we'd like to see is closer to 10,000x.


Bitcoin favoured the early adopters (who are very rich now) there really is no incentive for normal people like me to buy bitcoins especially with such a crazy fluctuating rate.


Would it be possible for someone to deliver the 'death blow' to Bitcoin right now, by DDOS-ing the network or flooding it with even more transactions, including invalid ones ?


No, Bitcoin is configured to favor high fee transactions. Any sort of fee-based attack can be ignored by paying higher fees than the attacker.


Not really.

Invalid transaction wouldn't get propagated so you'd need valid ones and they cost money.

So an attack has a cost per hour and this cost is pretty high.


Only confirmed transactions cost money. So in theory you could send each miner a different double-spend, which they'd have to hang on to until either they confirmed it or received a contradictory confirmed transaction.


You can't really send a different double-spend to each miner. In my experience, the transaction will be propagated in 1-3 seconds. Each miner will pick the one it prefers (some prefer first seen, some prefer highest fee)


Couldn't an attacker with multiple accounts just pay themselves?


You have to pay transaction fees to the miners.


And what if the attackers were also the miners. Unless I am missing something, shouldn't the fee be zero-sum?


Perhaps block chain should accept only hashes of a set of transactions without restricting the set size, and store the actual transaction data elsewhere. This can increase the bandwidth, but will it become less secure, I don't know..


The blockchain need to see the actual transaction and store it. Otherwise people wouldn't know their balances. Storing the data elsewhere would require a trusted third party.

Bitcoin requires no trusted third party to operate.


This is the idea behind Lightning Network: https://lightning.network/


How's things going with Lightning? It looks like an excellent idea - but is it making any progress towards actual implementation?


It's making significant progress. The optimists think it'll be ready by January.

I'm expecting it to be ready closer to June 2017.


No, it's really not.



> Bitcoin confirmation time unchanged in 10 months

That's the problem with logarithmic scales; it's easy to make one that looks like it's showing something different.

Try taking a look at average and median times when the scale is flipped to linear:

https://blockchain.info/charts/median-confirmation-time?days...

https://blockchain.info/charts/avg-confirmation-time?daysAve...

Both highlight quite a spike in recent days.


By "quite a spike" you mean a change from 8 min to 10 min in a value with a relatively high variance? That's a slight increase at best, and nothing here suggest anything else than the null hypothesis.


>By "quite a spike" you mean a change from 8 min to 10 min in a value with a relatively high variance?

Please don't put words in my mouth.


The average might be 40 minutes, but this can be heavily skewed by a small number of transactions with zero fees.

A better graph would be "average fee of transactions confirmed after only one block".


Well, if you query the state, you are bound to get quite a few unconfirmed number at any given time. But they EVENTUALLY do confirm, whether its 10, 15 or 30 minutes at most.


I've had transactions waiting for 8 hours now for a confimation. And some more new ones this morning for 3 hours now without a single confirmation.

All of these contains the default fees added by the clients and which were sufficient last month.

I was trying to demonstrate bitcoin to some friends last night. They made wallets and I tried to transfer some coin to them. After an hour they were saying it would have been quicker to drive to the ATM and get cash. I doubt they'll look at bitcoin again now.

This needs fixing and this needs fixing quickly. Waiting half an hour for a few confirmations used to be a problem that needed fixing. Waiting hours will quickly kill bitcoin.


Not necessarily, if more new transactions are created than old ones confirmed, some of them will have to wait forever.


That's only true as long as the average rate of fee creation is lower than what can fit in blocks.

Since this rate has been rising steadily for years, it's reasonable to assume that it will (probably soon) pass the average network throughout.

And then you are left with transactions that will never confirm, especially if they have low fees.


Increase your transaction fees, get them confirmed faster.

https://bitcoinfees.21.co/


Yeah sure. But it's not a good solution really. First of all I don't really want to pay any more. Secondly, if everyone has to do this in order to get their transactions processed in a reasonable time, then nobody is any better off..


> I don't really want to pay more.

That's why it works. Some people are willing to pay a lot more for some of their transactions, and some transactions just can't justify a high fee.

The block size is a security parameter. You increase it, you decrease security. And it's also more of an engineering limitation than most people realize at first appraisal.

We use fees because we don't have better ways to allow more transactions. And it's an active field of study, but most of the gains so far have been very small.


...because every user knows the satoshis/byte ratio of their transaction, right?

And even if they did, we'd even up with a backlog of the same transactions, all paying higher fees. Bitcoin is barely managing 2 transactions/second at the moment, higher fees won't speed this up.


The wallet should handle this for you. No reason that the user should ever realize that there's a Satish/byte ratio. Imagine instead:

"Bitcoin Surge! It's currently 25 cents per transaction to use Bitcoin."


if the fee would be higher on average, do you think that'll attract CPU power from other cryptocurrencies networks?


No, the fees are still insignificant compared to the block reward.


Even if that did, the difficulty would increase and you'd get the same number of transaction/second


Is it possible to setup mining pool that would do only confirmations?


That's what a mining pool is. There is no other type of mining pool.

The purpose of mining is to find valid blocks to add to the blockchain. A transaction is "confirmed" when it is part of a block in a blockchain that has some number of blocks after it. The number of blocks after it is the number of confirmations the transaction is considered to have.


Don't mining pools concentrate on mining new blocks, as it's more profitable? Can't we have a mining pool with old ASIC/GPU miner that would do ONLY confirmations, and would do all confirmations, even those with minimal fee?


Transactions are confirmed through the mining of new blocks. There is no other way to confirm transactions, and it's the purpose of block-mining.


Ah, ok thanks. SO the only way to fix it is by deploying new miners.


No that wouldn't actually fix it. There is a limit to how many transactions can be processed regardless of how many miners are running. Adding more miners doesn't actually increase capacity just the difficulty.


If you deploy more miners the average difficult to mine each block will increase (as for the bitcoin rules) so you are back to square one.


Yup, I expected this.


The way to fix this is increasing the size of the blocks, which is trivial from a technical standpoint, but it has some implications that the current majority of miners are not willing to accept.


The new blocks are the incentive for the confirmations to be accomplished. There are no "types" of mining, afaik.


> The new blocks are the incentive for the confirmations to be accomplished.

Not quite. The new blocks are the confirmations.

> There are no "types" of mining, afaik.

Right.


As others have said "mining" is really not a good name for what is happening. What the miners are really doing is the work that is necessary to confirm and secure the transactions.

When they do that, if they are the first miner to come up with the values required to confirm the transaction they are allowed to add a transaction of their own which "transfers" some bitcoins from "nowhere" to them, thus getting rewarded for their work. it is this that incentivizes people to "mine" but it's not the purpose.


I'm not sure where this came from as I can see transactions going through just fine. Perhaps they have no fee.


But how, though? Blocksize limits?



I wonder if this is rand corp finding a chink in the armour.

Increasing block size will only postpone the problem and splitting the network will introduce a whole raft of unknown vulnerabilities.

At a minimum it seems like a fairly cheap and easy dos attack vector.


That's not what the XT folk think, and they've got some of the most prominent bitcoin develpers behind them.


Currency of the future! /s




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

Search: