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
In contrast to the standard [HD wallet](https://en.bitcoin.it/wiki/Deterministic_wallet) implementation, rather than an [externally owned account](http://ethdocs.org/en/latest/contracts-and-transactions/account-types-gas-and-transactions.html), all assets (ETH, ERC20, ERC721, etc.) for the user are associated with the wallet's public address (contract account) for which by construction there exists no private key; hence **value transfer** actions from the wallet to another address require function calls to be performed on the wallet itself. For *importing* assets, one simply sends them to the user wallet contract address.
36
36
37
37
### Recovery Key
38
38
39
-
The `recovery key` is an ephemeral key that exists only in memory on the clients device for a brief moment. The key is generated and used to sign the `backup transaction` and then erased from memory. The wallet contract keeps track of the public address of the `recovery key` that signed the `backup transaction`.
39
+
The `recovery key` is an ephemeral key that exists only in memory on the clients device for a brief moment. The key is generated and used to sign the `recovery transaction` and then erased from memory. The wallet contract keeps track of the public address of the `recovery key` that signed the `recovery transaction`.
40
40
41
-
### Backup Transaction
41
+
### Recovery Transaction
42
42
43
-
The `backup transaction` is a transaction signed by the `recovery key`. This transaction authorizes the **RECOVERY** operation. The **RECOVERY** operation is defined as the one time atomic removal of all existing `device keys` and the assignment of the `backup key` as the sole `device key`.
43
+
The `recovery transaction` is a transaction signed by the `recovery key`. This transaction authorizes the **RECOVERY** operation. The **RECOVERY** operation is defined as the one time atomic removal of all existing `device keys` and the assignment of the `backup key` as the sole `device key`.
44
44
45
-
It should be noted that the `backup transaction` in and of itself is of no use to anyone without the corresponding `backup key`.
45
+
It should be noted that the `recovery transaction` in and of itself is of no use to anyone without the corresponding `backup key`.
46
46
47
47
### Backup Key
48
48
49
-
The `backup-key` is a key that is used in conjunction with the `backup transaction` in order to perform a **RECOVERY**.
49
+
The `backupkey` is a key that is used in conjunction with the `recovery transaction` in order to perform a **RECOVERY**.
50
50
51
-
It should be noted that the `backup-key` in and of itself is of no use to anyone without the corresponding `backup transaction`.
51
+
It should be noted that the `backupkey` in and of itself is of no use to anyone without the corresponding `recovery transaction`.
52
52
53
-
In the Dapper client interface, the `backup-key` is stored in the users "Recovery Kit" in [mini private key format](https://en.bitcoin.it/wiki/Mini_private_key_format).
53
+
In the Dapper client interface, the `backupkey` is stored in the users "Recovery Kit" in [mini private key format](https://en.bitcoin.it/wiki/Mini_private_key_format).
54
54
55
55
### Device Keys
56
56
@@ -68,7 +68,7 @@ It is of note that a `device key` can also be a smart contract, which provides a
68
68
- Add another `device key`
69
69
- Remove another `device key`
70
70
- Adjust the `cosigner` on a `device key`
71
-
- Rotate the `backup key` and `backup transaction`
71
+
- Rotate the `backup key` and `recovery transaction`
72
72
73
73
#### Device Key Inabilities
74
74
@@ -88,17 +88,17 @@ The cosigning key can also be replaced or removed, allowing for full flexibility
88
88
89
89
### Multi-Signature Implementation
90
90
91
-
The wallet achieves multi-signature capabilities by way of the `invoke()` method and its variants. Performing all value transfers, administration of `device keys` and rotating the `backup key` and `backup transaction` are required to be called through the `invoke()` method, thus allowing for a cosigning check on all aforementioned operations. The `invoke()` methods variants are capable of receiving up to two signatures, in addition to the "free" signature provided by `msg.sender`.
91
+
The wallet achieves multi-signature capabilities by way of the `invoke()` method and its variants. Performing all value transfers, administration of `device keys` and rotating the `backup key` and `recovery transaction` are required to be called through the `invoke()` method, thus allowing for a cosigning check on all aforementioned operations. The `invoke()` methods variants are capable of receiving up to two signatures, in addition to the "free" signature provided by `msg.sender`.
92
92
93
93
### Recovery Operation
94
94
95
-
A RECOVERY operation is performed by submitting the `backup transaction` to the blockchain network. The effects of this transaction are as follows:
95
+
A RECOVERY operation is performed by submitting the `recovery transaction` to the blockchain network. The effects of this transaction are as follows:
96
96
97
97
- Remove all existing device keys (scorched earth policy)
98
98
- Add the backup key as the only device key
99
99
100
100
This operation is intended to be executed in the scenario where all the users device keys are LOST, STOLEN or COMPROMISED. The operation essentially “activates” the `backup key`, and as such the `backup key` is no longer considered a `backup key` but rather a full `device key`.
101
101
102
-
The user can then rotate the `backup key` and `backup transaction` via their new `device key`.
102
+
The user can then rotate the `backup key` and `recovery transaction` via their new `device key`.
103
103
104
104
For questions, inquiries or more please email support@meetdapper.com
0 commit comments