Since the release of our minimal agency consensus whitepaper, we’ve been hard at work on a range of new developments. This has included benchmarking of the ledger performance (showing synchronisation rates of up to 30,000 transactions per second), release of our high-performance virtual machine to enable the development of advanced smart contracts, and continued work on our sharded ledger and cryptographic source of randomness.
In this article, we outline the Fetch.AI staking model and a blueprint for our staking programme. This will be launched in the coming months to provide our community with enhanced access to our test network. Users’ contributions to the staking programme will also allow them to benefit from early participation in the project, with a return at an annualised rate of up to 20%. We will also be working with our industry and academic partners to give all members of our community an opportunity to participate in the staking process.
Before discussing the details of the staking programme, we re-cap on the design of the Fetch.AI ledger and the role of staking in its consensus.
The Fetch.AI ledger uses notarisation of a transient Directed Acyclic Graph (DAG) to collaboratively build and finalise blocks that are added to a linear blockchain. The transactions within these blocks are associated with distinct state, execution and network shards that enable its capacity to expand in response to increases in demand. Importantly, this architecture also allows the capacity, and therefore the operating cost of the network, to be reduced when demand is low. These are key design elements that will enable the ledger to support large populations of autonomous economic agents cheaply and efficiently.
The principal objective for the launch of the ledger is for it to achieve its performance and scalability targets. Features to improve validator operating costs and decentralisation will be introduced later in its development (validators are computers that replicate some or all of the data stored in ledger and participate in consensus). At the launch of the main network in Q4 2019, all of the validators that take part in the consensus will be so-called “master” nodes that run all of the shards within the blockchain. As a result, the ledger will be capable of extremely high transaction throughput from the outset. From a technology point-of-view, the ledger is capable of operating with a very large number of validators, but for economic reasons we are initially limiting their number to two hundred. This restriction is necessitated by the high operating cost of the scalable “master” nodes, which must ultimately be funded by transaction fees.
The incentive design allows operating costs to be kept under control until user adoption has grown sufficiently to allow a larger number of validators to be supported, or improvements to the protocol have enable more nodes to be accommodated at a similar cost. A total of two hundred validators is much greater than existing Proof-of-Stake blockchains, which is a reflection of the improved performance and efficiency of the Fetch.AI ledger compared with these earlier protocols. The development roadmap includes plans for “light” nodes that run a subset of the shards, and that can also contribute towards consensus at a much lower cost. Alongside several other innovations that we have in the development pipeline, this will lower costs, increase user participation and security, and facilitate the deployment of autonomous agents.
The staking process is designed with this technical backdrop in mind, and has the following features:
Staking rights for running a ledger node on our test network will be made available through an auction in the run-up to the launch of the main network. The stakes will be locked for a duration of approximately one month, and will be unlocked and returned with rewards after this period has expired.
A second auction will conclude upon termination of the first staking period and will lead to a new and potentially different set of validators being elected for the second month (validators from the first staking period will have the option of bidding for the subsequent period). This process of sequential auctions for electing validators with coordinated stake locking and unlocking will proceed until the launch of the main network.
Approximately 50,000 FET will be awarded to the winners of the staking auction, while the minimal stake to participate in the competition will be set at around 250,000 FET to simulate the collateral that will be necessary to become a validator.
Two hundred validator slots will be made available at the auction. Each of these slots will pay a maximum annual effective return of 20% if they are sold at the reserve price. Retail investors with lower token holdings will have an opportunity to delegate their stake to node operators at an advertised interest rate.
The precise reserve price will be 0.075% of the circulating supply to generate an overall stake pool of 15%. The rewards will be fixed at an effective annualised return of 20% of the reserve price.
During the first three years of operation, the rewards will increase linearly with the token circulation to maintain a constant ratio of stake-to-circulating supply.
The highest two hundred bids will be awarded staking slots but will pay the price that was offered by the lowest winning bidder to achieve stake values that are uniform between all validators. This ensures that the interest that the winning bidders receive will be the same or better than the rate implied by their initial bid. This feature allows them to fulfil their obligation to pay a specific return on stake that has been delegated to them by smaller stakeholders.
Block rewards will not be compounded over the duration of the staking period but will instead be paid upon unlocking of the stake to maintain staking values and to reduce the risk (variance) in expected rewards.
In the coming weeks, we will be releasing Ethereum smart contract code that implements the stake auction for FET ERC-20 tokens. This will be followed by an Etch smart contract for native operation on the Fetch.AI ledger. We have also prepared another article that explains in greater detail some of the considerations that we have made in the design of our staking model.