Ep. 8 [Bitcoin Full-Nodes]: Verifying pending Bitcoin-Transactions

in #blog8 years ago

3.3 1 English mit Pfeilen Kopie.png

Note:
Gain a fundamental understanding of Cryptocurrency in an easy way. Before continue reading the story, I recommend to take a couple of minutes and read through the prior article again in order to refresh your present knowledge. The more often you read through the story, the more confident you will get with the technology behind cryptocurrencies like Bitcoin. Take your time, to understand cryptocurrencies, as a Steemian it's worth it.
If something in the story is not clear to you, don’t hesitate to ask. There are several people who might have the same question. So shoot me a comment, if something is unclear. Me and other readers will appreciate it!


So in the last article we came to the conclusion that all participants in the Bitcoin-Network must agree on one version of the record-book(=Blockchain) which keeps all Bitcoin-Transactions recorded. This is important to make sure, that all participants together agree who holds how much Bitcoins at any time.
Before answering the question „How the participants agree on one version of the book?“, we must first understand „why every participant can hold his own version of the Transaction-Book, which he can edit.

Therefore we need to go a step back and get a better understanding of the participants in the Bitcoin-Network. So back in article 2.1 ‚Bitcoin Mining‘ we saw that Alice joined the Bitcoin-Park(=Bitcoin-Network). In order to join the Bitcoin-Park, she had to download a free Bitcoin-Software. So after downloading, Alice is now a participant in the Bitcoin-Park. We mentioned that there are several things participants like Alice can do in the Bitcoin-Park. It is like in a real amusement park, where participants can join the rollercoaster, the auto-scooter or a magic-show etc. In article 2.1 ‚Bitcoin Mining‘ we got to know one of these attractions in Bitcoin. It was the mathematical-contest in which Alice participated as a Miner. We learned that this attraction is the "Bitcoin-Mining“ in the real word.

Bildschirmfoto 2017-07-15 um 21.52.59.png

So the first attraction or „role“ in the Bitcoin-Network is: Bitcoin-Miner. In genreal there are two more roles which participants like Alice can take.

These roles are:

  1. „Full-Node“
  2. „Bitcoin-Wallet“

Now I want to start take a more detailed look on the „Full-Node“-role of a Bitcoin-Participant. Lets start with our analogy here.

In article 2.1 the Bitcoin-participant ‚Alice‘ decided to take the role as a „Bitcoin-Miner“ and hence participated in a Mathematical-Contest in order to win a reward in Bitcoins.

Bildschirmfoto 2017-07-15 um 21.49.38.png

Now there is another person joining the Bitcoin-Park, lets call him „Flint“. Flint joined the Bitcoin-Park, but unlike Alice he decided to be a „Full-Node“.

3.3 1 English mit Pfeilen.png

So Flint decided to be a „Full-Node“ in the Bitcoin-Park(=Bitcoin Network). What is the role of a „Full-Node“ in the Bitcoin-Network?

Each Full-Node checks if pending Bitcoin-Transactions, which other participants initiated, are legitimate and can therefore be executed.

In order to be able to check Bitcoin-Transactions for correctness, a Full-Node needs two things:

  1. A Transaction-Book(=Blockchain) with all the prior Bitcoin-Transactions.
  2. A List with pending Bitcoin-Transactions which other participants sent.

Lets start with the 1st point:

"1. A Transaction-Book(=Blockchain) with all the prior Bitcoin-Transactions."

How does Flint(=Full-Node) get a copy of the Transaction-Book?
Well, when Flint joined the Bitcoin-Park as a Full-Node, he got the first page of the Transaction-Book at the entrance from the Bitcoin-Software. This first page is the first block in the Blockchain. It contains all the executed transactions on the 1st Boat(=1st Block).

Bildschirmfoto 2017-07-15 um 22.07.09.png

On this first page(= 1st Block) there was only one Bitcoin-Transaction recorded. That transaction is the payout of the mining-reward to the winner of the 1st mathematical contest in the Bitcoin-Network.

In this very beginning of Bitcoin there were no many participants in the That explains why the first pages (first Blocks) of the Transaction-Book(=Blockchain) are quite empty.

This is the 1st-Page in the real world:

Bildschirmfoto 2017-07-15 um 22.10.30.png

Check for yourself on the web:
Link: https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048

Don’t get distracted by all the information. I highlighted the important information with a circle. Just focus on these.

So this is the 1st Page of the Transaction-Book, the 1st Blog! That 1st-Page was included in the free Bitcoin-Software which Flint downloaded before. Now Flint must fill his Blockchain-copy with the rest of the pages(=Blocks). But how does he get the rest? Well Flint gets copies of the other pages(=Blocks) from existing Full-Nodes in the Bitcoin-Park.

But first of all Flint must build a connection with the other nodes in the order to request copies of the Book-Pages. How does he do that? Well basically when Flint downloaded the Bitcoin-Software, the Bitcoin-Program provided him some contact-information of existing Bitcoin-Nodes in the Bitcoin-Park. Flint makes use of these contacts and start connection with the other Full-Nodes. Furthermore he asks them for their contacts so he can build connections with even more Full-Nodes.

This is the first thing Flint does as a Full-Node:

  1. He builds connections to already existing Full-Nodes in the Bitcoin-Network

3.3.2 English mit Pfeilen.png

Now as Flint is fully connected with other Full-Nodes, he can start ask them to send copies of the remaining Book-Pages to him. How? In the next article we will continue the journey of Flint as a Full-Node.


Summary:

  • There are 3 roles which Bitcoin-Participants can take when entering the Bitcoin-Network:
  1. Bitcoin-Miner ( see Articles 2.1)
  2. Full-Node (this article)
  3. Bitcoin-Wallet
  • Each Full-Node verifies pending Bitcoin-Transactions and checks them for correctness.
  • Therefore the Full-Node(=Flint) needs a copy of the current Transaction-Book with all prior Bitcoin-Transactions recorded.
  • The first page of this Transaction-Book is included in the download of the Bitcoin-Software.
  • The following pages(=Blocks) of the Transaction-Book(=Blockchain) must be requested from other Full-Nodes in the Bitcoin-Network.
  • Therefore the Bitcoin-Software provides the new Full-Node with contact informations of other Full-Nodes so the new Full-Node can start connecting with them.
Sort:  

Congratulations @manonlescaut! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the total payout received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @manonlescaut! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of comments

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Coin Marketplace

STEEM 0.09
TRX 0.31
JST 0.031
BTC 107208.60
ETH 3892.70
USDT 1.00
SBD 0.58