Wednesday, May 8, 2013

Bitcoin Mechanics


Here are a little bit of info about Bitcoin's inner workings.  

Note I am still a newbie in bitcoin.  I appreciate your help in correcting and editing it if you find any issue.


Transactions
All transactions in bitcoins are public.  This is how bitcoin system prevent someone from double-spending a coin as all transactions are public and viewable by everyone.  

One place to view the info of each these transaction is http://blockchain.info.

When you sends a bitcoin, you will sign the transaction with your private key.  Your public key is known to others, so others are able to verify that you are the sender using your public key.  Along with the transaction, you will also sign the transaction whereby you receive the bitcoin.  That way, your previous ownership of the coin can be verified so we know that you had the ownership of those coin you sent.


Proof of work

Proof-of-work is a task/work that require certain computation efforts, but is rather easy (computationally small effort) to check that the effort is made.  

Proof-of-work was proposed for stopping spam by requiring the sender to do a proof of work.  To most sender, the additional computational effort is not detrimental.  But to spammers who need to send millions or billions of email, the computational effort in every proof-of-work adds up quickly.  It becomes a deterrent to them.  

A proof-of-work may be taking a string, and finding an appending string that can be hashed into a hash with a certain number of proceeding 0s.  

Bitcoin uses proof-of-work in bitcoin mining.  The following explanation comes from Wikipedia.
"The mining process or proof-of-work process involves scanning for a value that when hashed with SHA-256, the hash begins with a number of zero bits. The average work required is exponential in the number of zero bits required, but can always be verified by executing a single hash" (http://en.wikipedia.org/wiki/Bitcoin)


Blockchain

The new transactions has to be incorporated into bitcoin blockchains.  The mining node will take the transaction records, and find a "proof" (a string of numbers) that combined with the transaction records, will generate a hash with a certain number of proceeding 0s.  This will require a lot of tries and guesses to find that proof.  Once that is found, the miner can add a reward to it, where by they get reward for doing this work.  This is called bitcoin mining.

No comments:

Post a Comment