Clause by Clause
Telos is a pioneering experiment in blockchain governance. The Telos Launch Group and the members of its Governance Working Group endeavored to create a system of governance for everyone who uses Telos to record and interact with their property and information. This article looks at the Telos Blockchain Network Operating Agreement (TBNOA) — essentially the charter or constitution of Telos — and breaks down each clause to make it easier to understand. Let’s face it, this document is long and boring, but if you ever need to understand how Telos is governed and what the rules are around here, this is the document where you can find clear answers.
The Telos Blockchain Network Operating Agreement
This document is intended to set common agreements among all users of the Telos Blockchain Network in order to establish a secure, stable, and governable blockchain where value and information can be stored and all disputes shall be arbitrated solely using the methods described herein and within the “Telos Governance Documents” comprised of this Agreement, the Telos Blockchain Network Arbitration Rules and Procedures, the Telos “regproducer” contract human language terms, the Telos “regarb” contract human language terms, the Telos Block Producer Minimum Requirements, the Telos Arbitrator Minimum Requirements and Telos Blockchain Network Data Protection Policy. Each document in the Telos Governance Documents is hereby incorporated herein by reference as if fully set forth herein. The Telos Blockchain network is comprised of Members (as defined below) who have chosen to organize themselves using a computer blockchain as a form of transnational exchange of value, information, and commerce. This network has agreed to govern the Telos blockchain, its transactions and native token by means of this Telos Blockchain Network Operating Agreement (this “Agreement”) which enumerates a set of mutual representations and agreements amongst its users.
We start off by saying what this document is supposed to do. That is to describe the core aim of Telos (to establish a secure, stable, and governable blockchain). We also list all the governance documents that determine the rules for the network. This is important so that users can opt-in to the network governance and say that everyone who uses Telos agrees that these documents are of rules.
2. Jurisdiction and Choice of Law
The Jurisdiction of the Telos Governance Documents shall be the British Virgin Islands. The choice of law of the Telos Governance Documents shall be the laws of the British Virgin Islands. The seat of jurisdiction shall be Road Town, Tortola, British Virgin Islands. Arbitration proceedings may occur via computer network, teleconferencing or video conferencing from any geographic location pending arbitrator approval. Any person or entity who uses the Telos Blockchain Network to store, exchange, or process value or information shall be herein referred to as a “Member.” Each Member agrees to be bound exclusively by the terms of this Agreement or the most current Telos Governance Documents ratified or amended in accordance with the terms herein, and to select the terms of the current Agreement at the time of the transaction as binding in the interactions between them regarding any and all value and information stored on the Telos blockchain. It is the responsibility of each Member to abide by their local terrestrial laws and statutes.
If you use the Telos network for any transactions, then you are referred to as a “Member” in these documents and you agree to the terms of this agreement. The jurisdiction and choice of law are specified as the British Virgin Islands, which is a jurisdiction that strongly supports arbitration clauses in contracts going so far as to only allow the validity of these clauses to be questioned within an arbitration proceeding, itself. This is an important protection for Telos users because our blockchain exists across multiple jurisdictions and without assigning this agreement to one nation, it would be unclear what world court would have jurisdiction. In this clause we all agree to one jurisdiction and that jurisdiction strongly supports our arbitration clause.
3. Recording of Values and Information
The Telos blockchain shall be used to record value and information and to perform computations pertaining to these. This information shall be recorded in a continuous chain of blocks of transactions and cryptographic security information (“Blocks”) which are tested and validated by computer nodes on the network (“Validating Nodes”).
What is Telos for? Recording information and running smart contracts on a blockchain and using validating nodes to enforce the rules pertaining to these.
Each Member may control one or more accounts on the blockchain. Accounts record the ownership of various tokens and resources and are controlled by cryptographic keys. Accounts may publish smart contracts including contracts that issue new tokens.
Here we define what an account is.
5. Native Unit of Value
The native unit of value on the Telos blockchain shall be the TLOS token. Each TLOS token shall represent a percentage of the usage of the Telos blockchain shared resources in direct relation to the total number of TLOS tokens that are recorded on the blockchain. As a pro rata percentage of shared resource usage rights, each TLOS token shall entitle the account holding it to proportional voting rights and use of the Telos blockchain’s operational computer resources.
We define a TLOS token as the native unit of value and say its purpose is to allocate network asset usage rights.
6. Operation and Execution of the Blockchain
The Telos blockchain reaches consensus regarding the values and transactions it records using delegated proof of stake, whereby active Validating Nodes (“Block Producers”) and standby Validating Nodes (“Standby Block Producers”) are elected by the votes of the TLOS token holders to serve as delegates in the processing and validating of transactions and blocks in the blockchain according the technical specifications of the Telos branch of the EOSIO software.
Here we talk about how the network actually works: Block producers and standbys get elected and validate new blocks.
7. Modifying the Blockchain
Transactions on the Telos blockchain shall be reversible only until the Block Producers reach final consensus regarding the validity of the block containing them. Once 2/3 of the Block Producers have proposed a block to be valid and an additional Block Producer has accepted the proposed valid block, then it shall be deemed an “Irrevocable Block.” The Telos blockchain shall never amend any Irrevocable Block. Modifications to the blockchain may only be made through rejecting blocks not yet accepted as Irrevocable Blocks and through appending new information into current blocks.
Here we introduce an important concept in DPOS blockchain — after a block becomes “irrevocable” it can never again be changed. Any changes to the network have to be added later. This is an important concept so that no organization tries to make changes on old blocks.
8. Block Producer Nomination, Qualification, and Election
Any Telos Member may self-nominate as a candidate to be a Block Producer by executing the “regproducer” contract and accepting its human-language terms. The Telos blockchain maintains a list of minimum requirements for acting as a Block Producer or Standby Block Producers (the “Block Producer Minimum Requirements”). The 21 block producer candidates currently in compliance with the Block Producer Minimum Requirements receiving the highest weight of Member votes shall serve as Block Producers. The 30 block producer candidates currently in compliance with the Block Producer Minimum Requirements and not serving as Block Producers receiving the highest weight of Member votes shall serve as Standby Block Producers. Enforcement of compliance with the Block Producer Minimum Requirements shall be by the “enforcebpmins” contract.
This describes how someone becomes a block producer or standby and how the rules for “BPs” are enforced.
9. Functions of Block Producers
Block Producers shall operate infrastructure in accordance with the Telos Block Producer Minimum Requirements. Block Producers are to produce blocks at their scheduled time in accordance with the human-language terms of the “regproducer’” contract. As the executive authority of the Telos blockchain, the Block Producers, in aggregate, have broad executive powers over the Telos blockchain. They may pause the Telos blockchain, implement new software updates, print new tokens, implement additional operational rules for the blockchain that do not violate the Agreement, and enforce duly processed arbitration orders by voting for any such action with a majority vote of 2/3+1 Block Producers.
Now that we know what a block producer is, this clause describes what they actually do: Produce blocks and collectively have executive power over essentially anything on the network, including enforcing arbitrator decisions.
10. Block Producer Pay
Block Producer and Standby Block Producers shall be paid each day from a daily fund consisting of the daily share of 1% annual inflation (the “BP Inflation Rate”) of the entire value of the Telos blockchain as measured in TLOS tokens. Every day, this total amount shall be allocated such that each Block Producer receives the same pay for the time spent as a Block Producer as every other Block Producer and each Standby receives pay that is half of the rate of each Block Producer for its time spent as a Standby, with the provision that Block Producers and Standby Block Producers may have their daily pay allotment deducted in proportion with the percentage of blocks they were expected to produce in their most recent production period of 180,000 blocks (approximately 24 hours) or fewer, but failed to produce. Loss of pay from failing to regularly execute the “claimrewards” action, shall be borne by the Block Producer or Standby Block Producer, not the network. For blocks 1,000,001 (activation) through block 22,000,000 (approximately 122 days), the BP Inflation Rate shall be equivalent of 4% annually instead of 1%. For blocks 22,000,001 through block 43,000,000 (approximately 122 days), the BP Inflation Rate shall be equivalent of 3% annually instead of 1%. For blocks 43,000,001 through block 64,000,000 (approximately 122 days), the BP Inflation Rate shall be equivalent of 2% annually instead of 1%.
Here we discuss how block producers get paid: BPs all get the same rate, Standbys get half that amount each day. They claim their pay with the “claimrewards” action. The system will hold their earnings, but if there’s some problem that arises from waiting to claim rewards, it is the BP’s responsibility, not the network’s.
The last four sentences describe an accelerated earning plan for block producer pay to address the fact that the first year of operation is expected to have a lower token price than future years.
11. Binding Arbitrations
All Members of the Telos blockchain agree to be bound to binding arbitration by Members elected by the votes of the TLOS token holders to serve this function (“Elected Arbitrators”), or by other arbitration forums that Members freely agree upon except where both parties of a transaction explicitly choose to waive such arbitration. Members expressly waive all rights to have matters pertaining to value or information stored on the Telos blockchain decided in a court of any terrestrial jurisdiction. Any dispute arising out of or in connection with this Agreement, including any question regarding its existence, validity or termination, shall be referred to and finally resolved by arbitration by one or more Telos Elected Arbitrators in accordance with the Arbitration Rules of the Telos Blockchain Network Arbitration Rules and Procedures for the time being in force, which rules are deemed to be incorporated by reference in this clause. Other arbitration forums may be used under that forum’s rules when freely selected by both parties at the time of contract execution, and when the dispute does not question the existence, validity, or termination of this Agreement. Any dispute questioning the existence, validity, or termination of this Agreement must be resolved by arbitration by one or more Telos Elected Arbitrators in accordance with the Arbitration Rules of the Telos Blockchain Network Arbitration Rules and Procedures for the time being in force, which rules are deemed to be incorporated by reference in this clause.
This is a long but important clause wheree every person who uses Telos agrees to binding arbitration. This keeps any disputes out of regular courts, which is good because not only do most courts not understand blockchain, but they only reside in one jurisdiction. Telos, on the other hand is everywhere and nowhere. When a transaction occurs, where does it occur? On the sender’s computer or the receiver’s? Or does it happen wherever the block producer is — and in that case, which block producer, the first one to validate the transaction or the last one, whose validation made it permanent? Now imagine that all of these are in different countries. Now, you begin to see the quagmire that a court system would face in trying to arbitrate these cases. They are not prepared. Therefore, we need to stick with our own arbitrators and system if we hope to have just governance and dispute resolution.
For this reason, every Member says that they can never go to a regular court for something related to Telos. Instead they need to resolve the dispute through Telos elected arbitrators or else some other arbitration forum if everyone involved in that contract agreed to another type of arbitration. However, it’s important to note that if anyone ever questions the authority of this document, then everyone agrees that that case must be heard by Telos elected arbitrators. Other arbitration forums can decide many things, that’s fine, but they cannot rule on whether this agreement itself is real, valid, or in force.
12. Arbitration Exclusions
Waiving of arbitration waives all forms of dispute resolution; it does not invite terrestrial jurisdictions to arbitrate transactions on the Telos blockchain. Neither Elected Arbitrators nor Block Producers are required by this Agreement to fulfill the orders of any terrestrial jurisdictions in the operations of the Telos blockchain.
Two short but very important concepts: First, if people want to select a “code is law” type of arbitration — meaning no arbitration — that is fine. They are simply agreeing to be bound by whatever the smart contract actually does in that case. But it doesn’t mean that they’ve abandoned their agreement to arbitrate. Instead, they would have chosen a form of arbitration that makes the computer the actual arbitrator. It’s a technological step backwards, but if that’s what everyone involved in that particular contract wants, then it is their right to do so.
The other concept here is that this agreement does not compel the block producers or arbitrators to follow the demands of their national governments. Now, they certainly can follow their governments’ demands. In fact, many would have no choice but to follow those commands or remove themselves temporarily from their position of trust within the network. But this agreement specifically doesn’t force them to comply. While it sounds like we are telling arbitrators and BPs that it’s fine to ignore the law, in reality, this is another reminder that national governments are poorly suited to decide matters around our blockchain and they really don’t have any authority to. (For a global network, how do you limit a government’s ability to interfere to just a subset of acceptable ones? You can’t. So if Japan, Sweden and Canada get to weigh in, then so do North Korea, China, and Brunei.) Now, the governments may not agree and many governments will try to force their will on the network.
13. Selection of Arbitration Forum
The parties to each transaction on the Telos blockchain may select an arbitration forum when each party freely elects to use the same arbitration forum. If no election for a common alternative forum is so recorded in the transaction, then the arbitration forum shall be the Elected Arbitrators.
Here we say that you can pick any arbitration forum that everyone involved in the deal agrees on. Probably in the near future, smart contracts will have pull-down menus of all the arbitration forums that the developer feels are fine and the customer can pick any they like to use. That would be a free election. If they can’t agree on another one, the default is the Telos elected arbitrators.
14. Elected Arbitrator Nomination, Qualification, and Election
Any Telos Member may self-nominate as a candidate to be an Elected Arbitrator by executing the “regarb” contract and accepting its human-language terms. The Telos Blockchain maintains a list of minimum requirements for acting as an Elected Arbitrator (the “Arbitrator Minimum Requirements”). The number of Elected Arbitrators at any time and the method for deciding the terms under which some number of Elected Arbitrators will be assigned to each arbitration case shall be decided by the most recent 2/3+1 vote of all Block Producers to accept the current Telos Arbitration Parameters Schedule. Arbitrator candidates shall be elected over a voting period of 5,000,000 blocks (approximately 29 days), except that the first election of arbitrator candidates shall be over a voting period of 5,000,000 blocks (approximately 29 days) immediately after chain activation but also including any votes cast in the period prior to activation. Any Member who registers his or her accounts as voters may cast their vote of either “Yes”, “No”, or “Abstain” for each individual arbitrator candidate. At the completion of the voting period, votes shall be tallied based on the current amount of staked TLOS tokens in each users’ account and the total number of “No” votes shall be subtracted from the total number of “Yes” votes that each arbitrator candidate received to yield “Net Yes Votes” as measured in voted TLOS tokens. Any arbitrator candidate who has received at least 20,000 TLOS worth of Net Yes Votes is eligible for election. The arbitrator candidates eligible for election who have received the highest numbers of Net Yes Votes, up to the maximum number of Elected Arbitrators set by the Block Producers in the current Telos Arbitration Parameters Schedule minus the number of Elected Arbitrators who will be serving at the completion of the current voting period, shall become Telos Elected Arbitrators. Elected Arbitrators shall serve a term of 180,000,000 blocks (approximately three years) and may be re-elected for up to ten terms in total. Enforcement of compliance with the Elected Arbitrator Minimum Requirements shall be by the “enforcearb” contract or one otherwise named but with this function, or by the signature of three Elected Arbitrators.
What is required to be an arbitrator for Telos? This clause says how a prospective arbitrator nominates themselves, how they are voted in, and how long they serve. It also mentions that there is a schedule of parameters related to arbitrators — things like how many arbitrators may be elected at any time. This is put under the control of the block producers because there are really only two ways to change things on Telos: either you have to do a 29-day amendment process that has a pretty high bar to success, or the block producers have to decide, which takes a day or two. That’s the only two ways. So, since it may be important to add more arbitrators when there’s a backlog, the block producers can make this decision and keep things elastic. Some of the contracts named in the governance documents have names different than those used in the actual Telos code, but that is inconsequential. (Here, enforcearb is not presently a contract that exists yet but will in the future.)
15. Arbitration Rules and Procedures
The Telos Blockchain Network Arbitration Rules and Procedures document describes the rules and procedures for arbitration.
All the rules and procedures about arbitration are in that document.
16. Freezing Accounts Under Arbitration
Upon assignment of an Elected Arbitrator(s) to an arbitration case, any Assigned Arbitrator may issue an emergency order to freeze all transactions from the Respondent account or accounts as an interim measure which preserves the status quo and preserves assets. The Assigned Arbitrator may add the account to a list of frozen accounts (the “Telos Blacklist”) maintained on the Telos blockchain, which all Block Producers shall reference and exclude from validating transactions, or by instructing the Block Producers to nullify the keys of the Respondent account or accounts.
Any arbitrator assigned to an arbitration case may decide, as part of the case, to freeze an account. If this happens then the freeze will be recorded on the Telos Blacklist, which is a list of all accounts frozen by an order from an elected arbitrator, or else the arbitrator may direct the block producers to nullify the account’s keys. This is the preferred method as it increases security and does not require all BPs to constantly maintain the list in order to protect funds.
17. Execution of Arbitration Decision
An Assigned Arbitrator(s) in a case shall render their arbitration Decision in the form of a transaction or set of transactions to be appended to the Telos blockchain by the duly elected Block Producers at the time the Decision is rendered. The transactions shall be in the form of a standard value transfer transaction from Respondent to Plaintiff, a “revisecontract” action which forcibly adjusts the code of a faulty or misleading contract, or a “changekeys” action which assigns new private keys to an account that has been adjudicated to have been improperly acquired by Respondent from Plaintiff. The Assigned Arbitrator(s) shall also provide a public explanation of the rationale for the Decision. The arbitration Decision may include transactions to pay the arbitration Fee associated with the case.
When an arbitration case is complete and the arbitrator turns in a decision, it will be in the form of an explanation of the case and decision and one or more transactions for the block producers to perform. These can essentially only be transfers, changing the code of a broken contract, or changing the ownership keys of an account that has been ruled to have been lost or stolen. (“Revisecontract” and “changekeys” may exist under different contract names in the future.)
18. Enforcement of Arbitration Decisions
Block Producers, having been duly provided with a valid arbitration Decision as defined in the Telos Blockchain Network Arbitration Rules and Procedures document, shall fully enforce the Decision within 180,000 blocks (approximately 24 hours) of receipt. Every Block Producer shall be required to enforce the action and any Block Producer that has not enforced the action within 180,000 blocks (approximately 24 hours) shall be liable for penalty under the “enforcebpmins” action until the adjudication action is fully enforced.
The block producers have to enforce the decisions arbitrators give them within about 24 hours. If they don’t they can be kicked out of being a block producer until they do so. Block producers have not heard the facts of the case, many of which will be private. This clause makes it clear that block producers are not supposed to serve as a second set of arbitrators, but simply to enforce the decisions of elected arbitrators.
19. Restrictions on the Use of Sudo Powers
The Block Producers have the authority to use the “sudo” command to execute commands on an account as if by the owner, or a similarly-powered “super user” command if under a different name, only as an element of the “revisecontract” action which forcibly adjusts the code of a faulty or misleading contract, or a “changekeys” action which assigns new private keys to an account that has been adjudicated to have been improperly acquired, and only in cases of an adjudication Decision entered by an Assigned Arbitrator(s) in due process of a bona fide arbitration case. In the event that a Block Producer becomes aware of an apparent theft in action, that Block Producer may use sudo powers to freeze an account for up to 180,000 blocks (approximately 24 hours). After this time, the sudo freezing action shall expire or be removed by the Block Producer unless an Elected Arbitrator issues an order extending the freeze action.
Super User powers (sudo) also called “wrap” in eosio, can be used on Telos but only when wrapped in a particular contract that limits their use to very specific cases of changing contract code or changing an account key. If a block producer independently discovers an apparent theft in progress. They do have the power to temporarily block it. Restricting this power would prevent block producers from protecting users in emergency situations and eliminate a layer of protection for users who may not see action on their accounts quickly enough to prevent theft. This power gives the block producers only about one day to forward this concern to an arbitrator (generally with the help of the possible victim) and get a proper freeze ordered. Otherwise the block producer’s freeze expires, so the power is quite limited. It’s expected that any block producer that abuses this power will be removed by the voters.
Telos Members may vote to elect block producer and arbitrator candidates as described in this Agreement. Each Member may vote the entire number of staked TLOS tokens in any account they control via private keys. Members may vote for up to 30 block producer candidates at any time and each vote for any candidate will share the same weight as that of all the other candidates. All votes, whether cast directly or by Proxy shall have their voting weight reduced according to a non-linear equation known as inverse-weighted voting, as expressed in the Telos code, whereby the value of a vote is reduced when fewer than the maximum amount of allowed candidates are cast.
Here we define voting for block producers and arbitrators, including the inverse-weighted voting mechanism for making votes for fewer candidates each have less value than votes counted for many candidates. This is meant to encourage higher levels of voting.
Members may delegate their votes to another Member as a voting proxy (“Proxy”) using the “proxy” contract included in the EOSIO software. Only a token’s true beneficial owner or a voting Proxy recorded on the blockchain may vote tokens. Any Member holding tokens in trust for another beneficial owner, such as a centralized exchange, may not cast votes for or assign to a Proxy such tokens.
Any user can select a proxy to make voting decisions for them. But exchanges and other entities them that control the TLOS belonging to others in consolidated accounts can’t vote with those accounts because it’s impossible to know whether those votes are truly being made by the owner, or to the exchange.
22. Initial Token Allocation
The initial distribution of TLOS tokens on the Telos network (“Telos Initial Distribution”) will follow the EOS ERC-20 token snapshot as recorded June 2, 2018 from records of the EOS token sale as recorded on the Ethereum blockchain (the “EOS Snapshot”) on a 1:1 basis. The Telos Initial Distribution will create all accounts that were included on the EOS Snapshot with the same account names and public keys that match except that the prefix “TLOS” may be used instead of “EOS”. These accounts will each be recorded as having the same number of TLOS tokens as the number of EOS on the corresponding account in the EOS Snapshot, except that each account that has a balance of over 40,000 tokens will receive exactly 40,000 TLOS tokens. EOS token holders who provide cryptographically signed messages requesting new keys for their accounts in the publicly documented process shall have their keys changed up until the time of network launch. New Telos accounts will be created to fund the Telos Foundation which will receive 6,000,000 TLOS tokens, the Telos Founders’ Rewards Pool which will receive 18,000,000 TLOS tokens, the Telos Community Rewards Pool which will receive 1,000,000 TLOS tokens, and the Telos Exchange Token Reserve Fund which will receive 140,279,973 TLOS tokens, and 25,000 TLOS tokens to provide the initial account creation distribution. No value was accepted in exchange for tokens in the Telos Initial Distribution.
This clause spells out how the initial token supply was created. It includes the main snapshot, the Telos Foundation endowment, the founders and community rewards funds, and the pool of tokens that were held on exchanges at the time of the genesis so that they can be allocated as soon as the exchanges they are listed on show their ownership and willingness to distribute the tokens to their rightful owners.
23. Requirement to Opt-in as a Member
The Telos Initial Distribution will include all accounts from the EOS Snapshot. However, it is unknown which EOS Snapshot account owners may wish to opt in and become Members of the Telos network. Because all token holders must agree to become Members by accepting the mutual representations of this Agreement, accounts that have no transactions 63,000,000 blocks (approximately 365 days) after the activation of the Telos network are subject to deletion by the Block Producers at that time or in the future, provided no transactions have yet been made. Tokens in any deleted accounts will be deleted from the blockchain.
Everyone who has tokens on the Telos blockchain needs to opt-in to the governance documents. This puts everyone on the same playing field. It also recognizes that some people may never like Telos and therefore won’t want or accept their tokens. That is fine, but since the TLOS tokens represent usage rights for real network assets, they are using up resources if never used. So after the first year of operation, the block producers at the time may decide to remove TLOS tokens that have never been opted-in. If they don’t immediately do so, they may decide to do it later as long as the accounts still haven’t been used. (The time limit is measured from activation which took place at block 1 million, so these tokens become eligible for deletion at block 64 million.)
24. Worker Proposal Fund
A value equal to the daily share of 1.5% annual inflation of the entire value of the Telos blockchain as measured in TLOS tokens shall be deposited to an account on the Telos Network with the account name of “eosio.savings” (the “Worker Proposal Fund”) each day.
There’s the daily equivalent of 1.5% annual inflation that goes into the Workers Proposal Fund account called “eosio.saving”.
25. Worker Proposal Submission
After the total amount of TLOS tokens registered to vote exceeds 1% of the total TLOS supply, any Telos Member or group of Members may submit proposals for the usage of these accumulated funds by executing the “submission” action of the “workerproposal” contract (the “Proposer”) and providing the required information including, at least, a full description of the proposal, a link to a fixed source of information, and the exact deposit transaction, including deposit account or accounts, that will occur should the proposal be accepted by the Telos Members.
Anyone can submit a worker proposal using the contract to receive funds from the eosio.saving account. The “workerproposal” contract mentioned actually resides on eosio.saving.
26. Worker Proposal Voting Period
Once a proposal is submitted, there will be a period of 5,000,000 blocks (approximately 29 days) in which a proposal may be voted (the “Voting Period”).
Worker proposals have about 1 month to be voted on. In these governance documents we note time periods in blocks.
27. Worker Proposal Submission Fee
A submission fee of 3% of the requested amount with a minimum of 50 TLOS will be required as part of the submission. The fee shall be refunded to the Proposer if the worker proposal reaches a minimum threshold of 20% YES vote amongst all votes and a minimum voting total (YES or NO) of at least 0.1% of all TLOS tokens at the end of the Voting Period.
There is a fee to submit a proposal. This is partly to protect against a Sybil attack from a flood of empty proposals clogging up the system. The fee is refunded if the worker proposal meets a low threshold of voting. The goal is to encourage people to risk proposals that may not be guaranteed to pass. If these amounts become a problem in the future then the levels can be changed using the Ratify/Amend system (probably as an element of some larger amendment effort).
28. Passage of a Worker Proposal
Any Worker Proposal that receives a simple majority of YES votes and a minimum threshold of 5.0% of votes from all votable TLOS tokens at the conclusion of the Voting Period shall be an “Accepted Proposal.”
This is the requirement for a proposal to be accepted. A proposal needs to get at least 5% of the voting pool of TLOS tokens and win a simple majority. The Telos voting system requires users to register to vote. This is done with one simple command and costs the account little RAM. It allows the voting rolls to represent the actual Telos active membership. For example, many tokens will be in exchange accounts which cannot vote and about 40% of the initial Telos token supply will be stored in the Telos Exchange Token Reserve fund waiting to be allocated to their real owners whose EOS were on exchanges at the genesis snapshot. Others are locked in the Telos Foundation account. These types of accounts can’t vote so their votes should not be counted as “votable.” In the current implementation of the Trail voting system, “voteable tokens” is measured as the number of accounts that have ever registered to vote. The Telos Core Developers intend to modify this code to more closely align with the wording of this clause.
29. Execution of a Worker Proposal
Each Accepted Proposal shall have the transaction described in the proposal execute immediately, provided sufficient funds exist in the Worker Proposal Fund account. If sufficient funds do not exist, transactions from Accepted Proposals will be queued to execute as soon as the Worker Proposal Fund account accumulates sufficient funds, in the order accepted. Accepted Proposals that include multiple cycles will recalculate the total votes and percentage tally at the beginning of each new cycle of 5,000,000 blocks (approximately 29 days). Proposals that continue to qualify will again be funded at the beginning of the new cycle. Proposals that no longer qualify will not be paid for that cycle, but may be paid in a future cycle, up to the number of cycles listed in the initial proposal. Voters may change or withdraw their vote from any proposal at any time.
When a proposal is accepted, its transactions are enacted. It’s important that proposals are paid up front rather than reimbursed because otherwise only people who could afford to finance the project until completion would be able to propose them. Of course, there are likely to be many proposals for funds to reimburse amounts that were already spent. For example, this is how the Telos Foundation would receive any ongoing funding for projects like funding free Telos accounts for new users.
Some proposals have ongoing rewards. For example, a group that does regular development, security, or promotions work for Telos could run their proposals on a quarterly basis rather than monthly. This could be more efficient for everyone — especially for groups like these whose proposals are just ongoing costs to the network. This type of proposal could be voted once and continue to be awarded its monthly payments unless the voters change their mind. Anyone can change their vote so that a proposal that once passed, no longer does — say if a team failed to deliver on their promises. And that team could be voted back in to receive another reward the following month if they cleaned up their act. At the moment, multiple cycle voting requires a new vote to be cast in each cycle.
30. Failure to Provide Worker Proposal Deliverables
The Block Producers may, by 2/3+1 majority vote, elect to file an arbitration case against the Proposer on behalf of the Worker Proposal Fund account to reclaim some or all of the disbursed funds from an Accepted Proposal that has been executed, but where the proposed work appears not to have been performed as described in the Proposal. The arbitration will proceed with Telos Elected Arbitrators and any Decision will be transmitted to the Worker Proposal Fund account.
If a proposer never delivers on his or her promises, the block producers can vote to file an arbitration against them. This is placed on the BPs because otherwise there could be a rash of arbitrations by members who didn’t like the way something was done — and this would clog the arbitration system. Requiring the BPs to file this means that cases have to pass a higher standard. The BPs can talk to the proposer and see if there was a good reason or if the failure was outside the proposer’s control before deciding to file. The WPS will pay the fees for this arbitration, so it’s important to only select valid cases.
31. No Fiduciary
No Member shall have fiduciary responsibility to support the value of the TLOS token. The Members do not authorize anyone to hold assets, borrow, nor contract on behalf of the Members collectively. The Telos Blockchain Network has no owners, managers nor fiduciaries.
This is one of the very few holdouts from the original EOS Constitution. It’s a bit of legalese saying that there is no person or company that is responsible for the Telos blockchain. Important but boring.
32. Publication to the Telos Blockchain
Each Member grants all other Members an irrevocable license to view transactions as recorded and published to the blockchain.
Same here. This boilerplate stuff is just good to have. This one says that anyone who posts something to the blockchain, expressly allows anyone to view it.
33. Responsibility for Information
The Telos Network shall bear no responsibility or enforcement role for any information, data, or content improperly recorded on the blockchain. Any penalties or Decisions for improperly recorded information, data, or content shall be the sole responsibility of the Member that posted it.
Anyone can post anything to the Telos blockchain and it quickly becomes immutable — there’s no erasing it. Therefore, it’s important to clarify that the chain does not bare the responsibility for information that was posted. Only the person who posted it does. This is meant to protect the chain against criminal or civil proceedings for information immutably written to the Telos blockchain.
Each Member agrees that penalties for breach of this contract may include, but are not limited to, fines, loss of account, and any other measures decided by Elected Arbitrators as defined in this Agreement.
If you break the rules that you agree to in this document, there will be penalties and they will be decided by the elected arbitrators.
Each Member who makes available a smart contract on the Telos blockchain (a “Developer”) may designate original elements of their contracts as either open source or proprietary code. Each smart contract shall be documented with human-language terms stating the intent of all parties and naming the arbitration forum that will resolve disputes arising from that contract. Developers who designate contracts as proprietary code may claim that code as intellectual property and may initiate arbitration actions against those who violate their control of their intellectual property for restraint and/or restitution.
Dapp developers can release their code as either open source or proprietary software. Either way, there has to be a set of human-language terms that lay out what the contract developer and user are intending to do through this contract. If they are deciding to use a different arbitration forum, that needs to be recorded at the time the contract is executed.
We also specifically say that developers who deploy proprietary code on Telos may use arbitration to seek relief from others who replicate their proprietary code without permission. This is because even when code is proprietary, there may be situations where the source code still needs to be disclosed or can easily be reverse engineered. For example, on a provably fair game. Disclosing your code does not make software open source. So these developers need protection against people who might take their contracts and deploy them themselves, even though they are proprietary.
36. Prevailing Language
The Developer of a contract may offer its human-language terms in multiple language translations. When human-language terms are available in more than one language, the Member executing the contract may select the translation that they wish to execute. The human language of the terms that was provided by the Developer and selected by the Member executing the contract will prevail where there are ambiguities between this version of the terms and other versions. In scenarios where the contract language or contract selection by the Member is ambiguous, the Elected Arbitrator will have the authority to select the contract used in the dispute.
We envision a time when the human language terms of a contract may come in multiple languages. We’re not there yet but it will happen soon and hopefully sooner if we make it known here and accommodate it in our rules. Therefore, the agreement clarifies that the version of the contract that was agreed to by the user is the one that will be used in any arbitration hearings.
37. Recording of Agreement
The text of this Agreement or the most currently ratified or amended version of the Agreement shall be recorded on the Telos blockchain and after at least every 200,000 blocks a pointer to the block containing the text of this Agreement shall be included in the block. Validating any block shall be deemed a further acceptance of all terms of this contract.
The governance documents will be stored on the chain and pointers to these agreements will be included in blocks to further their ongoing validity.
The Telos Governance Documents may be amended by a vote of the TLOS token holders using the “ratifyamend” contract. To ratify or amend any Telos Governance Document, any user may execute the “ratifyamend” contract, paying its contract fee of 700 TLOS (the “Ratify/Amend Contract Fee”), which may be returned if the contract receives a minimum of 1% of votes from all TLOS voters. This fee may be paid by one Member or collected from many Members over time to execute when the full cost has been collected. Once the fee has been fully paid, the full text of the proposed new document, or the existing document in the case of ratification, shall be recorded to the Telos blockchain. No Telos Governance Documents shall be ratified or amended except by a vote of the TLOS token holders, as recorded by the “ratifyamend” contract with no less than 15% vote participation among votable TLOS tokens and no fewer than 10% more Yes than No votes, at the end of a 5,000,000 block voting period (approximately 29 days).
Anyone can submit an amendment to the governance documents with the “ratifyamend” contract. Ratifying just means voting on the validity of the document without adding any changes. The fee to file this is 700 TLOS, which will be returned if enough voters vote on the proposal to validate that it was worth considering. All the stuff about voting that we discussed under Worker Proposals (mainly under clause 28) applies here too. Only the passage threshold is different. It’s harder to pass a Ratify/Amend proposal than a worker proposal.
If any part of this Agreement is declared unenforceable or invalid, the remainder will continue to be valid and enforceable. No part of this Agreement is to be given higher importance than any other due to its ordinal position within the document.
Standard contract boilerplate. It means that if something in the agreement is found to be invalid for whatever reason, the rest of it survives.
A Member is automatically released from all revocable obligations under this Agreement three years after the Member has sold or otherwise relinquished all TLOS tokens. Any arbitration cases already filed against the Member shall proceed and the Decision shall be enforced. Valid arbitration Decisions entered against a Member shall persist indefinitely in case the Member once again interacts with the network.
This agreement lives forever but any person may end their obligations three years after he or she has sold all TLOS tokens and stopped using Telos. However, arbitration decisions never go away. So, if someone has big arbitration decisions against them and gets off Telos, they will still be liable for them in the future if they return.
This is a bit of a tradeoff because Telos has decided the only way to have fair governance for all members is to eschew the court system in any country through total non-participation. We will not enter our arbitration decisions into any nations courts to request their help in securing funds that we cannot reach on-chain. Likewise, we will seek not to respond to any judicial orders that terrestrial governments may try to impose. As a result, people with large settlements against them may simply flee the network making the arbitral decision unenforceable until they move assets back onto the network. While this sounds like an easy way to commit crimes and get away with it (which is the reality in any traditional blockchain), we expect a time in the not-too-distant future where participation in the Telos network will be like participating in the world wide web is today — it will be difficult to conduct a modern life without it. We also expect better and better tools will emerge for tying account ownership to individuals. While this isn’t great for anonymity, it does mean that we expect that today’s scofflaws will eventually be back on Telos and users will be able to tie them to outstanding judgements.
41. Developer Liability
The Telos Blockchain Network uses “Free and Open Source Software” defined as software which has been authored by single or separate authors who do not retain proprietary ownership to said software and make its source code freely available on a public repository. Members agree to hold Developers of all open source software exempt of liability for mistakes, errors, or breach of contract made in the expression of contractual intent, whether or not said mistakes were due to actual or perceived negligence.
Telos and many of the Dapps on it will be built on open source software that has been created by many different people over different periods of time. We are exempting them from liability for bad stuff that may happen due to bugs in the open source software. Failing to do this would expose developers to potential liability that would prevent them from taking part in Telos.
42. Telos Contributors Liability
The Telos Blockchain Network is a pioneering project in the area of blockchain creation, organization, and governance for which few, if any, precedents exist. Members hereby agree to release, discharge, fully indemnify and forever hold all Members who contributed to the pre-network-activation concept generation and development, code development, network operations, communications, promotion, administration, organization, governance document writing, reviewing, amending, debate and acceptance, or any other task prior to network activation organized in conjunction with the developers modifying the computer code that became the Telos Blockchain Network and/or as evidenced by participation in the Telos Founders Rewards Pool (the “Telos Contributors”), harmless from any and all claims, demand, or suits, known or unknown, fixed or contingent, liquidated or unliquidated, arising from or related to any event or transaction related to the ideation, creation, launch, activation, or ongoing operation of the Telos Blockchain Network and expressly including those in which it is asserted or found that a Member was negligent in any way in these actions. All such releases, limitations of liability, limitations on joinder and witness status, and hold harmless provisions in this paragraph shall inure and run to the benefit of any firms, entities, partnerships, corporations, heirs, assigns, limited liability partnerships, agents and legal representatives of the Telos Contributor or with which the Telos Contributor is involved in any business or financial capacity, including, but not limited to, involvement as a member, partner, shareholder, agent or principle; and such releases, limitations of liability, limitations on joinder and witness status, and indemnification and hold harmless provisions in this paragraph are given in consideration of the premises, use of the Telos Blockchain Network, the agreed significant benefits of having created and launched the Telos Blockchain Network through the contributions of the Telos Contributors, all of which the Telos Blockchain Network and its Members agree is good and valuable consideration for the releases and limitations set out herein. The specific and express intent of the Telos Blockchain Network and its Members, as well as the specific and express intent of the language in this paragraph, is to ensure that no Telos Contributors shall ever have any liability whatsoever to any person or entity for their contributions to or operation of the Telos Blockchain Network or for any act, omission or error related in any way to such contributions or operations. The protections granted to Telos Contributors by this paragraph will persist even if this paragraph is amended in the future.
Telos was built by a group of people from around the world who worked together for many months without any payment except a share in the Founders Reward Pool, which was worthless until their work gave it value. There has never before been a project quite like Telos so there is no real model or precedent to rely on for what the Telos Launch Group was trying to create. It’s likely that we made numerous mistakes and errors that we don’t even know about yet. So we have asked all users to accept that we may have made errors and agree remove any liability for them down the road when these unforeseen problems may rear their ugly heads. The language is very broad because without that there would be many loopholes that people could use to attack Launch Group members.
Any noun in this document used in the singular form shall also apply in the plural form and vice versa. Likewise, any masculine or feminine reference shall also apply in the opposite gender or neutral tense.
More boring boilerplate stuff. This is so someone can’t say, “The rules say ‘he’ but I’m a ‘she’ so it doesn’t apply to me.”
44. Resource Exchange
Upon a 2/3+1 majority vote by the then current Block Producers to do so, computer code and/or contracts enabling a “Resource Exchange” for staking an account’s system resources to a common exchange which leases or rents out said resources to others for a fee (even a zero value fee) and disburses said fees to all resource-staking Members in return for an equal percentage of network income from RAM transaction fees, name bidding fees, or any other fee for commonly owned or managed Telos resources shall be implemented in the Telos Blockchain Network computer code and/or contracts. The form of this Resource Exchange may be modified or removed in the future upon a 2/3+1 majority vote by the then current Block Producers.
This clause pre-approves the REX resource exchange on Telos whenever 15 or more active block producers vote to employ it.
All rights and obligations under this Agreement are mutual and reciprocal and of equally significant value and cost to all parties.
Contracts need to have “consideration” which means the thing that a person gives in exchange for whatever they are granting. In this contract, each person gives their agreement to these rules in exchange for every other person’s agreement to these rules.
A contract is deemed accepted when a Member signs a transaction which incorporates a Transaction as Proof of Stake (TAPOS) proof of a block whose implied state incorporates an Application Binary Interface (ABI) of said contract and said transaction is incorporated into the blockchain.
Someday someone is going to argue exactly when a contract was accepted. It’ll be super important in that case and the answer will determine the fate of millions of dollars worth of TLOS tokens. Just for that big future case, we are agreeing here to what constitutes the exact moment of agreement. You’re welcome, future people. (This also happens to be the same as the EOS v1 Constitution.)
This Agreement may be executed in any number of counterparts, each of which when executed and delivered shall constitute a duplicate original, but all counterparts together shall constitute a single agreement.
This says that everyone can sign this contract on their own, but it still constitutes one big contract. We don’t all have to sign the exact same piece of paper.
48. Complete Agreement
This Agreement is accepted as complete and needs no further ratification to be valid and enforceable. A method for ratifying this Agreement has been included in the Agreement and Telos network code in the form of the “ratifyamend” contract, however, such ratification is not required for this Agreement to be enforceable and in the event the “ratifyamend” contract is executed, a failure to successfully ratify the Agreement does not nullify the acceptance, validity, or enforceability of this Agreement.
Here we are saying that this is a complete agreement. It will govern the Telos blockchain until it is amended. It doesn’t have to be ratified to be valid. Now, we have provided a way to amend it if anyone thinks that’s important. But just to be clear, if there is an attempt to ratify it that fails, that doesn’t mean that the agreement isn’t valid. Just that it hasn’t been ratified. (By the way “ratifyamend” is actually named eosio.amend in the Telos code. As we update these clauses in the future, hopefully we will update the contract names.)
I hope that this look at the meaning behind a lot of the boring legalese has helped you better understand the meaning and vision behind it. These documents are the products of countless hours of writing and discussion with the intent of building a new form of governance from scratch and trying to envision how it could all work together. The authors and the members of the Telos Launch Group believe that this governance will form the foundation of a strong network where people have rights, those rights are commonly understood by all, and they are fairly and evenly protected for all members. Our guiding principles were creating and environment where security, openness, transparency, opportunity could flourish for all of our members.
More about GoodBlock can be found at: www.goodblock.io
Join us on Twitter @GoodBlockio
Vote for GoodBlock on the Telos Blockchain Network @goodblocktls