P2P Guide

- Update to masternode payment section. Included link to official doc

Misc minor cleanup - glossary terms, etc.
This commit is contained in:
thephez 2017-10-25 12:50:37 -04:00
parent 703c54ffbc
commit d59d4570a8
5 changed files with 19 additions and 8 deletions

View file

@ -31,6 +31,6 @@ optional:
- Binary bits, a unit of data with two possible values - Binary bits, a unit of data with two possible values
links_html_or_markdown_style_capitalize_first_letter: links_html_or_markdown_style_capitalize_first_letter:
- "[Bitcoin Units](https://en.bitcoin.it/wiki/Units) --- Bitcoin Wiki" #- "[Bitcoin Units](https://en.bitcoin.it/wiki/Units) --- Bitcoin Wiki"
--- ---

View file

@ -7,7 +7,7 @@ required:
title_max_40_characters_no_formatting: Node title_max_40_characters_no_formatting: Node
summary_max_255_characters_no_formatting: > summary_max_255_characters_no_formatting: >
A computer that connects to the Bitcoin network. A computer that connects to the Dash network.
synonyms_shown_in_glossary_capitalize_first_letter: synonyms_shown_in_glossary_capitalize_first_letter:
- Node - Node

View file

@ -598,8 +598,19 @@ Earlier versions of Bitcoin Core allowed developers and trusted community member
Masternode payment uses a verifiable process to determine which masternode is Masternode payment uses a verifiable process to determine which masternode is
paid in each block. When a new block is processed, a quorum of paid in each block. When a new block is processed, a quorum of
`MNPAYMENTS_SIGNATURES_TOTAL` (10) masternodes vote on the next masternode `MNPAYMENTS_SIGNATURES_TOTAL` (10) masternodes vote on the next masternode
payee. Each member of the quorum issues a 'mnw' message that is relayed to the payee. The quorum is calculated deterministically based on the distance between
network. masternode's hash and the block's proof of work.
Each member of the quorum issues a 'mnw' message that is relayed to the
network. The payee is selected from a subset of masternodes made up of 10%
of eligible nodes that have been waiting the longest since their last payment.
The winner is then determined based on a number of parameters including the
distance between the its hash and the block's proof of work. For additional
detail, reference this [Official Documentation Payment Logic page](https://dashpay.atlassian.net/wiki/spaces/DOC/pages/8880184/Payment+Logic).
Nodes receiving a `mnw` message verify the validity of the message before
relaying it to their peers. If the message is invalid, the sending node may be
treated as misbehaving and have its ban score increased.
{% endautocrossref %} {% endautocrossref %}

View file

@ -1944,9 +1944,9 @@ entry and how to validate messages from it.
| ---------- | ----------- | --------- | -------- | -------- | | ---------- | ----------- | --------- | -------- | -------- |
| 41 | vin | txIn | Required | The unspent output which is holding 1000 DASH | 41 | vin | txIn | Required | The unspent output which is holding 1000 DASH
| # | addr | CService | Required | IPv4 address of the masternode | # | addr | CService | Required | IPv4 address of the masternode
| 33-65 | pubKeyCollateralAddress | CPubKey | Required | CPubKey of the main 1000 DASH unspent output | 33-65 | pubKeyCollateralAddress | CPubKey | Required | CPubKey of the main 1000 DASH unspent output. Length determined by if it is a compressed public key or not.
| 33-65 | pubKeyMasternode | CPubKey | Required | CPubKey of the secondary signing key (For all other messaging other than announce message) | 33-65 | pubKeyMasternode | CPubKey | Required | CPubKey of the secondary signing key (For all messaging other than the announce message). Length determined by if it is a compressed public key or not.
| 66* | sig | char[] | Required | Signature of this message verifiable via pubKeyMasternode (66 bytes in most cases. Length (1 byte) + Signature (65 bytes)) | 66 | sig | char[] | Required | Signature of this message verifiable via pubKeyMasternode (Length (1 byte) + Signature (65 bytes))
| 8 | sigTime | int64_t | Required | Time which the signature was created | 8 | sigTime | int64_t | Required | Time which the signature was created
| 4 | nProtocolVersion | int | Required | The protocol version of the masternode | 4 | nProtocolVersion | int | Required | The protocol version of the masternode
| # | lastPing | `mnp` message | Required | The last known ping of the masternode | # | lastPing | `mnp` message | Required | The last known ping of the masternode

View file

@ -39,7 +39,7 @@ http://opensource.org/licenses/MIT.
[msg_governance_object_vote]: /en/developer-reference#term-msg_governance_object_vote "Governance object vote data type identifier of an inventory on the P2P network" [msg_governance_object_vote]: /en/developer-reference#term-msg_governance_object_vote "Governance object vote data type identifier of an inventory on the P2P network"
[msg_masternode_verify]: /en/developer-reference#term-msg_masternode_verify "Masternode Verify data type identifier of an inventory on the P2P network" [msg_masternode_verify]: /en/developer-reference#term-msg_masternode_verify "Masternode Verify data type identifier of an inventory on the P2P network"
[network]: /en/developer-guide#term-network "The Bitcoin P2P network which broadcasts transactions and blocks" [network]: /en/developer-guide#term-network "The Dash P2P network which broadcasts transactions and blocks"
[op_checkmultisig]: /en/developer-reference#term-op-checkmultisig "Opcode which returns true if one or more provided signatures (m) sign the correct parts of a transaction and match one or more provided public keys (n)" [op_checkmultisig]: /en/developer-reference#term-op-checkmultisig "Opcode which returns true if one or more provided signatures (m) sign the correct parts of a transaction and match one or more provided public keys (n)"
[op_checksig]: /en/developer-reference#term-op-checksig "Opcode which returns true if a signature signs the correct parts of a transaction and matches a provided public key" [op_checksig]: /en/developer-reference#term-op-checksig "Opcode which returns true if a signature signs the correct parts of a transaction and matches a provided public key"
[op_dup]: /en/developer-reference#term-op-dup "Operation which duplicates the entry below it on the stack" [op_dup]: /en/developer-reference#term-op-dup "Operation which duplicates the entry below it on the stack"