2

I went through the original paper by Satoshi, which outlines the Bitcoin protocol. However, the paper is a high level overview of Bitcoin, and does not specify important parts of the protocol.

Who specified the details of the Bitcoin protocol? Which person or group is in charge of defining the standard of the protocol as of now?

2 Answers 2

7

However, the paper is a high level overview of Bitcoin, and does not specify important parts of the protocol.

That's true, and Hal Finney noted this when the bitcoin paper was published to the metzdowd cryptography mailing list. (The Bitcoin paper was published before the Bitcoin source code.)

Unfortunately I am having trouble fully understanding the system. The paper describes key concepts and some data structures, but does not clearly specify the various rules and verifications that the participants in the system would have to follow.


Who specified the details of the Bitcoin protocol?

I'd say that Satoshi specified 95% of the Bitcoin protocol in the source code that was initially published. There have been changes made since then, but the majority of Bitcoin is unchanged.


Which person or group is in charge of defining the standard of the protocol as of now?

Essentially, you make a Bitcoin Improvement Proposal. Here's a summary of the process:

  1. Debate the issue in the community

    The BIP champion (a.k.a. Author) should first attempt to ascertain whether the idea is BIP-able. Posting to the [email protected] mailing list (and maybe the Development&Technical Discussion forum) is the best way to go about this.

  2. Write a draft of the BIP

    Once the champion has asked the Bitcoin community as to whether an idea has any chance of acceptance, a draft BIP should be presented to [email protected]. This gives the author a chance to flesh out the draft BIP to make properly formatted, of high quality, and to address initial concerns about the proposal.

  3. The BIP editor (Currently Gregory Maxwell) reviews it

    If the BIP editor approves, he will assign the BIP a number, label it as Standards Track, Informational, or Process, give it status "Draft", and add it to the git repository. The BIP editor will not unreasonably deny a BIP. Reasons for denying BIP status include duplication of effort, being technically unsound, not providing proper motivation or addressing backwards compatibility, or not in keeping with the Bitcoin philosophy.

    ...

    For a BIP to be accepted it must meet certain minimum criteria. It must be a clear and complete description of the proposed enhancement. The enhancement must represent a net improvement. The proposed implementation, if applicable, must be solid and must not complicate the protocol unduly.

  4. Complete the reference implementation

    Once a BIP has been accepted, the reference implementation must be completed. When the reference implementation is complete and accepted by the community, the status will be changed to "Final".

5
  • Excellent answer, thanks a lot! Exactly what I was looking for.
    – sherlock
    Commented Oct 22, 2014 at 18:33
  • Any reason why they don't call them RFCs (request for comment) like revision proposals for all other internet protocols?
    – Tyler
    Commented Oct 23, 2014 at 3:39
  • I guess bitcoin just wants to be special?
    – Tyler
    Commented Oct 23, 2014 at 3:40
  • 1
    @Tyler They don't go through the RFC process, and they're not written by the IETF. Calling them RFC's would be confusing.
    – Nick ODell
    Commented Oct 23, 2014 at 3:45
  • When you say in bullet 3 "BIP to be accepted", you mean the proposal accepted as a BIP, and not accepted to be included in the protocol?
    – croraf
    Commented Oct 22, 2017 at 8:17
-3

We are, the Bitcoin community as a whole.

1
  • 3
    This is technically true, but so vague as to be useless.
    – Nick ODell
    Commented Oct 22, 2014 at 17:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.