Ep. 9 [Bitcoin Full-Nodes] Verifying pending Bitcoin-Transactions - Part 2

in #bitcoin7 years ago (edited)

Ep. 9 1. Picture 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 Ep. 8 we saw that Flint participated in the Bitcoin-Network as a Full-Node.
Each Full-Node in the Bitcoin-network checks all pending Bitcoin-Transactions, which other Bitcoin-Users initiated, if they are legitimate and can therefore be executed.
In order to be able to check pending Bitcoin-Transactions for correctness, a Full-Node needs two things:

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

Lets go back to the 1. point:

"1. A Transaction-Book(=Blockchain) which lists all prior executed Bitcoin-Transactions."

A Full-Node needs the entire Transaction-Book in order to check if the Bitcoins in a pending transaction had already been used in a prior transaction. If this is the case, the Full-Node will see these Bitcoins recorded in the Transaction-Book.
So far we saw, that Flint as a new Full-Node got the 1st page(=1st block) of the Transaction-Book(=Blockchain) from the Bitcoin-Software which he downloaded.

To get the other pages of the Transaction-Book Flint(=new Full-Node) connected with already existing Full-Nodes to ask for copies of the pages from their Transaction-Books.

3.3.2 English mit Pfeilen.png

So now Flint is connected with other Full-Nodes. Now he can ask them for copies of the pages from their Transaction-Books. How does he do that? Well, Flint is sending a message to other Full-Nodes. This first message(see picture below) is basically sending information about Flint's latest Block in his local Transaction-Book.
As Flint is a new Full-Node his latest page of the book is page Nr.1 (=1st Block), which was included in the Bitcoin-Software.

Bildschirmfoto 2017-07-15 um 22.07.09.png

So Flint is sending a message to other existing Full-Nodes and let them know: "Hallo, my latest Block ist Nr. 1. What pages do you have?". The receiver Full-Node, lets call him Eric, now checks his Transaction-Book. For easy understanding, lets assume that the total Transaction-Book consists of only 3 pages and Eric holds all three pages already.
That means, Erics latest page is Nr. 3. Therefore he sends a message back to Flint saying: "Hey Flint, you said your latest block is Nr. 1. In my Transaction-Book I have the pages Nr. 1,2,3.
Basically Eric is letting Flint know, that he has the Blocks Nr. 2,3 which Flint doesn't have yet.
Flint receives this message and responds with a 2nd message to Eric: "Hey Eric, please send me a copy of Page Nr. 2 and 3, as I don't have them yet."
Eric then sends a copy of Page Nr. 2 & 3 to Flint.

Ep. 9 1. Picture Kopie.png

Before Flint adds these new pages to his local Transaction-Book, he checks every received copy page for correctness.
How? We will see in the next episode very soon.


Summary:

  • Each Full-Node checks pending Bitcoin-Transactions for correctness.
  • Therefore the Full-Node needs a copy of the Transaction-Book with all prior Bitcoin-Transactions.
  • The first page of this Transaction-Book is included in the download of the Bitcoin-Software.
  • The new Full-Node is then requesting copies of the rest of the Transaction-Book from existing Full-Nodes.
  • The contacted Full-Nodes then send a copy of their pages to the new Full-Node.
  • The new Full-Node checks these copies for correctness before adding them to his local Transaction-Book.
  • Sort:  

    WOher bekommst du dieses Wissen eigentlich?

    Hauptsächlich durch Bücher, aber auch Social-Media (Twitter, Youtube, Steemit, Reddit, Bitcoin-Talk), MeetUps. Es ist ein generelles Involvement!

    versuch mal bisschen post promotion und so ..
    manchmal wirkt das :)

    Ja, darin muss ich noch üben :D
    Was kannst du da empfehlen?

    top. weiter so.

    Coin Marketplace

    STEEM 0.18
    TRX 0.16
    JST 0.031
    BTC 60607.86
    ETH 2620.83
    USDT 1.00
    SBD 2.52