diff --git a/_includes/devdoc/guide_dash_features.md b/_includes/devdoc/guide_dash_features.md index 6d65bd8a..eec5cd6b 100644 --- a/_includes/devdoc/guide_dash_features.md +++ b/_includes/devdoc/guide_dash_features.md @@ -164,13 +164,39 @@ block. | **InstantSend Client** | **Direction** | **Peers** | **Description** | | `tx` message | → | | Client sends InstantSend transaction | **LLMQ Signing Sessions** | | | Quorums internally process locking | -| | | | Quorum(s) responsible for the transaction's input(s) lock the inputs via LLMQ signing sessions +| | | | Quorum(s) responsible for the transaction's inputs lock the inputs via LLMQ signing sessions | | | | Once all inputs are locked, the quorum responsible for the overall transaction creates the transaction lock (`islock`) via an LLMQ signing session | **LLMQ Results** | | | Quorum results broadcast to the network | | | ← | `inv` message (islock) | Quorum responds with lock inventory | `getdata` message (islock) | → | | Client requests lock message | | ← | `islock` message | Quorum responds with lock message +{% endautocrossref %} + +### ChainLocks +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +Dash's ChainLock feature leverages [LLMQ Signing Requests/Sessions](#llmq-signing-session) +to reduce uncertainty when receiving funds and remove the possibility of 51% +mining attacks. + +For each block, an LLMQ of a few hundred masternodes is selected and each +participating member signs the first block that it sees extending the active +chain at the current height. If enough members (e.g. >= 60%) see the same block +as the first block, they will be able to create a `clsig` message and propagate +it to all nodes in the network. + +If a valid `clsig` message is received by a node, it must reject all blocks (and +any descendants) at the same height that do not match the block specified in the +`clsig` message. This makes the decision on the active chain quick, easy and +unambiguous. It also makes reorganizations below this block impossible. + +Please read [DIP8 ChainLocks](https://github.com/dashpay/dips/blob/master/dip-0008.md) +for additional details. + + {% endautocrossref %} ### PrivateSend @@ -358,33 +384,6 @@ value of only 0.00000546 DASH as shown by the calculation below. [Example Testnet PrivateSend transaction spending 546 duffs](https://testnet-insight.dashevo.org/insight/address/yWWNYVEQ84RM1xXJekj62wJPF3h1TKh9fS) -### ChainLocks -{% include helpers/subhead-links.md %} - -{% autocrossref %} - -Dash's ChainLock feature leverages [LLMQ Signing Requests/Sessions](#llmq-signing-session) -to reduce uncertainty when receiving funds and remove the possibility of 51% -mining attacks. - -For each block, an LLMQ of a few hundred masternodes is selected and each -participating member signs the first block that it sees extending the active -chain at the current height. If enough members (e.g. >= 60%) see the same block -as the first block, they will be able to create a `clsig` message and propagate -it to all nodes in the network. - -If a valid `clsig` message is received by a node, it must reject all blocks (and -any descendants) at the same height that do not match the block specified in the -`clsig` message. This makes the decision on the active chain quick, easy and -unambiguous. It also makes reorganizations below this block impossible. - -Please read [DIP8 ChainLocks](https://github.com/dashpay/dips/blob/master/dip-0008.md) -for additional details. - - -{% endautocrossref %} - - ### Masternode Payment {% include helpers/subhead-links.md %}