P2P - Add QcTx hexdump

This commit is contained in:
thephez 2018-12-18 17:15:25 -05:00
parent c31c99ff89
commit 9e6fb8984e
No known key found for this signature in database
GPG key ID: BBC8A06DBE236099
4 changed files with 62 additions and 6 deletions

View file

@ -170,7 +170,7 @@ protocol version 70012: section protocol versions
protocol version 70013: section protocol versions protocol version 70013: section protocol versions
protocol version 70014: section protocol versions protocol version 70014: section protocol versions
public key infrastructure: pki public key infrastructure: pki
'Quorum Commitment': quorum commitment special tx 'QcTx': quorum commitment special tx
'`qfcommit` message': qfcommit message '`qfcommit` message': qfcommit message
'`qfcommit` messages': qfcommit message '`qfcommit` messages': qfcommit message
'`r`': r '`r`': r

View file

@ -3063,7 +3063,7 @@ bf110000 ................................... Count: 4543
{% autocrossref %} {% autocrossref %}
The `qfcommit` message is used to finalize a long-living masternode quorum setup The `qfcommit` message is used to finalize a long-living masternode quorum setup
by aggregating the information necessary to mine the on-chain Quorum Commitment by aggregating the information necessary to mine the on-chain QcTx
special transaction. The message contains all the necessary information required special transaction. The message contains all the necessary information required
to validate the long-living masternode quorum's signing results. to validate the long-living masternode quorum's signing results.

View file

@ -869,14 +869,14 @@ Coinbase Transaction Payload
{% endautocrossref %} {% endautocrossref %}
#### Quorum Commitment #### QcTx
{% include helpers/subhead-links.md %} {% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
*Added in protocol version 70213 of Dash Core as described by DIP6* *Added in protocol version 70213 of Dash Core as described by DIP6*
The Quorum Commitment special transaction adds the best final commitment from a The Quorum Commitment (QcTx) special transaction adds the best final commitment from a
Long-Living Masternode Quorum (LLMQ) Distributed Key Generation (DKG) session to Long-Living Masternode Quorum (LLMQ) Distributed Key Generation (DKG) session to
the chain. This special transaction has no inputs and no outputs and thus also the chain. This special transaction has no inputs and no outputs and thus also
pays no fee. pays no fee.
@ -901,7 +901,63 @@ the extra payload consists of the following data:
| 4 | height | uint32_t | Height of the block | 4 | height | uint32_t | Height of the block
| Variable | commitment | qfcommit | The payload of the `qfcommit` message | Variable | commitment | qfcommit | The payload of the `qfcommit` message
<!-- hexdump needed --> The following annotated hexdump shows a QcTx transaction.
<!--getrawtransaction f218f2d5b8003bc530016dc510b3d982a5cf43ff76313b991ac5aa90a91065b7 true-->
An itemized quorum commitment transaction:
{% highlight text %}
0300 ....................................... Version (3)
0600 ....................................... Type (6 - Quorum Commitment)
00 ......................................... Number of inputs
00 ......................................... Number of outputs
00000000 ................................... Locktime
fd4901 ..................................... Extra payload size (329)
Quorum Commitment Transaction Payload
| 0100 ..................................... Version (1)
|
| 921d0000 ................................. Block height: 7570
|
| Payload from the qfcommit message
| | 01 ..................................... LLMQ Type (1)
| |
| | 8d80561839648b844ade10b6e81069fa
| | 6c4bde6166dd59242be3487a00000000 ....... Quorum hash
| |
| | 32 ..................................... Number of signers (50)
| | ff7effffbebe02 ......................... Aggregrated signers bitvector
| |
| | 32 ..................................... Number of valid members (50)
| | ff7effffbebe02 ......................... Valid members bitvector
| |
| | 81d0717b893b557f54daacbd060bcffa
| | 2dc341175d0b89c7974dc57ef482ae27
| | e10fb273eda534596993999950817cd4 ....... Quorum public key (BLS)
| |
| | ed93bc215d15350bd7030be811cf1df2
| | c114f6b34df9bd4095161af93608ed90 ....... Quorum verification vector hash
| |
| | Quorum threshold signature (BLS)
| | 8d2bbb0b9c5b8626eb852ea0ff4f2509
| | 19becc2d24653910fb8e11cf5573062f
| | 9f64c03a5031f1d462163ce98e8bf78a
| | 1470f7074a8e6fe23ccb53d73635ecd5
| | ad71b26a938fc21638bcae7d272af9fa
| | 919f296a17e77191e3d4c708bc6e1b9a ....... BLS Signatures (96 bytes)
| |
| | Aggregated signatures from all commitments (BLS)
| | 19e702ff84ff851312cceba1de528ee7
| | ffe33647ae28ef895b35558512901394
| | b430c804c7c42494a3312545606b5598
| | 0480985494fa2c49f50c65d47570380f
| | 13c2851ce33d8584b64e8b659146d732
| | 67d821c78d09ba7caea3d03641f78c7a ....... BLS Signature (96 bytes)
{% endhighlight %}
{% endautocrossref %} {% endautocrossref %}

View file

@ -459,7 +459,7 @@ http://opensource.org/licenses/MIT.
[proupservtx special tx]: /en/developer-reference#proupservtx [proupservtx special tx]: /en/developer-reference#proupservtx
[python-bitcoinlib]: https://github.com/petertodd/python-bitcoinlib [python-bitcoinlib]: https://github.com/petertodd/python-bitcoinlib
[python-blkmaker]: https://gitorious.org/bitcoin/python-blkmaker [python-blkmaker]: https://gitorious.org/bitcoin/python-blkmaker
[quorum commitment special tx]: /en/developer-reference#quorum-commitment [quorum commitment special tx]: /en/developer-reference#qctx
[Satoshi Nakamoto]: https://en.bitcoin.it/wiki/Satoshi_Nakamoto [Satoshi Nakamoto]: https://en.bitcoin.it/wiki/Satoshi_Nakamoto
[setup tor]: https://www.torproject.org/ [setup tor]: https://www.torproject.org/
[SHA256]: https://en.wikipedia.org/wiki/SHA-2 [SHA256]: https://en.wikipedia.org/wiki/SHA-2