145

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


70

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


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


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


38

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


38

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


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

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


36

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


30

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


30

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

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


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


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

It's not just about the miners, it is also about people using bitcoin. If miners decide to fork the chain and keep block bounty at 50btc, they cannot use those bitcoins in any place where people have not also modified their non-mining bitcoin client. Protocol changes are not just about >50% of miners, but about >50% of user clients. In this case, since ...


15

The scrypt() algorithm has at its core a routine called ROMmix. Basically, it defines V(1) = hash(message) V(2) = hash(hash(message)) V(3) = hash(hash(hash(message))) ... and it calculates V(V(V(V(...(message)))) Since computing V(n+1) requires computing V(n) first, the most efficient way to do this is to cache all of the previously-computed ...


15

The answer to your question is yes. The transaction fees reward miners from processing transactions. The block reward is for securing the hash chain. They're not "processing a zero", they're securing every transaction made in every previous block, increasing the number of confirmations it has and increasing the difficulty of undoing it.


15

Bitcoin becomes very insecure if miners stop mining. Think of how easy a 51% attack would be to pull off. However, I disagree with your assumption that miners will stop. And certainly that if Bitcoin dies it would be because miners stop. I would instead think that miners would only stop if something else already killed Bitcoin. Bitcoin is designed to always ...


14

An ASIC is another way of running a program or calculation or what have you (in our case mining) using a PCB/Hardware instead of Software running on a general purpose computer. GPUs are technically ASICs, their application being graphics processing and output. ASIC resistance means your crypto is more fairly distributed because their is no centralization ...


14

How to calculate the target from bits Let's start with a block-header, always 80-bytes that looks like this: 04000000b9e2784a84e5d2468cee60ad14e08d0fee5dda49a37148040000000000000000e9dd2b13157508891880ef68729a1e5ecdde58062ebfa214a89f0141e5a4717faefd2b577627061880564bec From the 80-bytes, the bits are actually the 72nd to 76th byte: ...


14

The incentive to mine on the currently longest chain is that there is a risk to the dishonest miner that honest, non-mining nodes may have already propagated the first block and hence reject and not propagate the second block found at an equal block height. As Proof of Work is not reusable this leads the dishonest miner to waste resources.


13

The BFL single produces high stale rates on P2Pool because of the way its firmware is designed. The BFL does 2^32 hashes and then reports any shares found. This takes it about 5 seconds. With solo mining or typical pools, the work unit you get is valid for several minutes or until a new block is found (on average, one every ten minutes). So the average ...


13

Yes and no. When a new block is created, everyone on the network must discard old work and use the new information provided (assuming they don't want to create forks). It does lead to some small performance loss. On the other hand, creating a block is more or less like playing a lottery - there is no real "progress" per se, you are just trying more and ...


13

Mining is not won by the miner with the "strongest ability to solve the block". Mining is a random process, not a linear stack of work that needs to be powered through. This is because each miner works on different inputs to their block: As everyone is trying to send the block reward to themselves, they are using different Coinbase transactions. Therefore, ...


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