Bitcoin Forum
November 02, 2024, 07:50:53 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Block generation technical specifics  (Read 1724 times)
busterroni (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


View Profile
September 09, 2014, 06:49:31 PM
 #1

For the technical aspect of bitcoin mining I'm not sure how one actually 'finds a block' and how a hash comes into play. I think it works that there's a long string of numbers and letters like 002727281HFFJjGjb857. This is a hash. A miner runs through millions of hashes a second in search of THE block's hash. When the miner has the same hash as the block's hash the miner gets the btc reward. When the difficulty goes up the hash gets more complex. Is this correct? Thanks Smiley

P.S. Please don't tell me to google it. I have tried and can't seem to find a good middle ground. The explanations I've found are either too complex or too basic. The too complex ones bring the math of creating the hash into it and the too basic don't go into hashes too much.
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
September 09, 2014, 09:41:52 PM
 #2

A bitcoin block hash is a sha256 (32 bytes)
The hashed data contains several things, including the current time, the previous block hash and a random "nonce"
Also there's a "target" (depending on the total bitcoin hashrate) value being calculated and which gives the number of zeroes your block must start with to be valid
If your block hash doesn't starts with enough zeroes, then you should try again with another nonce

Tell me if it's too basic

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
busterroni (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


View Profile
September 09, 2014, 09:45:25 PM
 #3

A bitcoin block hash is a sha256 (32 bytes)
The hashed data contains several things, including the current time, the previous block hash and a random "nonce"
Also there's a "target" (depending on the total bitcoin hashrate) value being calculated and which gives the number of zero's your block must start with to be valid

Tell me if it's too basic
I mean, what is my miner doing when it's running? Is it running through thousands of hashes a second trying to get the same hash as the one in the block?
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
September 09, 2014, 09:47:52 PM
 #4

Did you look at this page?
It explains the process quite nicely
https://en.bitcoin.it/wiki/Block_hashing_algorithm

What do you mean "the same hash as the one in the block?"

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
BitCoinDream
Legendary
*
Offline Offline

Activity: 2394
Merit: 1216

The revolution will be digital


View Profile
September 09, 2014, 10:02:38 PM
 #5

A bitcoin block hash is a sha256 (32 bytes)
The hashed data contains several things, including the current time, the previous block hash and a random "nonce"
Also there's a "target" (depending on the total bitcoin hashrate) value being calculated and which gives the number of zeroes your block must start with to be valid
If your block hash doesn't starts with enough zeroes, then you should try again with another nonce

Tell me if it's too basic

Just trying to clarify something here. Does this mean that the next block hash may be different if found by 2 different miners (obviously I know the earlier one wins the race) ? As I can see here, there r 2 variables and one constant to find the next hash with given no. of zeroes at the beginning...

Variable 1 => current time

Variable 2 => random "nonce"

Constant => previous block hash

So, required no. of zeroes can be found with different Variable 1 & Variable 2 ...is not it ?

ncsupanda
Legendary
*
Offline Offline

Activity: 1628
Merit: 1012



View Profile
September 09, 2014, 10:03:17 PM
 #6

Did you look at this page?
It explains the process quite nicely
https://en.bitcoin.it/wiki/Block_hashing_algorithm

What do you mean "the same hash as the one in the block?"

I believe he is asking if his miner is looking for the "answer" that is calculated when the block is established.

So imagine you go up to a really hard math problem you've never seen; It has an answer, you just don't know what it is. He is asking if that's how Bitcoin works.

The page you've posted is the best answer to this question.
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
September 09, 2014, 10:07:50 PM
 #7

A bitcoin block hash is a sha256 (32 bytes)
The hashed data contains several things, including the current time, the previous block hash and a random "nonce"
Also there's a "target" (depending on the total bitcoin hashrate) value being calculated and which gives the number of zeroes your block must start with to be valid
If your block hash doesn't starts with enough zeroes, then you should try again with another nonce

Tell me if it's too basic

Just trying to clarify something here. Does this mean that the next block hash may be different if found by 2 different miners (obviously I know the earlier one wins the race) ? As I can see here, there r 2 variables and one constant to find the next hash with given no. of zeroes at the beginning...

Variable 1 => current time

Variable 2 => random "nonce"

Constant => previous block hash

So, required no. of zeroes can be found with different Variable 1 & Variable 2 ...is not it ?
Yes.
No.

Actually, the number of zeroes if defined in advance (every 2016 blocks).
So when you're looking for a block the target is already set. And that's how you know your block is valid: it is below the target.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
September 09, 2014, 10:11:00 PM
 #8

Did you look at this page?
It explains the process quite nicely
https://en.bitcoin.it/wiki/Block_hashing_algorithm

What do you mean "the same hash as the one in the block?"

I believe he is asking if his miner is looking for the "answer" that is calculated when the block is established.

So imagine you go up to a really hard math problem you've never seen; It has an answer, you just don't know what it is. He is asking if that's how Bitcoin works.

The page you've posted is the best answer to this question.
I see.
Actually we're not looking for a specific hash, we're looking for any hash that starts with enough zeroes.
So yeah, the best answer is the page I posted. See also my previous post and the question it was replying to.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
BitCoinDream
Legendary
*
Offline Offline

Activity: 2394
Merit: 1216

The revolution will be digital


View Profile
September 09, 2014, 10:19:05 PM
 #9

A bitcoin block hash is a sha256 (32 bytes)
The hashed data contains several things, including the current time, the previous block hash and a random "nonce"
Also there's a "target" (depending on the total bitcoin hashrate) value being calculated and which gives the number of zeroes your block must start with to be valid
If your block hash doesn't starts with enough zeroes, then you should try again with another nonce

Tell me if it's too basic

Just trying to clarify something here. Does this mean that the next block hash may be different if found by 2 different miners (obviously I know the earlier one wins the race) ? As I can see here, there r 2 variables and one constant to find the next hash with given no. of zeroes at the beginning...

Variable 1 => current time

Variable 2 => random "nonce"

Constant => previous block hash

So, required no. of zeroes can be found with different Variable 1 & Variable 2 ...is not it ?
Yes.
No.

Actually, the number of zeroes if defined in advance (every 2016 blocks).
So when you're looking for a block the target is already set. And that's how you know your block is valid: it is below the target.

By 'required no. of zeroes', I mean a fixed no. that can be achieved by different values of Variable 1 & Variable 2. I guess, now both the answers are 'Yes' !!!

Moreover, what if the miner tampers his current timestamp ? Does it have any adverse effect ?

By the way, I just quoted your explanation here => https://bitcointalk.org/index.php?topic=568942.msg8751939#msg8751939 ...Hope u dont mind !!!

jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
September 09, 2014, 10:27:39 PM
 #10

If I understand correctly, yes it's a yes. You can always find variable1 and variable2 values that will make the hash starting with enough zeroes.

And no it doesn't have any adverse effect. It's just like changing the nonce.
Except that if the time is too much off, then nodes will refuse to propagate the new block.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
busterroni (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


View Profile
September 09, 2014, 10:29:23 PM
 #11

Thanks for the help everyone.

I think I understand it a bit more, but still have some questions:

Did you look at this page?
It explains the process quite nicely
https://en.bitcoin.it/wiki/Block_hashing_algorithm

What do you mean "the same hash as the one in the block?"

I believe he is asking if his miner is looking for the "answer" that is calculated when the block is established.

So imagine you go up to a really hard math problem you've never seen; It has an answer, you just don't know what it is. He is asking if that's how Bitcoin works.

The page you've posted is the best answer to this question.
I see.
Actually we're not looking for a specific hash, we're looking for any hash that starts with enough zeroes.
So yeah, the best answer is the page I posted. See also my previous post and the question it was replying to.
I noticed the line in the article about zeroes: "Note that the actual hash, which is a 256-bit number, has lots of leading zero bits. When stored or printed as a big-endian hexadecimal constant, but it has leading zero bytes and if stored or printed as little-endian, these are the trailing zero bytes. E.g. if interpretation as a string -- lowest (or start of) string address keeps lowest significant byte, thus little-endian. The output of blockexplorer displays the hash values as big-endians numbers as notation for numbers is usual -- leading digits are the most significant digits read from left to right."

Not gonna lie, I hardly understand anything in that paragraph.

So, if I'm understanding you right, when the hash has you generate has enough zeroes, you discover that block? Is the amount of zeroes needed defined by the difficulty? And if all hashes start with zeroes, what makes it so hard for the hash to have the right number of zeroes?
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1137

All paid signature campaigns should be banned.


View Profile WWW
September 09, 2014, 10:34:26 PM
 #12

I think number of zeros is confusing and is actually not even correct.

Look upon the hash as a big long number.  The target is actually another number.

Mining is this, in a nutshell:

1) Hash the block
2) Is the hash of the block less than the current target (which is just a number set by the protocol about every two weeks)
3) If yes you win, broadcast your result collect your 25 BTC
4) If no then modify the block so you will get a different result when you calculate the hash, go to step 1)

Do steps 1-4 as fast as you possibly can.

Since two miners can get two different hashes which are both less than the target you can have "ties" so there is a mechanism to break "ties"

The timestamps are not used as timestamps since they are not reliable and can be faked.

If there is a tie between two miners then the hashes produce by the two (or more) miners in the tie will always be different results but they will all need to be less than the target to be "winners"
 

Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
September 09, 2014, 10:37:08 PM
 #13

Thanks for the help everyone.

I think I understand it a bit more, but still have some questions:

Did you look at this page?
It explains the process quite nicely
https://en.bitcoin.it/wiki/Block_hashing_algorithm

What do you mean "the same hash as the one in the block?"

I believe he is asking if his miner is looking for the "answer" that is calculated when the block is established.

So imagine you go up to a really hard math problem you've never seen; It has an answer, you just don't know what it is. He is asking if that's how Bitcoin works.

The page you've posted is the best answer to this question.
I see.
Actually we're not looking for a specific hash, we're looking for any hash that starts with enough zeroes.
So yeah, the best answer is the page I posted. See also my previous post and the question it was replying to.
I noticed the line in the article about zeroes: "Note that the actual hash, which is a 256-bit number, has lots of leading zero bits. When stored or printed as a big-endian hexadecimal constant, but it has leading zero bytes and if stored or printed as little-endian, these are the trailing zero bytes. E.g. if interpretation as a string -- lowest (or start of) string address keeps lowest significant byte, thus little-endian. The output of blockexplorer displays the hash values as big-endians numbers as notation for numbers is usual -- leading digits are the most significant digits read from left to right."

Not gonna lie, I hardly understand anything in that paragraph.

So, if I'm understanding you right, when the hash has you generate has enough zeroes, you discover that block? Is the amount of zeroes needed defined by the difficulty? And if all hashes start with zeroes, what makes it so hard for the hash to have the right number of zeroes?
Forget about that paragraph it's just deep thoughts about numbers representations inside processors.

Yes.
Yes.
The difficulty is that the result of the hashing function is random. For example let's imagine I create a hashing function that takes some data in and returns a number between 00000 and 99999. Then if the target is 09999 it will be easier to find a matching block than if the target is 00009.
09999 would make 1 hash out of 10 valid, whereas with 00009, only 1 hash out of 10000 would be valid.


I think number of zeros is confusing and is actually not even correct.

Look upon the hash as a big long number.  The target is actually another number.

Mining is this, in a nutshell:

1) Hash the block
2) Is the hash of the block less than the current target (which is just a number set by the protocol about every two weeks)
3) If yes you win, broadcast your result collect your 25 BTC
4) If no then modify the block so you will get a different result when you calculate the hash, go to step 1)

Do steps 1-4 as fast as you possibly can.

Since two miners can get two different hashes which are both less than the target you can have "ties" so there is a mechanism to break "ties"

The timestamps are not used as timestamps since they are not reliable and can be faked.

If there is a tie between two miners then the hashes produce by the two (or more) miners in the tie will always be different results but they will all need to be less than the target to be "winners"
 

Indeed it's not correct, but I think it's easier too understand when you're not familiar with the hexadecimal notation.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
busterroni (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


View Profile
September 09, 2014, 10:42:52 PM
 #14

I think number of zeros is confusing and is actually not even correct.

Look upon the hash as a big long number.  The target is actually another number.

Mining is this, in a nutshell:

1) Hash the block
2) Is the hash of the block less than the current target (which is just a number set by the protocol about every two weeks)
3) If yes you win, broadcast your result collect your 25 BTC
4) If no then modify the block so you will get a different result when you calculate the hash, go to step 1)

Do steps 1-4 as fast as you possibly can.

Since two miners can get two different hashes which are both less than the target you can have "ties" so there is a mechanism to break "ties"

The timestamps are not used as timestamps since they are not reliable and can be faked.

If there is a tie between two miners then the hashes produce by the two (or more) miners in the tie will always be different results but they will all need to be less than the target to be "winners"
 
How can there be a tie if the first one to get a hash less than the difficulty wins?
BitCoinDream
Legendary
*
Offline Offline

Activity: 2394
Merit: 1216

The revolution will be digital


View Profile
September 09, 2014, 10:47:24 PM
 #15

I think number of zeros is confusing and is actually not even correct.

Look upon the hash as a big long number.  The target is actually another number.

Mining is this, in a nutshell:

1) Hash the block
2) Is the hash of the block less than the current target (which is just a number set by the protocol about every two weeks)
3) If yes you win, broadcast your result collect your 25 BTC
4) If no then modify the block so you will get a different result when you calculate the hash, go to step 1)

Do steps 1-4 as fast as you possibly can.
 

U actually omit the part of explaining what 'Hash the block' means, which is part of jackjack's explanation.

By the way, is there any known function to adjust the nonce to get a lower hash ?

busterroni (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


View Profile
September 09, 2014, 10:47:49 PM
 #16

Thanks for the help everyone.

I think I understand it a bit more, but still have some questions:

Did you look at this page?
It explains the process quite nicely
https://en.bitcoin.it/wiki/Block_hashing_algorithm

What do you mean "the same hash as the one in the block?"

I believe he is asking if his miner is looking for the "answer" that is calculated when the block is established.

So imagine you go up to a really hard math problem you've never seen; It has an answer, you just don't know what it is. He is asking if that's how Bitcoin works.

The page you've posted is the best answer to this question.
I see.
Actually we're not looking for a specific hash, we're looking for any hash that starts with enough zeroes.
So yeah, the best answer is the page I posted. See also my previous post and the question it was replying to.
I noticed the line in the article about zeroes: "Note that the actual hash, which is a 256-bit number, has lots of leading zero bits. When stored or printed as a big-endian hexadecimal constant, but it has leading zero bytes and if stored or printed as little-endian, these are the trailing zero bytes. E.g. if interpretation as a string -- lowest (or start of) string address keeps lowest significant byte, thus little-endian. The output of blockexplorer displays the hash values as big-endians numbers as notation for numbers is usual -- leading digits are the most significant digits read from left to right."

Not gonna lie, I hardly understand anything in that paragraph.

So, if I'm understanding you right, when the hash has you generate has enough zeroes, you discover that block? Is the amount of zeroes needed defined by the difficulty? And if all hashes start with zeroes, what makes it so hard for the hash to have the right number of zeroes?
Forget about that paragraph it's just deep thoughts about numbers representations inside processors.

Yes.
Yes.
The difficulty is that the result of the hashing function is random. For example let's imagine I create a hashing function that takes some data in and returns a number between 00000 and 99999. Then if the target is 09999 it will be easier to find a matching block than if the target is 00009.
09999 would make 1 hash out of 10 valid, whereas with 00009, only 1 hash out of 10000 would be valid.


I think number of zeros is confusing and is actually not even correct.

Look upon the hash as a big long number.  The target is actually another number.

Mining is this, in a nutshell:

1) Hash the block
2) Is the hash of the block less than the current target (which is just a number set by the protocol about every two weeks)
3) If yes you win, broadcast your result collect your 25 BTC
4) If no then modify the block so you will get a different result when you calculate the hash, go to step 1)

Do steps 1-4 as fast as you possibly can.

Since two miners can get two different hashes which are both less than the target you can have "ties" so there is a mechanism to break "ties"

The timestamps are not used as timestamps since they are not reliable and can be faked.

If there is a tie between two miners then the hashes produce by the two (or more) miners in the tie will always be different results but they will all need to be less than the target to be "winners"
 

Indeed it's not correct, but I think it's easier too understand when you're not familiar with the hexadecimal notation.
I get that you're trying to make it simpler, but I really wanna know the way it's done correctly. Even if it's confusing.
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1137

All paid signature campaigns should be banned.


View Profile WWW
September 09, 2014, 10:51:20 PM
 #17

By the way, is there any known function to adjust the nonce to get a lower hash ?
No.  If there was then the hashing function is broken, Bitcoin is broken and every other system that uses the hashing function is broken.

Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
September 09, 2014, 10:55:55 PM
 #18

I think number of zeros is confusing and is actually not even correct.

Look upon the hash as a big long number.  The target is actually another number.

Mining is this, in a nutshell:

1) Hash the block
2) Is the hash of the block less than the current target (which is just a number set by the protocol about every two weeks)
3) If yes you win, broadcast your result collect your 25 BTC
4) If no then modify the block so you will get a different result when you calculate the hash, go to step 1)

Do steps 1-4 as fast as you possibly can.
 

U actually omit the part of explaining what 'Hash the block' means, which is part of jackjack's explanation.

By the way, is there any known function to adjust the nonce to get a lower hash ?
No, that's the point of hashing functions: the output can't be predicted.


Quote
I get that you're trying to make it simpler, but I really wanna know the way it's done correctly. Even if it's confusing.
Well, the process is literally what I described. Just with bigger numbers.
Let's say the current target is 000...0004c7b (with enough zeroes replacing the "..." to have 64 characters)
Then the accepted hashes for the next block will be all the hashes inferior to this target.
ie 0...004c7a, 0...004c79, 0...004c78, etc, 0...004c70, 0...004c6f, etc, 0...000000.

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1137

All paid signature campaigns should be banned.


View Profile WWW
September 09, 2014, 10:56:23 PM
 #19

How can there be a tie if the first one to get a hash less than the difficulty wins?
Bitcoin does not use a world wide clock to tell who wins.  Two miners can get hashes that are both less than the target at more or less the same time.  They both can claim the 25 BTC at more or less the same time.  If one miner is on one side of the planet and the other one is on the other side of the planet then parts of the network will agree with miner one and parts of the network will agree with miner two.  So the conflict gets resolved but not by using a clock - because that would not work.

Once the conflict is resolved by all the nodes on the system one of the two blocks get accepted by everyone and the other one is thrown out.  The miner that gets accepted by everyone gets the block reward and fees.  The other miner gets the shaft, what we call an orphaned block.  This happens all the time.

Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
BitCoinDream
Legendary
*
Offline Offline

Activity: 2394
Merit: 1216

The revolution will be digital


View Profile
September 09, 2014, 10:58:42 PM
 #20

How can there be a tie if the first one to get a hash less than the difficulty wins?
Bitcoin does not use a world wide clock to tell who wins.  Two miners can get hashes that are both less than the target at more or less the same time.  The both can claim the 25 BTC at more or less the same time.  If one miner is on one side of the planet and the other one is on the other side of the planet then parts of the network will agree with miner one and parts of the network will agree with miner two.  So the conflict gets resolved but not by using a clock - because that would not work.

U mean who has the lower hash among the 2 or more hashes below target becomes the ultimate winner ?

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!