Author

Topic: Can somebody explain what the bitcoin protocol actually is? (Read 711 times)

full member
Activity: 196
Merit: 100
legendary
Activity: 2912
Merit: 1060
I think you want to know what it is. It's the language nodes talk to each other with. Simple as that. Browsers and web servers speak http.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Many thanks. Is that because it is used by more people than anybody else? What is it that determines that the Satoshi client "is" the protocol?

Of course the Satoshi client was the first and others such as Electrum or Multibit (at least AFAIA) are still relying on "full bitcoind" instances running on the servers that these "lighter" clients access (so they are effectively a protocol that sits above the bitcoin protocol).

What determines that it *is* the protocol was that is how the Bitcoin network came to be - the Satoshi code that people started using - as it was not released as an RFC or similar there simply was no other detailed documentation or software to use.
hero member
Activity: 552
Merit: 501
Many thanks. Is that because it is used by more people than anybody else? What is it that determines that the Satoshi client "is" the protocol?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
There are some wiki articles that describe the protocol in English but the Satoshi client (bitcoind/bitcoin-qt) source code *is* the real protocol (warts and all).

The source code is on github but unless you are fluent in C++ (including boost) then you probably won't have much luck understanding it.

Although Bitcoin has BIPs which are analogous to RFC's the problem is that unlike a problematic email server that might result in you losing some (hopefully not overly important) messages, problematic bitcoin clients (used by miners in particular) can result in "forks" which would make spending your coin a huge problem.

That being said other clients have been created and more and more unit tests are being written so that down the track it may actually be feasible to have the protocol being closer to something that could be documented like an RFC (I would not be expecting to see such a thing for years though).
hero member
Activity: 552
Merit: 501
As a non-technical person, I am still struggling (after nearly 3 years) to understand what or where the bitcoin protocol actually is.

I understand that it is a set of programming rules but:

1. Where are they to be found?

2. How do they get changed?

3. In what circumstances would it be necessary or desirable to change them?

4. How does the protocol relate to the various bitcoin client implementations?

I have done quite a lot of reading on this (even to the extent of learning about BIPs and so forth), but I am still unclear in my mind. Is there a blog post or article somewhere that explains it all?

Fundamentally I am interested in understanding how bitcoin can evolve and the constraints on that process.

Many thanks in advance to anybody who answers this post.

Jump to: