Skip to main content

Questions tagged [mining-technical-details]

Questions concerned with the technical details of mining such as blockheader assembly, or details in the mining algorithm. Questions about the conceptual nature of mining should rather be tagged with [mining-theory].

Filter by
Sorted by
Tagged with
26 votes
2 answers
8k views

How does AsicBoost work?

The AsicBoost paper by Timo Hanke and Sergio Demian Lerner describes a way of increasing ASIC performance by 20%. It's a bit sparse on the details, though. What are they optimizing?
Nick ODell's user avatar
  • 29.4k
23 votes
2 answers
28k views

What is the extraNonce?

This question helps identify the various components of the getwork "data" field, but I'm curious where the extraNonce comes from. My hunch is it's the first four bytes of the second half of the data, ...
ConstableJoe's user avatar
16 votes
3 answers
24k views

How do mining pools work?

I understand the following Pooled mining is a mining approach where multiple generating clients contribute to the generation of a block, and then split the block reward according the ...
user2789433's user avatar
15 votes
1 answer
8k views

What is SPV mining, and how did it (inadvertently) cause the fork after BIP66 was activated?

I'm curious to hear an in-depth explanation of the hard fork and how it was caused; I've heard/read a great deal but I'm lacking a cohesive explanation.
Josh Cincinnati's user avatar
14 votes
4 answers
21k views

relationship between bitcoin miner and verification of transactions [closed]

Bitcoin miner mines a block, which can't be submitted to the network without proof of work. And the new block contains all of the new transactions. Hence the new block acts as a security measure, and ...
Sida Zhou's user avatar
  • 349
13 votes
3 answers
28k views

What are ASIC miners actually doing?

I'm trying to understand Bitcoin mining (software-wise), and I wonder how ASIC miners are different? I'm going through this minimal Bitcoin miner Github repository. Which part of Program.cs are ASICs ...
ewooycom's user avatar
  • 266
10 votes
3 answers
5k views

Probablity Distribution of mining

What is the probability distribution of solving a block, given the same difficulty. So if I try to mine multiple times using the same difficulty, is it normal distribution with mean of 10 minutes? ...
jaybny's user avatar
  • 183
10 votes
2 answers
36k views

Want to write my own solo cpu bitcoin miner

I just want to understand how this mining process works (from the developers point of view from very start to end). Can someone guide me towards a doc or a open source code (I am newbie here so a VERY ...
evans's user avatar
  • 101
10 votes
1 answer
30k views

Whats the process of Creating a Block on the BlockChain

have been mining on pools and blindly going a long for the ride of > generating a block Can somebody walk through the process in simple terms of the steps involved in creating a block on the ...
BitCoin New Guy's user avatar
7 votes
1 answer
5k views

Cheating on pooled mining

What is stopping me from hacking the mining software such that if I do happen to get the right hash I keep it for myself, but if not then I just submit my work done and get my share of the mined ...
KayEss's user avatar
  • 173
7 votes
2 answers
2k views

When does a miner decide to stop collecting transactions and start calculating hashes to try to win?

I am confused about whether a miner chooses to wait for more transactions (more fees) or starts as soon as it receives the first transaction from the network. Once a miner has started calculating the ...
Peter Mel's user avatar
  • 635
7 votes
2 answers
2k views

How is it that concurrent miners do not subvert each other's work?

Every time a new block is added on top of block chain, the miners have to restart their work because the next block has to have a proper reference to previous block. Let's suppose that there is some ...
czerny's user avatar
  • 247
7 votes
1 answer
4k views

How does a miner perform hashing?

I'm trying to walk my way through the process by which a miner hashes. Let's say the getwork request returns a data field of: ...
ConstableJoe's user avatar
6 votes
1 answer
938 views

What happens when the nonce field overflows?

The nonce field of a block header is 4 bytes, so the max nonce is: 4,294,967,295. That could be computed in a few seconds with a reasonable rig (solo mining) or much quicker on large pools. What ...
Anonymous's user avatar
  • 473
6 votes
2 answers
2k views

What happens to extinct blockchains, and transactions inside of them?

While understanding the concept of block chain and proof of work, few things are confusing me. Miners always consider the longest chain(by difficulty) and work on expanding it. Now, lets say two ...
Avikarsha Mandal's user avatar
5 votes
3 answers
426 views

How hard is it to alter a block after it was found?

Once a miner has found a block, how easy it is for him to add or remove a tx included in that very block? Would he have to solve the modified block from the scratch or is there a point he can resume ...
Doug Peters's user avatar
  • 1,366
5 votes
3 answers
1k views

Visualize Bitcoin Hashing

According to https://en.bitcoin.it/wiki/Hash, BitCoin uses the SHA-256 hash algorithm to generate verifiably "random" numbers in a way that requires a predictable amount of CPU effort. ...
Digital fire's user avatar
5 votes
3 answers
2k views

Do miners have to hold all the blocks in memory?

Running a miner node, one would have to verify transactions. This includes checking all the inputs of all the transactions. Does this mean that a miner must hold all the block-chain in memory (...
summerbulb's user avatar
5 votes
2 answers
722 views

Miner speed conversion

What is the exact ratio one would use to convert Miner speed from Hashes per second to Shares per second, assuming Difficulty 1 shares?
ThePiachu's user avatar
  • 43.1k
5 votes
2 answers
2k views

How are eth transaction faster than btc? [closed]

If I'm not wrong miners are trying to find nonce that satisfies a rule. Then why is btc so slow? I want a technical answer. Can btc ever match eth speed, given no politics?
KOKRO's user avatar
  • 51
5 votes
1 answer
3k views

mining with one client on multiple mining pool

Is it possible to mine on different mining pool using one client? Ok, I know that this sounds ridiculous, but my thoughts are as follows: if I already calculated a lot of hashes for a work for one ...
Salvador Dali's user avatar
5 votes
2 answers
486 views

If block sizes go up, won't sigop limits have to change too?

Gavin Andresen, one of the core developers, has discussed increasing the block size to 16.7 MB (and doubling that every two years). The maximum number of signature operations per block is currently ...
Nick ODell's user avatar
  • 29.4k
5 votes
1 answer
445 views

Getwork - can the miner increment timestamp?

When requesting getwork from bitcoind or a pool, the miner is expected to be incrementing the nonce value of the block, but can it also increment the timestamp value, or would such tempering cause a ...
ThePiachu's user avatar
  • 43.1k
5 votes
2 answers
5k views

What is the difference in hashing algorithm between bitcoin and litecoin?

I am having trouble finding litecoin mining specifications. I would first of all require something like this: https://en.bitcoin.it/wiki/Block_hashing_algorithm Except for litecoins. I need to know ...
if __name__ is None's user avatar
5 votes
1 answer
2k views

What are the internal details of GetWork() .. the foundation of Bitcoin mining?

According to this answer GetWork() sends "a chunk of data containing the block data, including the randomized bits, and the nonce (the bit which the miner changes)." Can anyone provide details on ...
makerofthings7's user avatar
4 votes
2 answers
2k views

how exactly was the original coefficient for difficulty determined?

I'm assuming difficulty has a "target" of 10 minutes because the coefficient satoshi chose becomes multiplied by a variable to help the network remain in proportion. IE, if the network hashrate is 2x ...
bvpx's user avatar
  • 1,142
4 votes
2 answers
1k views

Why does an adversary have to control 50% of the computing power to double spend?

If transactions in a block are valid, in order to add that block in the block chain, a proof of work needs to be found. I have read the bitcoin paper by Satoshi. If the difficulty of the proof of ...
Curious's user avatar
  • 295
4 votes
2 answers
6k views

Why don't any of the SHA-256 vulnerabilities matter for mining?

Wikipedia lists several vulnerabilities in SHA-256. Presumably, none of them can be used to mine faster, or it would be done already. Why don't these vulnerabilities lead to a problem for mining?
ike's user avatar
  • 368
4 votes
2 answers
2k views

Intrinsically useful proof-of-work using Mersenne or Fermat numbers factorization. Could it be possible? [closed]

I was reading this question and got myself thinking - why can't a crypto-currency use as proof-of-work a difficult problem that has value outside of the network? I understand the effort to produce all ...
Joe Pineda's user avatar
  • 2,118
4 votes
1 answer
620 views

Why does the daemon require peers in order to start mining?

I wanted to start mining Bitcoin from the genesis block, so I cloned Bitcoin and removed the checkpoints. Then I compiled and started up the daemon. I wasn't connected to any other peers, however, so ...
morsecoder's user avatar
  • 14.2k
4 votes
2 answers
1k views

How to tell who mined a bitcoin?

If the Bitcoin algorithm was broken and someone started spitting out blocks one after the other through their otherworldly space computer, could it be detected that the same miner was busting all the ...
Motomotes's user avatar
  • 143
4 votes
2 answers
3k views

Which coins can butterfly-labs miners mine

Can I use a butterfly-labs miner to mine any crypto-currency?
oshirowanen's user avatar
4 votes
2 answers
191 views

How soon does bitcoind incorporate locally solved blocks into its 'getwork' output?

If one sends a solved block to bitcoind server using getmemorypool or getwork, and right after that requests a new block using the same API call, what will the server respond with? Assuming the data ...
ThePiachu's user avatar
  • 43.1k
4 votes
1 answer
2k views

SHA256 Implementation Gate Equivalent

I needed help in understanding how to calculate the GE for a SHA256 implementation. I need to calculate the GE of individual functions in the SHA256 hashing algorithm. Could anyone please direct me ...
Balthazar2012's user avatar
4 votes
1 answer
2k views

What are midstate and hash1 used for in mining?

The first answer here does a good job explaining how the SHA-256 function requires more than one input (an initial one is specified by to the SHA-256 specs). As far as I understand it, the "midstate" ...
ConstableJoe's user avatar
4 votes
1 answer
563 views

A full/multi nonce range search or just a partial range search?

In a work, there are only two elements in the block header change between hash attempts. That is, NTime and Nonce. The miner starts the nonce search to get a valid share, and there are several ...
Jimmy's user avatar
  • 43
4 votes
1 answer
798 views

Is my idea of getwork protocol for bitminer right?

I am trying to understand the idea behind getwork protocol, by sniffing my communication with a bitminter miner pool. Previously I have read the discussion here, but looking at my packets, I think ...
Salvador Dali's user avatar
3 votes
1 answer
2k views

What values are hashed in the SHA-256 algorithm, and what would be the next iteration until a possible header is found?

I've been doing a lot of reading on mining and software related to mining but I can't quite get my head wrapped around the specific nature of what is being hashed together. So far I feel like the ...
Snarf's user avatar
  • 31
3 votes
2 answers
6k views

Bitcoin mining algorithm

I was looking at some sample mining algorithms and also some sample code and there was something which I didnt really understand. In Simple bitcoin mining algorithm he says , The simplest miner would ...
Enthusiast's user avatar
3 votes
1 answer
1k views

In pooled mining, what is pdiff, bdiff and ldiff?

In pooled mining, there seem to be three different terms for difficulty in use. Apparently, the Stratum protocol uses bdiff, BTCGuild uses pdiff, and Ldiff is common for various Scrypt pools as ...
Dr.Haribo's user avatar
  • 8,469
3 votes
1 answer
2k views

How do pool server's handle multiple workers sharing one connection with Stratum protocol

The stratum protocol supports authorizing multiple workers in a single connection. Unfortunately, I didn't find any documentation about how this should be handled by pool server software. If multiple ...
thankyou's user avatar
3 votes
1 answer
5k views

How much does system RAM matter for Litecoin mining?

I know your system RAM cannot be smaller than your GPU RAM for LTC mining, but other than that, is it a problem if you have like only 2GB of RAM?
Thiago's user avatar
  • 311
2 votes
2 answers
1k views

Does the nonce have to be a number?

Since we're just trying to produce a specific hash output, couldn't the nonce also include letters or otherwise random bits?
pinhead's user avatar
  • 5,164
2 votes
1 answer
532 views

Has the nonce used in mining been sized?

In the mining process, everytime a block has to be confirmed, a certain hash with an incremental nonce is generated: If the nonce is a 32 bit number it can assume a value between 0 and 2^32 - 1. It ...
nglpx1's user avatar
  • 21
2 votes
1 answer
380 views

Cheating ASICs and Mining Software

I've noticed the recently solved block hashes have started with a number of zeros (8 last time I checked). Couldn't we just tell our mining hardware/software to assume the first few digits are in fact ...
Rex's user avatar
  • 31
2 votes
3 answers
1k views

Bitcoin pool and getwork data validity

Bitcoin pools need to check data returned with getwork for validity (proper hashing result, etc.). Bitcoind that issues the initial getworks is also able to perform some data checking, but it might ...
ThePiachu's user avatar
  • 43.1k
2 votes
1 answer
49 views

Could a miner set a maximium transaction fee rate?

Could a miner set a maximimum transaction fee rate? I mean validate only transactions between x and y satoshis/byte? I know is not clever. Is it possible?
Pablo Estevez's user avatar
2 votes
1 answer
164 views

Why does the bitcoin mining code have the same if statement twice?

From the v0.9.3 miner.cpp source (https://github.com/bitcoin/bitcoin/blob/v0.9.3/src/miner.cpp#L598-L604): if (GetTimeMillis() - nHPSTimerStart > 4000) { static CCriticalSection cs; { ...
morsecoder's user avatar
  • 14.2k
2 votes
1 answer
86 views

Where is the code that specifies when a block is released?

I'm not sure how this exactly works. So roughly every 10 mins a block is released to the network. How is this done? Does my bitcoin client signal this? Would that mean in theory if there was just one ...
Sean's user avatar
  • 23
2 votes
1 answer
292 views

Can a miner refuse it's reward? [duplicate]

As of 2014, miners that successfully mine a block are entitled to 25 bitcoins. Can miners refuse to receive those 25 bitcoins, thereby reducing the total number of bitcoins that will ever be mined?
Randomblue's user avatar