diff --git a/doc/Protocol.md b/doc/Protocol.md
index cbcbfa69a42afc6ef0581f9db2147a6e18bc77ff..e2c06c1f132648d41170860d70afb29f521ae0c4 100644
--- a/doc/Protocol.md
+++ b/doc/Protocol.md
@@ -136,24 +136,28 @@ In this document *identifier*, `UserID`, `USER_ID` and `uid` will be indifferent
 
 An identity is a *signed* document containing the identifier:
 
-    Version: 10
-    Type: Identity
-    Currency: CURRENCY_NAME
-    Issuer: PUBLIC_KEY
-    UniqueID: USER_ID
-    Timestamp: BLOCK_UID
+```yml
+Version: 10
+Type: Identity
+Currency: CURRENCY_NAME
+Issuer: PUBLIC_KEY
+UniqueID: USER_ID
+Timestamp: BLOCK_UID
+```
 
 Here, `USER_ID` has to be replaced with a valid identifier, `PUBLIC_KEY` with a valid public key and `BLOCK_UID` with a valid block unique ID. This document **is what signature is based upon**.
 
 The whole identity document is then:
 
-    Version: 10
-    Type: Identity
-    Currency: CURRENCY_NAME
-    Issuer: PUBLIC_KEY
-    UniqueID: USER_ID
-    Timestamp: BLOCK_UID
-    SIGNATURE
+```yml
+Version: 10
+Type: Identity
+Currency: CURRENCY_NAME
+Issuer: PUBLIC_KEY
+UniqueID: USER_ID
+Timestamp: BLOCK_UID
+SIGNATURE
+```
 
 Where:
 
@@ -171,13 +175,15 @@ So the identity issuance is the act of saying:
 
 A valid identity:
 
-    Version: 10
-    Type: Identity
-    Currency: beta_brousouf
-    Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
-    UniqueID: lolcat
-    Timestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
-    J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+```yml
+Version: 10
+Type: Identity
+Currency: beta_brousouf
+Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
+UniqueID: lolcat
+Timestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
+J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+```
 
 ### Revocation
 
@@ -196,14 +202,16 @@ Its goal is only to inform that a created identity was either made by mistake, o
 
 A revocation is a *signed* document gathering the identity informations to revoke:
 
-    Version: 10
-    Type: Revocation
-    Currency: CURRENCY_NAME
-    Issuer: PUBLIC_KEY
-    IdtyUniqueID: USER_ID
-    IdtyTimestamp: BLOCK_UID
-    IdtySignature: IDTY_SIGNATURE
-    REVOCATION_SIGNATURE
+```yml
+Version: 10
+Type: Revocation
+Currency: CURRENCY_NAME
+Issuer: PUBLIC_KEY
+IdtyUniqueID: USER_ID
+IdtyTimestamp: BLOCK_UID
+IdtySignature: IDTY_SIGNATURE
+REVOCATION_SIGNATURE
+```
 
 Where:
 
@@ -213,24 +221,28 @@ Where:
 
 If we have the following identity:
 
-    Version: 10
-    Type: Identity
-    Currency: beta_brousouf
-    Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
-    UniqueID: lolcat
-    Timestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
-    J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+```yml
+Version: 10
+Type: Identity
+Currency: beta_brousouf
+Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
+UniqueID: lolcat
+Timestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
+J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+```
 
 A valid revocation could be:
 
-    Version: 10
-    Type: Revocation
-    Currency: beta_brousouf
-    Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
-    IdtyUniqueID: lolcat
-    IdtyTimestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
-    IdtySignature: J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
-    SoKwoa8PFfCDJWZ6dNCv7XstezHcc2BbKiJgVDXv82R5zYR83nis9dShLgWJ5w48noVUHimdngzYQneNYSMV3rk
+```yml
+Version: 10
+Type: Revocation
+Currency: beta_brousouf
+Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
+IdtyUniqueID: lolcat
+IdtyTimestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
+IdtySignature: J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+SoKwoa8PFfCDJWZ6dNCv7XstezHcc2BbKiJgVDXv82R5zYR83nis9dShLgWJ5w48noVUHimdngzYQneNYSMV3rk
+```
 
 > The revocation actually *contains* the identity, so a program receiving a Revocation can extract the Identity and check the validity of its signature before processing the Revocation document.
 
@@ -244,16 +256,18 @@ A *certification* in UCP refers to the document *certifying* that someone else's
 
 A certification has the following format:
 
-    Version: 10
-    Type: Certification
-    Currency: CURRENCY_NAME
-    Issuer: PUBLIC_KEY
-    IdtyIssuer: IDTY_ISSUER
-    IdtyUniqueID: USER_ID
-    IdtyTimestamp: BLOCK_UID
-    IdtySignature: IDTY_SIGNATURE
-    CertTimestamp: BLOCK_UID
-    CERTIFIER_SIGNATURE
+```yml
+Version: 10
+Type: Certification
+Currency: CURRENCY_NAME
+Issuer: PUBLIC_KEY
+IdtyIssuer: IDTY_ISSUER
+IdtyUniqueID: USER_ID
+IdtyTimestamp: BLOCK_UID
+IdtySignature: IDTY_SIGNATURE
+CertTimestamp: BLOCK_UID
+CERTIFIER_SIGNATURE
+```
 
 Where:
 
@@ -279,26 +293,30 @@ Where:
 
 If we have the following complete self-certification:
 
-    Version: 10
-    Type: Identity
-    Currency: beta_brousouf
-    Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
-    UniqueID: lolcat
-    Timestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
-    J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+```yml
+Version: 10
+Type: Identity
+Currency: beta_brousouf
+Issuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
+UniqueID: lolcat
+Timestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
+J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+```
 
 A valid certification could be:
 
-    Version: 10
-    Type: Certification
-    Currency: beta_brousouf
-    Issuer: DNann1Lh55eZMEDXeYt59bzHbA3NJR46DeQYCS2qQdLV
-    IdtyIssuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
-    IdtyUniqueID: lolcat
-    IdtyTimestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
-    IdtySignature: J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
-    CertTimestamp: 36-1076F10A7397715D2BEE82579861999EA1F274AC
-    SoKwoa8PFfCDJWZ6dNCv7XstezHcc2BbKiJgVDXv82R5zYR83nis9dShLgWJ5w48noVUHimdngzYQneNYSMV3rk
+```yml
+Version: 10
+Type: Certification
+Currency: beta_brousouf
+Issuer: DNann1Lh55eZMEDXeYt59bzHbA3NJR46DeQYCS2qQdLV
+IdtyIssuer: HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
+IdtyUniqueID: lolcat
+IdtyTimestamp: 32-DB30D958EE5CB75186972286ED3F4686B8A1C2CD
+IdtySignature: J3G9oM5AKYZNLAB5Wx499w61NuUoS57JVccTShUbGpCMjCqj9yXXqNq7dyZpDWA6BxipsiaMZhujMeBfCznzyci
+CertTimestamp: 36-1076F10A7397715D2BEE82579861999EA1F274AC
+SoKwoa8PFfCDJWZ6dNCv7XstezHcc2BbKiJgVDXv82R5zYR83nis9dShLgWJ5w48noVUHimdngzYQneNYSMV3rk
+```
 
 ### Membership
 
@@ -306,14 +324,16 @@ In UCP, a member is represented by a public key they are supposed to own. To be
 
 This step is done by issuing the following document:
 
-    Version: VERSION
-    Type: Membership
-    Currency: CURRENCY_NAME
-    Issuer: ISSUER
-    Block: M_BLOCK_UID
-    Membership: MEMBERSHIP_TYPE
-    UserID: USER_ID
-    CertTS: BLOCK_UID
+```yml
+Version: VERSION
+Type: Membership
+Currency: CURRENCY_NAME
+Issuer: ISSUER
+Block: M_BLOCK_UID
+Membership: MEMBERSHIP_TYPE
+UserID: USER_ID
+CertTS: BLOCK_UID
+```
 
 followed by a signature of the `Issuer`.
 
@@ -361,26 +381,28 @@ Obviously, coins a sender does not own CANNOT be sent by them. That is why a tra
 
 A transaction is defined by the following format:
 
-    Version: VERSION
-    Type: Transaction
-    Currency: CURRENCY_NAME
-    Blockstamp: BLOCK_UID
-    Locktime: INTEGER
-    Issuers:
-    PUBLIC_KEY
-    ...
-    Inputs:
-    INPUT
-    ...
-    Unlocks:
-    UNLOCK
-    ...
-    Outputs:
-    AMOUNT:BASE:CONDITIONS
-    ...
-    Comment: COMMENT
-    SIGNATURES
-    ...
+```yml
+Version: VERSION
+Type: Transaction
+Currency: CURRENCY_NAME
+Blockstamp: BLOCK_UID
+Locktime: INTEGER
+Issuers:
+PUBLIC_KEY
+...
+Inputs:
+INPUT
+...
+Unlocks:
+UNLOCK
+...
+Outputs:
+AMOUNT:BASE:CONDITIONS
+...
+Comment: COMMENT
+SIGNATURES
+...
+```
 
 Here is a description of each field:
 
@@ -466,13 +488,17 @@ The condition of an `Output` is unlocked if, evaluated globally with `(`, `)`, `
 
 TX1:
 
-    Outputs:
-    50:2:XHX(8AFC8DF633FC158F9DB4864ABED696C1AA0FE5D617A7B5F7AB8DE7CA2EFCD4CB)
+```yml
+Outputs:
+50:2:XHX(8AFC8DF633FC158F9DB4864ABED696C1AA0FE5D617A7B5F7AB8DE7CA2EFCD4CB)
+```
 
 Is resolved by TX2:
 
-    Unlocks:
-    0:XHX(1872767826647264)
+```yml
+Unlocks:
+0:XHX(1872767826647264)
+```
 
 Because `XHX(1872767826647264) = 8AFC8DF633FC158F9DB4864ABED696C1AA0FE5D617A7B5F7AB8DE7CA2EFCD4CB` (this will be explained in the next section).
 
@@ -480,17 +506,21 @@ Because `XHX(1872767826647264) = 8AFC8DF633FC158F9DB4864ABED696C1AA0FE5D617A7B5F
 
 TX1:
 
-    Outputs:
-    50:2:SIG(DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo)
+```yml
+Outputs:
+50:2:SIG(DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo)
+```
 
 Is resolved by TX2:
 
-    Issuers:
-    HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
-    DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo
-    [...]
-    Unlocks:
-    0:SIG(1)
+```yml
+Issuers:
+HgTTJLAQ5sqfknMq7yLPZbehtuLSsKj9CxWN7k8QvYJd
+DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo
+[...]
+Unlocks:
+0:SIG(1)
+```
 
 Because `SIG(1)` refers to the signature `DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo`, considering that signature `DKpQPUL4ckzXYdnDRvCRKAm1gNvSdmAXnTrJZ7LvM5Qo` is good over TX2.
 
@@ -513,23 +543,27 @@ This function is a control over the signature.
 
 So if we have, in TX1:
 
-    Version: 10
-    Type: Transaction
-    [...]
-	Outputs
-    25:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
+```yml
+Version: 10
+Type: Transaction
+[...]
+Outputs
+25:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
+```
 
 Then the `25` units can be spent *exclusively* in a future transaction TX2 which looks like:
 
-    Version: 10
-    Type: Transaction
-    [...]
-    Issuers:
-    BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g
-    Inputs:
-    25:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
-    Unlocks:
-    0:SIG(0)
+```yml
+Version: 10
+Type: Transaction
+[...]
+Issuers:
+BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g
+Inputs:
+25:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
+Unlocks:
+0:SIG(0)
+```
 
 Where:
 
@@ -548,23 +582,27 @@ This function is a password control.
 
 So if we have, in TX1:
 
-    Version: 10
-    Type: Transaction
-    [...]
-	Outputs
-    25:2:XHX(8AFC8DF633FC158F9DB4864ABED696C1AA0FE5D617A7B5F7AB8DE7CA2EFCD4CB)
+```yml
+Version: 10
+Type: Transaction
+[...]
+Outputs
+25:2:XHX(8AFC8DF633FC158F9DB4864ABED696C1AA0FE5D617A7B5F7AB8DE7CA2EFCD4CB)
+```
 
 Then the `25` units can be spent *exclusively* in a future transaction TX2 which looks like:
 
-    Version: 10
-    Type: Transaction
-    [...]
-    Issuers:
-    BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g
-    Inputs:
-    55:1:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
-    Unlocks:
-    0:XHX(1872767826647264)
+```yml
+Version: 10
+Type: Transaction
+[...]
+Issuers:
+BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g
+Inputs:
+55:1:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
+Unlocks:
+0:XHX(1872767826647264)
+```
 
 Where:
 
@@ -578,21 +616,23 @@ The necessary condition `XHX(8AFC8DF633FC158F9DB4864ABED696C1AA0FE5D617A7B5F7AB8
 
 Key `HsLShA` sending 30 coins to key `BYfWYF` using 1 source transaction written in block #3.
 
-    Version: 10
-    Type: Transaction
-    Currency: beta_brousouf
-    Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
-    Locktime: 0
-    Issuers:
-    HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
-    Inputs:
-    30:0:T:8361C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:3
-    Unlocks:
-    0:SIG(0)
-    Outputs:
-    25:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
-    5:2:SIG(HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY)
-    Comment: First transaction
+```yml
+Version: 10
+Type: Transaction
+Currency: beta_brousouf
+Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
+Locktime: 0
+Issuers:
+HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
+Inputs:
+30:0:T:8361C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:3
+Unlocks:
+0:SIG(0)
+Outputs:
+25:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
+5:2:SIG(HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY)
+Comment: First transaction
+```
 
 Signatures (fake here):
 
@@ -602,24 +642,26 @@ Signatures (fake here):
 
 Key `HsLShA` sending 30 coins (base 2) to key `BYfWYF` using 2 sources transaction written in blocks #65 and #77 + 1 UD from block #88.
 
-    Version: 10
-    Type: Transaction
-    Currency: beta_brousouf
-    Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
-    Locktime: 0
-    Issuers:
-    HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
-    Inputs:
-    6:2:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
-    20:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:10
-    40:1:D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:88
-    Unlocks:
-    0:SIG(0)
-    1:SIG(0)
-    2:SIG(0)
-    Outputs:
-    30:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
-    Comment:
+```yml
+Version: 10
+Type: Transaction
+Currency: beta_brousouf
+Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
+Locktime: 0
+Issuers:
+HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
+Inputs:
+6:2:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
+20:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:10
+40:1:D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:88
+Unlocks:
+0:SIG(0)
+1:SIG(0)
+2:SIG(0)
+Outputs:
+30:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
+Comment:
+```
 
 Signatures (fake here):
 
@@ -629,34 +671,36 @@ Signatures (fake here):
 
 Key `HsLShA`,  `CYYjHs` and `9WYHTa` sending 235 coins to key `BYfWYF` using 4 sources transaction + 2 UD from same block #46.
 
-    Version: 10
-    Type: Transaction
-    Currency: beta_brousouf
-    Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
-    Locktime: 0
-    Issuers:
-    HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
-    CYYjHsNyg3HMRMpTHqCJAN9McjH5BwFLmDKGV3PmCuKp
-    9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB
-    Inputs:
-    40:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:2
-    70:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:8
-    20:2:D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:46
-    70:2:T:A0D9B4CDC113ECE1145C5525873821398890AE842F4B318BD076095A23E70956:3
-    20:2:T:67F2045B5318777CC52CD38B424F3E40DDA823FA0364625F124BABE0030E7B5B:5
-    15:2:D:9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB:46
-    Unlocks:
-    0:SIG(0)
-    1:XHX(7665798292)
-    2:SIG(0)
-    3:SIG(0) SIG(2)
-    4:SIG(0) SIG(1) SIG(2)
-    5:SIG(2)
-    Outputs:
-    120:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
-    146:2:SIG(DSz4rgncXCytsUMW2JU2yhLquZECD2XpEkpP9gG5HyAx)
-    49:2:(SIG(6DyGr5LFtFmbaJYRvcs9WmBsr4cbJbJ1EV9zBbqG7A6i) || XHX(3EB4702F2AC2FD3FA4FDC46A4FC05AE8CDEE1A85))
-    Comment: -----@@@----- (why not this comment?)
+```yml
+Version: 10
+Type: Transaction
+Currency: beta_brousouf
+Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
+Locktime: 0
+Issuers:
+HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
+CYYjHsNyg3HMRMpTHqCJAN9McjH5BwFLmDKGV3PmCuKp
+9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB
+Inputs:
+40:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:2
+70:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:8
+20:2:D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:46
+70:2:T:A0D9B4CDC113ECE1145C5525873821398890AE842F4B318BD076095A23E70956:3
+20:2:T:67F2045B5318777CC52CD38B424F3E40DDA823FA0364625F124BABE0030E7B5B:5
+15:2:D:9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB:46
+Unlocks:
+0:SIG(0)
+1:XHX(7665798292)
+2:SIG(0)
+3:SIG(0) SIG(2)
+4:SIG(0) SIG(1) SIG(2)
+5:SIG(2)
+Outputs:
+120:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
+146:2:SIG(DSz4rgncXCytsUMW2JU2yhLquZECD2XpEkpP9gG5HyAx)
+49:2:(SIG(6DyGr5LFtFmbaJYRvcs9WmBsr4cbJbJ1EV9zBbqG7A6i) || XHX(3EB4702F2AC2FD3FA4FDC46A4FC05AE8CDEE1A85))
+Comment: -----@@@----- (why not this comment?)
+```
 
 Signatures (fakes here):
 
@@ -670,11 +714,13 @@ This function locks an output in the future, which will be unlocked at a given d
 
 So if we have, in TX1:
 
-    Version: 10
-    Type: Transaction
-    [...]
-	Outputs
-    25:2:CLTV(1489677041)
+```yml
+Version: 10
+Type: Transaction
+[...]
+Outputs
+25:2:CLTV(1489677041)
+```
 
 Then the `25` units can be spent *exclusively* in a block whose `MedianTime >= 1489677041`
 
@@ -686,13 +732,15 @@ This function locks an output in the future, which will be unlocked after the gi
 
 So if we have, in TX1:
 
-    Version: 10
-    Type: Transaction
-    Currency: beta_brousouf
-    Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
-    [...]
-	Outputs
-    25:2:CSV(3600)
+```yml
+Version: 10
+Type: Transaction
+Currency: beta_brousouf
+Blockstamp: 204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
+[...]
+Outputs
+25:2:CSV(3600)
+```
 
 We define `TxTime` as the `MedianTime` of block `204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B`.
 
@@ -704,60 +752,66 @@ Then the `25` units can be spent *exclusively* in a block whose `MedianTime - Tx
 
 A transaction may be described with a more compact format, to be used in a [Block](#block) document. The general format is:
 
-    TX:VERSION:NB_ISSUERS:NB_INPUTS:NB_UNLOCKS:NB_OUTPUTS:HAS_COMMENT:LOCKTIME
-    BLOCKSTAMP
-    PUBLIC_KEY
-    ...
-    INPUT
-    ...
-    UNLOCK
-    ...
-    OUTPUT
-    ...
-    COMMENT
-    SIGNATURE
-    ...
+```yml
+TX:VERSION:NB_ISSUERS:NB_INPUTS:NB_UNLOCKS:NB_OUTPUTS:HAS_COMMENT:LOCKTIME
+BLOCKSTAMP
+PUBLIC_KEY
+...
+INPUT
+...
+UNLOCK
+...
+OUTPUT
+...
+COMMENT
+SIGNATURE
+...
+```
 
 Here is an example compacting [example 2](#example-2) from above:
 
-    TX:10:1:3:1:0:0
-    204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
-    HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
-    6:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
-    20:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:10
-    40:1:D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:88
-    0:SIG(0)
-    1:SIG(0)
-    2:SIG(0)
-    30:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
-    42yQm4hGTJYWkPg39hQAUgP6S6EQ4vTfXdJuxKEHL1ih6YHiDL2hcwrFgBHjXLRgxRhj2VNVqqc6b4JayKqTE14r
+```yml
+TX:10:1:3:1:0:0
+204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
+HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
+6:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:0
+20:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:10
+40:1:D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:88
+0:SIG(0)
+1:SIG(0)
+2:SIG(0)
+30:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
+42yQm4hGTJYWkPg39hQAUgP6S6EQ4vTfXdJuxKEHL1ih6YHiDL2hcwrFgBHjXLRgxRhj2VNVqqc6b4JayKqTE14r
+```
 
 Here is an example compacting [example 3](#example-3) from above:
 
-    TX:10:3:6:3:1:0
-    204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
-    HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
-    CYYjHsNyg3HMRMpTHqCJAN9McjH5BwFLmDKGV3PmCuKp
-    9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB
-    40:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:2
-    70:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:8
-    20:2D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:46
-    70:2:T:A0D9B4CDC113ECE1145C5525873821398890AE842F4B318BD076095A23E70956:3
-    20:2:T:67F2045B5318777CC52CD38B424F3E40DDA823FA0364625F124BABE0030E7B5B:5
-    15:2:D:9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB:46
-    0:SIG(0)
-    1:XHX(7665798292)
-    2:SIG(0)
-    3:SIG(0) SIG(2)
-    4:SIG(0) SIG(1) SIG(2)
-    5:SIG(2)
-    120:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
-    146:2:SIG(DSz4rgncXCytsUMW2JU2yhLquZECD2XpEkpP9gG5HyAx)
-    49:2:(SIG(6DyGr5LFtFmbaJYRvcs9WmBsr4cbJbJ1EV9zBbqG7A6i) || XHX(3EB4702F2AC2FD3FA4FDC46A4FC05AE8CDEE1A85))
-    -----@@@----- (why not this comment?)
-    42yQm4hGTJYWkPg39hQAUgP6S6EQ4vTfXdJuxKEHL1ih6YHiDL2hcwrFgBHjXLRgxRhj2VNVqqc6b4JayKqTE14r
-    2D96KZwNUvVtcapQPq2mm7J9isFcDCfykwJpVEZwBc7tCgL4qPyu17BT5ePozAE9HS6Yvj51f62Mp4n9d9dkzJoX
-    2XiBDpuUdu6zCPWGzHXXy8c4ATSscfFQG9DjmqMZUxDZVt1Dp4m2N5oHYVUfoPdrU9SLk4qxi65RNrfCVnvQtQJk
+```yml
+TX:10:3:6:3:1:0
+204-00003E2B8A35370BA5A7064598F628A62D4E9EC1936BE8651CE9A85F2E06981B
+HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
+CYYjHsNyg3HMRMpTHqCJAN9McjH5BwFLmDKGV3PmCuKp
+9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB
+40:2:T:6991C993631BED4733972ED7538E41CCC33660F554E3C51963E2A0AC4D6453D3:2
+70:2:T:3A09A20E9014110FD224889F13357BAB4EC78A72F95CA03394D8CCA2936A7435:8
+20:2D:HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY:46
+70:2:T:A0D9B4CDC113ECE1145C5525873821398890AE842F4B318BD076095A23E70956:3
+20:2:T:67F2045B5318777CC52CD38B424F3E40DDA823FA0364625F124BABE0030E7B5B:5
+15:2:D:9WYHTavL1pmhunFCzUwiiq4pXwvgGG5ysjZnjz9H8yB:46
+0:SIG(0)
+1:XHX(7665798292)
+2:SIG(0)
+3:SIG(0) SIG(2)
+4:SIG(0) SIG(1) SIG(2)
+5:SIG(2)
+120:2:SIG(BYfWYFrsyjpvpFysgu19rGK3VHBkz4MqmQbNyEuVU64g)
+146:2:SIG(DSz4rgncXCytsUMW2JU2yhLquZECD2XpEkpP9gG5HyAx)
+49:2:(SIG(6DyGr5LFtFmbaJYRvcs9WmBsr4cbJbJ1EV9zBbqG7A6i) || XHX(3EB4702F2AC2FD3FA4FDC46A4FC05AE8CDEE1A85))
+-----@@@----- (why not this comment?)
+42yQm4hGTJYWkPg39hQAUgP6S6EQ4vTfXdJuxKEHL1ih6YHiDL2hcwrFgBHjXLRgxRhj2VNVqqc6b4JayKqTE14r
+2D96KZwNUvVtcapQPq2mm7J9isFcDCfykwJpVEZwBc7tCgL4qPyu17BT5ePozAE9HS6Yvj51f62Mp4n9d9dkzJoX
+2XiBDpuUdu6zCPWGzHXXy8c4ATSscfFQG9DjmqMZUxDZVt1Dp4m2N5oHYVUfoPdrU9SLk4qxi65RNrfCVnvQtQJk
+```
 
 ### Block
 
@@ -773,50 +827,52 @@ but also other informations like:
 
 #### Structure
 
-    Version: VERSION
-    Type: Block
-    Currency: CURRENCY
-    Number: BLOCK_ID
-    PoWMin: NUMBER_OF_ZEROS
-    Time: GENERATED_ON
-    MedianTime: MEDIAN_DATE
-    UniversalDividend: DIVIDEND_AMOUNT
-    UnitBase: UNIT_BASE
-    Issuer: ISSUER_KEY
-    IssuersFrame: ISSUERS_FRAME
-    IssuersFrameVar: ISSUERS_FRAME_VAR
-    DifferentIssuersCount: ISSUER_KEY
-    PreviousHash: PREVIOUS_HASH
-    PreviousIssuer: PREVIOUS_ISSUER_KEY
-    Parameters: PARAMETERS
-    MembersCount: WOT_MEM_COUNT
-    Identities:
-    PUBLIC_KEY:SIGNATURE:I_BLOCK_UID:USER_ID
-    ...
-    Joiners:
-    PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
-    ...
-    Actives:
-    PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
-    ...
-    Leavers:
-    PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
-    ...
-    Revoked:
-    PUBLIC_KEY:SIGNATURE
-    ...
-    Excluded:
-    PUBLIC_KEY
-    ...
-    Certifications:
-    PUBKEY_FROM:PUBKEY_TO:BLOCK_ID:SIGNATURE
-    ...
-    Transactions:
-    COMPACT_TRANSACTION
-    ...
-    InnerHash: BLOCK_HASH
-    Nonce: NONCE
-    BOTTOM_SIGNATURE
+```yml
+Version: VERSION
+Type: Block
+Currency: CURRENCY
+Number: BLOCK_ID
+PoWMin: NUMBER_OF_ZEROS
+Time: GENERATED_ON
+MedianTime: MEDIAN_DATE
+UniversalDividend: DIVIDEND_AMOUNT
+UnitBase: UNIT_BASE
+Issuer: ISSUER_KEY
+IssuersFrame: ISSUERS_FRAME
+IssuersFrameVar: ISSUERS_FRAME_VAR
+DifferentIssuersCount: ISSUER_KEY
+PreviousHash: PREVIOUS_HASH
+PreviousIssuer: PREVIOUS_ISSUER_KEY
+Parameters: PARAMETERS
+MembersCount: WOT_MEM_COUNT
+Identities:
+PUBLIC_KEY:SIGNATURE:I_BLOCK_UID:USER_ID
+...
+Joiners:
+PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
+...
+Actives:
+PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
+...
+Leavers:
+PUBLIC_KEY:SIGNATURE:M_BLOCK_UID:I_BLOCK_UID:USER_ID
+...
+Revoked:
+PUBLIC_KEY:SIGNATURE
+...
+Excluded:
+PUBLIC_KEY
+...
+Certifications:
+PUBKEY_FROM:PUBKEY_TO:BLOCK_ID:SIGNATURE
+...
+Transactions:
+COMPACT_TRANSACTION
+...
+InnerHash: BLOCK_HASH
+Nonce: NONCE
+BOTTOM_SIGNATURE
+```
 
 Field                 | Data                                              | Mandatory?
 --------------------- | ------------------------------------------------- | ------------
@@ -914,16 +970,18 @@ This link is made through a document called *Peer* whose format is described bel
 
 #### Structure
 
-    Version: VERSION
-    Type: Peer
-    Currency: CURRENCY_NAME
-    Issuer: NODE_PUBLICKEY
-    Block: BLOCK
-    Endpoints:
-    END_POINT_1
-    END_POINT_2
-    END_POINT_3
-    [...]
+```yml
+Version: VERSION
+Type: Peer
+Currency: CURRENCY_NAME
+Issuer: NODE_PUBLICKEY
+Block: BLOCK
+Endpoints:
+END_POINT_1
+END_POINT_2
+END_POINT_3
+[...]
+```
 
 With the signature attached, this document certifies that this public key is owned by this server at given network endpoints.
 
@@ -974,15 +1032,17 @@ The document must be ended with a `BOTTOM_SIGNATURE` [Signature](#signature).
 
 #### Example
 
-    Version: 10
-    Type: Peer
-    Currency: beta_brousouf
-    PublicKey: HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
-    Block: 8-1922C324ABC4AF7EF7656734A31F5197888DDD52
-    Endpoints:
-    BASIC_MERKLED_API some.dns.name 88.77.66.55 2001:0db8:0000:85a3:0000:0000:ac1f 9001
-    BASIC_MERKLED_API some.dns.name 88.77.66.55 2001:0db8:0000:85a3:0000:0000:ac1f 9002
-    OTHER_PROTOCOL 88.77.66.55 9001
+```yml
+Version: 10
+Type: Peer
+Currency: beta_brousouf
+PublicKey: HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY
+Block: 8-1922C324ABC4AF7EF7656734A31F5197888DDD52
+Endpoints:
+BASIC_MERKLED_API some.dns.name 88.77.66.55 2001:0db8:0000:85a3:0000:0000:ac1f 9001
+BASIC_MERKLED_API some.dns.name 88.77.66.55 2001:0db8:0000:85a3:0000:0000:ac1f 9002
+OTHER_PROTOCOL 88.77.66.55 9001
+```
 
 ## Variables