Telos Core Devs Update: October 21, 2019

Monday, Oct 21, 2019 by GoodBlock

Since the September 5th update, the Telos™ Core Developers have been working on numerous projects. We have tried to keep the community updated along the way on important developments. Below is an update on various projects the TCD has been working on.

Trail Voting Progress

The Trail voting service is a major differentiator between Telos and any other blockchain. The Trail 2.0 update will expand the types of voting and committee management tools that Trail offers as well as extending the Trail features from system use only to any token or dapp on Telos. This allows any group to rapidly create state-of-the-art DACs on Telos with very little programming.

Trail 2.0 is undergoing final testing and revision by Craig Branscom and Peter Bue of GoodBlock. New code can be proposed for the Telos mainnet block producers within about a week. Once this is implemented, the Trail 2.0 features will be live for any Telos apps or tokens. However, the Telos voting system for WPS and amendment voting will still use the current system. This is because Trail 2.0 must be live on the mainnet before we can transition our voting to it.

Updating WPS and Amend Voting

The system contracts for WPS (eosio.saving) and amendments (eosio.amend) must be updated to use the new Trail 2.0 system. In updating these, the TCD is suggesting improvements in how these contracts operate. None of these improvements rise to the level of requiring governance changes. However, we want to alert the community about potential changes so that these can be thoroughly vetted before the block producers decide whether to implement them as recommended or request changes. These needed changes were discussed in the September 5th TCD Update under “Governance Changes”.

Revising Telos WPS to Remove Cycles

Telos work proposals include “cycles” which allow the same proposal to recycle multiple times without needing to be resubmitted. While this feature adds some efficiency, the negatives associated with it seem to outweigh its value. Cycles have regularly confused WP submitters despite having clear documentation in both the Github repository and the Telos Users Guide tutorial. Further, multi-cycle WPs eventually drop low on the list below newer proposals which makes them less visible with users forgetting to vote in future cycles. Finally, should the TLOS price experience significant price increases, proposals with multiple cycles may be asking far too much for the work they propose in fiat terms, putting voters in the position of either approving proposals for amounts that are no longer reasonable, or else voting against proposals they would otherwise support due to the cost. Removing cycles from the WPS would resolve these problems and also streamline the function of the WPS contract.

The code that the TCD is currently writing to update WPS voting to the new Trail 2.0 system removes cycles from WPS submissions. If implemented, the TCD would provide a migration plan for any existing proposals but would not allow new proposals to use cycles. Of course, it will be up to the block producers whether or not to adopt these changes, and we expect that they will take their cues from the community. Therefore, we want to notify users of this possible change and request that they discuss it. If the response is strongly against this change so that it looks like the block producers will not adopt it, the TCD will naturally revise the code to reflect the community and block producer desires. Based on initial discussions of this, we expect that it will be well accepted and we continue development with this in mind. For anyone submitting new work proposals, it would be preferable to not use multiple cycles any longer since each of these proposals will need to be included in a migration process.

Provided the community agrees with this approach, updating Telos governance voting to Trail 2.0 should be completed by early November.

Addressing the EOSIO REX Exploit

The EOS mainnet is experiencing occasional performance issues due to a CPU exploit related to REX resource purchases. The TCD proposed a partial solution in Addressing the EOSIO REX Exploit. In short, a reduction in the amount of REX CPU that any single account could purchase will make using this exploit somewhat more difficult for bad actors, and more importantly, encourage Telos apps to maintain a more reasonable amount of staked resources so that they can better endure such attempted exploits. Ryan Jones of Teleology has developed new code to implement the proposed change. This code is now being reviewed and a BP multisig proposal will be issued on the Telos testnet within days to test this. If found to be functional, this same code could be proposed for the Telos mainnet soon thereafter. This new function is configurable to allow the maximum amount of REX CPU any single account can purchase to be changed by a simple BP multisig (as opposed to requiring new code to be deployed). The TCD encourages the Telos block producers and community to discuss whether such a limit is desired by the community and if so, what level is appropriate.

DAC-creation Support Tools

The TCD is working along with other groups to quickly be able to offer additional support tools for the Trail 2.0 voting features. We expect these to make Telos the clear winner for any group considering which platform to build their DAC or DAO on. Groups like SEEDS and others are joining in this effort to turn tools they will use to manage their own DAO into commonly available, open source tools. The Telos Foundation is also doing work in this area to make user accessible voting portals to showcase the power of Telos-based DACs. They currently have Worker Proposal #42 seeking support for their efforts.

The TCD is working in conjunction with these groups. We expect a very powerful suite of tools to allow users to take advantage of these features by mid-November.

Update to v1.8

Previous updates have documented the TCD’s work in aiding the Telos block producers in upgrading the network to EOSIO v1.8. The mainnet upgrade was performed on September 26th at 17:00 UTC, following testing on the Telos testnet and stagenets. This activation, however, only addressed activating the revised v1.8 consensus protocol. Ten other features are also available for activation in EOSIO v1.8. The TCD and Telos block producers published their joint plan to activate these features (Telos Mainnet 1.8 Activation and RFC: Telos Networks Upgrade to Nodeos 1.8.x and New Features Activation). A bug in how missed block are calculated was introduced by changes in how the EOSIO compiler system operates. These were discovered in the testing process and the fix has been implemented. Such fixes are to be expected in the review process and this pushed the schedule back somewhat. However, as of October 21 at 17:00 UTC, the first six of these features are now activated on the Telos mainnet. The remaining four features are proposed to the block producers in the multisig, peter.tcd|phase.two which is scheduled to be executed on October 24 at 17:00 UTC. With these feature activations, Telos is adding important new functionality not yet available on any other blockchain.

Retirement of Telos Testnet A

As previously announced, Telos recently transitioned from the original Telos testnet active prior to the Telos mainnet launch (Telos Testnet A or “Aristotle”) to a new testnet (Telos Testnet B or “Basho”). All testnet monitors currently display Testnet B. On September 16th, the TCD recommended to the Telos block producers to maintain Testnet A for 30 days to allow any apps time to migrate, and then to abandon it. This 30-day period has now passed and Testnet A is expected to expire in the near future.

Implementation Plans for EOSIO 2.0

Block One has released the first “release candidate” for EOSIO v2.0, which is expected to offer new features and a significant increase in processing speed which will mean that apps will require less CPU time to perform the same actions. This will, in turn, further expand the capacity of the Telos networks. It’s possible we will see a 10X — 16X performance improvement. The TCD and Telos block producers are evaluating the various release candidates as they are issued. Some 2.0 nodes are already being deployed on the Telos testnet. Once Block One deems a version of EOSIO 2.0 to be a “release” (ready for mainnet use) as opposed to a “release candidate” (not ready for mainnet use but suitable for testnet use) the TCD will work with the block producers to create a schedule for activation similar to what was recently performed with EOSIO v1.8.

Bancor Contracts Integration

Bancor contracts are smart contracts that allow the automated trading of one token to another without requiring a counterparty. Most Telos users will be familiar with bancor contracts from the purchase and sale of system RAM. Bancor contracts could be used to connect any two tokens. Over the past several weeks, Rory Mapstone of EOSza has been implementing bancor contracts on Telos between the TLOS token and several other Telos-based tokens such as QBE. This allows users to make sales and purchases of these tokens at any time, even without a counter-party. Combined with the system-level DEX order book from Vapaée, this presents a powerful decentralized finance combination that does not exist on any other blockchain at this level. The bancor contracts can be seen on the CoolX wallet now and via other interfaces soon.

USD Stable coin with Onramp & Offramp Integration

The TCD is working with Carbon to integrate Carbon’s US Dollar stablecoin on Telos, TLOSD onto the Telos mainnet. This includes deploying the TLOSD tokens, allowing the purchase and sale of these through the buy.carbon.money website and directly within Telos wallets. Marlon Williams of Telos Miami is working closely with Carbon to integrate all features into a new version of Sqrl wallet, which is expected to offer these features well ahead of the Carbon website. Look for TLOSD in Sqrl by the end of October.

Sentiment Token Integration

Sentiment tokens are a blockchain version of popular social media interactions such as “Like” but they have much more powerful uses, including a reputation function that does not require accounts to opt-in in order to be rated (this is common amongst almost all other forms of blockchain reputation layers). This Telos innovation was first publicly introduced in the article Introducing Sentiment Tokens on October 4th by GoodBlock, however, the TCD first began working on this following the unpublicized release of the Sentiment Token paper on March 12th. We’ve sometimes referred to it as a “secret project”.

Telos Voyager has been working on developing a working implementation of the sentiment tokens for Telos. These will allow users to express their LIKE and TRUST (or DISTRUST) of other accounts visibly for others with the hope that users can be warned off from sending tokens to scammers, among many other uses. This development is advancing well and developers of other tools such as wallets will soon have a system to begin building against.

Gyftie Integration

Gyftie is a blockchain identity project that helps accounts verify their identity as a mesh of other known or verified users. Gyftie has announced that they are deploying on Telos. Already, contracts have been deployed to the Telos testnets and a test version is being used on the Telos mainnet. Within a few weeks we may start to see accounts with Gyftie badges verifying the identities of their owners.

TCD Work Proposals

The TCD’s current work proposal, TCD WP#4 — REX/TEDP Implementation (Telos WP ID 38) will close voting on October 30th at 5:19 UTC.

A new TCD work proposal will be submitted this week for the recently completed work in implementing EOSIO 1.8. Another proposal will follow some weeks later for the work being performed now to implement Trail 2.0 and migrating the existing voting features to it.

There will likely be additional proposals submitted for various projects such as sentiment tokens, bancor contracts, etc.

The TCD still aims to improve its development cycle so that new projects are approved by the community prior to work being performed. To date, this has not been possible because so much of the TCD’s early work was difficult to predict and required swift implementation. As the development cycles are now somewhat more predictable and less urgent, the TCD wants to transition into a more mature payment cycle where users have more say about projects before their execution. However, this will also require the TCD to increase its ranks somewhat with project managers taking on more roles.

Call to Join the TCD

The TCD is eager to expand its ranks. Any developers or code reviewers interested in advancing the development of Telos are welcome to join. All positions are paid via work proposals submitted for actual work performed.

The TCD is also looking for non-developer roles to further its mission. Most needed at present are project managers to track and advance development projects and a communications specialist to help keep the Telos community informed about this work. Interested parties should reach out via the Telos Dapp Development or Telos Testnet Telegram groups or by contacting a member of the TCD.

###

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: www.goodblock.io

Join us on Twitter @GoodBlockio

Vote for GoodBlock on the Telos Blockchain Network @goodblocktls