Skip to content
This repository was archived by the owner on Aug 7, 2018. It is now read-only.
This repository was archived by the owner on Aug 7, 2018. It is now read-only.

ALP04: Delegation Chains #4

Description

@lkngtn

Proposal: ALP04 Delegation Chains

Author(s): Luke Duncan

Last updated: Dec 5th 2017

Abstract

This proposal extends the functionality described in #3 to include delegation chains where Alice might delegate to Bob who might delegate to Carol. The purpose of allowing delegation chaining is to allow for bottom-up chains of trust.

Proposal

At a minimum a successful implementation would enable the following user stories.

  • All user stories which are included in ALP03: Proxy/Delegate Voting #3
  • As a delegate, I want to be able to delegate my influence as well as the influence that has been delegated to me to another user.
  • As a user, before I delegate I want to be able to know if the transaction will succeed prior to paying gas.

Rationale

Rather than a typical user having to make a decision between one of many expert delegates, they can simply delegate that choice to a friend who they have a high level of trust but who is more engaged in the project. This process helps mitigate issues where well know figures become super delegates simply because they have a high profile in the community. This also minimized the amount of effort and knowledge required of the average voter.

Open Issues

  • To ensure a delegation is valid and does not create a loop, we have to process the delegation chain at the time of delegation. This means the cost to delegate may vary. We can limit the length of delegation chains in order to put a minimum and maximum on this cost.
  • To minimize the cost to delegate, we can make the validation of chains happen client side, allowing users to make any delegation choice they want and do the tabulation and validation in batches at the end of a poll. To make tabulation less expensive, it may make sense to move this process “off-chain” with a solution like Truebit. This approach is discussed in ALP05: Off-chain tabulation of votes #5 .

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions