You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* first draft remediation of CIP-0011
* according to CIP-0084 "Ledger era" is not capitalised
* spelled NA instead of standard N/A
* canonical inter-CIP links
* some trial and error: square brackets appear not to work outside main branch
* use relative CIP link syntax that will also work on Dev Portal
* best guess of what will work both on GitHub and Dev Portal
* aha, that's the common link syntax: imitating CIP-0001
* CIP should also cover tool stack, not just wallets
Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>
* yet another missing full stop in the Copyright section
Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>
---------
Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>
Starting with the Shelley hardfork, Cardano makes use of both the *UTXO model* and the *account model*. To support both transaction models from the same master key, we allocate a new chain for [CIP1852](https://github.com/cardano-foundation/CIPs/blob/master/CIP-1852/README.md)
20
+
Starting with the Shelley hardfork, Cardano makes use of both the *UTXO model* and the *account model*. To support both transaction models from the same master key, we allocate a new chain for [CIP-1852].
15
21
16
-
## Terminology
17
-
18
-
### Meaning of *account*
19
-
20
-
The term "account" is unfortunately an overloaded term so we clarify all its uses here
21
-
22
-
#### 1) "Account" as a BIP44 derivation level
23
-
24
-
BIP44 uses the term "account" as one derivation level to mean the following
25
-
26
-
> This level splits the key space into independent user identities, so the wallet never mixes the coins across different accounts.
27
-
To differentiate this from other usage, we sometimes refer to it as an `account'` (the bip32 notation) or a BIP44 Account.
28
-
29
-
#### 2) "Account" as a transaction model
30
-
31
-
Blockchains like Ethereum does not use the UTXO model and instead uses the [*Account model*](https://github.com/ethereum/wiki/wiki/Design-Rationale#accounts-and-not-utxos) for transactions.
32
-
33
-
## Motivation
22
+
## Motivation: why is this CIP necessary?
34
23
35
24
Generally it's best to only use a cryptographic key for a single purpose, and so it's best to make the staking key be separate from any key used for UTXO addresses.
36
25
37
26
## Specification
38
27
39
-
Recall that [CIP1852](https://github.com/cardano-foundation/CIPs/blob/master/CIP-1852/README.md) specifies the following derivation path
28
+
> **Note** The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
29
+
30
+
Recall that [CIP-1852] specifies the following derivation path:
@@ -52,7 +43,7 @@ Wallets that use multiple staking keys are REQUIRED to use sequential indexing w
52
43
53
44
*Note*: an observer looking at the blockchain will be able to tell if two staking keys belong to the same user if they are generated from the same wallet with different `address_index` values because the payment keys inside the *base addresses* will be the same.
## Rationale: how does this CIP achieve its goals?
64
+
65
+
### Meaning of *account*
66
+
67
+
The term "account" is unfortunately an overloaded term so we clarify all its uses here:
68
+
69
+
#### 1) "Account" as a BIP44 derivation level
70
+
71
+
BIP44 uses the term "account" as one derivation level to mean the following
72
+
73
+
> This level splits the key space into independent user identities, so the wallet never mixes the coins across different accounts.
74
+
To differentiate this from other usage, we sometimes refer to it as an `account'` (the bip32 notation) or a BIP44 Account.
75
+
76
+
#### 2) "Account" as a transaction model
77
+
78
+
Blockchains like Ethereum does not use the UTXO model and instead uses the [*Account model*](https://github.com/ethereum/wiki/wiki/Design-Rationale#accounts-and-not-utxos) for transactions.
79
+
80
+
## Path to Active
81
+
82
+
### Acceptance Criteria
83
+
84
+
-[x] All notable wallet and tooling providers follow this method of key derivation.
85
+
86
+
### Implementation Plan
87
+
88
+
-[x] This method of key derivation has been agreed as canonical and has been included in [CIP-1852].
89
+
-[x] This method of key derivation has been supported by all wallet and tool providers beginning with the Shelley ledger era.
90
+
72
91
## Copyright
73
92
74
-
This CIP is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode)
93
+
This CIP is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode).
0 commit comments