209

David Schwartz's answer is entirely accurate, but all that "bitspeak" might be a little intimidating to the average user. Let me try and put it into more plain language: The way Bitcoin works is that instead of having one central authority who secures and controls the money supply (like most governments do for their national currencies), this work is ...


143

Here is an extremely simplified sketch of the problem, but it should give a pretty good idea of what the problem is. The data: This is the hash of the lastest block (shortened to 30 characters): 00000000000001adf44c7d69767585 These are the hashes of a few valid transactions waiting for inclusion (shortened). 5572eca4dd4 db7d0c0b845 And this the hash ...


93

mining is doing the work of finding nonce so that sha256(sha256(data+nonce)) < difficulty where nonce is an integer number the miner chooses freely (this choosing of the nonce and checking if the condition (< difficulty) is met comprises the work data is a hash over the contents of the block (transactions) and the previous block's hash sha256() is ...


69

Bitcoin was not designed to only be mineable with specialized hardware. When Bitcoin was created in 2009, ASIC miners did not exist, SHA256d ASICs did not exist. Even GPU mining software did not exist because mining was a completely new thing. Bitcoin's difficulty was low enough for Bitcoin to be CPU mined on a laptop. However over time, as more and more ...


65

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


64

I believe this is addressed in page 8 of Satoshi's Bitcoin paper when showing the probability of an attacker catching up. The wiki states: "Only 6 blocks or 1 hour is enough to make reversal computationally impractical." The key word is "impractical". The important sentence in Satoshi's paper is: "Assuming the honest blocks took the average ...


62

The following is a description of the global, statistical gamble which is played every 10 or so minutes. The interval of the game is controlled by the difficulty which says how many "hashes" are needed per interval. In other words, the difficulty and target define the "odds of the house" against your chance of getting a winning SHA hash. The nonce is the ...


60

In Ethereum, gas is a measure of computational effort. To each operation, a fixed amount of gas is assigned (e.g. adding two numbers costs 3 gas, calculating a hash costs 30 gas, sending a transaction costs 21000 gas [1]). Since computation is expensive (mind that it has to be done by every full node in the network), excessive consumption of gas needs to be ...


52

Mining is the process of securing transactions and committing them into the bitcoin public chain. It requires winning a kind of computational lottery where each hash you perform is like buying one ticket. The Bitcoin protocol currently permits the miner who generates a block to claim 50 bitcoins as well as any transaction fees for the transactions that miner ...


49

The bitcoin network rules define which difficulty each block has. This is done through a simple formula that only depends on the block chain itself. This means that if you give me a blockchain with blocks 1 through N, I can tell you with 100% accuracy what the difficulty of block N+1 will need to be, and I can reject any block which has the wrong difficulty. ...


44

Although individual bitcoins enter the Bitcoin economy as miners are rewarded for processing transactions, it's much more helpful to think of all 21 million bitcoins as having been created when Satoshi Nakamoto defined the Bitcoin protocol and launched the Bitcoin network in 2009. The reason for this is that the Bitcoin protocol specifically defines and ...


41

Many people misquote Satoshi paper and assume 6 is some value of significance. Satoshi's paper outlines the number of confirmations necessary to be 99.9% sure (less than 1 in 1000 chance of success) that an attacker couldn't build a longer chain to reverse the transaction. http://bitcoin.org/bitcoin.pdf P < 0.001 q=0.10 z=5 q=0.15 z=8 q=0.20 z=...


40

if in the coming years the difficulty increases so much that mining is no longer profitable That's not really possible. The mining power is set so that the miners need 10 minutes in average to mine a block. If 50% of the miners would disappear because it's not profitable any more, the difficulty would decrease so that it's profitable again. Can the ...


37

Basically, there is no such thing as a "correct" nonce, only a set of possible "correct" blocks which can use any nonce they wish to obtain an acceptable hash. So the nonce is just "some arbitrary number". But in order to understand how nonces work, you first have to understand the hashing process by which blocks are produced. Cryptographic hashes are a ...


37

The Mining Algorithm is as follows: Step 0 - Retrieve the hash of the previous block from the network. Step 1 - Gather a list of potential transactions known as a "block". This list of transactions comes from the peer-to-peer bitcoin network. Step 2 - Calculate a hash for a block of potential transactions along with a random number. Step 3 - If the hash is ...


36

They try to find a random nonce (a little random data) that goes into a block and makes the block have a (SHA256) hash that (in binary) starts with a certain amount of 0's. The more zeroes the more rare hash is. A good hash' outcome is not predictable, and so you have to try a lot of times to find a good nonce. The amount of zeroes are based on how ...


35

Disclaimer: I believe this question may be primarily opinion-based and not very appropriate for this site, but there are a number of technical misunderstandings that can be clarified along with it, so I'll give it a shot. There are many nuances involved here, and I fear that a large part of them didn't reach as much of an audience as the exchange announcing ...


33

10 minute blocks is simply a compromise. Shorter block time: PRO - Faster 1 confirmation time (to protect from 0-confirm double spend) PRO - Less payout variance for miners (less reliance on large pools) CON - Requires increased bandwidth (inter node communication) CON - More forks, longer forks, and longer re-org time CON - A greater portion of the raw ...


31

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


29

Bitcoin's block chain system is really two quite separate systems, and they are easily confused. The first one is the block tree and the second is the active chain. The block tree consists of all valid blocks whose entire ancestry is known, up to the genesis block. The rules for validness include no double spending, valid signatures, no introduction of more ...


28

Yes, it is possible, and you can actually follow "orphaned blocks" here: https://blockchain.info/orphaned-blocks Bitcoin clients always trust the longest chain, so if two blocks is mined on the same time, it's up to (51% of) the miners to decide which is going to be 'accepted' and which is going to be worthless. This is one of the reasons why you shouldn't ...


24

In Nextcoin, proof of stake is used. So the "mining" process there is just about holding coins and leaving your computer on. It doesn't involve powerful CPUs. Each block (every 60 seconds), a random Nextcoin is selected to be the next "miner". There are 1 billion coins so the odds of a single wallet being selected is the number of Nxt in that wallet ...


21

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


21

It means that there will be no significant speedup by implementing the algorithm in an ASIC, as compared to a CPU based implementation. This is usually achieved by requiring a lot of memory, which when implementing this on an ASIC, translates to needing lots of physical area on the chip. ASIC implementations derive their power from having many physically ...


20

Here are some of the relevant sections from Satoshi's paper: http://bitcoin.org/bitcoin.pdf "11. Calculations We consider the scenario of an attacker trying to generate an alternate chain faster than the honest chain. ... The race between the honest chain and an attacker chain can be characterized as a Binomial Random Walk. The success event is the honest ...


20

The user C121 on r/bitcoin explored this topic in the thread Mining Bitcoin by hand. He states that it takes 3385 integer operations to calculate one double SHA-256 hash. His conclusion was that you would reach about 0.00003 H/s, or in other terms, it would take about 9.4 hours for one hash, assuming the human in question could do a 32-bit operation in 10 ...


19

The 51% attack is emergent behavior of the system. It's not because there's a "50%" buried somewhere in the protocol that can just be changed to 60% or 75%. Someone with more hashing power than everyone else combined can, given enough time, always build a longer chain than everyone else.


18

Solving SHA256 hash problems on Bitcoin is useful in the sense that secures the Bitcoin blockchain, but if your question is: "why can't it do something computationally useful as a side-effect?", then I think the answer is "we don't know how". For Bitcoin to work, the proof-of-work that miners do must have the following properties: Easy to verify solutions ...


17

The mining reward must be collected with a transaction, so technically there is at least one transaction in each block. The mining reward was designed to enable the initial distribution of bitcoins and to encourage the creation of a powerful bitcoin network with a lot of computers to support it, therefore it makes perfect sense that a miner gets the block ...


16

The scrypt key derivation function was explicitly designed to be resistant to hardware optimization, with an explicit trade-off allowed between memory and cpu usage: The scrypt key derivation function ... is designed to be far more secure against hardware brute-force attacks than alternative functions such as PBKDF2 or bcrypt. This makes it better than ...


Only top voted, non community-wiki answers of a minimum length are eligible