The Journey from AIT3 to Longevity Testnet

Aptos Labs
Aptos
Published in
7 min readSep 19, 2022

We made it! We finally made it. The Aptos community traveled through three incentivized testnets, thousands of commits, and millions and millions of transactions to finally make it to our longevity testnet — a stable foundation for ecosystem builders. As many of you know, Aptos shared APTOS : ZERO, a commemorative NFT that symbolizes the launch of our longevity testnet! With that in mind, we’d like to share an overview of AIT3, a deep dive into our longevity testnet, and our path to mainnet.

AIT3 Highlights and Rewards

As during AIT2, AIT3 began with a small set of entities as participants joined the network through airdrops. We were moved by the hard work and dedication of so many during this testnet that the team poured over data to provide rewards that recognize this effort. Specifically, as announced on discord, we have increased all rewards by 50%! The requirements for rewards were:

  • Perform all the required objectives on time including joining the validator set within 24 hours.
  • Meet node liveness as defined by metrics push data ≥ 95%. An overwhelming majority of participants met this goal!
  • Participation in all 3 Aptos-created governance operations
  • On-chain rewards earn ≥ 80%, which is correlated to successful proposal rate.
  • At least 6 binary upgrades of the total 8
  • 50% bonus to those that embraced the extension of AIT3 to help obtain extra signal

The rewards were as follows:

  • Full reward: 1200 Tokens!
  • Those meeting ≥ 50% staking rewards will get 800 tokens!
  • Those meeting ≥ 9% staking rewards or had zero governance votes will get 500 tokens!

There are two categories of bonus rewards:

  • An extra 200 token reward for operators that ran a validator fullnode while maintaining a health score ≥ 50% for the duration of the testnet
  • An extra 400 token reward for nodes running in remote regions (geographically distant from North America, and Europe) for the duration of the testnet

There are two categories for deductions

  • 100 tokens per missed vote for a governance proposal.
  • Those that initially registered in rare regions but moved locations forfeit any bonuses or extra rewards. In the future, we will consider banning participants from future incentivized testnets.
  • Less than 3 upgrades — people who upgrade early help up uncover issues or validate fixes, which is the whole purpose of the testnet.

Thank you so much for all your hard work and for contributing to the success of Aptos! A number of you will be or already have been selected to help launch the mainnet. There have been so many great contributors, unfortunately, more than there are slots for operating on mainnet. We will select as many as possible and plan to rotate in more over time. In making the initial choices, we considered many factors: performance metrics, location, contribution to helping other operators, and those that provide help in debugging issues. Our initial communications have been sent out!

Note: Aptos tokens can only be given to non-US participants, due to regulatory considerations. Any rewards in connection with the incentivized testnet will be provided only following a successful mainnet launch and any tokens provided will be subject to a minimum one-year lockup period. More details are provided in our terms and conditions.

Our Lessons

  1. Push the network hard: historically in testnets, our evaluations have been purely on helping the community and operators build a decentralized system and ensure that common operations succeed. AIT3 was the first time we pushed the limits on the Aptos blockchain software in a way that we have been unable to emulate in internal test environments. The results were amazing! We discovered that our asynchronous runtime, a third-party dependency, had a condition where if a task queue was filled quickly certain tasks would never execute. The issue was with an optimization in the task scheduler that assumed last in, first out, which resulted in something akin to a livelock. We changed the default configuration for the asynchronous runtime to be first-in, first-out, which resolved the issue. Our team leverages the most popular asynchronous runtime in the Rust community and it took a lot of time for us to accept that it wasn’t a bug in our code and instead a configuration consideration within a dependency.
  2. Be careful how hard you push the network: The network’s success depends on the shoulders of many amazing contributors. There were undoubtedly going to be lessons learned as we stressed the network to its limits. To many, the software is a black box. These stress tests have helped us better understand this and we are now in a much better position to more effectively communicate about potential risks of maximum load and understand the impact on operators. The most important aspect was just how moving it was to see how deeply committed operators are to the success of Aptos and helping us create the most reliable and scalable network!

Successes

  1. Scale and distribution: We did it. We brought back the core of AIT2: numbers and the geographical distribution. Along with that we introduced amazing amounts of stress testing that resulted in over 800M transactions in less than 2 weeks. That’s over an average of 700 TPS and along the way the team was able to consistently achieve a TPS of over 4000. Moving into mainnet, this means really great things because we’ll have a chance to work effectively with operators to construct an even more efficient network with even better scale and lower latency.
  2. Decentralized Governance: Aptos embraces decentralized governance. Aptos is almost entirely configurable via an on-chain framework for making changes to network. We also support core Move library upgrades through this method as well. In AIT3, the community came together to pass three different resolutions that helped facilitate our ability to improve network stability. This demonstrates the amazing zero-downtime upgradeability that Aptos provides. Once sufficient entities had voted on a proposal, the proposal can be executed by any entity and the network atomically upgrades software or configuration. This lockstep process cleanly and seamlessly transitions the entire blockchain from one state to another.
  3. Understanding Roles: Prior to AIT3, the only identity anyone had experienced was an omnibus identity consisting of those staker and node operator. In AIT3, we wanted to help operators understand their role as well as that of those that they support, the owners or stakers as well as the entity that votes on governance proposals. Along the way, you helped validated Petra. Hopefully you obtained an NFT. Most important through this process is that the operator has a vital role in monitoring their node, follow along with community guidance on upgrades and hot fixes, and to support each other. Along the way, it is very important that those that are entrusted to vote on changes or upgrades to the system are able to act quickly and have efficient interfaces to do so. The overall experience and feedback and been phenomenal.

Quotes from our Operators

  • In no other tesnet where I’ve participated have my nodes been put under stress like this in all areas (cpu, mem, storage) I’ve been involved with blockchain for a while .. I have the feeling for the first time that “aptos” when it comes to the performance and future of blockchains, it will “really” surpass everything what we had up until then. it’s really “different”.
  • The AIT3 testnet was very interesting to take control of the commands, what are the different keys used for, the errors not to be reproduced in mainnet etc. Thanks for the opportunity to learn more.
  • Well done to all node operators, the AIT3 was a tremendous opportunity to work all together and learn more about the network to get ready for mainnet. Thanks to the Aptos team that was always very helpful, the communication was very easy, it’s a pleasure to work in these conditions. No doubt that Aptos will be a great success with such a team.

Introducing Longevity Testnet

Can you believe that just over 6 months ago Aptos burst on the scenes with a DevNet? The team and the ecosystem have been working tirelessly together to build something special. Aptos has been largely code-frozen since the end of August. As of the middle of September, we’re ready to broadly announce our longevity testnet!

As many of you read between the lines, the real initial launch coincided with the release of APTOS : ZERO! This saw several wallets integrate directly with the Aptos community site to provide the first community experience on the network!

The birth of a longevity testnet is a truly beautiful moment for a blockchain network. It signifies confidence in the state of the software and deployment architecture. We are now ready for prime time ecosystem coordination and collaboration.

For those that have had to endure losing your devnet NFTs week after week, be prepared, longevity testnet NFTs are intended to remain for a very, very long time! We plan no more breaking changes in Move, transactions, and APIs! There will be no more data wipes, so partnerships can be effectively made between dApps and other entities.

We will continue to rollout changes weekly to devnet and will continue to wipe it weekly. On a regular cadence, we will upgrade testnet with successful devnet runs. Eventually after enough time soaking in testnet, we will have established that the software is ready for mainnet and then 🎆!

Stay Tuned

There will be a lot of exciting updates in the coming weeks! Thank you for your continued support as we move towards mainnet and for the success and learnings that came from AIT3. Follow along here on Medium and Twitter and star us on GitHub!

--

--

Aptos Labs
Aptos

Aptos Labs is a premier Web3 studio of engineers, researchers, strategists, designers, and dreamers building on Aptos, the Layer 1 blockchain.