All Projects → iota-community → Community-Governance

iota-community / Community-Governance

Licence: Apache-2.0 License
The IOTA community creates a governance structure for the community treasury.

Projects that are alternatives of or similar to Community-Governance

SNIPs
Secret Network Improvement Proposals (SNIPs) ✂️
Stars: ✭ 42 (+16.67%)
Mutual labels:  community, governance
collective
How the unified collective is governed
Stars: ✭ 41 (+13.89%)
Mutual labels:  community, governance
Meta
Discussions around the processes and coordination of the Bitcoin Design Community
Stars: ✭ 120 (+233.33%)
Mutual labels:  community, governance
aragon-wiki
The Aragon wiki
Stars: ✭ 76 (+111.11%)
Mutual labels:  community, governance
hackbunch
Hacktoberfest tracker for your community.
Stars: ✭ 11 (-69.44%)
Mutual labels:  community
secret-islands
A virtual land scuttlebutt client
Stars: ✭ 17 (-52.78%)
Mutual labels:  community
medellinjs
MedellinJS
Stars: ✭ 61 (+69.44%)
Mutual labels:  community
zfnd
The Zcash Foundation Website
Stars: ✭ 13 (-63.89%)
Mutual labels:  community
meetup-presentations brisbane
R-Ladies Brisbane Chapter repository of presentations and host toolkit.
Stars: ✭ 16 (-55.56%)
Mutual labels:  community
Open-Translating
区块链技术指北(ChainONE)社区开源内容翻译计划。
Stars: ✭ 18 (-50%)
Mutual labels:  community
gothanks
GoThanks automatically stars Go's official repository and your go.mod github dependencies, providing a simple way to say thanks to the maintainers of the modules you use and the contributors of Go itself.
Stars: ✭ 111 (+208.33%)
Mutual labels:  community
isamuni
An information aggregator for Facebook groups
Stars: ✭ 14 (-61.11%)
Mutual labels:  community
TopicFriends
TopicFriends. Connects people based on shared actionable interests and locations.
Stars: ✭ 30 (-16.67%)
Mutual labels:  community
AIPs
Ampleforth Improvement Proposals
Stars: ✭ 20 (-44.44%)
Mutual labels:  governance
virtualcoffee.io
Public site for Virtual Coffee
Stars: ✭ 112 (+211.11%)
Mutual labels:  community
voting system app
E-voting system based on blockchain technology, with ethereum, flutter/dart
Stars: ✭ 59 (+63.89%)
Mutual labels:  voting-system
Code-of-conduct
Code de conduite de la communauté francophone de JavaScript (ECMAScript) et Node.js
Stars: ✭ 65 (+80.56%)
Mutual labels:  community
conference-diversity-and-inclusion
Diversity and Inclusion Guidelines for Conferences
Stars: ✭ 14 (-61.11%)
Mutual labels:  community
Community-Programming-Book
Community written book on Programming Languages
Stars: ✭ 31 (-13.89%)
Mutual labels:  community
community
This is the main CHAOSS community repository. Feel free to open an issue to discuss a topic of community interest! This repository also holds governance, mentorship, and other community-related documentation
Stars: ✭ 57 (+58.33%)
Mutual labels:  community

image

IOTA Treasury Governance Info Thread

The involved community members hope to give the community in this thread the most recent updates and info on how the IOTA community approaches and develops the upcoming vote for or against a community-controlled governance structure. And we also hope to inform a broader part of the community about the ongoing discussion and actions and invite everyone to participate and get actively involved in this important topic.

General Information and history of the Tokens:

The community has been offered the option to decide the future destiny of unclaimed tokens from the initial crowd sale and some network upgrades in 2017. As these tokens are no longer under the control of any single entity, the IOTA community must decide their future. The tokens should either be under the control of the community or should be destroyed.

The node operators took this first decision about the future of the tokens following the Chrysalis network upgrade in April 2021. Node operators had two options: To follow a version of the network where those funds are still under the control of a single actor (IOTA AS Fork) To let the community decide the future use of the funds. (IOTA Chrysalis mainnet). Interested readers can find a detailed explanation of the two options mentioned above in the following IOTA Foundation blog posts:

None of the node operators or users came forward to support the IOTA AS network, and the IOTA Foundation stopped supporting this network 30 days after the Chrysalis upgrade.

Shortly after the Chrysalis update, the community established a governance channel in the IOTA Discord server where the IOTA community could discuss the vote at length. Since these early days in May 2021, many members have been actively involved in developing a solution to give the whole IOTA community a voice and make a decisive vote possible.

The following resources have been created since then and are available to inform yourself and take part in the ongoing process:

  • #governance-discussion
  • #voting-tech
  • #governance-vission
  • #treasury-website
  • Google Drive folder: A loose collection of papers, docs, articles. and other drafts created by several community members can be found here in this public folder: https://drive.google.com/drive/folders/1hCyYobDhQlLrTvOROuY0woy7sAq-qL7x?usp=sharing It contains technical ideas, proposals for possible voting and Treasury solutions, Articles, research, and summaries of our weekly meetings.

  • Weekly / 2 weekly Community meetings in Discord. The community has established bi-weekly live chat meetings to discuss ideas and ongoing developments in the project. Meetings take place every second Thursday in the IOTA Discord #General-voice channel.

This is the collection of the meeting notes.

In this YouTube playlist you can watch recordings of most of the meetings.

Many community members have taken part in these online discussions and group calls, and important decisions have been made in approaching the first vote.

This is the current state of the project “Community Vote on the unclaimed Treasury Tokens”:

General Vote Info for the first vote

In the first vote, the community will have two clearly defined options, voting on what should happen to the tokens:

  • Build: The tokens will be made available to form a community treasury.

    • The community can start to create a system that provides governance over the tokens. Once this is completed, the node operators will release the tokens into the control of the new IOTA community treasury.
    • These IOTA community funds will be used by the community to support and fund projects and initiatives important to the IOTA community ecosystem.
    • Control and transfer of the tokens cannot and will not take place until an IOTA community governance system is designed and in place.
  • Burn: The tokens will be removed from the IOTA Ledger, and the total supply of IOTA tokens will decrease by the number of tokens that have been held in the treasury.

IOTA holders will receive an updated version of the Firefly wallet with integrated voting functionality.

You can only participate if you hold IOTA tokens in the Firefly wallet.

  • The number of votes is related to the balance of tokens held by the user: 1000 IOTA tokens (0,01 Mi) produce one counted vote every 10 seconds during the counting period. To reach the maximum vote count, a voter must keep the tokens voting for a defined time of 10 days. Voting for less than ten days will result in fewer votes counted for a voter.

  • 100% of all valid votes is defined as the amount of IOTA tokens successfully migrated into the chrysalis network at the milestone when the counting period ends.**

  • Minimum total participation is not required to produce a legit and binding vote outcome - only the amount of counted votes will be used to determine the result.

  • The winner will be the option that receives the simple majority of all valid votes

  • Should an error in the code occur during or after the decision, the proof is imminent that it has been exploited to influence the outcome, the vote is invalid and must be repeated after the error has been removed from the code.

  • Should the outcome of the vote be a draw, the community will set up a second vote with the same conditions as the first one

  • All information regarding the vote and the possibility to initiate a vote will be available on the community-owned Treasury Website IOTA Treasury.

  • Voters will execute the vote in the Firefly Wallet. Voters can cast a vote directly in Firefly or prepare it in a web application on iotatreasury.org that transfers the voting data to the user’s Firefly Wallet. This system is developed by the community with technical support and backing of the IF

  • Counting will happen in the [Hornet node participation plugin](hornet/plugins/participation at develop · gohornet/hornet (github.com)). Node owners can implement this plugin and participate in the counting of votes.

Treasury Website

The participating community members have decided to build a website as a single information point for voters. This website will show all relevant information about the vote, display tutorials and guides on voting, and display the appropriate vote count and statistics during the vote. Additionally, this website will host an application where voters can start their vote by deciding between Build and Burn. The application then transfers the vote to the Firefly Wallet of the user, where the user will execute the vote.

The domain chosen by the community members is: IOTATreasury.org

The Voting mechanism:

Once everything is ready, IOTA holders can update the Firefly wallet to the newest version containing the voting functionality. You can only participate in the vote if you hold IOTA tokens in the Firefly wallet.

The number of your votes is directly related to the number of tokens you commit during the counting time frame of ten days. Every 1000 IOTA tokens (0,01 Miota) used to vote will create 1 vote every 10 seconds. The sum of all those votes counted over ten days will be your total votes in this decision.

The Vote will be separated into different phases

  • Proposal announcement Upon publishing the vote proposal to the GitHub Repository and implementing and displaying it to the Treasury website, the Hornet node operators can implement the vote proposal now as an event in their nodes. The participating nodes are now observing the Tangle and are ready to count votes for this proposal.
  • Pre-vote (seven days) The pre-vote phase starts at a predefined point in time (a milestone) in the IOTA network. Users can now vote using the Firefly wallets voting functionality. Changes in voters’ opinions during this time frame can be done without influencing the final vote count of the voter. Voters are required to initiate the vote during these seven days to gain their maximum possible votes counted.
  • Counting This period follows the pre-vote phase: the declared vote of a user is now counted. The number of counted votes will increase with every passing milestone (one milestone is issued every 10 seconds) in the network. If a voter did issue the vote during the pre-vote phase, the vote would reach the maximum possible counted votes related to the number of tokens used by the voter. If a voter attempts changing the selected vote option in this timeframe, the counting for the new option starts with the confirmation of the change in Firefly. Although the option has changed and new votes are now counted for a different option, the previously counted votes for the first option are not dismissed and count as valid votes.

The number of your votes is directly related to the number of tokens you commit during the counting time frame of ten days. Every 1000 IOTA tokens (0,01 Miota) used to vote will create 1 vote every 10 seconds. The sum of all those votes counted over ten days will be your total votes in this decision.

This is how a user will cast a valid vote:

A) Initiate a vote directly within the Firefly Wallet:

  • You can execute your vote in the Firefly Wallet. Once published, every user can install the latest update of the Firefly software, which will contain the new voting functionality.

  • You decide which option you want to vote for and which wallet and token balance should participate in the vote. You can individually vote with all wallets in a profile. If you only want to use a part of your tokens to vote, moving this amount into a separate wallet in your profile is necessary. You will confirm the prepared voting transaction with your Stronghold password or Ledger Nano hardware wallet.

B) Initiate a vote directly on the website iotatreasury.org:

  • This website includes a voting application. In this application, you can prepare your vote by deciding between the Build or Burn options.

  • Once you have decided on the website, your vote will be forwarded to your Firefly wallet, where further selection and confirmation steps are required from you.

  • Every Wallet in your Firefly profile will have access to the new governance tab in the Firefly sidebar.

  • You will be able to decide which amount of Votes (derived from token balance) should be used in the vote by voting with every wallet under your profile separately. You can create Wallets with the number of tokens you want to use as votes.

  • You must now decide for which option the vote should count - Burn or Build. Confirming the decision with your stronghold password or signing it with your Ledger Nano hardware wallet will produce your voting transaction.

  • The Treasury website will also offer the opportunity to decide between Build or Burn and transport this decision to your Firefly Wallet. To access your Firefly wallet, a deep link is used. Deep links create the exact transaction logic and transfer this information to Firefly using a predefined link format.

Firefly initiates the following logic to create a vote:

  • The voting mechanism uses IOTA’s capability to issue value transactions with attached metadata. In a vote, a transaction is issued that moves the tokens residing on your address (and specifically, the unspent transaction outputs (UTXO) of this address). In this transaction, the sender and receiver address is identical (you are sending the tokens to yourself). During this transaction, the vote metadata (vote event ID, voter opinion ID: build or burn) will be attached and immutably written onto the UTXOs of your address in the IOTA Tangle. After the vote, the tokens will still reside on the same address as before, but now with attached information in the metadata that represents your opinion in the vote.

Detailed current specification to find here:

https://github.com/iota-community/treasury/blob/main/specifications/hornet-participation-plugin.md

This is how a user can change a vote:

  • During pre-vote phase: Use the “manage vote” function in your Firefly wallet. The old vote will be removed, and the new one initiated.

  • During the counting period: Use the “manage vote” function in your Firefly wallet. The old vote will be removed, and the new one initiated. You can always add freshly received tokens into the vote by using the “merge votes” function in a wallet. The tokens will then be counted from the next milestone on.

  • Changing the opinion: You can also change the opinion of the vote anytime. In which case, Firefly will send the tokens again. Open the voting application in Firefly. The votes will be counted for the new opinion from the next milestone forward. Be aware that votes that have been already counted until the change has happened will still count for the first opinion. So if you changed your opinion exactly at the vote’s “halftime” with an unchanged token amount, both opinions would accumulate exactly the same amount of counted votes in the end.

Using Github to create, discuss, approve and publish proposals

Github is considered a trustworthy source and provides a very secure environment for proposals at this stage.

  • The proposal for the first vote will need to follow a predefined form (based on RFC by Walter, adjusted by Alex). The texts users will see in the Firefly wallet for Vote questions and possible answers are defined in this so-called “event file.”
  • The hornet node operators, the IOTA Firefly Nodes, and the Treasury Website will use this file to display the vote information and count the votes. To ensure that only the correct data is included in this file, it will need to be proposed in the community treasury Github Repository as a pull request, checked by a set of approvers, and merged into the Main branch of the Repo. This check, approval, and merging is a crucial security part of the vote. The community has decided which persons to ask to take these checks and approve the proposal.
  • Following the community call on 04/11/21, a discussion thread has been created to nominate candidates: #52
  • The nomination has ended on 18/11/21 at 12:00 CET
  • Results:

image

  • Also, a poll was created to decide on the numbers of approvers

image

According to this, the following decision has been taken by the participants of the meeting:

  • In total, 13 members will be enabled as approvers. The voting file merge is possible if 10 of those 13 members approve the file as correct. The call participants have decided to elect the members according to the received number of upvotes in the nomination process.

Elected members:

  1. Linus Nauman
  2. Sissors
  3. Dr. Electron
  4. Dave [EF]
  5. Adamski
  6. Merul
  7. Edur
  8. pmaxuw (microhash)
  9. Gman214
  10. MuXXer
  11. mathieu (Chris Alice)
  12. Vrom
  13. Alex Sporn

This is how votes will be counted:

  • Votes get counted in the Hornet nodes.
  • Node operators can activate the participation plugin in the Hornet node software in every Hornet node. Nodes that initiate this plugin during the proposal announcement phase can produce the results because they will observe all IOTA addresses during the whole period and count all votes that happen.
  • This plugin has gone through a community test and is fully audited by an external security audit provider.
  • As every node in the IOTA network knows the status of every UTXO in the Tangle, they can observe and register changes to these UTXOs. As soon as a vote transaction is issued and confirmed, the UTXO contains attached metadata information. Hornet nodes that have the participation plugin activated will observe the ledger for UTXOs that hold this specific metadata (the vote event ID). They will log all UTXOs with this metadata for every new milestone in the Tangle and create a database of the counted votes. This node database will store the following information for every milestone:
  • UTXO’s that contain the event ID of the vote.
  • Voter opinion ID written to this UTXO.
  • Number of tokens residing on the UTXO.
  • The plugin keeps track of all those UTXOs and adds new ones as soon as they appear in the ledger or stops further counting them as soon as they disappear. This Github repo contains the exact structure of the counting mechanism.
  • Counting happens from the defined "start holding – milestone" till the defined "end holding – milestone." as defined in the specification
  • As a new milestone is issued every 10 seconds, it produces an exact counting as every change in opinions or balances will be recognized in a 10-second time frame.
  • After the defined “holding end – milestone,” the plugin produces an output with all observed UTXOs, balances, indexation payloads per milestone, and the final result as an accumulation of that milestone data. That information will also be available live during the vote via an API endpoint in every node.
  • The result will be produced and verified in a decentralized fashion through every node participating in the counting. At the beginning of the counting period, the respective number of votes is counted for every milestone in which tokens containing attached voting metadata reside on a UTXO.
  • These live results will be visible on the iotatreasury.org website.

This is a flow diagram of the process:

General Flow:

Chrysalis Vote Flow-Token-voting

Detailed Flow with Counting:

image

Special cases:

image

Core development Team

A team of community members will develop the Treasury voting system. The core developer will be Adam_unchained https://github.com/adamkundrat supported by Gman214 and frnfa. The scope of work is laid out in this specification: https://github.com/iota-community/treasury/blob/main/specifications/treasury-tech-proposal.md


Community-Governance

This Repo is set up to gather and focus discussions regarding the proposed installation of community governance over the funds currently in the community treasury of the IOTA Chrysalis Main - Network.

It is created as an open place to exchange thoughts, form working groups, explore topics and develop different approaches to this complicated topic. Every discussion and action here will be transparent, open-source, and free for everyone to contribute.

Contributing

The primary go-to point for everyone that wants to contribute will be the “Discussions” Tab.

https://github.com/iota-community/Community-Governance/discussions

The IOTA community did put up some topics to keep the talk a bit more specific in a forum style, so opinions can be better formulated and will stay visible and quickly found. If you have a topic to discuss, please check it fits under one of the main topics (voting power, voting proposals, ...) and add it as a comment there to avoid the forum spreading out over too many threads.

This should not be a place of disputes over the past or the actions that lead to the fork, but of constructive forward-thinking working. Critical questioning of everything that happens here is welcome and encouraged, but spam or toxic behavior will not bring us forward and so should not be a part of this Repo here.

The primary and starting point of this process is the announcement made by the IOTA Foundation in this blog-post

https://blog.iota.org/iota-community-treasury-and-genesis-validation/

and the clarification blog-post

https://blog.iota.org/unclaimed-tokens-community-treasury-and-iota-as-faq/

The goal will be to propose a voting mechanism and votable options to the community what should happen to these Tokens. The community might also use it to develop ideas and processes on how a possible community governed use of those funds can be established if the community comes to a vote and decides to install such a system.

The nature of Github Repos allows us to have a verifiable track of all changes and to make it possible for everyone to contribute to the project by issuing commits and pull requests.

Have a look at CONTRIBUTING.


Contact

Currently Maintainers of this Repo:

Adamkundrat - https://github.com/adamkundrat

WernerDerChamp - https://github.com/WernerderChamp

Phyloiota - https://github.com/Phyloiota

Antonio Nardella - https://github.com/antonionardella

If you want to contribute as a Maintainer, please get in touch!

This Repo is part of the Organisation “IOTA community” https://github.com/iota-community on Github.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].