Validating the Telos Blockchain

Telos Foundation
The Telos Network Blog

--

By Douglas Horn

The Telos Blockchain Network is preparing to launch. There are many parts to this process, but the one that most affects the value on the chain is injecting the initial lists of accounts names, public keys and balances. This is known as the genesis injection. Blockchain is trustless, meaning you need not trust a central party to do anything due to consensus algorithms. However, the genesis injection is performed by just a small group, and therefore, to preserve trustlessness and improve transparency, we are inviting independent outsiders to validate it in order to ensure that only the proper values have been recorded on the Telos genesis. This article describes the validation process and provides all the necessary tools for any technically adept party to perform a validation. All necessary tools are provided at the end of the article.

The Launch Process

The Telos launch will be one the most open and transparent in EOSIO. Compared to the EOS launch, which relied on a secret appointed block producer (ABP) to perform the system launch based on a secret launch script, Telos will employ six publicly known potential ABPs and randomize which one of them will actually create the network so that even they will not know who is the true ABP. Each will use a publicly released launch script to make the process transparent and more accessible for future chains building from the Telos branch of EOSIO.

Following a “Go” vote by the Telos Launch Group (TLG), the group will finalize and validate its internal accounting regarding the Telos Founders Rewards Pool (TFRP). This will result in a publicly available CSV file recording the anonymized account names, public keys, and balances of the TLG members’ TFRP accounts 48–72 hours after the vote. The overall launch timeline is described here: https://medium.com/@teloslogical/what-happens-when-telos-votes-to-launch-d18f8bd494f.

Once this housekeeping is complete, the ABPs will begin the launch process using the launch script. This process requires less than an hour to initiate the chain and inject all the accounts. The ABPs will perform an initial validation using their validation scripts. Several members of the TLG independently wrote and tested a variety of validation scripts. These will be used for internal validation and are also available to independent validators for use and inspection to provide maximum transparency about the genesis injection process.

Validate Us!

When the ABPs are confident that the genesis injection was done properly, they will publish the Telos Mainnet Genesis File and endpoints so that anyone may access the mainnet candidate and perform a validation for themselves. Validations with the provided scripts are expected to take 2–4 hours or less. The open source scripts are also being published for review to help ensure that they do not contain any code that would lead to a false negative or positive result. Validators are also encouraged to create their own scripts.

The Telos Mainnet candidate will pause for up to two days in order to receive independent validations. Any validators are encouraged to publish their findings. The Telos ABPs and TLG may elect to shorten the validation period after receiving positive validation reports from all six ABPs and four credible independent validators.

Who Should Validate?

We are soliciting independent validation from any credible independent validators. Almost anyone with a background in computing and EOSIO could be considered credible. We are particularly interested in validations from EOS organizations and block producers who are not a part of the TLG, whether or not they intend to become block producer candidates on Telos in the near future. Performing an independent validation is a service to the network and would be a great way for EOS block producers who intend to join Telos but who have not already provided value to the network to do so.

File Descriptions and Links

The following links provide all necessary resources to inspect and validate the Telos genesis injection. Validators are also encouraged to use their own validation scripts. Some of these files will not be final until the Telos Mainnet Candidate is launched.

Telos Mainnet Genesis Files:

The genesis files and API endpoints for the Telos Mainnet Candidate will be posted here: https://github.com/Telos-Foundation/telos/wiki/Telos:-genesis.json

Scripts:

Telos Launch Script

This is the script executed by the Telos ABPs to launch the Telos Mainnet Candidate network.

https://github.com/CALEOS/launch-scripts/blob/master/Launcher.js

Validation Scripts

These scripts have been written by Telos ABPs to validate the genesis injection.

https://github.com/CALEOS/launchscripts/blob/master/SnapshotHandler.js

https://github.com/jrosich/eosbarcelona-telos-genesis

https://github.com/BlindBlocArt-Jerry/scripts/blob/master/verify.sh

(More scripts may be added soon.)

Snapshot CSV Files:

Original EOS Genesis File

This is the original EOS genesis file listing EOS genesis account names, Ethereum addresses, public keys, and balances from which the modified TLOS genesis snapshot is created. (CSV format)

https://github.com/eosauthority/genesis/blob/master/snapshot-files/final/2/snapshot.csv

TLOS Genesis Snapshot:

This is a modified version of the Original EOS Genesis File with the balances capped at 40,000. The account name “b1” has been changed to “b1b1b1b1b1b1”. (CSV format)

https://github.com/Telos-Foundation/snapshots/blob/master/tlos_genesis_snapshot.csv

Telos Special Accounts CSV

This is a list of special accounts created for Telos according to the Telos Blockchain Network Operating Agreement, Clause 22. “Initial Token Allocation.” (CSV format)

https://github.com/Telos-Foundation/snapshots/blob/master/telos_special_accounts.csv

(TBNOA: https://github.com/Telos-Foundation/tips/blob/master/TelosOperatingAgreement.md#22-initial-token-allocation)

Telos Key Recovery CSV

This is a list of genesis accounts that have performed a validated token recovery process to change lost and compromised keys.

https://github.com/Telos-Foundation/snapshots/blob/master/key_recovery.csv

(Key Recovery process: https://telosfoundation.io/recovery)

TFRP Accounts CSV

This is a list of Telos account names, public keys, and balances associated with the TFRP division among TLG members.

https://github.com/Telos-Foundation/snapshots/blob/master/tfrp_accounts.csv

TFVT Accounts CSV

This is a list of public TFVT account names, public keys, and balances of Telos Foundation Voting Tokens only. These balances do not reflect TLOS tokens. (CSV format)

https://github.com/Telos-Foundation/snapshots/blob/master/tfvt_accounts.csv

Telos RAM Accounts CSV

Accounts used to control the multisig permissions for the Telos Foundation RAM Administration accounts as described in TIP-27. (CSV format)

https://github.com/Telos-Foundation/snapshots/blob/master/ram_accounts.csv

Telos Initial Block Producers Accounts CSV

These accounts are to be created as minimal value accounts for all block producers who participated in the Telos testnet (one account per organization) with their specified public keys in order to preserve their account names from squatting. These are created at minimal cost in order to protect TLOS token holders from potentially being mislead in BP voting by name-squatters at launch. (CSV format)

https://github.com/Telos-Foundation/snapshots/blob/master/initial_block_producers.csv

EOS Block Producers Accounts CSV

These accounts are to be created as minimal value accounts for all EOS block producers who registered within the first 30 days of the EOS mainnet (one account per organization) with their current EOS public keys (owner or one of the multisig keys comprising their owner key) in order to preserve their account names from squatting. These are created at minimal cost in order to protect TLOS token holders from potentially being mislead in BP voting by name-squatters at launch. (CSV format)

https://github.com/Telos-Foundation/snapshots/blob/master/eos_bp_accounts.csv

--

--

Telos Foundation
The Telos Network Blog

Innovation meets gaming at Telos. Your home for secure, scalable & supercharged gaming experiences. Empowering devs, exhilarating gamers. https://www.telos.net