Bitcoin Forum
May 07, 2024, 08:37:46 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin Hashing in english with math. :-)  (Read 448 times)
Smack (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
April 16, 2013, 10:55:03 PM
 #1

Hello,

     I have found a lot of information on the bitcoin protocol but I was wondering if someone could help me understand the process of requesting a block, the hash process, get / return messages / golden ticket won processes, etc.

Meaning... 

Lets say that we are going to map out the process in English without worrying about hardware OS etc.

Our client is a magic box that will just do what ever we tell it to do.  :-)


Thanks,
Smack


1715071066
Hero Member
*
Offline Offline

Posts: 1715071066

View Profile Personal Message (Offline)

Ignore
1715071066
Reply with quote  #2

1715071066
Report to moderator
No Gods or Kings. Only Bitcoin
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
troner
Newbie
*
Offline Offline

Activity: 36
Merit: 0


View Profile WWW
April 16, 2013, 11:04:23 PM
 #2

I think the best place to start is wiki at https://en.bitcoin.it/wiki/Mining

BTW, what do you mean by "golden ticket won processes"?
Smack (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
April 16, 2013, 11:32:15 PM
 #3

Yes to answer your question.

I have looked at that link.

I guess I am looking for a more complex version of the South Park underpants gnomes.

1. ask for block?
2. Do something.
3. Win a golden ticket!


That is a joke, but I am looking for a step one, step two process understanding.

Thanks,
Smack
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
April 17, 2013, 03:35:41 AM
Last edit: April 17, 2013, 01:01:42 PM by DannyHamilton
 #4

I'll take a stab at it.  Not sure just how much detail you're looking for.

  • A hash of the previous block is added to a new block header
  • A set of unconfirmed transactions are chosen
  • A merkle root is generated from the list of transactions and included in the new block header
  • Other block attributes are added to the new block header (Block format version, Block length, Timestamp, target, transaction count, etc)
  • A nonce is chosen and added to the block header
  • A SHA-256 hash of the block header is calculated
  • A SHA-256 hash of that hash is calculated
  • If the value of the resulting hash is less than the target, the block is "solved" and broadcast
  • If the value of the resulting hash is not less than the target, the nonce is incremented and the previously mentioned double-hash is calculated
  • The increment, double hash, compare process is repeated until a hash with low enough value is found or a solved block is received from a peer.
  • If all possible nonces have been attempted, then some other information in the block is modified and the process is repeated

Which of these steps are you looking for more detail about?

More information:
https://en.bitcoin.it/wiki/Block_hashing_algorithm
Smack (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
April 17, 2013, 05:39:55 AM
 #5

Thanks!  That did help.

That put me on the right path to understand what I am trying to figure out.

I am going to do a "I want to understand project"  I am going to try to write a very slow C# application that will Mine.  Understand that this is not being done because I think I can mine like speed racer with a C# application.  I am doing this because I want to fully understand the hashing/mining process.

Thanks,
Smack.
Pages: [1]
  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!