Skip to content

Conversation

amirhaleem
Copy link
Member

@amirhaleem amirhaleem commented Aug 20, 2019

A proposal for on-chain governance in the Helium network.

Rendered view: https://github.com/helium/HIP/blob/4cae1fad8f262dbb443b2a5006597bd026d2a4f9/HIP001.md

HIP001.md Outdated
# Motivation
[motivation]: #motivation

We must decide on a mechanism for the on-going governance of the blockchain network. For clarities sake, _governance_ refers to changes to consensnus breaking rules. These could be changes to the minting schedule, mining reward distribution, or the number of consensus members required.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typos: For clarities sake, consensnus


### Voting

Voting should take place on-chain, not through an out of band mechanism. Any _stakeholder_ should be able to create and sign a _voting transaction_ at any time which proposes which chain variable to change and to what new value.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could a single voting transaction propose changing multiple variables at once? there are some variables currently that would only make sense to be changed together (percent distribution variables for example). Though maybe we should change that to be a single variable whose value is a map/tuple of sorts

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see why not, although I am not that familiar with how the chain variables work at a technical level. Ideally variables that require grouping like this could be consolidated into a single variable to reduce any risk of error.


Voting should take place on-chain, not through an out of band mechanism. Any _stakeholder_ should be able to create and sign a _voting transaction_ at any time which proposes which chain variable to change and to what new value.

Each voting transaction requires a minimum affirmative threshold of stakeholders in order to pass, and by default fails to pass after a certain number of blocks. These values are also defined as chain variables.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how is the minimum affirmative threshold determined?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest that it itself is a chain variable that is initiated with a default value by Helium Inc. Maybe a week long?


- Hotspot hosts (1:1)

- OUI owners (Based on DC usage)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some handwaving here... is there a way to determine legitimate OUIs? DC usage could maybe be faked to some extent

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. Don't have a great suggestion about how to combat this, other than to remove OUI's as a voting member.

# Summary
[summary]: #summary

This RFC attempts to describe an on-chain governance mechanism that relies on a voting mechanism in conjuction with _chain variables_ to effect changes to the blockchain network.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This RFC attempts to describe an on-chain governance mechanism that relies on a voting mechanism in conjuction with _chain variables_ to effect changes to the blockchain network.
This RFC attempts to describe an on-chain governance mechanism that relies on a voting mechanism in conjunction with _chain variables_ to effect changes to the blockchain network.


## Governance Mechanism

I propose that the correct mechanism for deploying a _blockchain_txn_vars_ is by on-chain vote of network stakeholders.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
I propose that the correct mechanism for deploying a _blockchain_txn_vars_ is by on-chain vote of network stakeholders.
I propose that the correct mechanism for deploying a _blockchain_txn_vars_ is an on-chain vote of network stakeholders.


- OUI owners (Based on DC usage)

Hotspot hosts will have to have a _score_ above a minimum threshold before they can be considered for a given vote.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Hotspot hosts will have to have a _score_ above a minimum threshold before they can be considered for a given vote.
Hotspot hosts will have to have a _score_ above a minimum threshold before they can vote.

HIP001.md Outdated

- What should we measure to prove a reduction in complexity?

- What should we measure to prove an acceptance of this by it's users?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- What should we measure to prove an acceptance of this by it's users?
- What should we measure to prove an acceptance of this by its users?


- How will existing documentation/knowlegebase need to be supported?

- Is this backwards compatible?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Is this backwards compatible?
- Is this backward compatible?

# Deployment Impact
[deployment-impact]: #deployment-impact

Describe how this design will be deployed and any potential imapact it may have on
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Describe how this design will be deployed and any potential imapact it may have on
Describe how this design will be deployed and any potential impact it may have on

@JayKickliter
Copy link
Contributor

I need to add a PR template, but I propose we crib other RFC process and put actual RFCs in a subdirectory and include a description in the filename:text/0001-governance.md

Co-Authored-By: Jay Kickliter <jay@kickliter.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants