Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: dain-001 on February 12, 2015, 02:43:04 AM



Title: Conceptual Coding Question about the Bitcoin Client
Post by: dain-001 on February 12, 2015, 02:43:04 AM
I'm trying to create a coin from scratch (without using Bitcoins code), to see how far i can get.
I was thinking a lot about how the clients work conceptually.

What i do not understand is how all the clients , with one with say, only 4 connections, all know, at the same time, each block, as its created, without them all being connected to one another at the same time.

How's it work?

edit: unrelated question: how was my post viewed 4 times the time i posted?  ???


Title: Re: Conceptual Coding Question about the Bitcoin Client
Post by: DeathAndTaxes on February 12, 2015, 02:54:51 AM
Well I would suggest a lot more reading as there are concepts far more complex than this.  The answer is that they don't.  Bitcoin and other blockchain based networks are 'gossip networks'.  A node with new information (new txn, new block, new alert) notifies its direct peers.  Those peers verify/authenticate the new information and then notify their direct peers who verify it and forward it to their peers.  This process continues until all nodes are aware of the new information.


Title: Re: Conceptual Coding Question about the Bitcoin Client
Post by: Razick on February 12, 2015, 12:22:36 PM
I'm trying to create a coin from scratch (without using Bitcoins code), to see how far i can get.
I was thinking a lot about how the clients work conceptually.

What i do not understand is how all the clients , with one with say, only 4 connections, all know, at the same time, each block, as its created, without them all being connected to one another at the same time.

How's it work?

edit: unrelated question: how was my post viewed 4 times the time i posted?  ???

You should try reading the original whitepaper: https://bitcoin.org/bitcoin.pdf (https://bitcoin.org/bitcoin.pdf)


Title: Re: Conceptual Coding Question about the Bitcoin Client
Post by: andytoshi on February 16, 2015, 02:53:45 AM
Hi dain-001,

Have you read A Treatise on Altcoins (https://download.wpsoftware.net/bitcoin/alts.pdf)? How familiar with cryptography are you? How about software engineering?


Title: Re: Conceptual Coding Question about the Bitcoin Client
Post by: coinpr0n on February 17, 2015, 10:49:42 AM
Well I would suggest a lot more reading as there are concepts far more complex than this.  The answer is that they don't.  Bitcoin and other blockchain based networks are 'gossip networks'.  A node with new information (new txn, new block, new alert) notifies its direct peers.  Those peers verify/authenticate the new information and then notify their direct peers who verify it and forward it to their peers.  This process continues until all nodes are aware of the new information.

I suppose developers have stress-tested with junk (fake) data?