mirror of
https://github.com/seigler/dips
synced 2025-07-26 17:26:13 +00:00
integrated hybrid solution from codablock
This commit is contained in:
parent
0f1ce92f94
commit
e17602f9f9
1 changed files with 4 additions and 4 deletions
|
@ -56,7 +56,7 @@ The previous system also made certain desirable features infeasible. The integra
|
|||
|
||||
## New On-Chain System
|
||||
|
||||
In the new system, the masternode list is derived entirely from information found on-chain. New masternodes are added by new special transactions called Provider Registration Transactions (abbreviated as ProRegTx). They are only removed by spending the collateral. A ProRegTx is a special transaction which refers to a 1000-Dash collateral payment, along with other payload information (DIP2) described later in this document.
|
||||
In the new system, the masternode list is derived entirely from information found on-chain. New masternodes are added by new special transactions called Provider Registration Transactions (abbreviated as ProRegTx). They are only removed by spending the collateral. A ProRegTx is a special transaction which includes a 1000-Dash collateral payment or a reference to it, along with other payload information (DIP2) described later in this document.
|
||||
|
||||
This DIP defines 2 masternode (sub)sets:
|
||||
|
||||
|
@ -67,7 +67,7 @@ Only the valid subset is used in calculations to determine the recipient of the
|
|||
|
||||
## Registering a Masternode (ProRegTx)
|
||||
|
||||
To join the masternode list, masternode owners must submit a special transaction (DIP2) to the network. This transaction is called a Provider Registration Transaction and is abbreviated to ProRegTx. The ProRegTx must refer to an outpoint with the 1000 Dash collateral.
|
||||
To join the masternode list, masternode owners must submit a special transaction (DIP2) to the network. This transaction is called a Provider Registration Transaction and is abbreviated to ProRegTx. The ProRegTx must include an output with the 1000 DASH or refer to an already existing unspent output which holds 1000 DASH.
|
||||
|
||||
The ProRegTx contains 3 public key IDs, which represent 3 different roles in the masternode and define update and voting rights. A "public key ID" refers to the hash160 of an ECDSA public key. These are:
|
||||
|
||||
|
@ -211,8 +211,8 @@ Reorganisations of the chain must also correctly undo changes to the chain-tips
|
|||
|
||||
A ProRegTx is invalid if any of these conditions are true:
|
||||
|
||||
1. collateralOutpoint can't be found in UTXO
|
||||
2. collateralOutpoint amount isn't equal 1000 DASH
|
||||
1. collateralOutpoint `hash` is empty but no output with 1000 DASH can be found on position `n` in outputs of ProRegTx
|
||||
2. collateralOutpoint `hash` is not empty but no output with 1000 DASH can't be found in UTXO with these `hash` and `n`
|
||||
3. Any KeyId* field is null (KeyIdOwner, KeyIdOperator or KeyIdVoting)
|
||||
4. KeyIdOwner or KeyIdOperator was already used by any entry in the registered masternodes set
|
||||
5. scriptPayout is not a P2PKH or P2SH script
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue