Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This set of documents contains one document for each project has been identified by the FIO Core Technology team as a candidate for attention in the 2022/2023 timeframe. These projects address areas that the core technology team has deemed critical to the “health and wellness” of the FIO Protocol going forward, but which have not been included in and which help to achieve the KPIs specific to the

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyDAO-49
worker proposal.Motivation

Project Areas of Focus -

...

Identify and address performance deficits in the present FIO design.

Permit the FIO Protocol

...

to integrate and deploy releases more flexibly and rapidly.

Better Educate and inform the FIO community regarding all aspects of FIO operation and best practices.

Address critical deficit in (lack of security focus) Provide capabilities the FIO Protocol needs to observe, identify, and respond to security threats

Address Performance Deficits.

-Clean up state

...

-Limits of the present design

reduce on chain state size and complexity.

provide a standard, performant, easily used set of readers for FIO state.

eliminate the need for FIO Core update for reader access.

Ease the deployability of new features, capabilities and contracts.

especially changes that impact the FIO (core C++) repository.

Leverage the existing EOSIO community and technology.

...

Analyze the limits of FIOs state tables, understand when tables are getting close to limits, Create tools and processes that can be used to analyze the “state of state tables”. Create tools that can be used to clean tables. Stimulate discussion regarding what data should be cleaned and why.

create a set of projects for each major group of tables in FIO.

– Optimize size and complexity of FIO state model.

Analyze the limits of FIO state to better understand the functional limits of the protocol in relation to the amount of information that is contained in FIO state. Document options that will help the FIO Protocol to handle volume well beyond its' present functional limits.

Analyze the limits of the FIO read operations, Document options that might help the FIO Protocol to provide read access for integrators that functions well beyond FIOs present limits.

Analyze the overhead for block producers and community members regarding playbacks, snapshots, and other operations performed regularly by BPs. Document options that might be helpful to the FIO Protocol when significant load is experienced by the protocol

create a set of projects to analyze the identified areas (read performance, playback overhead, operational limits of state loading)

Provide more flexibility of project integration and deployment

make FIO more configuration oriented for

new contracts

new features

Soft forking changes to FIO repository

Modify contracts to ease contract deploy-ability

reduce number of contracts impacted by changes to common code.

reduce binary size of each FIO contract

Create release tools to aide in release management.

Create a release dashboard that can do the following

generate release MSIG commands and other necessary artifacts

aide in tracking and notification of BPs and other interested parties.

automate release manager operations for releases.

Encourage Community awareness and knowledge

Training, documentation, and best practices

...

For FIO (core C++) development

Provide a Security focus for the FIO Protocol

Address Deficits in Security processes and practices.

(see findings of Q’s playbook before making this project list)

For each project we will identify the following

Project Objective/Problem statement

background

motivations

detailed description

Note – all Risk, Cost, and Benefit analysis will attempt to identify and give a quantitive score in the terms of the strategic objectives of the FIO Protocol. These objectives are listed in the following document.

Strategic Objectives

Risks of not addressing project

perceived chances of each risk happening (as a percentage)

At what point do the risks come to a critical tipping point.

Impact analysis

include a rating for each KPI 1-5, where 1 is minor risk and 5 is maximum risk

try to describe, quantify, and measure the amount of risk that is taken on in the terms of KPIs.

Cost analysis of the project (provide number indicating a ranking for total time, design complexity, integration complexity, perceived financial cost, ability to divide into smaller actionable projects)

Benefit analysis of the project (provide a list of benefits and advantages of completing this project, include a ranking number for each benefit).

accepting multiple complex projects which need solved in a timely fashion.

monitoring and alerting the FIO community regarding a variety of attacks on the FIO Protocol.

performing regular security audits on all aspects of chain function.

cleanup and maintenance of the state model that makes up the FIO protocol

reducing the size and complexity of on chain state model.

providing off chain solutions for read access to FIO state model.

Including rating 1-5,where 1 Is minimal and 5 is maximal.

List of costs

number/complexity of unknowns

total duration time

design complexity

implementation complexity

QA complexity

integration complexity

total financial cost rating

ability to deliver in phases

Benefit analysis of the project

Including rating 1-5,where 1 Is minimal and 5 is maximal.

Try to describe, quantify, and measure the amount of benefit that is gained in the terms of the KPIs.

List of Candidate projects

FIO State size analysis

This project will load the FIO protocol with a maximum number of records (number to be determined by this project) in all of the following categories at the same time. The goal is to understand the operational limits of large-scale adoption and use of the present FIO design. We will try to find the weak spots and identify these. Tables relating to the following areas will be examined.

domains/addresses

FIO requests.

staked tokens

locked tokens

voters

producers

tpids

Risks of not addressing

Percent chance that this project identifies terminal failures relating to number of records in state (100%).

Impact Analysis

FIO has discovered some read performance limitations early in the project WRT number of funds requests that can be maintained in state. The project will also try to determine the functioning limits of the protocol as state loads increase.

Performance

Transaction throughput (transactions per second). 4

Transaction response time (based on table and state size) 4

Read response time (based on table and state size) 4

Costs of this project

number/complexity of unknowns 3 this effort will discover items to be addressed by

follow on projects.

total duration time 3. (4 -6 weeks)

design complexity 2. design load scripts, capture snapshots, prototype solutions for each issue discovered.

implementation complexity 3

QA complexity 4

integration complexity 0

total financial cost rating 2

ability to deliver in phases High.

Benefits

This project will identify any critical throughput, or read oriented limitations of FIO and permit follow on projects to address these limits.

Create processes and tools for state maintenance/cleanup

This project will examine the contents of the FIO main net state tables. It will identify data that is candidate for removal from state. For each table the chief question is how can records be identified for removal. It will also identify processes and procedures to be used in performing ongoing cleanup over time. The following areas will be examined.

domains/addresses

FIO requests.

staked tokens

locked tokens

voters

producers

tpids

Risks of not addressing

The risks of not performing state cleanup regularly are that some tables (to be identified by the Fio State Size analysis) can become read limited as more and more records are entered into the table. Without cleanup procedures and tools the FIO protocol will have to reactively and emergently clean state.

Impact Analysis

Performance

Transaction throughput (transactions per second). 4

Transaction response time (based on table and state size) 4

Read response time (based on table and state size) 4

Costs of this project

number/complexity of unknowns 2

total duration time 2 (2-4 weeks)

design complexity 1 table analysis should be straight forward.

implementation complexity 2

QA complexity 3. records must be inserted to meet criteria of deletion on local dev env and test env.

integration complexity 0

total financial cost rating 1

ability to deliver in phases High each table can be analyzed separately.

Benefits

This project will identify ways in which the FIO state can be better maintained. It will establish BP and community processes that will serve FIO going forward.

BP hosting guidelines

API node hosting guidelines