Skip to content

Governance on Teia

github-actions[bot] edited this page Aug 7, 2024 · 89 revisions

"We believe in shared ownership on the platform, no one should have exclusive rights over others"

(from the Teia Core Values Manifesto)

DAO as a Goal

โ€œDecentralized autonomous organization (DAO) governance is coordinated using tokens or NFTs that grant voting powers. Admission to a DAO is limited to people who have a confirmed ownership of these governance tokens in a cryptocurrency wallet, and membership may be exchanged. Governance is conducted through a series of proposals that members vote on through the blockchain, and the possession of more governance tokens often translates to greater voting power. Contributions from members towards the organizational goals of a DAO can sometimes be tracked and internally compensated.โ€

(From Wikipedia)

We want to be able to vote on fundamental decisions transparently and on-chain. We believe that, together, we can create tools, applications and processes respecting the communityโ€™s needs and wishes and that we are all building the future of the Teia ecosystem together. The Goal is to hand over the governance of Teia to a set of DAO smartcontracts and registering Teia as an legal, non-profit entity that reflects is decentralised nature.

The fundamental principles that shape the community are the same as those for its governance: Inclusivity, Respect, Community/Solidarity, Decentralization, Simplicity, Accessibility, Sustainability and Creativity.

The decision-making process of TEIA is horizontal and will take into account the needs and policies decided by all the groups represented. These groups will also have some economic autonomy in decision-making.

Current state: DAO beta phase with multisig as legal owner

The community decided via an on-chain vote that we should mint a total supply of 8 million tokens. On Nov 20th, 2023, the first TEIA token distribution has concluded with about 3 Million tokens claimed. On Nov 24th, we started the DAO beta testing phase (more info in this blog article). This means TEIA holders can start using the Teia Voting tools for Polling and DAO governance.

During the current beta phase, the "Core Team Multisig" will still be legally responsible and in charge so the DAO contracts can be used and tested without the risk of exploits and smart contract issues. Token votes by the DAO members can still be used to form decisions or give feedback to the core team.

The intermediate ways how community wide consensus is formed are via discussions, with soft consensus, a on-chain vote with the core team voting tool, discord polls for small decisions and for bigger decisions we use on-chain community voting via the Teia community Polling Tool, where DAO members can take part in on-chain community voting and set up their own proposals.

Currently, all major proposals and questions are discussed at the Teia Community Discord Server and the Community Discourse Forum/The Teia DAO agora.

ProtoDAO structure and procedure

Legal status: Non-profit LLC DAO

Teia is incorporated as a non-profit, limited liability corporation (LLC) on the Republic of Marshall islands (RMI) that formally recognizes DAO governance and digital ledger addresses as members. The Registration Number is 10020-23 (MIDAO)

This means that Teia's "owners" (=members) can be defined by Token ownership or assignment to a multisig address without the need of members doing KYC (as long as they stay below 10% of voting power, which is implemented on a smartcontract level)

The DAO currently operates under the Version 1.2 of the Teia DAO Operating Agreement

Relevant legal texts (Marshall Islands law):

The core team Multisig

Take a look at the Multisig at https://core-team-multisig.onrender.com/

The Core team is currently in charge of Teia's operations (on behalf of the Teia community) and is also Teias current treasury address where the marketplace fees get directed to.

The Multisig consists of around 20, but at least 11 addresses owned by highly active contributors to Teia. It is used to vote on transactions involving Teia's assets, change the membership status of the core team multisig, and manage the Teia marketplace smart contracts.

For instance, it can modify the marketplace fee (requiring a quorum of 55% to complete transactions). You can find a list of short bios of all core team members on the Core team wiki page

Tezos wallets can be proposed for addition or removal from the multisig through a majority vote of at least 55% among the multisig members. Added wallet addresses must accept the addition and can also leave the multisig without requiring a vote.

The Teia DAO Tokens

The TEIA tokens are the governance tokens of the Teia DAO LLC. They will be mostly used for determining who is a DAO member and how much voting power for DAO proposals each wallet has. Legally, all Token holders are also part of the Teia DAO LLC.

Note that no token value above being a voting token is implied. The Teia DAO Token is solely intended as a governance token and should not be treated as a financial/investment asset. Due to its non-profit nature, Teia can't and won't distribute profits and can only use funds generated to maintain operations, fund exhibitions, and support education, art, and cultural exchange in general.

Distribution

3 Million $TEIA DAO tokens have been distributed among the community via the $TEIA claim page between August 20th, 2023 to November 20th, 2023. 5 Million unclaimed tokens have gone back to the Teia treasury for future distribution.

Tokens have been distributed based on the following parameters

  • Activity: Interaction with Teiaโ€™s and/or Hic et Nuncโ€™s marketplace contracts. this is by far the biggest factor in the Token distribution (see blog for details)
  • Contribution to Teia and Hic et Nunc defined by many different distribution parameters (see blog for details)
  • hDAO conversion - a 1:1 hDAO for teia DAO Token reward. (see blog for details)
  • Additional voting reward for participating in the community vote about the overall token supply.

We published an extensive fact sheet with a FAQ section on our blog

Staking TEIA tokens

Staking TEIA tokens in third-party contracts poses several drawbacks for Teia DAO members. Vote weights are calculated based on the users TEIA balance at the moment of the DAO proposal creation. Staking TEIA in 3rd party contracts means that those tokens will not be counted in votes for proposals created while the tokens were staked. If you unstake your tokens and get them back into your wallet, this will only affect voting on proposals that are created after you have gotten your tokens back to your wallet.

Security concerns also arise, as these external contracts may lack the rigorous auditing and safety measures endorsed by the Teia DAO, potentially jeopardizing the safety of staked tokens.

Members should be aware that locking tokens in 3rd party contracts impacts their voting power, and simply unstaking them/releasing them from the contracts does not mean you get the voting power back for proposals that are already set up.

possible future escrow rule of TEIA for submitting DAO proposals

In the Teia DAO voting system, the act of voting doesn't consume tokens. During the testing phase, creating proposals won't cost any tokens, but in the later official DAO, there might be a request for around 500 TEIA for each submitted DAO proposal (not poll) as escrow to prevent spam proposals. The Tokens will be sent to Teia's Treasury if the DAO proposal fails to meet the quorum. The reasoning here would be to reduce spam proposals and avoid cluttering the UI with less important ones.

DAO proposals

DAO proposals are (soon) legally binding for the Teia DAO LLC and can be submitted by ANY member via the DAO user interface on teia.art. It is the most fundamental instrument for our DAO governance: in it, a DAO member proposes a clear decision in the form of a Yes/No vote. The whole DAO is asked to vote on it and either accept the proposal or decline it. DAO proposals need to pass the quorum (see below) in order to succeed. In practice, this will mean that DAO proposals will need a lot of attention and discussion to gather enough votes to pass the quorum and prevent unrealistic or short-sighted proposals from going through with only a few positive votes and without enough "no" votes.

DAO proposals are intended to be used for significant decisions for the DAO and are legally binding for the DAO. This means if the community decides something via a successful DAO proposal, the Teia Team has to abide by it as long as it's legally clear to do so and in line with Teia's core values. To ensure this, the DAO guardian role will be able to cancel proposals (at least for now) - the guardian doesn't have to be an individual; it can also be another multisig, for example. (more info below)

Token snapshot

The Teia DAO token contract employs a snapshot mechanism that captures token balances at specific block levels for each user. Each time a user votes in a DAO proposal their TEIA balance is calculated at the exact block level/timestamp when the proposal was created. This ensures that voting weights are based on the token holdings of users at the time of the proposal's inception.

For example, if a proposal is generated at block level 1200, the voting weight for each user is determined by their token balance at block level 1200, irrespective of subsequent transfers or changes. This approach prevents potential issues like flash loans or vote manipulation by locking in the user's balance at a fixed point, maintaining the integrity of the voting process. Any changes in token holdings after the proposal's creation won't influence their voting weight for that specific proposal.

The quorum

In the context of a DAO, a quorum refers to the minimum level of participation or voting power required for a proposal or decision to be considered valid. It ensures that decisions are made with sufficient consensus and involvement from the DAO's members or token holders.

The Teia DAO smart contracts utilize a dynamic quorum system for proposal evaluation. Initially, a global quorum is set as a parameter, (for example 1000 votes needed). When a proposal is created, it uses the quorum value at the time of creation of said proposal.

After a proposals voting period is over and votes are counted, a new quorum is calculated based on the previous quorum and the total number of votes received; If a proposal received significantly fewer votes than the quorum, the next quorum is adjusted slightly lower (e.g., from 1000 to 900) for the next proposal. Over time, this process aims to reach an equilibrium. Conversely, if the votes fall short, the new quorum decreases. The new quorum applies to all future proposals, while existing proposals maintain the quorum they were created with.

To prevent manipulation, the quorum updates have restrictions. If a recent update has occurred, further updates are withheld. This precautionary measure prevents someone from intentionally creating numerous proposals with minimal votes to drastically reduce the quorum and gain easy approval for a subsequent proposal.

The DAO administrator role has the authority to modify the quorum parameter, which is especially important in the early stages, to make sure the quorum is set realistically and based on current participation. The DAO administrator can utilize the multisig functionality to modify the required quorum and other parameters related to representative shares, supermajority, voting proposal duration, and more. If we switch from linear to quadratic voting, older proposals continue to use the old quorum and linear weight, while new proposals adopt the updated quorum and quadratic weight.

Supermajority

In the context of DAO voting, a supermajority refers to a higher threshold of support required for a proposal to pass and bring about significant changes within the organization. Unlike a simple majority where a proposal needs to receive more "yes" votes than "no" votes, a supermajority imposes a stricter requirement. The concept of quorum and supermajority is widely used in various DAOs, including Kolibri DAO and Tezos governance.

For the Teia DAO, the supermajority is calculated in the smart contract by dividing the number of "yes" votes by the sum of "yes" and "no" votes. A common supermajority setting would be something around 60% or 70%, but we can adjust the values and experiment during the DAOS beta phase. Abstain votes do not count towards the supermajority calculation. They only contribute to meeting the quorum requirement, not the supermajority.

Finding the right balance is important to ensure that significant decisions require a broad consensus. One potential risk associated with a supermajority parameter set at, for instance, 70% is that a minority of 31% could block proposals indefinitely. This highlights the need for careful consideration and adjustment of the supermajority threshold to strike a balance between consensus and progress. The DAO administrator, a designated figure within the organization, has the power to change the supermajority parameters if necessary. This provides flexibility to adapt the decision-making process and requirements as the DAO evolves.

Teia Polls

Teia's community polling tool offers greater versatility than DAO proposals, allowing for more customizable voting options than the DAO proposals simple Yes/No votes and customizable voting parameters.

DAO members can create polls with voting parameters like quadratic voting weight or a simple โ€œ1-vote-per-walletโ€ weighting.

Unlike legally binding DAO proposals, polls operate on a simple majority basis, making them more accessible for a successful outcome without the need for extensive participation to surpass a quorum requirement like with the DAO proposals. Polls are not binding for the core team to be executed, however the Team is expected to take polls into account in its day-to-day decision making.

Anyone in the DAO can initiate polls on various topics, fostering an open and fun way of community participation: Polls can extend beyond DAO-related matters, enabling users to seek input on diverse subjects, from asking collectors for their preferences to discussing current hot topics within the community, all on chain and set up in a few seconds. This tool has interesting potential for social interactions and we hope the community finds fun and exciting ways to use it.

snapshot of the poll creation form on teia.art/polls

On teia.art/polls/create, you can choose how long your poll should be live and the voting weights: either you chose equal which means one vote per wallet, or weighted by the amount of TEIA tokens or weighted by the square root of the amount of TEIA (=quadratic voting, which reduced the voting power of wallets that hold a lot of TEIA tokens and makes the token weight more equal)

Next steps/ Under construction

Full DAO launch

After the beta testing phase has concluded, and the DAO runs stable and with enough participation, we will adjust the operating agreement so that the DAO contracts will define the governance on chain and via DAO votes and all Token holders become legal owners of Teia.

The core team will be responsible for day-to-day executive decisions, since DAO proposals and voting will not be feasible for smaller decisions and for the LLCs operations and HR and will be able to represent Teia legally i.e. for paper work and propose community votes as well as the budget for operations.

For now, we plan to launch with the same core team that has been building the DAO and keeping Teia running since 2021 and let the DAO decide on approving or changing the core team in the future.

DAO_Structure DAOVote

Equity Representatives setup

Our mission to reach true decentralization and equity includes a community-decided allotment to guarantee marginalized communities are included in governance. We understand that now is the time to take a novel, genuine approach to equitable governance and acknowledging the needs of our most underrepresented communities in a concrete way.

There will be a % (currently suggested 30%) of either quorum votes or overall voting power for the so called "representatives" that are appointed to represent certain subcommunities and regions.

Discussions are currently ongoing if we should allow core team members into a representative role or not. As things stand, it looks like a few reps might indeed be part of the core team but this might be revisited in the future as DAO evolves.

Leaders within these groups are being nominated by the community and will be included in the weaving of the new Teia DAO.

However, in order to make this work, there needs to be a solid structure/procedure for the rep setup in place, this is currently being worked on by the representatives working group and the team is looking for people interested in working on the equity governance for Teia: Both members of equity seeking communities as well as volunteers that are interested in helping with this are invited to join the discussion on discord.

DAO Smart-Contract Development

Smart contract developer Jagracar currently leads the smart-contract development needed for the tech side of Teia DAO, and the #smart-contract working group in Discord is currently discussing and improving those contract codes.

The $TEIA token contract

code: https://github.com/teia-community/teia-smart-contracts/blob/main/python/contracts/daoToken.py

BCD (testnet): https://better-call.dev/ithacanet/KT1PA5vDBff1Tg7sSe8Xehmz3RbknWA4NJTX/storage

A basic FA2 token contract, similar to hDAO, with some extra improvements:

It takes the idea of balance checkpoints from the kolibri DAO token implementation. With that we can know exactly the token balance of a given wallet at a given block level. Thanks to that it's not necessary to transfer the tokens to the DAO contract to avoid double voting: The DAO contract simply asks the DAO token contract how many tokens had the wallet that it's voting at the moment when the proposal was created. The DAO token contract returns the exact balance and that is used to calculate the vote weight. This is good, because we will have several proposals running at the same time. It would have created problems if we had to transfer the tokens to the DAO contract to vote. We wouldn't be able to vote with those tokens in other proposals.

It uses on-chain views instead of callback methods. On-chain views are relatively new and are a very good thing to have. For example, hDAO and kolibri DAO don't have on-chain views, and one needs to use callback functions with are a much worst solution. It's not their fault, on-chain views were not available when they implemented those tokens

The DAO Token contract has implemented a rule of a maximum possible balance of DAO Tokens per wallet. We need to decide a % of the total token amount that can be held per wallet (i.e. 2-3% of total Tokens) - This will avoid unfair voting power for "whales" and also make sure No Token holder will have to KYC if we incorporate in the Marshal Islands (-> a wallet that has 10% of all tokens will have to do KYC there)

If we register the DAO in the Marshall islands, members don't need to provide their name and address per se (=KYC). However, Holders of more than 10% of the Tokens need to provide KYC.

Token drop contract

code: https://github.com/teia-community/teia-smart-contracts/blob/main/python/contracts/daoTokenDrop.py

The idea is that we will create a list of wallets with the number of DAO token editions that they will have: tz1aaa -> 10eds, tz1bbb -> 20eds From that final list we will build a Merkle tree that encapsulates the DAO token distribution information. The root of the Merkle tree will be stored in the contract and will be used to verify that every token claim is correct.

Treasury contract

code: https://github.com/teia-community/teia-smart-contracts/blob/main/python/contracts/daoTreasury.py

BCD (testnet): https://better-call.dev/ithacanet/KT1PV1BjjVZUfbw79YJG3sPuHWQbAPNPan3i/storage

This is the contract that will own the Tezos coming from the Teia marketplace and donations and the DAO tokens that have not been claimed and/or are part of the reserve for future use.

The only account that could interact with the DAO treasury is the DAO governance contract (see bellow). Any transfer of tez or tokens need to be approved by the DAO.

Representatives contract

UI: https://teia-representatives.onrender.com/

code: https://github.com/teia-community/teia-smart-contracts/blob/main/python/contracts/representatives.py

in order to secure equity and representation, we aim to add a % of the total vote to representatives (possibly 20-30%).

It's a modified multisig where each user is assigned to a given "community". A given community can only have one representative. This contract has an on-chain view that can tell the DAO contract if a given wallet can vote as a representative. If the wallet is not part of the Teia representatives contract, it will not be able to vote as representative in the DAO. Representatives votes are associated to the "community" and not the representative wallet. That prevents that if a community changes their representative during the voting period of a given proposal, there cannot be 2 votes from that community.

Current suggestion to prevent individual reps from getting too much voting power in the case of low voting activity within the reps multisig: For a rep setup with 20 communities/regions in the multisig, every representative's vote could be at most 1.5% of the total votes. If 3 representatives vote, their votes will count as 4.5%. If 20 representatives vote, their total vote will be the maximum representatives' vote: 30%.

DAO governance contract:

UI: https://teia-dao.onrender.com/

code: https://github.com/teia-community/teia-smart-contracts/blob/main/python/contracts/daoGovernance.py

BCD (testnet): https://better-call.dev/ithacanet/KT1SpmiaEkwEg9Q7wsb8G6noEpM5xcRozror/storage

This is the actual DAO. Here is where proposals are submitted, voted and executed. It contains references to the DAO token contract, the DAO treasury contract, the teia representatives contract and the DAO guardians and DAO admin multisigs.

The governance contract currently has the following governance parameters:

proposals

  • Proposal voting period in days
  • Proposal waiting period in days before it can be executed
  • Amount of DAO tokens to escrow to create a proposal
  • Minimum amount of DAO tokens needed to vote proposals

quorum

  • quorum: the minimum number of votes (in terms of vote weight) that a proposal needs in order to be approved. This parameter adapts with time.
  • Minimum period between quorum updates in days
  • Quorum update percentage
  • Maximum quorum percentage change
  • Minimum and Maximum possible quorum value
  • Percentage of positive votes needed to reach super-majority

voting

  • Vote weight method (linear or quadratic)
  • Percentage of positive votes needed to return the tokens in escrow
  • Representatives vote share percentage relative to the quorum

All of those parameters, of course, can be adjusted over time. We will probably start with a very simple setup; and improve upon that via voting on proposals.

Administrative Figures within the DAO

As a safety measure, especially in the beginning when the DAO model is young and not fully tested, we need to implement some administrative figures: They can be eliminated later if we want to, by assigning them to a burn address or a dead contract.

UI: https://teia-multisig.onrender.com/

DAO Admin

BCD (testnet): https://better-call.dev/ithacanet/tz1gnL9CeM5h5kRzWZztFYLypCNnVQZjndBN/operations

The DAO admin figure will also be a teia multisig. The admin cannot create, vote, execute or cancel proposals, but it can modify the main DAO governance parameters. It's a safety measure in case we choose some parameters that are not appropriate. For example, if we see that we start with a quorum that is too high, the admin can lower it to save time. By being able to modify the DAO parameters, the admin can also come into the rescue of the DAO.

For example, they could make proposals impossible to approve by setting the quorum or the supermajority to a extremely high value.

Guardian

BCD (testnet):https://better-call.dev/ithacanet/KT1RCXoax1uuWDLrK5n1AzLJMgQbg4D5mmpi/storage

The DAO guardian figure comes into action only in very special situations: When an attacker submits a proposal and manages to get enough votes to have it approved.

That could happen by sending a sybill attack or taking advantage of a period when the DAO participation is very low and the quorum requirements are also very low.In that attack situation, DAO guardians are able to cancel the attacker proposals before they can be executed.

The DAO guardians contract is the same as the Teia multisig contract that we are already using. In order to cancel a proposal, guardians need to create a proposal in the multisig and execute it.

ORG-Structure suggestions

for the structure of the Org there are two proposals that seem to be good cornerstones reflecting what structure we want to build towards:

Malicious Sheep's structure proposal:

Organization_Proposal Rotation_and_Responsibilites-2

babycommandos Guild proposal

We are also planning on implementing Multisig contracts for multiple Guilds (=Working Groups) that will enable a voting mechanism on decisions that are better decided by the people working on certain parts of the project in order to make decisionmaking more flexible and faster. find babycommandos Guild proposal here

further reading:

Clone this wiki locally