add section on destroying Stake in tech-design
This commit is contained in:
parent
dd53f70726
commit
01ce1c2cec
2 changed files with 6 additions and 6 deletions
|
|
@ -18,7 +18,7 @@ Non-goals:
|
|||
|
||||
An up to date version of the [Nix package manager](nixos.org) (>=2.3) is required to build this project. For information on how to install, see the [NixOS website](https://nixos.org/download.html). Important: see also [this section](https://github.com/input-output-hk/plutus#nix-advice) on binary caches.
|
||||
|
||||
Open a development shell with `nix develop` and build the project with `cabal build`. Those pained by the need to remember to enter a Nix shell may consider using [nix-direnv](https://github.com/nix-community/nix-direnv).
|
||||
Open a development shell with `nix develop` and build the project with `cabal build`. Those pained by the need to remember to enter a Nix shell may consider using [nix-direnv](https://github.com/nix-community/nix-direnv).
|
||||
|
||||
## Documentation
|
||||
|
||||
|
|
@ -88,10 +88,6 @@ The treasury of a governance system is responsible for determining which users a
|
|||
|
||||
Users are required to 'lock' their GT in stakes, so that the system has some idea of their eligibility to vote on proposal.
|
||||
|
||||
### Staking pool
|
||||
|
||||
A staking pool can be introduced, for the purpose of tracking the aggregate status of all stakes in the system. Some systems may not require a staking pool.
|
||||
|
||||
### Proposal
|
||||
|
||||
A proposal suggests for some specified changes to be made to a Cardano system. It is voted upon by the community and, if passed, its effects are applied to the system.
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ stake.lockedByProposals += (hash proposal.settings, vote)
|
|||
|
||||
This forms a mutual binding between the proposal and the stake.
|
||||
|
||||
A stake may be used to vote on an unlimited number of proposals. Consider a user staking 50GT. They may pledge that 50GT against a proposal `p` _and_ another proposal `p'`.
|
||||
A stake may be used to vote on an unlimited number of proposals. Consider a user staking 50GT. They may pledge that 50GT against a proposal `p` _and_ another proposal `q`.
|
||||
|
||||
Altering the amount positioned in a stake is not possible, for as long as that stake is locked against any proposals. This is to prevent vote manipulation. Consider:
|
||||
|
||||
|
|
@ -78,6 +78,10 @@ data Stake = Stake
|
|||
|
||||
When voting on a proposal, a user can check which stakes have delegated to them off-chain and include them in the voting transaction. _This will lock the delegator's stake_, however they will be themselves be able to unlock it as usual. It should be noted that delegation of stakes only extends to voting on proposals and not, for example, withdrawing GT from a stake.
|
||||
|
||||
## Destroying stake
|
||||
|
||||
In order to recover the ADA and potentially any other funds sent on accident, Stake UTXOs must be destroyable.
|
||||
|
||||
## Staking pool
|
||||
|
||||
There are a number of reasons that a protocol would wish to track the global state of stakes in its system. For example, a protocol may wish to implement a proposal system where a certain proportion of the globally available GT must be staked in-favour of a proposal, in order to allow it to pass. This is the equivalent of mandating a certain voter turnout be met in a national referendum. The ability to do such a thing is conferred by the creation of a _staking pool_.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue