Author

Topic: How BitCoin Works - Under the Hood (Read 588 times)

newbie
Activity: 11
Merit: 0
January 20, 2014, 01:48:40 AM
#3
Fabulous explanation.  I gained so much more understanding about how this works as well as this cleared up some misunderstandings I had before.
Thank you so much for guidance.  After reading some more, I am willing to go little more in depth of this.

Let say I have 2BTC in my wallet.  Now I send 1BTC to some other address.
Per the explanation, I think this is nothing but two (may be more) transactions.
How does it technically happen?  Does my client create the transaction itself?  If no, who else does it for me?  If yes, how do they enter the network?
Does some one need to solve the block which lists this transaction before it enters the network?  Who can make this part of the network and/or block chain?

I know some of my questions sound stupid, but I am ready to take in dirty technical details and really want to digest what happens under the hood.

Thanks again for your guidance.
full member
Activity: 280
Merit: 100
The Future Of Work
January 19, 2014, 11:45:44 PM
#2
Ok, instead of a boring "how d' ya do" post, Ill try to answer this question... er... in a non-technical manner.  As you've probably read, bitcoin, and all he other *coins are a decentralized monetary system.  The idea here is that no central organization has any control over it, and hopefully never will.  The wallets everyone downloads are not only a user interface for people to pay or get paid, but also contain a record of every transaction that ever transpired.  

These transactions "are" the coin.  There is no physical representation of the coins (I'm sure you understand that already) but at the same time, there are no individual "coins"  What you have is a transaction that says it's worth so many 'coins'.  When you spend some of your coins, you end up with something like (as I understand it) two new transactions, one that stays with you (your left over, unspent coins's new value) and the other is sent off to the payee.

Now, all these transactions must be verified.  We don't want these coins to be spent more than once, so somewhere we need computer power to verify these transactions.  But whom do we trust to do this?  

Well, the brilliance of this system is that we trust nobody, yet when everybody agrees that a transaction is valid, then we can be sure it is.  Basically, the system is built on mutual distrust.  This is where you might here of the 51% issue.  

This is where we need to talk about pools.  When you pool with others your mining power, you use the pool's wallet, and the pool operator pays you a percentage of any income based on your input.  So you can see that if a pool becomes so popular, it could possibly take over more than 50% of the hashing going on (hashing is what they call processing transactions).  If that happens, it can become profitable to manipulate the system in order to cheat.  Currently, with most coins such as bitcoin, it is self regulating.  That is, people will move to another pool, if their pool gets too big.  they do this because most people will lose if somebody takes over the system, causing the coin's integrity to be broken.  If that should happen, the trust in the coin would break and it could become worthless to all.

So, somewhere in that mess, the program running the coin is also producing "transactions" that are not functioning for anything more than to put money into the system.  This is called "releasing a block"  miners hash these along with the practical transactions happening between people.  When these "blocks" are solved, coin is awarded the person that solved it first.  It might be an individual, who gets the entire prize or, more likely, a pool.  This is a matter of chance and speed.  The coins that are awarded, here put coins into the system.  The reasons for this are:

1.  It encourages people to "mine" which gives the system the computer power it needs to run and exist.

2.  This is the way the first coins and indeed still is the main way that coins are produced.

3.  Without new coins, there would be too much pressure on the system.  Nobody would trade in coins if they were so hard to attain, and this is one of the problems with bitcoin.  The coin creation is not great enough for the demand, pressuring the price to go up so high.  This creates the difficulty of understanding how much a small % of a bitcoin is worth when you want to go to the store and buy a $25 item but pay in bitcoin.  You can trust the store that the conversion is correct, or you have to calculate yourself, etc... making it frankly difficult for the average Joe.  

4. finally, with so many computers lending their processing power all over the world, even a nuclear holocaust couldn't kill the coin as long as one person still has the wallet on their system!  Can you say that for a country?

 _________________________________________________________

I"m a newbie here, so I can't respond yet.  However I can add to my previous post (I think, LOL)

Now, I'm not a coder, I've just been messing around a short time, but I'm pretty sure that when you start a transaction, it gets sent out to all the wallets, not as a block-chain addition, but rather to be hashed by any mining wallets.  Once the transaction has been hashed and confirmed by the required number of miners, it is then sent out to be added to the block chain.  I think the block chain is involved in encrypting / decrypting each transaction (hashing) as well as being a historical record of all transactions (including coin generation) 

An unconfirmed transaction is one that hasn't been verified X number of times required by the coin.  The money can't be spent by the receiver until it has been confirmed.

In the future (now? with bitcoin?) it will take such a long time to get your transactions verified that you'll be compelled to pay a fee for faster service, I think that's in the code, but people don't pay fees yet because it's not too much of a problem yet.  Those fees will eventually go into the pool to pay miners for mining  Smiley
newbie
Activity: 11
Merit: 0
January 19, 2014, 10:42:06 PM
#1
Hi,

I've been using BitCoins for past few months but never really understood exactly how it works.
Can someone please provide me some guidance or direction.

I don't understand how BTC client sends the transaction detail (for a particular BTC transfer etc.) and to who/where?
Who handles this for client (my guess: BTC daemon - same sotware that is used for client!!!)
How does transaction go to BlockChain?
What is the difference between confirmed and un-confirmed transaction?  (my guess: No body has resolved this Block!!! If yes, what does it mean by resolving a block?  What am I resolving there?  Can I try it at home or I need some sort of super computer/server for this?)

Thanks in advance for the help and guidance.
Jump to: