mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 20:42:59 +01:00
72 lines
3.5 KiB
Markdown
72 lines
3.5 KiB
Markdown
|
Added RPCs
|
||
|
--------
|
||
|
|
||
|
- Once the v19 hard fork is activated, `protx register`, `protx register_fund`, and `protx register_prepare` RPCs will decode BLS operator public keys using the new basic BLS scheme. In order to support BLS public keys encoded in the legacy BLS scheme, `protx register_legacy`, `protx register_fund_legacy`, and `protx register_prepare_legacy` were added.
|
||
|
|
||
|
Other changes
|
||
|
--------
|
||
|
|
||
|
`qfcommit`
|
||
|
--------
|
||
|
|
||
|
Once the v19 hard fork is activated, `quorumPublicKey` will be serialised using the basic BLS scheme.
|
||
|
To support syncing of older blocks containing the transactions using the legacy BLS scheme, the `version` field indicates which scheme to use for serialisation of `quorumPublicKey`.
|
||
|
|
||
|
| Version | Version Description | Includes `quorumIndex` field |
|
||
|
|---------|--------------------------------------------------------|------------------------------|
|
||
|
| 1 | Non-rotated qfcommit serialised using legacy BLS scheme | No |
|
||
|
| 2 | Rotated qfcommit serialised using legacy BLS scheme | Yes |
|
||
|
| 3 | Non-rotated qfcommit serialised using basic BLS scheme | No |
|
||
|
| 4 | Rotated qfcommit serialised using basic BLS scheme | Yes |
|
||
|
|
||
|
`MNLISTDIFF` P2P message
|
||
|
--------
|
||
|
|
||
|
Starting with protocol version 70225, the following field is added to the `MNLISTDIFF` message between `cbTx` and `deletedQuorumsCount`.
|
||
|
|
||
|
| Field | Type | Size | Description |
|
||
|
|---------------------| ---- | ---- |-----------------------------------|
|
||
|
| version | uint16_t | 2 | Version of the `MNLISTDIFF` reply |
|
||
|
|
||
|
The `version` field indicates which BLS scheme is used to serialise the `pubKeyOperator` field for all SML entries of `mnList`.
|
||
|
|
||
|
| Version | Version Description |
|
||
|
|---------|-----------------------------------------------------------|
|
||
|
| 1 | Serialisation of `pubKeyOperator` using legacy BLS scheme |
|
||
|
| 2 | Serialisation of `pubKeyOperator` using basic BLS scheme |
|
||
|
|
||
|
`ProTx` txs family
|
||
|
--------
|
||
|
|
||
|
`proregtx` and `proupregtx` will support a new `version` value:
|
||
|
|
||
|
| Version | Version Description |
|
||
|
|---------|-----------------------------------------------------------|
|
||
|
| 1 | Serialisation of `pubKeyOperator` using legacy BLS scheme |
|
||
|
| 2 | Serialisation of `pubKeyOperator` using basic BLS scheme |
|
||
|
|
||
|
`proupservtx` and `prouprevtx` will support a new `version` value:
|
||
|
|
||
|
| Version | Version Description |
|
||
|
|---------|------------------------------------------------|
|
||
|
| 1 | Serialisation of `sig` using legacy BLS scheme |
|
||
|
| 2 | Serialisation of `sig` using basic BLS scheme |
|
||
|
|
||
|
`MNHFTx`
|
||
|
--------
|
||
|
|
||
|
`MNHFTx` will support a new `version` value:
|
||
|
|
||
|
| Version | Version Description |
|
||
|
|---------|------------------------------------------------|
|
||
|
| 1 | Serialisation of `sig` using legacy BLS scheme |
|
||
|
| 2 | Serialisation of `sig` using basic BLS scheme |
|
||
|
|
||
|
BLS enforced scheme
|
||
|
--------
|
||
|
Once the v19 hard fork is activated, all remaining messages containing BLS public keys or signatures will serialise them using the new basic BLS scheme.
|
||
|
The motivation behind this change is the need to be aligned with IETF standards.
|
||
|
|
||
|
List of affected messages:
|
||
|
`dsq`, `dstx`, `mnauth`, `govobj`, `govobjvote`, `qrinfo`, `qsigshare`, `qsigrec`, `isdlock`, `clsig`, and all DKG messages (`qfcommit`, `qcontrib`, `qcomplaint`, `qjustify`, `qpcommit`).
|