Yesterday we had the meetup in Rotterdam, it was a great evening with interesting talks from the Foundation, Bernardo David & Edsko de Vries.
Edsko had a chat with some people about delegation, and he wanted to clarify some things after checking the latest spec. So I’m posting this on his behalf, considering the meetup.com discussions don’t allow you more than 140 characters.
From Edsko de Vries:
It was a pleasure meeting you all yesterday! I had a chat with some people about delegation after the presentations. Delegation is a big subject that I haven’t worked on much personally, and moreover the full delegation specification is still a work in progress (you can find the latest version at https://github.com/input-output-hk/cardano-sl/blob/fe6653822a6bc0aa007d6255a8511a562aad222e/docs/delegation_design_spec.md
, but bear in mind it’s still in flux).But the short story is as follows.
- Each coin has a balance and a stake of the same value.
- The owner of the coin is at all times in charge of the stake in the sense that they can decide who can use the stake (and can later change their mind). When they give someone else the right to use that stake, that person will get their block signing rights, but nothing else.
- The way stake usage rights are transferred is by encoding this in the address. So, when you send a coin to an address, that address specifies “the owner of this coin becomes such-and-such, and the stake can be used by that-other-person”
- If the owner of the coin wants to re-delegate, they can simply transfer that coin back to themselves (to their own address) but with a different annotation in the address saying “but now give that-third-person” (or indeed “but now give myself”) the usage rights to the stake.
The full story is much more complicated than this (see the spec), but this is the short summary.
Hope that helps!
-Edsko