QIP #0008 Discussion: Dynamic Tree Expansion

Abstract

This QIP defines an algorithm by which different chains within the Quai tree of chains may agree to expand the tree and activate new chains. This algorithm provides a deterministic decision based on hash measurements in each section of the tree.

Motivation

The Quai protocol achieves high transactional throughput by dividing transactional processing into independent shards. Each shard achieves shared total security via merged-mining. Adding more chains into the tree enables higher throughput, at the cost of increased cross-chain settlement times. Therefore, it is desirable for the network to activate only as few chains as are necessary to satisfy the users’ demand for transactions.

As the number of transactions processed by the network increases, block propagation & processing time will increase (a.k.a. block acceptance time). This increase in block acceptance time results in higher probability of competing blocks produced within the same time, and thus short reorganizations (a.k.a. uncleed uncles) as the networks decides on the canonical set of blocks. The ratio of work committed to blocks that ultimately do not get accepted, can be measured as wasted work performed by miners. By measuring this waste, we can objectively determine the efficiency with which miners secure the network, which we refer to as “security efficiency”.

This specification provides a mechanism for measuring the security efficiency of the network, so that when security efficiency becomes unacceptably low, the network can agree to add more chains to increase transactional capacity (at the expense of cross-chain settlement times) to improve security efficiency.

Full Spec

The full specification for QIP #0008 can be found here.