InstantSend Messages

The following network messages all help control the InstantSend feature of Dash. InstantSend uses the masternode network to lock transaction inputs and enable secure, instantaneous transactions. For additional details, refer to the Developer Guide InstantSend section.

Overview Of P2P Protocol InstantSend Request And Reply MessagesOverview Of P2P Protocol InstantSend Request And Reply Messages

clsig

Added in protocol version 70214 of Dash Core

The clsig message is used to indicate a successful ChainLock for the designated block heightblock height - The number of blocks preceding a particular block on a block chain. For example, the genesis block has a height of zero because zero block preceded it.. The Chainlock ensures that no other blocksblocks - One or more transactions prefaced by a block header and protected by proof of work. Blocks are the data stored on the block chain. can replace the one with the indicated block hash. This determination is made by agreement of a Long-Living Masternode QuorumLong-Living Masternode Quorum - Long-Living Masternode Quorums (LLMQs) are a Dash innovation that enable masternodes to perform threshold signing of consensus-related messages (e.g. InstantSend transactions). LLMQs provide a more scalable, general use quorum system than the ephemeral ones used prior to Dash Core version 0.14. (LLMQ) which creates the BLS signature in the message.

Once a clsig message is received, clients must reject any other blocks for the indicated block height as described in DIP8 (ChainLocks). This increases security by preventing reorganization of a block with a ChainLock (and all blocks below it).

BytesNameData typeDescription
4nHeightint32_tBlock height
32blockHashuint256Block hash
96sigCBLSSignatureLLMQ BLS signature

The following annotated hexdump shows a clsig message. (The message header has been omitted.)

c1310100 ................................... Block Height: 78273

03bb286a877135fad3b33ea9cce9a525
e5edc0879411afaff513b30100000000 ........... Block Hash

12a3331fd8d0008804edaaf94c57b491
d36f38f1993d06dfff71df9ec83da463
dcd5497d105932e609016dac075f02df
1259951e3bcebfcc26afc904f6cd92df
7ff9b8c6c2ac9dcc9cb1a7dc7ec03bcc
005574710c3aabc2f8670959cf8bc9b5 ........... LLMQ BLS Signature

islock

Added in protocol version 70214 of Dash Core

The islock message is used to provide details of transactions that have been locked by LLMQ-based InstantSend. The message includes the details of all transaction inputsinputs - An input in a transaction which contains three fields: an outpoint, a signature script, and a sequence number. The outpoint references a previous output and the signature script allows spending it. along with the transaction ID and the BLS signaturesignature - A value related to a public key which could only have reasonably been created by someone who has the private key that created that public key. Used in Dash to authorize spending duffs previously sent to a public key. of the LLMQLLMQ - Long-Living Masternode Quorums (LLMQs) are a Dash innovation that enable masternodes to perform threshold signing of consensus-related messages (e.g. InstantSend transactions). LLMQs provide a more scalable, general use quorum system than the ephemeral ones used prior to Dash Core version 0.14. that approved the transaction lock.

BytesNameData typeDescription
1-9inputsSizecompactSize uintNumber of inputs
36 * inputsSizeinputsCOutPointOutpoints used in the transaction
32txiduint256TXID of the locked transaction
96sigbyte[]LLMQ BLS Signature

The following annotated hexdump shows a islock message. (The message header has been omitted.)

02 ......................................... Number of inputs: 2

Input 1
| 05f24f65a9d98ff543ba61f7f0ce9448
| 79632bf2517540a5bd8bde2fe8e94617 ......... Previous outpoint TXID
| 00000000 ................................. Previous outpoint index: 0

Input 2
| 05f24f65a9d98ff543ba61f7f0ce9448
| 79632bf2517540a5bd8bde2fe8e94617 ......... Previous outpoint TXID
| 01000000 ................................. Previous outpoint index: 1

e2e1c797576d8b13c83e929684b9aacd
553c20a34e2d11e38bdcaaf8e1de1680 ........... TXID

0f055c2064885d446f83d51b9bb09892
7ea0375a0f6a3f3402abf158ece67e00
81049b8a8f45d254b64574cef194ef31
197e450fba1196d652f2e1421d3b80ae
f429c10eabd4ab9289e9a8f80f6989b7
a11e5e7930deccc3e11a931fc9524f06 ........... LLMQ BLS Signature (96 bytes)

What’s Next
Did this page help you?