September 5th, 2019

The Telos Core Developers have been working on a number of crucial projects over the past several weeks and have a roadmap for work ahead to share in this update.

TCD Worker Proposal #3

The TCD WP #3 was overwhelmingly approved by the Telos voters. Voting closed on August 22nd and the funds have been claimed and disbursed to CalEOS, TheTeloscope and EOSphere Devs. Thank you for your support!

Future TCD WPs

Changing Funding Approach

With its first three worker proposals, the TCD has been requesting payment for work already completed as bulk packages. Essentially, all work delivered over the preceding weeks was aggregated and payment requested in a single lump sum which was then distributed to contributors. However, some people in the Telos community have asked that this process be changed. Specifically, they would like for projects to request payment prior to performing work, and for different projects to be submitted individually for voting.

This seems like a reasonable request and we are working towards adopting it. The TCD will immediately begin submitting individual WPs for different projects. Moving towards requesting payment/approval in advance is likely to require more time. Since the launch of the Telos mainnet, the TCD has needed to perform work in advance of payment because, frankly, we needed to complete some of the tools that allow WPS to function properly. Later, we worked on projects that were necessary nearly immediately and could not easily wait for prior approval without slowing the growth of the Telos network. From this starting point, there is still catch-up needed before we can request approval prior to performing the work. There’s currently a backlog of work that was performed over the past several weeks to discover the cause of the Telos testnet malfunctions and to enable the TEDP and REX staking.

Changing our WP approach from requesting funding in arrears to requesting funding in advance means that there will be a period when the TCD is requesting high amounts of funds in one period of time. It is probably best, then, to make this a time when there has either not been a large amount of work done recently in need of payment, or when there is little work on the immediate horizon. At present, the TCD has just completed a large amount of work and also has a fair amount ahead in implementing the changes needed to prepare for the EOSIO v.1.8.x upgrade. Finally, when requesting payment in advance, it can be hard to gauge the amount of work that will be needed and exactly who will perform that work. Therefore, we hope to continue to request payment in arrears until the EOSIO v.1.8.x upgrade is completed. Following this, there may be a short gap in immediate development work needed, which would be a good opportunity to make this switch.

Telos Testnet Postmortem

In TCD WP #3, funds were allocated for the work CalEOS led to restore the corrupted Telos testnet. Prior to making any upgrades to the Telos mainnet code that would be required for implementing TEDP, REX or the EOSIO v.1.8.x upgrade, it was necessary to fully understand the cause of the malfunction that occurred on the testnet so that there was no chance it would be reproduced on our mainnet when new code was deployed. Therefore, a concerted effort to perform a postmortem on this malfunction was launched which ultimately discovered the cause and allowed us to upgrade the mainnet without fear of problems. An ancillary benefit of this was that our organization has been improved towards the coordinated effort that will soon be necessary for upgrading to v.1.8.

GoodBlock, CalEOS, and EOS USA performed the bulk of the work needed to correct this problem. The TCD will be submitting a WP on their behalf for this work shortly.

TEDP and REX Implementation & Merge

Implementing the new features of the Telos Economic Development Plan and REX staking required new code to be written, tested, and reviewed. At this same time, code that had been previously written but not merged into the Developer or Master branches of the Telos Github repository due to questions surrounding the testnet postmortem also needed to be reviewed and updated. This merge also had the benefit of updating the Telos code repository once again in the eyes of casual viewers.

GoodBlock led this effort with assistance by CalEOS. Telos Miami and Teloscope also provided important code review. The TCD will be submitting a WP for this work shortly.

Trail Voting 2.0 Upgrade

Telos uses an auxiliary voting system to power its WPS, Ratify/Amend, and other voting. This system, called the Trail Voting System, is now being upgraded to version 2.0 which includes additional methods of voting, committee tools and more. More revolutionary, Trail 2.0 extends these governance functions to any app on Telos that wants to use them and manages them at the system level. These new functions are extremely exciting for turning Telos into a leading blockchain for any developers or groups who want to easily create and manage DACs, DAOs, and “dBusinesses”. We see this as a major new selling point for Telos and it is already attracting dapps.

To date, the Trail Voting System has been an innovation from GoodBlock developers with outside code review from Telos Miami and TheTeloscope. The TCD will be submitting a WP for this work shortly.

RFC: Telos Mainnet 1.8.x Upgrade & Roadmap

On September 4th, the TCD submitted a Request for Comment document regarding its suggested process and roadmap for upgrading the Telos mainnet to 1.8.x in September. We look forward to comments from block producers, app developers, wallet and explorer operators, and the Telos community. Upgrading to 1.8 gives us a lot of important new features, but it means that every node on the network will need to be upgraded in a coordinated way. Please share your thoughts as we work toward a plan that supports the community’s needs.

Governance Voting Change Proposed

Telos uses an auxiliary voting system called the Trail Voting Service for all forms of voting besides the standard block producer voting that is native to EOSIO. As was previously reported, the initial implementation of this voting system counts all TLOS in an account toward vote weight (liquid, and staked for CPU or NET resources). This is different from how block producer voting works, where only TLOS staked for CPU or NET resources, but not liquid TLOS, are counted towards voting. This system also required ongoing balancing of votes through the eosio.trail “mirrorcast” action to reduce the gameability of this voting. Trail voting also does not allow voting by proxies, as block producer voting does. Therefore, it has long been the TCD’s intention to revise this voting in future updates to both better reflect how block producer votes are cast and to remove the need to constantly balance token values.

When the code for REX was implemented, one consequence was that TLOS tokens staked to REX no longer counted towards voting for Trail ballots such as WPS. This is because Trail voting includes liquid, CPU- and NET-staked TLOS (but not REX-staked), whereas block producer voting includes CPU-, NET- and REX-staked TLOS (but not liquid). As more an more TLOS are staked to REX, this changes voting and may make it more difficult for some ballots to reach their minimum thresholds.

The TCD consulted with the Telos block producers about how to best address this situation and the unanimous recommendation of all who voted was to revise Trail voting to better match block producer voting at this time. This change means Trail ballots will no longer count liquid token balances, but will count TLOS staked to REX, CPU, or NET just as block producer voting does. However, Trail voting does not yet support proxy voting. Implementing that feature will require more time and would delay the implementation of the proposed change. This work is expected to be complete along with the process of updating the mainnet to v.1.8.x.

About the author: Douglas Horn is the Telos architect and whitepaper author, and the founder of GoodBlock, a block producer and app developer for the Telos Blockchain Network.

More about GoodBlock can be found at:

Join us on Twitter @GoodBlockio

Vote for GoodBlock on the Telos Blockchain Network @goodblocktls