<p>in fact the current consensus rules are defined in code of bitcoin client which is used today by majority. this is by the definition of term "consensus". tomorrow we can have another consensus rules.</p>

<p>the wiki page <a href="https://en.bitcoin.it/wiki/Protocol_rules" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Protocol_rules</a> is good, but it does not describe BIP16 and many other protocol improvements which were already put as consensus rules (CSV, CLTV opcodes handling, may be something else)</p>

<p>some things mentioned on wiki page seems to be wrong, for example the transaction can be less than 100 bytes (tx messsages, rule #6)</p>

CC BY-SA 3.0
2017-04-07T08:54:06.743Z
Thanks. I get that they're in the code, I was just wondering if they'd been transposed to a written list anywhere. I might get started on one. I also noticed a few inconsistencies on the wiki page.
Colman McMahon
CC BY-SA 4.0
2020-05-01T04:40:02.953Z
"some things mentioned on wiki page seems to be wrong"   
They aren't wrong, they are _standard_ rules not _consensus_ rules.
Coding Enthusiast
CC BY-SA 3.0
2017-04-06T21:20:45.090Z
2017-04-06T21:20:45.090Z
amaclin
<p>Is there a comprehensive list of Bitcoin's core consensus rules anywhere? </p>

<p>In the Bitcoinwiki "Full Node" <a href="https://en.bitcoin.it/wiki/Full_node#What_makes_a_full_node.3F" rel="nofollow noreferrer">article</a>  it says:</p>

<blockquote>
  <p>Here are examples of consensus rules, though there are many more:</p>
  
  <ul>
  <li>Blocks may only create a certain number of bitcoins. (Currently 12.5    BTC per block.)</li>
  <li>Transactions must have correct signatures for the bitcoins being spent.</li>
  <li>Transactions/blocks must be in the correct data format.</li>
  <li>Within a single block chain, a transaction output cannot be double-spent.</li>
  </ul>
</blockquote>

<p>I've looked around for a list of the "many more" but haven't located one yet.</p>

CC BY-SA 3.0
2017-04-06T16:13:36.803Z
In reading bitcoinwiki "Consensus" page, I spotted this sentence: _For clarity, these rules should be called hard rules or the rules of Bitcoin instead of consensus rules._ This lead me to the "Protocol rules" page (https://en.bitcoin.it/wiki/Protocol_rules) which provides lists of "tx" messages and "block" messages. I'm guessing these are part of the rule set? Are there more...?
Colman McMahon
<consensus>
List of Bitcoin consensus rules?
Colman McMahon
# List of Bitcoin consensus rules?

(Asked by: username_0 on 2017-04-06)

Is there a comprehensive list of Bitcoin's core consensus rules anywhere?

In the Bitcoinwiki "Full Node" [article](https://en.bitcoin.it/wiki/Full_node#What_makes_a_full_node.3F) it says:

> Here are examples of consensus rules, though there are many more:
>
> * Blocks may only create a certain number of bitcoins. (Currently 12.5 BTC per block.)
> * Transactions must have correct signatures for the bitcoins being spent.
> * Transactions/blocks must be in the correct data format.
> * Within a single block chain, a transaction output cannot be double-spent.

I've looked around for a list of the "many more" but haven't located one yet.

**Tags:** consensus

> **Comments:**
> **username_0**: In reading bitcoinwiki "Consensus" page, I spotted this sentence: _For clarity, these rules should be called hard rules or the rules of Bitcoin instead of consensus rules._ This lead me to the "Protocol rules" page (https://en.bitcoin.it/wiki/Protocol_rules) which provides lists of "tx" messages and "block" messages. I'm guessing these are part of the rule set? Are there more...?  

---

## 1 answers

### Answer by username_1 on 2017-04-06. Score: 3

in fact the current consensus rules are defined in code of bitcoin client which is used today by majority. this is by the definition of term "consensus". tomorrow we can have another consensus rules.

the wiki page <https://en.bitcoin.it/wiki/Protocol_rules> is good, but it does not describe BIP16 and many other protocol improvements which were already put as consensus rules (CSV, CLTV opcodes handling, may be something else)

some things mentioned on wiki page seems to be wrong, for example the transaction can be less than 100 bytes (tx messsages, rule #6)

> **Comments:**
> **username_0**: Thanks. I get that they're in the code, I was just wondering if they'd been transposed to a written list anywhere. I might get started on one. I also noticed a few inconsistencies on the wiki page.  
> **username_2**: "some things mentioned on wiki page seems to be wrong"    They aren't wrong, they are _standard_ rules not _consensus_ rules.  

---

