Update DIPs regarding use of BLS12-381-reversed (#25)

* Update bls_signature_scheme.md with BLS12-381-reversed

* Update DIP3/DIP4 to use BLS operator keys

* Update DIP5 to use BLS keys for user keys

Also add the "Size" column to all serialization specs to align with other DIPs.

* Update BLS primitives serialization size in DIP6/7

* DIP3 - Correct PubKeyOperator type

* DIP4 - Correct PubKeyOperator type

* Remove trailing e from integere
This commit is contained in:
Alexander Block 2018-11-09 18:42:42 +01:00 committed by thephez
parent b1b56aaefd
commit 52aee60048
6 changed files with 60 additions and 63 deletions

View file

@ -187,11 +187,11 @@ The internal Dash message name is `qcontrib` and the format of the message is:
| quorumHash | uint256 | 32 | The quorum identifier
| proTxHash | uint256 | 32 | The proTxHash of the contributing member
| vvecSize | compactSize uint | 1-9 | The size of the verification vector
| vvec | BLSPubKey[] | 64 * vvecSize | The verification vector
| ephemeralPubKey | BLSPubKey | 64 | Ephemeral BLS public key used to encrypt secret key contributions
| vvec | BLSPubKey[] | 48 * vvecSize | The verification vector
| ephemeralPubKey | BLSPubKey | 48 | Ephemeral BLS public key used to encrypt secret key contributions
| skCount | compactSize uint | 1-9 | Number of encrypted secret key contributions
| skContributions | byte[] | 32 * skCount | Secret key contributions encrypted to recipient masternodes BLS public operator key
| sig | BLSSig | 32 | BLS signature, signed with the operator key of the contributing masternode
| sig | BLSSig | 96 | BLS signature, signed with the operator key of the contributing masternode
### 3. Complaining phase
@ -231,7 +231,7 @@ The internal Dash message name is `qcomplaint` and the format of the message is:
| badMembers | byte[] | (bitSize + 7) / 8 | The bad members bitvector
| complaintsBitSize | compactSize uint | 1-9 | Number of bits in the complaints bitvector
| complaints | byte[] | (bitSize + 7) / 8 | The complaints bitvector
| sig | BLSSig | 32 | BLS signature, signed with the operator key of the contributing masternode
| sig | BLSSig | 96 | BLS signature, signed with the operator key of the contributing masternode
### 4. Justification phase
@ -265,7 +265,7 @@ The internal Dash message name is `qjustify` and the format of the message is:
| skContributionsCount | compactSize uint | 1-9 | Number of unencrypted secret key contributions
| skContributionMembers | uint32[] | 4 * count | Indexes of the members for which justifications are provided
| skContributions | BLSSecKey[] | 32 * count | Unencrypted secret key contributions for the members contained in skContributionMembers
| sig | BLSSig | 32 | BLS signature, signed with the operator key of the contributing masternode
| sig | BLSSig | 96 | BLS signature, signed with the operator key of the contributing masternode
### 5. Commitment phase
@ -309,10 +309,10 @@ The internal Dash message name is `qpcommit` and the format of the message is:
| proTxHash | uint256 | 32 | The proTxHash of the committing member
| validMembersSize | compactSize uint | 1-9 | Bit size of the validMembers bitvector
| validMembers | byte[] | (bitSize + 7) / 8 | Bitset of valid members in this commitment
| quorumPublicKey | BLSPubKey | 64 | The quorum public key
| quorumPublicKey | BLSPubKey | 48 | The quorum public key
| quorumVvecHash | uint256 | 32 | The hash of the quorum verification vector
| quorumSig | BLSSig | 32 | Threshold signature, signed with the threshold signature share of the committing member
| sig | BLSSig | 32 | BLS signature, signed with the operator key of the contributing masternode
| quorumSig | BLSSig | 96 | Threshold signature, signed with the threshold signature share of the committing member
| sig | BLSSig | 96 | BLS signature, signed with the operator key of the contributing masternode
### 6. Finalization phase
@ -356,10 +356,10 @@ The internal Dash message name is `qfcommit` and the format of the message is:
| signers | byte[] | (bitSize + 7) / 8 | Bitset representing the aggregated signers of this final commitment
| validMembersSize | compactSize uint | 1-9 | Bit size of the validMembers bitvector
| validMembers | byte[] | (bitSize + 7) / 8 | Bitset of valid members in this commitment
| quorumPublicKey | BLSPubKey | 64 | The quorum public key
| quorumPublicKey | BLSPubKey | 48 | The quorum public key
| quorumVvecHash | uint256 | 32 | The hash of the quorum verification vector
| quorumSig | BLSSig | 32 | Recovered threshold signature
| sig | BLSSig | 32 | Aggregated BLS signatures from all included commitments
| quorumSig | BLSSig | 96 | Recovered threshold signature
| sig | BLSSig | 96 | Aggregated BLS signatures from all included commitments
### 7. Mining phase