Update bsip-0040.md
This commit is contained in:
parent
15fbf7fda5
commit
7a13f4de7c
1 changed files with 21 additions and 4 deletions
25
bsip-0040.md
25
bsip-0040.md
|
@ -30,23 +30,40 @@ Examples:
|
||||||
- Witness Key: Only allows update signing key and publish price feed
|
- Witness Key: Only allows update signing key and publish price feed
|
||||||
- Trading Key: Only allows limit orders (arguments restricted to desired markets), update margin position and transfers (arguments restricted to certain accounts)
|
- Trading Key: Only allows limit orders (arguments restricted to desired markets), update margin position and transfers (arguments restricted to certain accounts)
|
||||||
- Proposal Update Key: Approve proposals (2FA comes to mind)
|
- Proposal Update Key: Approve proposals (2FA comes to mind)
|
||||||
|
- Faucet Key: Allow only to create accounts
|
||||||
The above list of named keys is nothing that is known to the backend as the backend should have an abstract implementation.
|
The above list of named keys is nothing that is known to the backend as the backend should have an abstract implementation.
|
||||||
The UI should provide a button "Create Trading Key" that properly configures the respective custom active permission entry.
|
The UI should provide a button "Create Trading Key" that properly configures the respective custom active permission entry.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Specifications
|
# Specifications
|
||||||
|
|
||||||
|
The description here is more on a superficial level and no recommendation how it can best be implemented.
|
||||||
|
Custom active permission is a list of custom active authorities. A `custom active authorities` contains an `operation_id`, an `authority` (just like with active permission) and a list of `restricted arguments`. When a transaction is signed with such an authority the backend checks if the contained operation has a corresponding custom active authority entry and if so acts as if the active authority of the corresponding account is given. It also checks if the arguments are in the allowed range.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
Assume account A and B and some unrelated key K. Furthermore A has a custom active authority in the following way:
|
||||||
|
```
|
||||||
|
custom active authority = {
|
||||||
|
operationid: 0 (transfer),
|
||||||
|
authority: K,
|
||||||
|
restricted: {
|
||||||
|
to: B
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
That has the consquence now that a a transfer transaction sending funds away from A can be signed with key K as long as the receiver is B.
|
||||||
|
|
||||||
# Discussion
|
# Discussion
|
||||||
|
|
||||||
To be found in the forum - see link above.
|
To be found in the [issue](https://github.com/bitshares/bitshares-core/issues/1061).
|
||||||
|
|
||||||
# Summary for Shareholders
|
# Summary for Shareholders
|
||||||
|
|
||||||
|
Bad publicity in terms of security can have very negative effect on the BTS value. This BSIP allows that traders can e.g. use a trading key, witnesses can use their witness key and a faucet can use a faucet key. If then for some reason the key or witness/faucet server becomes compromised, such a key can do little harm to the account holders, minimizing the risk.
|
||||||
|
|
||||||
# Copyright
|
# Copyright
|
||||||
|
|
||||||
This document is placed in the public domain.
|
This document is placed in the public domain.
|
||||||
|
|
||||||
# See Also
|
# See Also
|
||||||
|
|
||||||
* https://github.com/bitshares/bitshares-core/issues/1061
|
|
||||||
|
|
Loading…
Reference in a new issue