Understanding the Aergo Mainnet Incubation phase

Aergo
Aergo blog
Published in
8 min readApr 19, 2019

The Aergo main network is secured by a BFT-dPOS consensus mechanism. It has 23 trusted and enterprise-grade block producers that host the network: providing fast processing to users executing transactions on the network.

The block producers that will host the Aergo main network will be required to have very fast and stable hardware to meet the stringent requirements of business users. In the initial phases of the mainnet, these block producers will slowly be ‘grandfathered in’ by the Aergo Organization. The focus will be to onboard companies with comprehensive, enterprise-grade cloud hosting capabilities in order to provide serious quality assurance and reliability to enterprises.

Eventually, all of the block producers on the Aergo main network will be voted in by token holders. Candidacy to become a potential block producer will require a token stake as well as meeting a set of requirements defined at the protocol level. Other algorithmic and reputational factors will be considered when block producers are assigned. They do this to profit off of the tokens they collect from being a block producer, though will also involve themselves in the ecosystem in other ways such as hosting nodes for private chain deployments. However, transitioning into this self-sustained state will not be trivial.

It is expected that the Aergo mainnet will evolve to reach its intended form through a set of consecutive phases: starting with the Incubation phase.

In this article, we go over the following:

  1. What is the Incubation phase?
  2. What has been done so far part of the Incubation phase?
  3. What still needs to be done to complete the Incubation phase?
  4. What happens after the Incubation phase?

What is the Incubation phase?

The Incubation phase is a period in which the Aergo mainnet is sequentially brought to full capacity to ensure stable maintenance and growth of the Aergo mainnet in the first few months of it going live. At mainnet launch, the network has 13 block producers. The network’s block producers are a mix of external partners as well as Blocko. The Aergo Organization votes for them, safely incubating the dPOS algorithm. Once the network can be assumed stable, the phase concludes and the next one begins.

The Incubation phase allows us to more tightly monitor the network’s security and specific pressure points so that the platform can have a greater degree of reliability and security guarantee before we add more enterprise clients and larger-scale block producer participants onto the network. Having launched large-scale, complex cloud systems in the past with clients, we know that the most important thing is making sure they have the specific assurances they demand before building on top of it. For most companies, switching over to blockchain for your infrastructure can be risky and costly, yet the ROI should the blockchain network meet their standards can be tremendous.

The Incubation phase is driven by the requirements of enterprise customers. There is actually a very complicated RFP (requirement list) that enterprise clients present before they feel ready to adopt blockchain. Our job is to satisfy all of those requirements and provide something that is practical for blockchain-based business applications and services.

There are five steps to completing the Incubation phase:

Step 1: The network and its token supply are bootstrapped (done)

Step 2: The network is monitored and stabilized (current)

Step 3: Once confirmed stable, a 1-way (centralized/traditional) token swap begins (TBA)

Step 4: After rigorous testing, the 2-way (decentralized/Merkle bridge) token swap is enabled (TBA)

Step 5: The Incubation phase ends (TBA)

What has been done so far part of the Incubation phase?

So far, the first step: bootstrapping the network and the token supply has been completed.

In this bootstrapping process, several contracts were created on the Aergo main network and on the Ethereum blockchain. All of these contracts are protected by multi-sig.

This section describes the bootstrapping process (what contracts were created) on each side: the Aergo mainnet side and the Ethereum side.

Aergo mainnet (native coin) side

During the bootstrapping process, two multi-sig contracts were created:

Founder’s contract (address):

  • This will maintain all the tokens allocated towards the Aergo Organization.
  • The tokens in this contract will be used to stake and vote for the appointed block producers during the Aergo mainnet Incubation phase.
  • At the end of the 1-way swap period, the same amount matching the founder’s tokens issued at Aergo genesis will be sent to the Ethereum bridge contract (i.e., the tokens are transferred to mainnet)

Vault Contract (address):

  • This will have all the tokens aside from Aergo Organization’s share.
  • Those token will be used for token swap during 1-way swap period.
  • At the end of the 1-way swap period, the remaining tokens in the vault contract will be sent to the bridge contract on Aergo (i.e., tokens that have not been transferred during the 1-way swap period will be transferable by Merkle bridge).

Step by step recap of the completed bootstrapping process on the Aergo mainnet side is as follows:

  1. The Root Address for the bootstrapping is generated along with its corresponding private key.
  2. The total supply of Aergo (500,000,000 Aergo) is allocated to this Root Address.
  3. The founder’s contract and the vault contract are created.
  4. The amount for the token distribution is sent to the vault contract.
  5. The amount for the token distribution is sent to the founder’s contract.
  6. The tokens in the founder’s contract are used to stake and vote for the appointed block producers.
  7. The remaining share in the Root Address is used for transaction fees, essentially charging the overhead for the Incubation phase to the Aergo Organization.

Ethereum (ERC-20 Token) Side

One multi-sig contract was created:

Vault Contract:

  • This contract is used for Aergo address registration.
  • Whenever a new Aergo address is registered, the corresponding tokens will be sent to this contract. Thus those tokens are locked on this contract.
  • Those tokens are transferred to the registered addresses in the Aergo mainnet during 1-way swap period.
  • At the end of the 1-way swap period, the total value of this contract should be transferred to the Ethereum Merkle bridge address (i.e., the tokens are transferred to mainnet)

This contract’s balance is equal to the founder’s contract’s share at the very time when the mainnet is launched since it’s the only token circulation on the mainnet until the 1-way swap period begins.

Step by step bootstrapping process on the Ethereum side is as follows:

  • The vault contract is created with the initial balance
  • The balance is equal to the Aergo Organization’s share on the Aergo mainnet side’s Founder’s Contract as well as the Rood Address.

Later, the tokens and the contract variables of each vault contract will be migrated to a bridge contract for the Merkle bridge before the 2-way swap period begins.

What still needs to be done to complete the Incubation phase?

The Incubation phase is key to our launch of one of the first enterprise-grade hybrid blockchain platform launches yet. Many customers have expressed a strong interest in adopting the hybrid blockchain model and serverless computing capabilities that Aergo offers. However, there is a long list of requirements as well as quality guarantees that the network must satisfy for this to be possible. It is paramount that we do everything necessary to test and protect the live mainnet before as well as when adding these customers on.

Over the next month, we’ll be monitoring the network and working with partners to expedite all of the necessary steps to move past our Incubation phase. Thereafter, we will begin step three of the Incubation phase, the 1-way token swap.

The 1-way token swap is conducted by the Aergo Organization, processed only in a 1-way manner (Ethereum ERC-20 to Aergo mainnet). This is totally optional and offered so users can try out the Aergo mainnet while we prepare to launch the Merkle bridge.

Sometime thereafter, step four of the Incubation phase, the 2-way swap between ERC-20 Aergo tokens and Aergo native (mainnet) coins will be supported, which is based on Merkle bridge. It’s more complex than typical token swaps for us, since both the ERC-20 token and native coin state of Aergo will co-exist. Detailed instructions will be provided at the appropriate time.

The Incubation phase will officially end once the 2-way Merkle bridge is live. Thereafter, in the Acceleration phase, ecosystem partners will be added at a more aggressive pace and the block producer limit will be increased to 23.

What does the Incubation phase mean for you?

You will still be able to use the network as normal and build your applications or solutions. Minimal functions during the Incubation phase may be paused throughout the process such as two-way Merkle bridge transfers, which will only be implemented once the network is very stable. You will not be able to vote for block producers or for proposals at this time through your wallet. Candidacy to become a block producer is also disabled until the last phase of the mainnet, the Liberation phase (detailed below).

What happens after the Incubation phase?

The following two phases are Acceleration and Liberation. We will provide more comprehensive details on these phases in the future, as well as our governance model in general.

In the Acceleration phase, the network transitions towards 23 third-party block producers. More valuable ecosystem partners are added since the network is no longer in Incubation.

By the start of the Acceleration phase, Aergo will have a small 13 member set of block producers. In Acceleration, the Aergo Organization will aggressively onboard more enterprise-grade hosting providers such as system integration affiliate companies and telecommunications providers. These companies may be hyper-localized in their operations servicing a specific geography, and would have powerful infrastructure to provide quality assurance to those building use cases on the platform. This will increase Aergo’s appeal as an platform for building decentralized applications and business solutions.

Network operators of Aergo main network will be certified/qualified IT vendors with predictable, stable, secure and highly available infrastructure. Telecommunications providers are the ideal candidates: they are hyper-local in their operations and can provide fiber optic speed. They will be excellent partners to work with not just to host the mainnet, but also to provide excellent node provision services to sidechain users.

In the Incubation phase, we seek out operators that have know-how in the blockchain hosting scene to be selected to operate the network as there is a need for BPs to go-to-market fast. However, in the Acceleration phase, operators foreign to blockchain technology will be brought onto the network, opening the doors to new possibilities in the business of serverless cloud. They will be actively supported and economically assisted through a number of programs dedicated to helping new cloud providers enter the Aergo ecosystem.

Once the Acceleration phase is complete, Aergo will enter the Liberation phase. In the Liberation Phase, anyone that meets a set of technical and economic requirements can put themselves forward as a block producer candidate. Among these candidates, 23 are selected to become block producers through votes from token stakeholders as well as other algorithmic factors. In this phase, the block producers hosting the network will be more publicized and visible.

The voting function will be enabled on wallet applications, letting users select a candidate that they want to act as a block producer. The DAO system will also be enabled: meaning users will also be able to vote on passing or rejecting proposals made by candidates on the network that tune network parameters, steer development direction, and more.

In Closing

The Incubation phase is a phase in which we bring the network to capacity through a series of steps to ensure the Aergo main network can be stable and secure post-launch. Incubating the network is key to us building something that can eventually become truly self-sustaining and providing the powerful infrastructure we want for both businesses and for developers.

Join our community: Discord | Telegram | Telegram RU | Telegram ANN | GitHub | Twitter | Medium | Reddit | KakaoTalk | WeChat (CN) | Weibo

--

--

Aergo
Aergo blog

Enterprise-ready, open-source hybrid blockchain and easy-to-use serverless cloud platform for building practical decentralized apps and business solutions.