Ver Fonte

PIP-0014: New operation to certify accounts for extended recovery period

Herman Schoenfeld há 7 anos atrás
pai
commit
7e2efc39ce
2 ficheiros alterados com 73 adições e 0 exclusões
  1. 72 0
      PIP/PIP-0014.md
  2. 1 0
      PIP/README.md

+ 72 - 0
PIP/PIP-0014.md

@@ -0,0 +1,72 @@
+<pre>
+   PIP: PIP-0014
+   Title: New operation to certify accounts for extended recovery period
+   Type: Protocol
+   Impact: Hard-Fork
+   Author: Dr. Muhammad Amer <i>&lt;[email protected]&gt;</i>
+   Comments-URI: https://discord.gg/sJqcgtD  (channel #pip-0014)
+   Status: Proposed
+   Created: 2018-01-04
+ </pre>
+ 
+ ## Summary
+ 
+It is proposed to pay a fee to the development fund by an account holder in order to keep the account active for an extended period of time (20 years). 
+ 
+ ## Motivation
+ 
+ Coinrot is a serious economic issue afflicting almost all other cryptocurrencies. Coinrot is the phenomenon of coins being permanently lost due to lost/corrupted keys and/or natural death. It is estimated that 20% of Bitcoins have already rotted. PascalCoin solves this problem by allowing PASC to be transferred from an account, without owners signature, after an inactivity period of 4 years. Although this solves the coinrot problem at the same time many users want to keep PascalCoin in their wallet for longer period of time without fear of forgetting to do transaction and losing funds within these 4 years. Community has expressed discomfort over this as funds cannot be saved for longer period of time.
+ 
+ ## Specification
+
+A new operation called Certify Account is proposed which allows an account to prevent recovery for 20 years and which pays 1 PASC to account 0-10.
+
+### New Operation: CERTIFY ACCOUNT
+
+This operation will be composed of the following fields:
+
+- **Account**: the account which is to be certified
+- **Fee**: the network fee paid to miner
+- **Developer Fee**: the fee to pay developers
+- **Signer**: the account which pays both fees
+- **Signature**: ECDSA signature of entire operation
+
+**CONSENSUS RULES**
+- The Developer Fee must equal 1 PASC
+- The Signer Account balance must greater than or equal to (Fee + Developer Fee)
+- The public keys for Signer Account and Account must be identical
+- The Signature must be well-formed ECDSA signature verifiable using Signer Account's public key
+
+**MUTATION RULES**
+- Account.State is changed to new state called ```CERTIFIED```
+- Account.LockedUntilBlock field is changed to ```CURRENT BLOCK NUMBER + 2102400```, which is 20 years from the date minted into a block.
+- The Developer Fee is transferred from Signer Account to account 0-10
+
+### Update Operation: RECOVER ACCOUNT
+
+In order to support Certified Accounts, the RECOVER ACCOUNT operation must add the following consensus rule:
+
+```pascal
+If (Account.State = CERTIFIED) AND (CURRENT_BLOCK_NUMBER >= Account.LockedUntilBlock) then
+   // proceed to next step of existing RECOVER ACCOUNT consensus rules
+else 
+   Error('Cannot RECOVER an unexpired certified account')
+```
+
+ ## Rationale
+ 
+As there is already a [PIP][1] in place to extend the recover operation from 4 years to 10, by adopting this PIP, the user can also make an informed decision to get his account maintained for longer period of time without fear of losing funds and account. The fee will be paid to Developer Fund which will be beneficial for the growth of PascalCoin.
+ 
+ ## Backwards Compatibility
+ 
+ This proposal is not backwards compatible and requires a hard-fork activation. 
+ 
+ ## Acknowledgements
+
+ The technical specification was provided by Herman Schoenfeld based on the concepts provided in this PIP.
+ 
+## Links
+
+1. [PIP-0012: Change account recovery to 10 years][1]
+
+[1]: https://github.com/PascalCoin/PascalCoin/blob/master/PIP/PIP-0012.md

+ 1 - 0
PIP/README.md

@@ -20,5 +20,6 @@ If they wish to continue, copy [this template](PIP-template.md) and ensure your
 | [11](PIP-0011.md)     | 20% Developer Reward                     | Herman Schoenfeld              | Protocol       | Proposed |
 | [12](PIP-0012.md)     | Change account recovery to 10 years      | Herman Schoenfeld              | Protocol       | Proposed |
 | [13](PIP-0013.md)     | Allow nodes to pull pending operations   | Herman Schoenfeld              | Protocol       | Proposed |
+| [14](PIP-0014.md)     | New operation to certify accounts for extended recovery period   | Dr. Muhammad Amer       | Protocol       | Proposed |