From 1314d4c28e25d9748ebc764e4907a14f88de8874 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 2 Nov 2017 16:07:44 -0400 Subject: [PATCH] Add start of quorum section Minor update to govobjvote --- _includes/devdoc/guide_p2p_network.md | 18 ++++++++++++++++++ _includes/devdoc/ref_p2p_networking.md | 7 +++++++ 2 files changed, 25 insertions(+) diff --git a/_includes/devdoc/guide_p2p_network.md b/_includes/devdoc/guide_p2p_network.md index 5d037eda..d00da62f 100644 --- a/_includes/devdoc/guide_p2p_network.md +++ b/_includes/devdoc/guide_p2p_network.md @@ -589,6 +589,24 @@ Earlier versions of Bitcoin Core allowed developers and trusted community member {% endautocrossref %} +### Quorum Selection + +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +Dash quorums are used to facilitate the operation of masternode provided +features in a decentralized, deterministic way. + +| Quorum Type | Members | Consensus | Description | +| ----------- | ------- | --------- | ----------- | +| InstantSend | 10 | Majority | A set of 10 masternodes are selected for _each_ input of the InstantSend transaction. A majority (6+) of them must agree to lock the input. If all inputs in the transaction can be locked, it becomes a successful InstantSend. +| MN Payments | 10 | Majority | A set of 10 masternodes are selected for each block. A majority (6+) of them must agree on the masternode payee for the next block. +| MN Broadcast | 10 | Majority | If a majority (6+) of nodes agree, a new `mnb` message is not required. + +{% endautocrossref %} + + ### PrivateSend {% include helpers/subhead-links.md %} diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index 6f58dfa2..c906c877 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -2672,6 +2672,13 @@ Additionally, nodes can request `govobjvote` messages for specific governance objects via a `govsync` message. Masternodes ignore requests for votes if they are not fully synced. +{% highlight text %} +Dash Core limits how frequently a masternode can vote on a governance object. +A masternode's vote will not be processed if it has been less than 60 minutes +since its last vote on that object. Additionally, invalid votes can result in +the node being banned. +{% endhighlight %} + | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | | 41+ | vinMasternode | CTxIn | Required | Unspent output for the masternode which is voting