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

@ -68,15 +68,13 @@ The special transaction type used for Register Subscription Transactions is 8.
The transaction consists of the following data in the payload area:
| Name | Data Type | Description |
| - | - | - |
| version | uint16_t | Register transaction version number |
| userNameSize | compactSize uint | Length of the username |
| userName | string | Username for the account<br> * Cannot be changed by subsequent SubTxs |
| pubkeySize | compactSize uint | Length of the public key |
| pubkey | byte[] | Owners public key for the account<br> * For authentication only - should not be used to hold funds |
| payloadSigSize| compactSize uint | Length of the signature |
| payloadSig | byte[] | Signature of the hash of the preceding fields signed by the blockchain user with the private key for the specified PubKey (65 bytes) |
| Name | Type | Size | Description |
| - | - | - | - |
| version | uint16_t | 2 | Register transaction version number |
| userNameSize | compactSize uint | 1-9 | Length of the username |
| userName | string | Variable | Username for the account<br> * Cannot be changed by subsequent SubTxs |
| pubKey | BLSPubKey | 48 | Owners public key for the account<br> * For authentication only - should not be used to hold funds |
| payloadSig | BLSSig | 96 | Signature of the hash of the preceding fields signed by the blockchain user with the private key for the specified PubKey |
### Topup Blockchain User Credit (SubTxTopup)
@ -88,10 +86,10 @@ The special transaction type used for Topup Subscription Transactions is 9.
The transaction consists of the following data in the payload area:
| Name | Data Type | Description |
| - | - | - |
| version | uint16_t | Topup transaction version number |
| regTxHash | uint256 | Registration Transaction-ID of the first Register Subscription Transaction |
| Name | Type | Size | Description |
| - | - | - | - |
| version | uint16_t | 2 | Topup transaction version number |
| regTxHash | uint256 | 32 | Registration Transaction-ID of the first Register Subscription Transaction |
### Reset Blockchain User Key (SubTxResetKey)
@ -107,16 +105,14 @@ The special transaction type used for ResetKey Subscription Transactions is 10.
The transaction consists of the following data in the payload area:
| Name | Data Type | Description |
| - | - | - |
| version | uint16_t | Reset key transaction version number |
| regTxHash | uint256 | Registration Transaction-ID of the first Register Subscription Transaction |
| hashPrevSubTx | uint256 | Hash of the users previous subscription transaction |
| creditFee | int64_t | Fee (denominated in duffs) to pay for transaction |
| newPubKeySize | compactSize uint | Length of the new public key |
| newPubKey | byte[] | New public key for a change/reset action |
| payloadSigSize| compactSize uint | Length of the signature |
| payloadSig | byte[] | Signature of most recent pubkey prior to this transaction, signing a change/reset action |
| Name | Type | Size | Description |
| - | - | - | - |
| version | uint16_t | 2 | Reset key transaction version number |
| regTxHash | uint256 | 32 | Registration Transaction-ID of the first Register Subscription Transaction |
| hashPrevSubTx | uint256 | 32 | Hash of the users previous subscription transaction |
| creditFee | int64_t | 8 | Fee (denominated in duffs) to pay for transaction |
| newPubKey | BLSPubKey | 48 | New public key for a change/reset action |
| payloadSig | BLSSig | 96 | Signature of most recent pubkey prior to this transaction, signing a change/reset action |
### Close Blockchain User Account (SubTxCloseAccount)
@ -126,14 +122,13 @@ The special transaction type used for CloseAccount Subscription Transactions is
The transaction consists of the following data in the payload area:
| Name | Data Type | Description |
| Name | Type | Size | Description |
| - | - | - |
| version | uint16_t | Close account transaction version number |
| regTxHash | uint256 | Registration Transaction-ID of the first Register Subscription Transaction |
| hashPrevSubTx | uint256 | Hash of the users previous subscription transaction. This is necessary to ensure proper order of operations is followed (e.g. make sure the proper key has signed the Close message if a ResetKey message is also present) |
| creditFee | int64_t | Fee (denominated in duffs) to pay for transaction |
| payloadSigSize| compactSize uint | Length of the signature |
| payloadSig | byte[] | Signature from either the current key or a previous key<br>Version 1 - Previous keys are constrained to ones <= ~90 days old (51840 blocks)
| version | uint16_t | 2 | Close account transaction version number |
| regTxHash | uint256 | 32 | Registration Transaction-ID of the first Register Subscription Transaction |
| hashPrevSubTx | uint256 | 32 | Hash of the users previous subscription transaction. This is necessary to ensure proper order of operations is followed (e.g. make sure the proper key has signed the Close message if a ResetKey message is also present) |
| creditFee | int64_t | 8 | Fee (denominated in duffs) to pay for transaction |
| payloadSig | BLSSig | 96 | Signature from either the current key or a previous key<br>Version 1 - Previous keys are constrained to ones <= ~90 days old (51840 blocks)
#### Important notes regarding closed accounts