text:
How does merged mining work?
How does the implementation of merged mining affect the global hash rate of alt chains?
Does one solution fit all?  Does one solution fit some?  Does the rate of "solutions that will fit" decrease the more forks that it is tested against?
An explanation of how merged mining actually works would be excellent.

I think the answer you accepted is not a strict answer to your question as it appears in the title, but rather to "How does merged mining works". Can you edit your title to reflect this?

Merged mining allows a miner to mine for more than one block chain at the same time. The benefit is that every hash the miner does contributes to the total hash rate of both (all) currencies, and as a result they are all more secure.
Starting with a high-level explanation: The miner (or mining controller in the case of pooled mining) actually builds a block for both hash chains in such a way that the same hash calculation secures both blocks. Work units based on this block are then assigned to miners. If a miner solves a block (at the difficulty level of either or both block chains) the block is re-assembled with the completed proof of work and submitted to the correct block chain (or both blocks are separately reassembled and each submitted to the corresponding network if it met both of their difficulty requirements).
The only confusing detail is how the same hash can secure both block chains. I'll use the example of Bitcoin and Namecoin, where Namecoin supports merged mining and Bitcoin doesn't:
First, the miner must assemble a transaction set for both block chains. He then assembles the final Namecoin block and hashes it. He then creates a transaction containing this hash that is valid in the Bitcoin chain and inserts it in the Bitcoin transaction set at the tip of the tree. He then assembles the final Bitcoin header with this transaction in it and sends out the work units.
If a miner solves the hash at the Bitcoin difficulty level, the Bitcoin block is assembled and sent to the Bitcoin network. The Namecoin hash does nothing and the Bitcoin network ignores it.
If a miner solves the hash at the Namecoin difficulty level, the Namecoin block is assembled. It includes the Namecoin transaction set, the Namecoin block header, the Bitcoin block header, and the hash of the rest of the transactions in the Bitcoin block. This entire "mess" is then submitted to the Namecoin system. The Namecoin system, supporting merged mining, accepts this as proof of work because it contains work that must have been done after the block header and Namecoin transaction set was built. (Because you can't build the Bitcoin transaction set containing that hash, and therefore the Bitcoin header that secures it, without that information. So it proves the work was done.)
Note that a miner can solve both chains simultaneously, and they will if they solve at the higher difficulty. One block can "win" in the public chain and not the other. They are fully independent -- only the mining is merged.
Three key points to remember:

The Bitcoin chain doesn't get junked up with Namecoin stuff due to merged mining. At most, one tiny hash is inserted in the transaction tree.
The two hash chains remain fully independent. The "Bitcoin stuff" that goes in the Namecoin tree is basically ignored and only used to validate the proof of work. (It will bloat the Namecoin chain a bit as it means some blocks will have an extra header and an extra hash.)
Lastly, no special support is needed from Bitcoin.

The benefit for Namecoin is obvious. A lot of Bitcoin miners will probably do merged mining, since it costs them basically nothing and gives them a greater return than mining Bitcoins alone. As a result, their block generation timing will be more predictable and their transactions more secure against a 51% attack.

"He then creates a transaction containing this hash that is valid in the Bitcoin chain and inserts it in the Bitcoin transaction set at the tip of the tree." - just to be clear, one creates a bogus transaction for 0BTC that has the exact same hash as Namecoin block and enters it as the last transaction in the merkle tree that is hashed? Doesn't generating the bogus transaction require a lot of resources if it has to match the hash exactly? It it is just inserted without being generated, doesn't this make the block invalid, as it contains an invalid transaction?

@ThePiachu: It doesn't have to "match" the hash, it just has to contain the hash.

So the key to understanding this is that Namecoin has explicit support for merged mining. With two chains not supporting it, this would be impossible. That was what I was struggling with, thanks! BTW, a reference where Namecoin's merged mining support is documented would be great!

Where do the Namecoin transactions appear in the Bitcoin block? Are they contained in the coinbase of the miner's subsidy transaction? Can you point to Tx on the blockchain and identify it as a Namecoin block hash?

@pinhead They don't. Only the hash of the Namecoin block appears in the Bitcoin block.

@DavidSchwartz OK, but WHERE is the namecoin block hash inserted in the bitcoin block? In a transaction? In the coinbase? In some other data field?

@pinhead It goes in the ScriptSig of the coinbase transaction. The spec is here.

Why block generation timing will be more predictable and can prevent 51% attack when merge-mining ? thanks.

another problem. for example at some point, namecoin is harder to solve than bitcoin. so if a miner decide to solve both namecoin and bitcoin, they will have less probability to solve a bitcoin block than some miners just only solve bitcoin.

@hqt That makes no sense. That you are also trying to mine some other kind of block has no effect on the probability that you will mine a bitcoin block -- that probability is determined entirely by the bitcoin difficulty.

@DavidSchwartz yes. it's true now. But I mention in the future, when solving a namecoin problem may be harder than solving a bitcoin problem (in other word, nonce of namecoin is larger than bitcoin), so any miners solve both currencies with have less probability to win a bitcoin block than only-bitcoin miner. (unlikely this will be happen, I just mention about its technical aspect)

about my first question. I don't understand why block generation timing will be more predictable and can prevent 51% attack when merge-mining ? Can you explain for me clearer this point, thanks.

@hqt Without merged mining, people will only mine a coin when the value of the coin exceeds the cost of the power to mine. With merged mining, there is no additional cost to mine the coin and people will mine it so long as it's not worthless. This makes the hashing power both greater and more predictable.

@hqt The probability that you will mine a block depends solely on the difficulty. Merged mining has no effect on the difficulty, so your odds of mining either block are the same as if you weren't merged mining. Each hash is like two lottery tickets instead of one.

For example. the difficult of named coin is 10. and the difficult of bitcoin is only 8. So the miner will use difficult 10 for both bitcoin and name coin. Compare to miner that only mines bitcoin, he/she will only solve bitcoin with difficultity is 8. In this case, merge mining decreases probability to winning the race.

@hqt Why would he do something obviously that dumb? For each hash, he'll check if it mines a bitcoin block and if it mines a namecoin block. If it mines a bitcoin block, it will mine a namecoin block. If it falls between the two difficulties, it will only mine a namecoin block. Why would he throw away a valid namecoin block just because it doesn't meet the difficulty for a bitcoin block?

"Why would he throw away a valid namecoin block just because it doesn't meet the difficulty for a bitcoin block?" I don't understand this point. Because you are merge-mining on bitcoin-blockchain, if you don't meet the difficult for a bitcoin block, how can other miners accept your block chain ?

@hqt Other bitcoin miners won't, but other namecoin miners will since it meets the namecoin difficulty. When you merge mine, every hash is an attempt to form two (or more) valid blocks for two (or more) different block chains.

@DavidSchwartz ah thanks so much. I miss this important piece of information. That namecoin blockchain will maintain its own blockchain.

Didn't read all of it, but check Blockstack paper, § 3.5: "One of our key findings is that merged mining is currently failing in practice: the leading merged-mined blockchain, Namecoin, is vulnerable to the 51% attack. Moreover, merged-mining provided a false sense of security. F2Pool controls 30-35% computing power of Bitcoin, but over 60% of Namecoin’s computing power through merged mining, leaving Namecoin vulnerable to a 51% attack."

Yes, merge mining does the opposite of prevent a 51% attack by removing the economic losses in case of a failure. https://bitcoinmagazine.com/articles/side-chains-challenges-potential/

Basically the idea is that you assemble a Namecoin block and hash it, and then insert that hash into a Bitcoin block.  Now when you solve the Bitcoin block at a difficulty level greater to or equal to the Namecoin difficulty level, it will be proof that that amount of work has been done for the Namecoin block.   The Namecoin protocol has been altered to accept a Bitcoin block (solved at or above the Namecoin difficulty level) containing a hash of a Namecoin block as proof of work for the Namecoin block.  The Bitcoin block will only be acceptable to the Bitcoin network if it is at the difficulty of the Bitcoin network.
The Bitcoin block chain gets a single extra hash when a merged mining block is accepted, and the Namecoin block chain gets a little bit more (because it includes the Bitcoin block) when a merged mining block is accepted. However, because of the Merkle Tree, the entire Bitcoin block doesn’t need to be included in the Namecoin tree, just the top level hashes (so the extra bloat to the Namecoin chain is not a big problem).
Since you make more money mining both Namecoins and Bitcoins miners will eventually all do merged mining, and the difficulty level for all block chains will eventually be the same.
Furthermore, the economic incentive to mine will be the combined economic incentive of all networks, making all networks more secure.  Of course this allows competing networks (with different inflation rates) to quickly become secure.  This subjects Bitcoin to more competition.
Ultimately the value of Bitcoin is a reflection of the need for Bitcoins to make exchanges.  The more people using Bitcoin to make purchases, the more demand there is for Bitcoins, and the higher the price of Bitcoins goes.  (Speculation also raises the price, but long term speculation is essentially a bet that the transactional demand for Bitcoin will increase in the future.)  The higher the price, the higher the incentive to mine.
At any given time there is a certain amount of demand for a Bitcoin like currency to make transactions.  That need doesn’t increase with more competition.  That means that the transactional demand for Bitcoin is really the same as the transactional demand for all substantially similar forms of payment.  As more currencies are competing to fill the same demand they actually reduce the demand for the other currencies as they become more widely used.
This means that ultimately, to the extent that currencies are interchangeable to end users, merged mining does not increase the overall security of the networks.  The demand for currencies drives the price (and thus the value of the reward).  Increased demand for any given currency results in decreased demand for others, lowering the incentive to mine for the other currencies.  The total incentive is a function of total demand for all Bitcoin like currencies.
Except now competing currencies can market themselves as “as secure as Bitcoin but with lower transaction fees.”  In other words there is a race to the bottom among competing currencies to offer the lowest transaction fees, because lowering the transaction fee doesn’t hurt the security of the network in comparison to the other merged mining networks.  Users, following their own self interest, will adopt the currency with the lowest transaction fees as long as it has the same security of the competitors.
This will increase the price of the currency with the lowest transaction fee (because demand for the currency is higher), and decrease the price of the currencies with higher transactions fees (because demand for those currencies is dropping as it is being filled by demand for the competing currency).  Because the currencies with the higher transaction fees were the ones generating the incentive to mine, overall incentive to mine will diminish.  As long as a currency’s mining is merged with the freeloading currency, it will be powerless to increase incentives by imposing mandatory transaction fees.
The result will be a decrease in mining incentive, a decrease in mining, and ultimately all networks that allow merged mining will become insecure.

One slight correction--not all Bitcoin-like currencies will serve the same demand, and Namecoin is an excellent example of that.  Demand for Namecoin is highly based on its alternative DNS system, which Bitcoin does not provide.

Very true.  To the extent that different Bitcoin-like currencies are serving truly different demands, merged mining might increase the overall security.  But, to the extent that merged mining enables a transaction fee race to the bottom for each different type of currency, it will destroy overall security of the block chain.  (Perhaps there is a way to control which currencies can piggy back on Bitcoin mining?  If so, Bitcoin could only invite currencies that contributed some minimum incentive for miners.)

"Basically the idea is that you assemble a Namecoin block and hash it, and then insert that hash into a Bitcoin block." - where does one insert the Namecoin block hash exactly?

Issac, I'm also interested in where the hash goes and if any examples exist on Blockchain .info.  Thanks @ThePiachu

Satoshi himself seems to be the inventor of merged mining. In his words (bitcointalk.org):

I think it would be possible for BitDNS to be a completely separate network and separate block chain, yet share CPU power with Bitcoin.  The only overlap is to make it so miners can search for proof-of-work for both networks simultaneously.
The networks wouldn't need any coordination.  Miners would subscribe to both networks in parallel.  They would scan SHA such that if they get a hit, they potentially solve both at once.  A solution may be for just one of the networks if one network has a lower difficulty.
I think an external miner could call getwork on both programs and combine the work.  Maybe call Bitcoin, get work from it, hand it to BitDNS getwork to combine into a combined work.
Instead of fragmentation, networks share and augment each other's total CPU power.  This would solve the problem that if there are multiple networks, they are a danger to each other if the available CPU power gangs up on one.  Instead, all networks in the world would share combined CPU power, increasing the total strength.  It would make it easier for small networks to get started by tapping into a ready base of miners.

one thing to remember in merged mining is that the block hash of the auxiliary chain (eg namecoin) does not need to be below the aux-chain threshold. rather, it is the block hash of the parent (eg bitcoin) which must be below the aux-chain (namecoin) threshold. for example, check out what happened to namecoin when merged mining was introduced in block 19200:
nmc block height: 19199
nmc block hash: 000000000000b19f0ad5cd46859fe8c9662e8828d8a75ff6da73167ac09a9036

nmc block height: 19200
nmc block hash: d8a7c3e01e1e95bcee015e6fcc7583a2ca60b79e5a3aa0a171eddd344ada903d

this did not happen because of a difficulty change in namecoin, and it also did not happen because the namecoin difficulty became irrelevant due to merged mining. rather it happened because the criteria for evaluating valid blocks changed due to merged mining.
extra fields were added to the namecoin header and these enable us to verify that the block validates to be below the namecoin threshold. specifically, the parent chain's block hash is now included in the namecoin block header. it is this block hash which is mined in the parent chain and so we can simply observe this block hash and grab any result that is lower than the namecoin threshold.
the reason this parent chain block hash is at all relevant to the auxiliary chain is simply because the block hash of the auxiliary chain is included in the coinbase txin script in the parent chain. this coinbase txin can take any arbitrary value - it need not produce a valid script. so it is a good place to put the parent chain block hash.
so, working backwards, to validate a merge-mined block we need to:

verify that the aux chain block hash (before adding the parent chain data) exists in the coinbase txin script
verify that the coinbase tx exists in the parent's merkle tree
verify that the parent's merkle root exists in the parent's block hash
verify that the parent's block hash is lower than the aux-chain's threshold

and since each of these steps involves a one-way hash function of the data in the previous step, then completion of each step verifies all of the previous steps.


text:
Bitcoin client 0.4.1.1 stuck at block 176947
Bitcoin client stuck. Tried to rebuild whole blockchain, but it went up to that number and got stuck again.
Here's a screenshot: http://vvcap.net/db/2IR75OWyJj5AsUW7eo_i.htp
Any suggestions?

possible duplicate: What can I do when the blockchain synchronization is stuck at a specific block?

I just downloaded version 4.4.1.1 to try to reproduce your problem, but couldn't.  Here's the beginning, and relevant mid-section of the debug.log file when I ran it on a machine which I hadn't used for a month or so:
Bitcoin version 0.4.1.1-beta
Default data directory /home/user/.bitcoin
Bound to port 8333
Loading addresses...
dbenv.open strLogDir=/home/user/.bitcoin/database strErrorFile=/home/user/.bitcoin/db.log
Loaded 19026 addresses
 addresses              1337ms
Loading block index...
LoadBlockIndex(): hashBestChain=000000000000052e27b6  height=173760
 block index           13603ms
Loading wallet...
[...]
SetBestChain: new best=0000000000000959beb5  height=176945  work=302325188992488282894
SetBestChain: new best=000000000000011c616f  height=176946  work=302331966182716897933
SetBestChain: new best=000000000000052c233f  height=176947  work=302338743372945512972
SetBestChain: new best=00000000000002c5eaa8  height=176948  work=302345520563174128011
SetBestChain: new best=000000000000089bf6dd  height=176949  work=302352297753402743050

Maybe you could show us yours?  I tend to agree with Stephen that it's likely a disk space problem.

Yes... good idea. Why didn't I start with logging myself. Unfortunately I got logs shoved away. Let me try to reproduce it now, and I will share logs. I'm pretty certain it will lock up on that block, it was happening yesterday all day from multiple workstations. It's definitely not a space problem, but no idea how could I not think of examining log

It looks very stupid, but I cannot reproduce the problem anymore. Thanks for idea to look @ log, I guess this is as much as it gets at this point

The blockchain chews up well over a gigabyte of disk space.  Are you running out of disk space?

'Well over a gigabyte' sounds like the understatement of the year, lol.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Does hoarding really hurt Bitcoin?
Some people believe that hoarding hurts the Bitcoin economy.
But are they really right?
As long as corresponding goods vendors and services will be here to stay and reinforce people's faith in Bitcoin, hoarded bitcoins simply do not take part in daily business and do not hurt anyone.
Quite the contrary, they will decrease the supply of bitcoins in active circulation, thus increase the demand for bitcoins, and thus raise their over-all value, right?
Update: This question also comes with a premise or insight that Bitcoin "power users" have savings and spendings wallets or similar setups, and that those two forms of wallets will not tend to "compete" with each other so much. The bitcoins in the spendings wallets will rather compete with the fiat money that respective users will use to buy for goods and services. The bitcoins in the savings wallets will rather compete with more traditional forms of assets and investments.

I've removed some comments discussing whether this question is on-topic from 2011-2013. Personally, I would book this under good subjective.

TL;DR: No. The argument is basically that hoarding will make Bitcoins so valuable that nobody will be willing to offer people enough to part with them. Does that pass the giggle test? Another way of stating the argument is this, "If gold is $2,000/oz today but people think it will be $5,000/oz next year, nobody will trade any gold today." Again, think about it. Does that pass the giggle test either?

Hoarding increases the value of Bitcoins, increasing the profits from mining. This encourages more people to mine, increasing the total hashing power and thus the security of the system.
It also makes holding Bitcoins more profitable. This helps to encourage people to accept them in trade because they are less worried about them decreasing in value while they are holding them. Using Bitcoins as a currency inevitably means people sometimes have to hold them and having them drop in value while you hold them is a risk. Hoarding reduces this risk. But it also makes it harder to price things in Bitcoins because the value will tend to change more. Merchants don't like to change their prices twice a day.
Contrary to claims, it should not affect the trading volume or the willingness of people to use Bitcoins to pay for things.
The argument that increasing value means people would prefer to hold Bitcoins rather than spend them is specious. While it will make people want to have Bitcoins more, it will also make people want to convince others to give them Bitcoins more so they can have them.
Think about it, do people prefer to pay for goods in dollars or garbage? By the reasoning of this argument, they should prefer to pay for goods in garbage, since they'd rather hold their dollars and get rid of their garbage. But, of course, people don't like paying in garbage because nobody wants garbage. If you can pay with the currency others want, you can get a better deal. So you actually prefer to spend the currencies sellers most want.
If Bitcoins are valuable because inflation doesn't deprive them of value, then a merchant would rather get my Bitcoins than my dollars, so he'll accept fewer of them. This will cancel out the effect of me preferring to pay in dollars rather than Bitcoins. So it should be a wash.
Or, put another way, whatever the present and future prospects, there should always be some equivalence between dollars and Bitcoins that people roughly agree on. So whether I pay X dollars or Y bitcoins, where X and Y are in this ratio, will purely depend on whether I prefer the characteristics of dollars or Bitcoins for the transaction.
A consequence of this is that hoarding won't negatively affect the trading volume either because that's only dependent on people's use of Bitcoins to buy and sell things. If hoarding makes Bitcoins worth twice as much, only half as many will be used to buy and sell things and the volume (the total value traded) will be the same.
I don't believe it's lost opportunity either. It's not like people who want to trade Bitcoins can't get them because they're all being hoarded. (Nor will it ever be likely to be an issue, since that would just raise the price and thus fewer would be needed. Bitcoins have effectively unlimited divisibility.)
So why do so many people think currency hoarding is bad? Because it usually is, and empiric studies even show that it is. But the logic of why currency hoarding is bad doesn't apply to Bitcoins, especially when it's a minority currency.
Bitcoins are different enough from physical fiat currencies that empirical studies don't apply unless the suspected mechanisms for the observed effects are believed to apply to Bitcoins too. For example, if a penny were enough money to buy a car, how useful would dollars be?

Can I up vote twice? Very good (if verbose) answer. Though I would add that the primary danger of hording for bitcoins is market crashes; when some one with a lot of high value bitcoins cash out. This has happened frequently over the past few months.

@Evil Spork: Thanks. Yes, that's true, but the same thing can happen (arguably, it's more likely) with someone who just uses Bitcoins as a medium of exchange. Once you get paid in Bitcoins, if you're a hoarder, you don't cash out. If you're a "pay me in Bitcoins" business, you cash out. (Since you likely can't pay any of your costs/expenses in Bitcoins yet.)

I'm sorry the dollar and garbage analogy does not convince me. Appreciation is the game not good vs negative-good. nor do I giggle when someone hoards bitcoins.

Bitcoin is really a little strange because it doesn't know if it is a currency or a commodity.  And this is why this question has many answers and is a popular item of discussion.   If Bitcoin were just a commodity, the thing to do is to hoard it.  There are lots of commodities that are almost totally hoarded.  For example: emeralds or works of art.
Now if Bitcoin is just a currency, then hoarding is a problem.  Economists, when they talk about money supply, also talk about the velocity of money, which is a measure of hoarding.  The amount of money times how fast it is moving is a measure of total money being used.  (Of course, with computers, money moves faster now than it ever has.)
So to answer your question, hoarding helps somewhat and hurts somewhat.  Which one overpowers the other, nobody can say.  The net effect will be shown to us all over time.

This is very similar to consumer spending here in the US. If people save their money, it's not going towards the growth of the economy.
I think a lot of people make this comparison when it doesn't necessarily hold true for Bitcoin at the moment.
My opinion is that if miners held onto their coins instead of dumping them on the exchange, it would reduce the volatility we're seeing.
So spending Bitcoins is best, holding them is OK, and trading for other currencies is selfish.

The down-side of spending my BitCoins is that i no longer have BitCoins. And without anyone willing to give me BitCoins i have even more reason to hold onto the BitCoins i do have (which happens to be none).

They maybe you need to provide a service or sell a product in exchange for Bitcoins ;)

A while back I wrote a short post about why hoarding (or more exactly "early adopters") isn't a problem. I'll copy-paste here:

Bitcoin was not designed to be a fair currency, just a more efficient currency than its alternatives. Dollars and Yens aren’t “fair” either.
It is not random luck that is rewarded – it is one’s ability to research and arrive at correct conclusions. In this scenario, the people that found out about bitcoin at “an early stage” and made the decsicion to either mine or buy them, are rewarded for a smart technological and economical decision – much like early investors in successful startup companies are rewarded.
It is not too late – in this “bitcoin wins” scenario”, the final value of bitcoin will be a few orders of magnitudes higher than its current value. If you’re reading this now and think that “it’s not fair only a few early adapters win”, you can still join us.
Perhaps the strongest argument IMO is the economical argument – If bitcoin “wins”, but its wealth remains concentrated in too few hands, it won’t be as useful to the rest of the world because of over-pricing and scarcity. As a result, this will be reflected in bitcoin prices, because the public will not be willing to pay the outrages amounts demanded by the early adopters – in fact, it will make bitcoin “lose a little bit”, or not reach its full potential. In turn, this will motivate said early adopters to sell some of their stash (nobody likes to be on a losing horse), thus moving bitcoin to other parts of the population. Once the market believes this is no longer a problem, the price of bitcoin may rise to its “real” and full value. In shorts, the market will auto-correct any such problem.

Hoarding and saving is the same thing. So is having a savings account bad? Save as much as you can, spend what you need to. If you feel bitcoin is too risky, dont invest that much or diversify and sell if your btc becomes too much of your portfolio. Support merchants that use bitcoin whenever possible.
https://en.bitcoin.it/wiki/Deflationary_spiral

You invest your money in a savings account. (The bank spends it) When you hoard, you don't invest. Less investment means less economic growth.

@siamii 1) this is not strictly true, the bank creates adds an asset (your cash) and a liability, (your account and right to withdraw) to its balance sheet. It creates loans against it, but does not spend it per se. 2) When you hoard, you don't invest 'Hoarding' can be irrational, but it could also be rational if external factors limit immediate investment, or if you know a useful investment will arrive later, or if current investment is too risky. 3) Less investment means less economic growth ... right now maybe, but deferred investment could lead to overall greater future investment.

Even if it is not actively hurting bitcoin it is not helping bitcoin while being hoarded, while bitcoin being exchanged for goods and services would be helping. Its an opportunity cost for the health of the system.

It's true it might be better to spend bitcoins instead of hoarding, but as long as we can't spend bitcoins for our daily needs, we can only occasionally use it to buy stuff anyway. Many people have a dedicated spending wallet also.

The value of bitcoin stems from scarcity and usefulness. Scarcity is set (21 million) and hoarding just increases the demand.
Now does hoarding hurt the usefulness of bitcoin ?
Bitcoins are useful to transfer value from A to B over the internet.
To transfer value requires a certain amount of bitcoins, corresponding to a price denominated in central money.Let's say a buyer wants to purchase a 10-dollar item using the bitcoin network.He/she buys 10 dollar worth of bitcoin, let's say 1 bitcoin for simplicity, from a bitcoin payment processor that will send it to the seller. The seller in turn may want to cash out the bitcoin for 10 dollars after x number of confirmations i.e x times 10 minutes.
The processing of the transaction has created a demand for 1 bitcoin for x times ten minutes.
The more transactions are processed using bitcoins, the higher the demand for bitcoins. Hoarding has no effect on the ability of the bitcoin network to process transactions: volatility does. If the exchange rate varies widly in a 10-minute interval, then the payment processor cost of hedging the exchange rate risk goes up. The payment processor passes the cost of hedging in fees applied to the sellers: the cost of accepting payments through the bitcoin network goes up. In the end, if the hedging fees become higher than the bank card fees, then the seller may end up refusing payments through the bitcoin network. However the likelihood of the bitcoin volatility becoming so high is rather thin: even with the small volume and active speculation that we experience today, the volatility is perfectly manageable over a period of 1-hour (6 confirmations) with fees far more attractive than the bank card fees.

+1 Nice answer! You explain the concept of volatility very well... and welcome to Bitcoin SE

Yes, hoarding does hurt Bitcoin. For Bitcoin to have a successful future, people need to be able to use Bitcoins as a medium of exchange.
If Bitcoin succeeds, in the far future you won't need to exchange between Bitcoins and other currencies to do business. But that's in the far future. Long before we get there, business will need to transact in both Bitcoins and national currencies. You may be able to buy a T-shirt for bitcoins, but the company that sold it to you is going to have to pay their rent and their employees in dollars.
For that to work, the value of Bitcoins relative to national currencies needs to be fairly stable. If the price of Bitcoins halves overnight, then the T-shirt company can't pay their rent or their employees and will take a loss. If they have to charge me a premium because of the risk that Bitcoins will drop in value, I might as well just pay in dollars.
Note that the exact exchange rate is basically irrelevant. It doesn't matter if Bitcoins are $1 each or $1,000 each, we can trade them just the same. But speculation and hoarding increase volatility, and that's a problem. Speculators and hoarders hold Bitcoins with the hope that they'll increase in value. When they see Bitcoins moving up in value, they buy more. When they see Bitcoins moving down in value, they often sell out to avoid a possible crash or to buy back when the drop bottoms out.
As a result of these transactions, they cause minor fluctuations in value to be much larger than they would otherwise be. This discourages precisely the type of uses of Bitcoin that are essential for its next phase of growth.
Unfortunately, without any speculation, Bitcoin would likely die out completely. With no demand and no market, there'd be no value at all. So the puzzle is how to grow Bitcoins without causing volatility. As far as I know, nobody knows how to do that yet.

I think the inclination to hoard actually decreases volatility. Think about it - every every person in the world horaded 0.1% of their net worth in Bitcoin, it would be rock solid. If someone "hoards" 1000 BTC for the next ten+ years (not short term speculation), then this pushes the entire economy's market cap upwards, and decreases fluctuations - because a larger market is harder to manipulate.

ripper234: Sure, but this is the rare hoarder who is not speculator. Also, think of the volatility that would be created by the sudden drop in demand once everyone had acquired the .1% you want them to hold. You'd need a steady increase in hoarding to sustain your market. That would take something akin to magic.

Who says there will be a sudden drop? The ideal scenario is "everybody starts hoarding bitcoin slowly, and in 10-20-100 years convert all their money into BTC". Sure, there will be local bubbles like June 2011, but that doesn't mean the overall trend isn't upward ... into the sky. If everybody hoards 0.1%, believe me, Bitcoin will be so rock solid and popular people will want to increase their hoard, not drop it. They'll actually start using it too.

If you want to believe there will be a perpetual exponential increase in adoption, then yes, prices will just continue to rise. But that's pretty much physically impossible.

Why? (Not in all eternity, of course, just until close to 100% of humanity is converted to Bitcoin)

Did you post to different answer with different opinion in them?

@ripper234 If that's not predictable, then it won't reliably happen. If it is predictable, then it will be priced in immediately and not reduce volatility. It is basically impossible to have an asset whose future growth can be reliably expected to exceed the risk-free interest rate.

I don`t think hoarding Bitcoins is bad for them in itself, but rather spending the hoarded coins.
In the world of material things hoarding currency means there is less of it to circulate and make economy go around. For example, if people were still trading in gold (scarce resource), 99% of it was hoarded and not used, and you wanted to have the same volume of trade, the remaining 1% of gold would have 100 times the buying power (if you could buy a loaf of bread for 100 gold coins in the past, now you would pay only 1 gold coin). But with physical currency lies a problem - how do you divide it to have roughly the same amount of coinage to go around when it is worth orders of magnitude more? You can have goals bullions, coins, then go to thin gold film, and eventually you would reach a limit of how much you can divide your currency.
Similar example can be made with normal (fiat) currencies, like the dollar, but there is a difference between them. A dollar bill is not all that scarce. It is mostly cotton and linen, which can be made in big quantities and turned into dollars if the need for more money to circulate would arise.
Bitcoins are infinitely divisible, or at least can be made like that if the need would arise. You can pay in Bitcents, mili-bitcoins, etc. and it wouldn't matter much. So if someone would own all but one Bitcoin, the economy could still manage just fine. On the other hand Bitcoins are scarce by design - there is a finite amount of them that will be created. Nobody can control the economy and release new coins to make sure they are worth the same through the whole time in relation to other currencies.
This is where there is a problem with hoarding - say you own a 100000 coins now and store them for a long time. If Bitcoin turns out to be successful and all the internet is fuelled by the coins, a value of a single coin could be pretty high, lets say equivalent to 10 000$. Then you would have 1B$ worth of coins in your wallet, a significant amount. Now if you were to spend all those coins at once you could disrupt the economy and put a dent in the worth of Bitcoins. This sudden influx of coins into the economy is probably the only bad effect of coin hoarding - a rapid change of value of the coins. If the volume would be big, it could damage the economy quite badly. Compare this to the scenario of a couple wealthy countries abandoning USD and selling off all their supplies - the value of the dollar would fall, causing rapid inflation and possibly destroying the economy of at least some countries.
On the other hand, if you were to just kick back and spend your coins slowly the impact of your coin hoarding wouldn't be negative. It might even help the economy by making people sell more and thus earn more, but this would probably even itself out with the economy being worse off while you were hoarding coins instead of spending them. The situation is similar to the one right now - a lot of people mine coins for profit, but since they are not worth too much, they hoard them for later, instead of circulating and spending them.

Inflation transfers capital from the middle class savers to those who capture the debasement. Typically the rich can position into investments and/or "political capture" which capture inflation, and the middle class may not individually have the economy-of-scale to do this as well.
Deflation transfers capital from the middle class to the rich, because they save a much higher % of their income. And discourages risk taking, technological innovation, and deploying human capital (e.g. Dark Ages because stored passive capital can't create knowledge, and even more so in this knowledge age of digital innovation with cheap CPUs).
Thus a store of value is only a sustainable representation of human capital (cost of child rearing, education, etc) if it encourages prosperity for the humans. Deflationary gold standards always fail politically over time (when the import of capital peaks) because they destroy prosperity.
The problem for Bitcoin is that if the model is primary driven by ponzi appreciation, and not by transaction growth, then eventually capital importation will peak, and there will not be enough transaction growth to counteract the hyperinflationary spiral due to a stampede to extract value before others do. This capital importation peak can be accelerated by a competitor which brings to the market a system that has a significantly higher transaction growth rate, because ponzi schemes rely on future expectations-- confidence.
The money supply growth of Bitcoin is decelerating while the nature of ponzi schemes is they accelerate in value as they drive towards a peak, because of the mass delusion of crowds and the stampede to not be the last to buy. This is a dangerous juxtaposition, but it seems we are not yet close to this day-of-reckoning although a competitor could accelerate it. This would probably beneficial because otherwise Bitcoin may setback crypto-currency adoption significantly after the hyperinflation spiral wipes out the majority who come in near the peak.
I think it is just common sense that rewarding early adopters with 1000-fold increases in wealth simply for buying a store-of-value, is antithetical to prosperity. Imagine the poverty and inequity of a society that spends its time searching for ponzi speculations instead of innovating and producing.
The counter-argument is that this initial speculation interest is necessary to drive adoption which will drive transaction growth. However, do we see this happening as the dangerous juxtaposition is accelerating?
I know speculators in silver who are now ready to jump into Bitcoin. That is what brought my immediate attention to study this developing juxtaposition.
I am also expecting this answer to fly over the heads of some voters. Apparently some of the participants either don't have a very good grasp of economics (or have a vested interest or I am wrong and they didn't comment to tell me why). I would appreciate if downvoters would at least try to defend their logic with a comment below my answer. That gives me an opportunity to debate them and show them why I think they are wrong (or to admit my mistake). The point is to make sure we collectively have the correct logic.

See also my comments under the answer that mentions "freecoin".

If you are going to downvote, it would be helpful to provide some justification in a comment, otherwise it appears that this stackexchange is populated by Bitcoin vested interests who are THUS NOT OBJECTIVE. Especially considering I have extensive experience in this subject matter and have been studying and writing about gold and "what is money" for more than 6 years. Gold bugs are repulsed by the truth, even though I was also at first a gold bug until I was able to analyze deeply.

Good answers are clear, correct, and non-obvious. Your answer fulfills non-obviousness; I can't tell whether it fulfills correctness; it's definitely not clear. I'd remove my downvote if it were about half as long.

@NickODell your criticism is that my answer should be more clear. Should I be responsible if macro economics are difficult for you to understand? Do you really think you should be voting if you don't understand the concepts? I don't think I can make it any simpler, it is very difficult for people to understand why both deflation and inflation transfer and concentrate wealth from the middle class to rich. Bitcoin is a highly technical product. Developers of it need to understand economics. In any case, thanks for expressing your opinion. And giving me a chance to respond in kind.

Please humor me with more anonymous downvotes. Bitcoin going forward will require transaction fees. How will it compete against a no transaction fee model with perpetual debasement? Since current investment in Bitcoin hinges on expectation of rising demand from future transaction volume, such a competitor pops the ponzi bubble. Also due to lack of Litecoin's scrypt, it is no longer feasible to earn some Bitcoin with the excess CPU power idling wastefully on your PC to drive demand for transactions.

You basically say "Inflation is bad for it transfers money from middle class to the rich. Deflation's bad either for it does the same". So, should governments strive to always have an amount of cash in circulation exactly proportional to the size of the economy? Appart from obviously impossible, 1st statement is contradicted by some economists which say a small economy is GOOD for the economy (it forces the rich to spend rather than sit on their money).

Besides, your answer and much more so your comments indicate a general arrogance and contempt for others. I don't know who you are nor care, and I'm sure lot's of others feel the same: you should provide citations and support for your every single claim rather than say "I've been on this field for X years".

"Deflation transfers capital from the middle class to the rich, because they save a much higher % of their income". I think this is a little bit dogmatic, even biased. Deflation rewards all savers in the exact same proportion of their savings. It's a much more fair system than that of today's, at which those who have more are rewarded in greater percentage than those who have less.

Also, to say it discourages technological inovation is an oxymoron. If everybody saves, e.g., defers gratification indefinitely, and never invests into capital and productivity gains, there will be no increase in production or productivity, and the purchasing power of the currency will not increase. In other words, production is a result of investments (putting money to work). Those who make the wisest investments will always be rewarded in a greater measure than those who just hoard currency and just get indirect gain.

I won't downvote you though :)

Yes. Hoarding does hurt the currency, but not because somebody's getting rich off of it. The problem is that due to the fixed quantity of coins, it's obvious that the value is going to go up if bitcoin achieves widespread adoption.
And what's keeping bitcoin from widespread adoption?
"Currency risk" is one of the primary reasons, and it's easy to see why. If the price is at risk of wild swings in value, then how is a merchant going to feel confident in pricing his goods? Imagine an internet merchant who prices his goods at 8pm, goes to bed at 9pm, the price of bitcoins doubles at 10pm, and all night long nobody will buy from him because his goods are now way too expensive.
This is a serious disincentive to the adoption of bitcoin. And it exists whenever the possibility of bitcoin going way up in value exists. It's a catch-22. Bitcoin can't achieve widespread adoption (and therefore make hoarders rich) without having value stability, but value stability implies by definition that you can't get rich off of it.
The good news is, we can modify bitcoin, or create a competitor, which has value stability as a goal. The funny thing is that this currency, while being less "valuable" by design, would actually have more value to the community because of its stable value.
Whew, is your mind bent yet?
If not, here's the paper that explains it more thoroughly.

I'd say high volatility in any direction would hurt merchants. Any decentralized currency will have that problem, even "freecoin", because you don't have a central instance that can decide to "peg" or "back" the currency to anything. Bitcoin is still in its infancy. Should it become more established, the value will still raise, but more slowly and thus at a more predictable rate.

The idea is that "freecoin" would be limited on the upside by the cost of mining. So the only significant fluctuations in value would be between 0 and . Now it's possible that the value would still fluctuate a lot, percentage-wise, within that range. However, I think it would be much be much more stable because it is so obviously not going to make you rich by buying it (turning off all the speculators).

I upvoted bcz the freecoin paper makes the point I made in my answer. However the FAQ fails to discern that deflation vs. inflation has no inherent advantage for humanity-- both transfer wealth to the unproductive rich. We need stable value that can't be manipulated for the benefit of any group. If we don't fix Bitcoin, we will setback this paradigm shift win for humanity. My other quibble with the paper, is the initial fixed difficulty could lead to excessive inflation or deflation while the system finds an equilibrium value. Also Litecoin's scyrpt will more equitably spread the debasement.

Also a fixed difficulty will result in persistent "inflation" of theoretically 50% "devaluation" every 18 months due to Moore's Law. Litecoin's scrypt hash can't equitably distribute enough to counteract devaluation, because more capital buys a larger proportion. But this is devaluation relative to a currency that could maintain a constant share of computer power. The problem is that valuation always is relative to something else. So what to choose as the stable metric of value? Should stored value maintain a constant share of increased productivity, i.e. deflation?

Continuing from my prior comment, if the goal is to remove the ponzi instability, then the stable value should be relative to the unit-of-account that most people are calculating their ROI with. For the moment that is probably the dollar, but the dollar will likely be destabilized but not until after 2016. During the instability phase, gold will skyrocket for probably 3 years, but pegging to gold would not render a long-term stable currency. So there needs to be means to decouple from the dollar as confidence in it plummets.

Note Bitcoin's current debasement of 28% per year is 45% every 18 months. But this will decelerate.

The freecoin paper didn't offer a way to remove coin from the system if the value was too low, transaction fees that are discarded and demurrage (i.e. storage charges) are proposed mechanisms, but both are bad for marketing adoption and run the risk of inflationary spiral because they extract money directly from the users. So deflation (beyond a mining security min.) can be fought with marketing friendly debasement (indirect taxation), yet fighting inflation requires marketing adverse direct taxation to decrease money supply.

Another problem is that any mechanism that only targets the money supply will not be in control over swings in the velocity of money (transaction value volume), which is a factor in the value of the currency in the Quantity Theory of Money. Btw, the reason external value increases (i.e. lowering inflation) when M or V is decreased, is because the P in coin units decreases– P in external units increases.

Why would anyone holding bitcoins want to put an end to hoarding? Let's say I own a mining rig. I invested x dollars of my money into securing the bitcoin network, and earned a reward of y bitcoins. Now, instead of spending my btc, I hoard them. What I've actually done is worked for the good of the bitcoin network, and demanded nothing in return! Its a pretty good deal for everyone else, since by hoarding instead of spending my btc, their bitcoin value is unaffected, due to my preventing y btc from increaseing the supply, with the resultant price inflation. Had I spent those btc, the value of everyone else's btc would have dropped by (y/MarketCap) * YourBitcoins.
Now if I buy up additional btc with dollars, the story gets even better. Lets say I take a portion of my weekly salary and buy up Z bitcoins. Now, in addition to the fact that I am working now and deferring my demand into  future, I increased your btc purchasing power to (Z/MarketCap) * YourBitcoins!
If you're now thinking this deflation will suck the btc economy down a black hole, are you more likely to blow $10,000 at a strip club if you (a) have a billion dollars worth of btc in your wallet or (b) exactly $10,000 worth of btc in your wallet? Hopefully the answer is obvious, which makes one man's hoarding your night out. So next time you meet a hoarder, give them a pat on the back for making you richer by working for free!

Bitcoin is currently inflationary (increasing in supply), however in the long run it has a maximum of 2.1 quadrillion transactable units (21 million bitcoins).
Any finite currency supply can be harmed by charging interest. Charging interest means musical chairs, when the music stops & you are asked to pay back what you owe someone will be left without a chair. I.e. there won't be enough bitcoins in circulation to pay back the interest.

For Example: Bob wants to buy Manhattan, & Manhattan costs 21-million bitcoins, but Bob does not have 21 million. Some how he convinces every bitcoin holder in the world to loan or give their coins to him. The bitcoin holders that loan Bob bitcoins ask for principle plus interest to be paid back. But that's the problem there are only 21 million bitcoins MAX and Bob can not pay back the interest he owes.

Your answer seems to miss the topic. The question is about whether hoarding hurts bitcoin. However, your answer seems to mainly address lending.

The loan solves the how portion of hording. Is not possessing every bitcoin kind of hoarding?
You can say that interest leads to hoarding, by creating a demand for increased velocity, and increased supply to a supply that has a maximum.
People with economies of scale can leverage their bitcoins as loans causing btc amounts to consolidate ( hoard ) into the ownership of one person.

Hoarding in this context refers to just holding the bitcoin without spending them. Some people are worried that the low circulation speed might keep Bitcoin from becoming a widely accepted currency.

Bitcoin is a scam that will draw in millions of unsuspecting consumers who fear the hyperinflation..  those that already had 5 cent bit coins are the millionaires and anyone who converts their dollars or yen or euros at this point is going to get screwed if they think this is a wealth preservation tool...

No matter what your opinion on its abilities for wealth preservation, it has several other properties that make it valuable. Do you actually understand those properties when you make such a comment?

so is potentially any asset I guess. Gold/Silver are probably much overvalued as well shortly before a collapse.

I think hoarding is a major problem with the bitcoin. Allow me to copy an excerpt from a rant I published online about just this, available at https://bitcointalk.org/index.php?topic=53683.0.

We'll begin with a background where the economy is growing. Everything is fine, until the bitcoin mines run dry: all 21 million bitcoins have been harvested. In order to adjust to the growing economy, an individual bitcoin becomes more valuable (deflation). During a period of deflation, money becomes more valuable even when it is unused. People realize this: why should they risk loss in investment when their money will gain value risk-free by letting it sit? As such, people stop investing and let their money sit untouched. Companies are no longer able to take out loans. Companies wither and die, people lose jobs. New companies cannot start as they cannot get their initial loan money. Due to the lack of production, the bitcoin shrinks sharply. The people who just kept their money away suffer, too, as the bitcoin is no longer backed by an economy. Bitcoins suddenly lose value and face hyperinflation. Now we're back we've a shattered economy, the bitcoin's a 21st-century [counterpart to the] German Mark after WW1 (i.e., worth practically nothing), and literally everybody involved has suffered. How is this supposed to be avoided?

A growing bitcoin economy leads to deflation. Deflation means that hoarding is preferred to investing. Hoarding money decreases the money supply, causing more deflation so it becomes even better to hoard. Lack of investment means lack of capital. Lack of capital means that existing businesses cannot survive and new businesses cannot form. Production shrinks. The bitcoin suddenly loses much value and faces hyperinflation. Everyone, even the hoarders, suffers. I can't see how to get around this.

Deflation is discussed here: http://bitcoin.stackexchange.com/questions/66/will-deflation-destroy-bitcoin

According to your analysis, a Michelangelo statue would be worthless today, because there aren't any more being produced and the economy has grown since 1475.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Will all 21 million units be completely mined one day?
It is written that the supply of Bitcoin units is limited to 21 million and that this limit will approximately have been reached around the year 2030.
But is there an actual "last Bitcoin" (or "last Satoshi" for that matter) that will have been mined one day? Or will mining continue forever after producing smaller and smaller fractions?

Theoretically yes, but that moment is so far in the future it is likely that some other events such as new currency technology will surpass bitcoins.
However, mining will not stop.  Mining is the security backbone of bitcoin, and it will continue because it will still be profitable to mine.  Miners will be paid fees from existing bitcoins with every transaction instead of a reward of newly created bitcoins.

once transaction fees become usual and the major part of a miner's reward, the process should really be renamed into "auditing" or the like.

I find it hard to concieve that mining will be profitable far in the future. To have a significantly large enough of user base and the value to be high enough to make mining worthwhile. By 2030 I guess the number of people using bitcoins would have to be around 50 x what it is now and value would have to be over 4 x what it is now,  (estimated from current rates and difficulty, this math may be way off lol). lets hope this is the case.

@MaxSan Hashing can be profitable at any user & transaction volume level.  At CURRENT difficulty/price/fee% you would need transaction volume to be 200x current level for mining to be profitable.  If fees relative to transactions rose to say 0.5% it would only need to be about 20x current level.  Of course difficulty can fall or price rise.  There are infinite combinations of those three cariables which allow profitability.  Example: price/difficulty rises 5x fold, transaction volume rises 10x with fees 0.5 of transactions would results in total fees roughly equal to current block reward.

Market-based transaction fees don't scale. I read that even Gavin has expressed his doubt that they will.

How can such a FUD have 9 upvotes, wtf?

By 2140, the final bitcoins will be made. After 2140, no more bitcoins will be made, which means it's only trading and buying things wiith bitcoins.

True, but you should really mention transaction fees.

No, from here (or the blocks at the top of this up-to-date list):

Block 501726 had no transaction outputs (except a 0-value commitment), losing the entire 12.5 BTC subsidy.

Block 526591 didn't claim half of the block reward, losing 6.25 BTC.

21 million - 18.75 = 20,999,981.25 BTC will have been mined
EDIT: As Raghav Sood descriped, 100 BTC was left unclaimable due to same coinbase hashes. (but pedantically, even though their outputs can't be claimed, they were mined)

This is a partial list, there are some other similar losses as well - for instance, blocks 106662 and 106692, and blocks 106572 and 106730 created identical coinbase outputs, effectively destroying two blocks worth of rewards.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Which Bitcoin weakness most hinder Bitcoins ability to gain market and mind share?
Bitcoin has a few weaknesses. Among the well known ones are:

Transactions are not instantaneous.
Large numbers of transactions would bloat blocks.
Transaction fees are needed in some cases.
The client is difficult to use and its operation difficult to understand.
Wallets are difficult to secure. Coins can easily be lost.
Transactions are only somewhat anonymous.
Irreversible transactions are sometimes not what people want.

Of these weaknesses (including any I didn't mention), which are probably most seriously affecting the adoption of Bitcoins, both short-term and long-term?

Humorously I was writing a question that may solve #1 as you were writing this: http://bitcoin.stackexchange.com/questions/382/what-percentage-of-bitcoin-transactions-are-orphaned

As asked this is too subjective to be answered effectively and will only invite speculation.

Some questions can only be answered speculatively, yet answers are needed because people who work on these weaknesses need to prioritize. Reasoned, plausible speculation is good if it's the best we can do to solve an actual problem.

I think the scope of the question is too large for this format.

@David in real life, yes.  On Stack Exchange, no.  If it can only be answered speculatively, there is no way to clearly distinguish "correct" answers through votes, so it's not appropriate to the way this site works.  How exactly is one supposed to identify which are "probably most serious"?  There's no possible criteria by which to measure this other than to guess.  Stack Exchange is not for guesses.

Voting to reopen with "What are the known limitations / weaknesses of BitCoin" ?

One problem is that "the user is responsible for his own security". Combine that with "security is tough" and we have a real big problem.

If the credit card industry has taught us anything it's that merchants will accept whatever form of payment there is adequate demand for. Merchants have been perfectly willing to absorb some percent of loss from credit card chargebacks, bounced checks etc. for quite some time and will likely accept some percent of loss from 0/unconfirmed transactions (once we actually know what percent loss that is, anyway).
The real "sell" is with consumers. If enough consumers use bitcoins, merchants will begin accepting them - and even if they don't they still hold value as a means of long-distance funds transfer and perhaps as a store of value. Consumers also don't care about technical limitations, that's for us geeks to figure out on their behalf, so points 2, 5 and 6 are basically "our problems" to fix. What consumers will care about most, in my opinion, is #4: "The client is difficult to use and its operation difficult to understand."
When there's "an app for that" that just works and doesn't need whitepapers, wikis etc. to comprehend, the biggest hurdle has been jumped.

Might be worth taking a look at the open source MultiBit project which is aiming to simplify the client: http://multibit.org

The UI issue will be solved when the Qt UI is merged in. Apart from that, I think the Android clients are very important for adoption, as many people want to pay with their mobile phone and not use a PC/Laptop.

Merchants that I speak to are very excited about the prospect of being released from credit card companies and their associated chargebacks and transaction fees. They view them as a necessary evil in order to smooth the deal with the consumer and would ditch them in an instant if a realistic alternative existed. However they are concerned about:

the extreme volatility of BTCs
the introduced currency risk into their otherwise local business
the increased difficulty of accounting (spot rates and so on)
uncertainty about taxation and legal recognition

Consumers on the other hand don't see any problem with the existing system, until they fall foul of it in some way - like making a very large or very small international money transfer. At that point they howl in frustration at the cost and bureaucracy of it all. Those folks that listened patiently while I burbled on about Bitcoin gave the following feedback:

they don't encounter transaction friction often enough in their daily life to make it necessary to adopt the change
the barrier to entry with Bitcoins (obtaining them via an exchange or a friend with BTCs) is too high for most of them to bother with
it sounds a bit dodgy and experimental for me to risk my hard earned cash in

However, as more businesses offer to take BTCs as a parallel payment method (offering a slightly reduced price as an incentive) then more consumers may take the bait. Over time this will build momentum and wider adoption, hopefully as a virtuous circle.

It would help if whoever downvoted this explained why so that edits can take place.

I believe that bitcoin still needs a "killer app" in terms of something that can be done with it that can't currently be done with other transaction methods. The most likely of these in my mind appear to be:
1) low-fee and quick international wire transfers
2) SMS money transfer or barcode money transfer
3) online gambling from countries where it is restricted
4) silk-road type marketplace
--
Once bitcoin opens the door for an activity many people are already engaged in (or want to be engaged in) it will likely drive all sorts of innovation. Personally, my hope is for #1 and #2 to be combined, as I think there are benefits to getting Western Union out of the international payment business. However, a large gambling site like Bodog doing #3 would likely drive an incredible uptick in BTC usage as well.
--
(Edit: hmm perhaps this doesn't answer the question. Of the above I also think that #4 is the big one (though I think a good client/wallet app will also include near-instantaneous transactions and also offer wallet security) but I think that these problems, even if surmounted, will not offer much in the way of growth until one particular niche really takes off)


text:
How much will transaction fees eventually be?
Some people keep evangelizing that Bitcoin transaction fees are much lower than in PayPal or with credit cards.
However, once nearly all 21 million bitcoins have been mined, the network will still have to be secured.
But "miners" can then no longer be rewarded by newly minted bitcoins. They will have to be rewarded by transaction fees.
I read that the market will find the equilibrium how much these transaction fees will be.
Are there any estimates or more concrete calculations about that? Is it even possible to foresee, as the "degree of network security" is a rather nebulous incentive for most (casual) users? Will they thus be enforced by the software? Will these fees better be absolute or relative to the amount of a single transfer?

It's not too long to go - the vast majority of bitcoins will be mined within our lifetimes.

I think we need new replies on this, most of the answers are "the btc is too new to know what will happen" but this is 7 years old, I think is more mature now. Is there any estimate or solution to the fee problem when everything is mined?

Yes it seems I assumed no blockspace limit back then. Today the question would be relevant more for a hypothetical bcash or btc unlimited SE. ;) (fwiw, if there'd really be a race to the bottom nullifying security then would be a debate worth to have, I saw some discussions popping up here and there about it, but nothing conclusive.)

I read that the market will find the equilibrium how much these transaction fees will be.
It will not.  This is perhaps the biggest flaw in Bitcoin at the moment: once mining rewards end there is no direct linkage between the amount of hashpower needed to secure the network and the incentive to mine.
True, there is a limit on the blocksize, so if the transaction volume in a block window (approximately 10 minutes) exceeds the block size you can expect a miniature "auction" where transactions fight for space in the block by bidding up the minimum transaction fee needed to get in.  However this isn't really a closed-loop adjustment: the maximum blocksize is an arbitrarily chosen number, and there's no reason to believe the maximum blocksize is small enough to ensure that transaction fees are high enough to incent enough miners to mine to keep the system secure.  Unlike the difficulty and the USD/BTC exchange rate it does not respond to market activity.  It also has the negative side effect of capping the worldwide Bitcoin transaction throughput since other parts of the protocol rely on the assumption that blocks are created -- in the long run -- no more than once every ten minutes.
Compare this to the current situation with mining rewards: the more valuable a bitcoin is the more incentive there is for somebody to try to overwhelm the "good guys" by gaining 50%+1 hashpower.  However, the more valuable a bitcoin is the more miners will mine!  It isn't perfect, but the important point is that the demand for security increases the incentive to mine.  Note that although the difficulty will go up, that simply ensures that the reward granted every ten minutes is an approximately constant number of BTC -- the number of terahashes/sec fighting over that amount of BTC is free to respond to changes in their changing value (as measured in terms of all other goods in the world, including other currencies).
As the mining reward is reduced this "direct coupling" between the network's need for security and the incentive to mine becomes progressively more diluted.
I worry a lot about what will happen to Bitcoin once we decouple those two forces.  I think the developers ought to at least come up with a story on how this will be solved so people can start testing it.

slight amendment: the network will move towards an equilibrium point due to difficulty adjustments where transaction fees barely cover mining costs. The unknown question is whether that difficuly will be high enough to secure the network from a well-heeled attacker.

@lemongignger, it's the other way around: difficulty will adjust to whatever amount of mining can be paid for using the money people choose to "donate" via transaction fees .  The (voluntary) transaction fee determines the difficulty, not the other way around.  There is no incentive for miners to exclude a transaction whose fee was too small yet still nonzero.  This "tragedy of the transaction fee commons" is a separate (but related) issue from what OP is asking about.

@Wim: "as long as enough miners representing >50% of the hashing power can agree on a minimum fee"... easier said than done.  How is this negotiation performed?  I'm not saying your idea won't work; I'm just saying that is much more complicated than you make it seem.

@Wim, people join pools to reduce the variance, not as a way to collude.  I, for one, would pull out of the pool and mine on my own if I found out that my pool was colluding with others.  I think you fundamentally misunderstand how pooled mining is not a form of collusion or agreement; it is a way of reducing variance and nothing more.  If pools make some "agreement" between themselves and it is possible to profit by breaking the agreement (i.e. accepting transactions with too-small-but-nonzero fees), people will leave the "agreement" pool en masse.

@eldentyrell.  Nobody can ophan a transaction.  Not with 51% of hashing power, not with 99%, not with 99.99999999%.  As long a single node (maybe even just the 2 people involved in the transaction) are willing to include the transaction it eventually will be included ina  block.
If 100% of the network includes your transaction in the next block then your average confirmation time is 10 minutes.
If 50% of the network includes your transaction then confirmation is ~20 minutes on average.
etc.

@DeathAndTaxes, regarding "nobody can ophan a transaction", that's exactly my point.  Nobody can keep too-low-fee transactions out of the chain.  There will be a "race to the bottom".  Whichever pools exclude too-low-but-nonzero-fee transactions are donating money (forgone transactions) to the pools that don't.  I wouldn't expect an arrangement like that to be stable for long.

@Wim, sure, and pigs might fall out of the sky too.  Hypothesize all you like, but if the incentives are wrong reality is not likely to unfold the way you want it to.

@Wim, no, because your proposal cannot be implemented without forking the chain.  Merely getting 51% of the miners to agree is not enough to keep those transactions out of the chain.  You must convince everybody on the entire network to upgrade their clients; if you don't do that, the chain will fork.  The fact that your proposal causes a chain-fork makes it incredibly unlikely to ever be implemented by even a minority of the miners.  They risk losing a lot of money by mining on the "wrong side" of the fork (whichever side that may be).

@Wim, you are mistaken.  You write that "the rule would be enforced by orphaning non-compliant blocks".  The only way to orphan blocks is to make a chain-forking alteration to the block validity rules.   This has not happened since the days before mining first became profitable, back when people mined only for fun; see http://bitcoin.stackexchange.com/questions/1309/what-was-the-most-recent-change-to-the-official-client-that-broke-block-validity  Miners who adopt chain-forking alterations to the block validity rules risk losing massive amounts of money.

@eldentyrell Just because the risks miners take in the future are complex to model doesn't mean the incentive goes away. People are still setting their transaction fees and while the fragmented temporal groupings will vary in return on investment, the aggregate demand for network wide security will be realized incrementally as people unable to perform market actions increase their transaction fees drastically to ensure next time it goes through.

@eldentyrell, Re "here is no direct linkage between the amount of hashpower needed to secure the network and the incentive to mine"; couldn't the reward be changed?

It's impossible to say for sure right now, because according to Gavin, Bitcoin's transaction fee structure will be redesigned at some point:

bitcoin's fee structure isn't right either, and fixing it to create a market between miners and clients is high on the TODO list

your link is dead

@user8077 It still works for me.

"Reworking Bitcoin Transaction Fees" Proposal
https://gist.github.com/2961409

This needs high priority. Looking at this link shows that costs per transaction are likely NOT sustainable long term. https://blockchain.info/charts/cost-per-transaction?timespan=2year&showDataPoints=false&daysAverageString=1&show_header=true&scale=0&address=

There are a lot of unknowns because the network is so young and transaction volume is so low.
Currently the block reward is worth about $13.1 million annually.  If fees stabilized at 0.1% of transaction volume (compare that to 3%+ for cc/debit/paypal) it would require a transaction volume of ~ $13 billion for fees to someday generate the same global revenue as current block rewards. To put that into perspective, credit & Debit cards have an annual transaction volume of ~ $2.5 trillion.  Paypal has ~ $80 billion in transactions per year so this level of transaction volume is certainly possible.
The larger issue is that under current protocol rules fees will never stabilize at 0.1% (or any other meaningful percentage) of transaction volume.  The reason is that currently there is no disincentive for a miner to exclude any paying transaction unless the block is already full of higher paying transactions.  A transaction can become a paying transaction by merely including 1 satoshi with every transaction which even on a 1 BTC transaction is only 0.0000001% not 0.1%.  For larger transactions it becomes infinitesimally small.
There is no method to create granularity because fees can be arbitrarily small and miners should logically not exclude a paying transaction.  The current transaction fee system is simply not viable once block rewards (subsidies) are removed.
One way to look at it is the current network costs about $13 million per year to run or roughly $20 per block per TerraHash (TH).  That cost is paid via subisides but that isn't a viable long term strategy.  Someday it will need to be paid for with fees.  If the amount of fees collected are higher than the network will be larger/stronger.  If the amount collected is smaller then the network will be smaller/weaker.
Remember Moore's law doesn't make the network stronger.  As miner's hardware becomes more efficient so does attacker's hardware.  The network needs to generate sufficient fees to remain strong not just increase nominal hashing power due to efficiency gains.  The current transaction fee system doesn't achieve that goal.  It will need to be changed.

i wonder if difficulty could be factored in to ensure that the network remains strong once all new blocks have been mined...

In theory, as deflation continues and mining blocks becomes more efficient, the transaction cost will approach .00000001BTC/ 1 Satoshi and will stop multiple times on its way down at the point slightly above where profitability reaches cost.  It is also possible that the transaction fee will approach zero.
The reason this happens is competition will drive the price down to the point that only the most efficient miners will be in business.  The price reduction is further amplified by the deflation in Bitcoin. We will find the exact stopping point from the most efficient miners who are willing to take the lowest profit margin.
This will also be a floating point because as transaction volume increases so will profitability allowing miners to further reduce their fee.
To further answer some of your questions:
1)Are there any estimates or more concrete calculations about that?
A: None that I can find.  My prediction is that transaction fees will have a multi-tier approach where the most efficient miners will offer "dual" processing fees one of which would be 0BTC.  The miners would split their processing power(a percentage based on profitability and a simple maximization problem) and include only transactions that met the highest payment tier would be included.
For example, if you include a 0 Satoshi fee you will only get 5% total processing power.  If you include a 1 Satoshi fee you will get 10% processing power.
2)Is it even possible to foresee, as the "degree of network security" is a rather nebulous incentive for most (casual) users?
A: The degree of network security will be improved if users provide their own processing power but, this will not be necessary as mining will be profitable to the most efficient miners.
3) Will they thus be enforced by the software?
A: Fees will be enforced by miners not including transaction with too low of a fee into the block chain.  This will cause a significant delay in the speed of your transaction. In the worst case scenario, where EVERYONE on the network requires a fee, you will have to mine your own block to get your transaction processed.
4)Will these fees better be absolute or relative to the amount of a single transfer?
A: A miner can choose to accept a transaction and include it into a block based upon any criteria that they see fit.  It will be interesting to see how miners choose to tier their pricing.

There would be no direct monetary compensation for accepting zero fee transactions.It would be a goodwill gesture to the community.The goodwill gesture could increase miners overall profitability in transaction fees by allowing users to connect their clients to just them so they get the "first shot" at processing the transaction.The miner could also choose not to broadcast the transaction and solve it themselves in that case.  Those who need faster processing would pay a fee and those who don't care would wait.Users would choose this option if they feel like the miner provides better service.

You don't pay server costs with goodwill.

No but you drive out competition by offering a multi-tier approach.  Those who don't care about speed choose your free option.  Others who need speed choose your fee option.

@Lohoris no you don't BUT if you have vested interest in bitcoin thriving (like say you are Mt Gox and you personal wealth in directly related to Bitcoin adoption) then it may be worth it to indirectly donate some server capacity to handle "charity transactions".

You say : "competition will drive the price down to the point that only the most efficient miners will be in business" If that becomes true, doesn't that open the door to collusion ? As the barrier of entry to being a miner increases, their number will diminish, and collusion will become increasingly feasable. What could prevent this ?

In any P2P currency, there are only 3 choices, or combination of them.

You fund miners from savers.
You fund miners from spenders.
You let the government provide the mining. A public need so the economy doesn't stop.

1 is not available to Bitcoin long-term, because debasement is halving every four years.
2 penalizes economic activity, which is more important than burying money, ahem saving. Also it doesn't scale, unless it is uniform in the protocol. Gavin wrote making it uniform won't work in the market.
3 is thus the outcome for Bitcoin. (as designed by Satoshi)

Your number 2 choice potentially penalises spenders less than credit card costs do, provided that retailers pass their cost savings on to their customers. This means that spenders can pay fees and still do better than they are now. Remember, Bitcoin isn't just a currency; it's a payment method.

@HighlyIrregular Sure it scales now that we have the revelation that the mega-corporations will do the mining as a loss-leader to monopolize. But the 3% for credit cards will be nothing compared to the 100% or more once there same monopoly controlling both processing and retailing. Before at least the retailers were fighting the credit cards, now they will be one in same and we will become absolutely slaves and destitute. You Bitcoin developers are not thinking clearly.

That would give room in the cryptocurrency space for an alternative to take over. Remember most retailers need to provide their product at a competitive price, or another business will undercut them. And I'm not a Bitcoin developer (as least not yet)... I'm more interested in the theory, so far.
I note that a new structure for transaction fees is in the works too: https://gist.github.com/gavinandresen/2961409

@HighlyIrregular Retailers won't be numerous (competitive) after the reverse takeover of our economy reset coming 2017. Gavin's proposal is a red-herring-- it doesn't scale. The only correct way to keep it decentralized is to never stop the debasement. That is why I knew that Satoshi was doing something evil and intentional.

+1 But new crypto-currencies  might remove the need for mining altogether. And I guess this will be the way.

Most likely the fees asked for will be based on the transaction numbers. The miner's rig will need to be paid for (electricity, replacement parts, etc) for cost assumption is kind of hard to figure out until such a time as we know how many transactions will be going through once mining is complete.

I would like to point out another macroeconomic related issue for the time all bitcoins are mined. The money is accumulating to the ones who know how to make the money to make more money. If the economy is not able to produce more coins, it will either fall into loan trap, deflation spiral which will reach quickly smallest fraction of coin or a global war will happen that resets the system. So bitcoin needs a way to raise the upper limit. Would it be possible to couple the hash algorithm with date so that in the beginning of hash more choises will be possoble than 0000000 today? And maybe also more slow algorithms to be used for the time pure energy is running quantum math?
My second macroissue would be related to populatipn growth. Monetary system needs to adapt to it. Deflation is hard to happen because of greed, but hunger will raise if jobless is caused by missing or standing money. Someone needs to find a way to inject money into system. Same does apply for seasional need for money when corn needs to be processed- othetwise it will rot because of no money to pay the bill e.t.c. There is a reason why gold is no more base currency.

Welcome Peeter. You make an interesting point, however, this answer you posted doesn't fit the question that was asked and is throwing out some questions of its own. Perhaps you could create your own question from your thoughts here? Please refer to [ask]?

At the moment, miners seem happy with a reward of B25 per block (and no fee auction seems to be happening with such a reward). You'd need to see how many transactions or how many bitcoins in average are usually contained in one block, and split those B25 over all the transactions.
So I don't think it will get very high anyway, so by itself the absence of fixed reward can be easily compensated by moderate fees.
What worries me more than the absence of fixed reward, and I think will have more impact, is the increase in the number of transactions: if blocks are mined at a constant rate, and their size is fixed, but the number of transactions keeps getting higher, it means that blocks will be more and more crowded and people start "fighting" (with fees) to get their transactions included. But again, this will be due to the number of transactions, not the presence or absence of a reward.

The long-term miners 'fee' for validating transactions might eventually come to be interpreted as some sort of interest rate.
Traditionally the interest rate is defined as the opportunity cost of holding on to currency. Right now, there is a benefit to holding on to a bitcoin, but come the day when they are few and far between mined, and more and more 'validated' that validation will be the opportunity cost of not discovering a new bitcoin, and thus some sort of interest rate (i.e. not having a bitcoin).

Yet, unlike an interest rate the transaction fee is neither applied relative to the balance, nor invoked at passing of certain time intervals. The comparison is not very apt.

I'm not talking about a yield (such as the interest paid on a bond or debt instrument), but rather the long term rate of interest in an economy.

When all bitcoins will be mined, if Bitcoin believers will still have faith in it i.e.  Bitcoin can retain its value and don't collapsed to zero or negligible then:

Bitcoin miners will be known as Bitcoin brokers.
Reward to brokers will be very low, in form of transaction fee, therefore hashing difficulty will be zero or negligible.
Only efficient brokers will remain in the Bitcoin network and their number will be low and vary to maintain a equilibrium in which the reward per broker will be just reasonable all the time, so, that they can just remain in business. If Bitcoin's value and thus the transaction fee increases, more brokers will pump in to maintain the equilibrium and vice versa.
A very low amount of brokers in the Bitcoin network will increase the threat of a "51% attack" and thus believers (and thus value) of Bitcoin will go down which will further reduce the transaction fee and create a vicious cycle.
To counter a "51% attack", a combination of the following could happen:

Believers of Bitcoin can make an organisation and plant   10000 genuine broker nodes (not for profit but to secure the network)  so that   attackers should have at least 10001 nodes.
Believers of Bitcoin can decide to carry forward all Bitcoin transaction/possession data to an entirely new algorithm/protocol (like carry forward of movies from obsolete tapes to CDs) which would be “51% attack” free. Such a system could be made centralized if necessary. Bitcoin generation limit coudld be extended, so that Bitcoin mining can be started again.

While there are some good thoughts in this answer, it makes a lot of assumptions it could provide more evidence for.

authors: มนัส เรืองฤทธิ์


text:
How can one embed custom data in block headers?
Some mining pool admins put custom data in block headers, like prayers. How do they do that? Where can I see that data for myself?

fair enough, can we now get one high-level answer that clarifies there are (at least) two ways that people have put messages and other custom data into the block chain?

You can't embed ANYTHING in the block header. You can embed data in the block itself. The two methods are via the coinbase transaction or via a "dummy transaction". Neither of which put anything in the block header.

People have written messages in the blockchain using http://etchablock.com/ - see http://blockexplorer.com/tx/237b50dac42af130171773b233954e62690182fd4901a453ad5d11d1d54a8ca3 for an example.

When you generate a block, the generation transaction (the one that creates new coins) has an attribute called coinbase. It's a special value you can put anything you want in to make the block unpredictable to others (and this is good).
So, naturally, you can put text in this attribute, although most just put mining-related information that is not human-readable (nonce and extra-nonce).
You can read this coinbase by using a patched bitcoin node that can dump blocks, for example with the "dumpblock" or "getblockbyhash" patches.
Or you can just print every string in the blockchain database directly :
strings -n 20 blk0001.dat
Example for the 1st block:
Coinbase: 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73
ASCII-translation:
ᝣᝣᝣᝣᝣᝣᝣEThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks
This is what is used by the Eligius pool ; it puts prayers in this field.

Actually, that's not the most efficient way to store information in the blockchain. See my comment.

True, it may not be the most efficient way, but it definitely is the easiest way (both for putting messages and reading them).

That http://pident.artefact2.com/b/0 link is dead.  It tells me "[...] is no longer available on this server and there is no forwarding address. Please remove all references to this resource."

Dan Kaminsky explained his method and motivations for inserting images into the blockchain at a talk at Black Hat USA 2011 - the relevant slides (12 -20) from the presentation can be found here.
His basic method was to create transactions with lots of outputs and to include the message in ASCII, in pieces, in the receiving address field of the output scripts. You can see the corresponding hex codes for the ASCII in his message in the raw transaction. You can see that the message is interrupted by the other transaction fields, so you can only see the messages properly if you look with a tool (such as strings) that filters out non-printable characters and displays printable characters in lines. His transaction required a .15 bitcoin fee, about $1.50 at the time.

Can you provide a little bit of info in the answer besides the link?

yes a slight explanation of the method used would be great.

There was a very interesting talk at Chaos Communication Camp this year on this topic. IIRC, you can store arbitrary information in bitcoin transactions, since they actually contain "programs" specifying how the transaction should be verified.
Information on the 'scripting' interface can be found here.  See section 2.3 for details on imbedding messages.

The question is about embedding data in block headers, not about transactions.

@nmat: Well, if you're going to take it literally, then the answer is that you can't. At least, not by any means that are remotely practical. (The header is too small and most of the fields are compelled.)

The hacker was Dan Kaminsky, and he embedded this image in the blockchain.
This is right now just a technological curiosity, it has no known implication on the legal or technical aspects of Bitcoin. I haven't read his paper, but he must have used a modified miner that searches for hashes that begin with a preset prefix.
Let's clarify: Mining is the process of finding solutions (or hashes) to a cryptography equation. The first to find a solution gets to have his solution added to the blockchain - the permanent transaction record. What Kaminsky did was look for a particular kind of hash instead of just any random hash, that contains the embedded test. Once this was found (just a matter of running a miner for a long enough period), this specific solution, with the embedded text, was added to the blockchain.

can you write a sentence or two about what that means (ie; how does one embed an image in a list of transactions). trying to get an answer here that shows no one had access to the blockchain to "change transaction data" or something similar.

@lemoginger - does my extended answer answer your question?

I think so. I actually didn't understand how that worked myself :)

Are you sure about this? According to this he did it using transactions with special destination addresses

@nmat - not sure at all, I had assumed this was how it was done. (Mother of all ****ups). Please post another answer.

yes someone please post another answer, this is definitely incorrect.


text:
How does Ripple synchronizes its ledger?
Bitcoin decides on a global clock by the blockchain - every mined block is another tick of that clock.
In Ripple, there is a global ledger that keeps advancing in time - the ledger number keeps increasing all the time, and the ledger represents the state of the system at time t.
What synchronizes this ledger? How do different Ripple nodes know when they should advanced their ledger counter?

I believe the Ripple devs have said that it talks to its peers and compares hashes of ledger state. If others disagree, then they change their own ledger state. They haven't released the source though, so we don't really know.

See https://ripple.com/wiki/Consensus

There are two separate issues. One is initial synchronization assuming you don't know anything. The other is how servers advance the ledger in synch.
For initial synch, you monitor the network and watch for signed validations from validators you trust. You check the timestamp on them and if they are current, you can then begin tracking the ledger chain. Once you know what they are claiming the current ledger is, you can fetch any data you're missing, walk the hash chains and transactions, and convince yourself that the ledger they are claiming is valid is in fact justified by the transactions attached to it and that it hooks up to your last ledger, if you have one.
Once you are in synch, you can participate in the consensus process. You will see live transactions relayed, you will see proposed transaction sets, you can send your own proposals. When you see a consensus on a transaction set, you apply it to the last ledger, and you then have the next ledger. You can then sign it and send a validation.
The actual timing of the ledger close is a bit complicated. If there are no transactions, a ledger will typically close every 20 seconds. If there are any unconfirmed transactions, the ledger will close two seconds after it opened and the network will try to form a consensus on them. This two seconds gives nodes a chance to finish processing the previous ledger before they need to start processing the new one.
The actual synchronization occurs using a sophisticated delta algorithm. The ledger is a tree so if a branch hasn't changed, you will discover that without having to traverse that branch. Ledger nodes that you need can be fetched from the network and servers will also predictively return nodes they think you will need based on the nodes you said you did need.
For initial fetching of large amounts of history, the server can request a "fetch pack" from any server that has the history. This contains those ledger nodes the server knows are unique to that particular ledger and help to reduce the number of queries needed.
All validated transactions, all ledgers, and all states the network has ever had form a giant hash tree. Once you know the hash of the current ledger, you can walk the hash tree to find any of those things securely and provably. Validations are not in this hash chain though. They are stored separately and individually signed.