Skip to content

Commit 90d8b75

Browse files
author
Christopher Scott
committed
Update terminology
1 parent f295217 commit 90d8b75

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Node 9
1818
- `npm install`
1919
- `npm run build`
2020
- due to contract bytecode being dependent upon the path at which it was compiled, copy the bytecode from `FullWallet.json` into `WalletFactory.sol`
21-
`npm test`
21+
- `npm test`
2222

2323
### Definitions
2424

@@ -28,29 +28,29 @@ Node 9
2828

2929
**value transfer** - the transferring of value by way of ETH, ERC20, ERC721, or any 3rd party contract call.
3030

31-
### General
31+
## Wallet Design and Features
3232

3333
<img src="./Dapper%20Wallet%20-%20Component%20Diagram.svg">
3434

3535
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.
3636

3737
### Recovery Key
3838

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`.
4040

41-
### Backup Transaction
41+
### Recovery Transaction
4242

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`.
4444

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`.
4646

4747
### Backup Key
4848

49-
The `backup-key` is a key that is used in conjunction with the `backup transaction` in order to perform a **RECOVERY**.
49+
The `backup key` is a key that is used in conjunction with the `recovery transaction` in order to perform a **RECOVERY**.
5050

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 `backup key` in and of itself is of no use to anyone without the corresponding `recovery transaction`.
5252

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 `backup key` is stored in the users "Recovery Kit" in [mini private key format](https://en.bitcoin.it/wiki/Mini_private_key_format).
5454

5555
### Device Keys
5656

@@ -68,7 +68,7 @@ It is of note that a `device key` can also be a smart contract, which provides a
6868
- Add another `device key`
6969
- Remove another `device key`
7070
- Adjust the `cosigner` on a `device key`
71-
- Rotate the `backup key` and `backup transaction`
71+
- Rotate the `backup key` and `recovery transaction`
7272

7373
#### Device Key Inabilities
7474

@@ -88,17 +88,17 @@ The cosigning key can also be replaced or removed, allowing for full flexibility
8888

8989
### Multi-Signature Implementation
9090

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`.
9292

9393
### Recovery Operation
9494

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:
9696

9797
- Remove all existing device keys (scorched earth policy)
9898
- Add the backup key as the only device key
9999

100100
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`.
101101

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`.
103103

104104
For questions, inquiries or more please email support@meetdapper.com

0 commit comments

Comments
 (0)