Announcing NEAR Protocol’s MainNet Genesis
May 4, 2020 — Erik Trautman
Update 20200806: See the end of this post for an update on project status.
NEAR’s mission is to enable community-driven innovation to benefit people around the world. The NEAR platform is a key piece of fulfilling this because it provides decentralized storage and compute that is secure enough to manage high value assets like money or identity and performant enough to make them useful for everyday people, putting the power of the Open Web in their hands.
Today, we are thrilled to announce a major step towards the fulfillment of that mission: Genesis for the NEAR Protocol MainNet has occurred and the network has already produced a million blocks.
This release, called “MainNet: POA”, is the first major release on the path to NEAR being the first fully sharded, fully operational proof-of-stake blockchain platform to run an open MainNet. This release represents the beginning of a multi-phase rollout of the platform over the upcoming months, as detailed in The Road to MainNet and Beyond and described in brief below.
The significance of MainNet: POA is that developers can now create production end-user-facing applications atop the smart contract platform running on the NEAR Protocol blockchain and the state of these applications is guaranteed to persist going forward, which crucially differentiates it from a TestNet release.
Because this is the POA release, there are some limitations to the functionality of the applications and the tooling of the platform on MainNet so it is intended for early adopters and sophisticated developers. NEAR’s TestNet, which runs the same code as MainNet but without any restrictions, allows developers to freely build and test their applications until they are ready for final deployment.
The following sections will cover exactly what this release contains and how it fits into the larger timeline of upcoming releases. It will help anyone — whether a developer, validator or potential end-user — understand how their experience and functionality are impacted by each of the steps on the way to the final Open MainNet release.
- About NEAR
- Phases for Launching NEAR
- Getting Started
Technically speaking, NEAR is a decentralized application platform built on top of a public, sharded, proof-of-stake blockchain. More importantly, NEAR is the backbone that powers the final stage of blockchain’s evolution, called the “Open Web”. In brief, you can think of blockchain technology as spanning three generations:
- Open Money: Bitcoin showed the power of creating a global currency that anyone could interface with but there were limited opportunities to use this because of constraints on the performance of the blockchain and the limited computing layer on top of it.
- Open Finance: Ethereum showed the power of expanding the financial primitive of Open Money by building a computing platform which could spawn new tokens and enable applications to permissionlessly access them. Despite lacking the performance or usability for general consumer adoption, Ethereum still proved that significant innovation could be achieved by making it easy for developers to combine financial building blocks to create valuable new products.
- Open Web: When any data can be shared and composed between applications just like the financial primitives of Open Finance, the set of possible new business models and applications expands exponentially. No blockchain yet has been able to meet the requirements for this, however, because it must be performant enough to meet enormous demand, low cost enough to justify itself and usable enough by developers and consumers to allow user experiences on par with today’s web.
NEAR was built specifically with this final stage in mind. It doesn’t just provide the performance and usability upgrades which are necessary to drive the global adoption of Open Finance, it also has the scalability and low cost necessary to drive the even larger vision of the Open Web.
No blockchain of similar scope or sophistication has yet been released into full production. With the launch of NEAR’s Genesis Block, which officially started the MainNet blockchain on April 22, 2020, the project took the first major step along its own journey to having a fully decentralized, community-governed MainNet.
The ensuing rollout process, which will take place over the next several months, involves three distinct phases, as described below.
Phases for Launching NEAR
Generally speaking, projects like NEAR must build 2 key elements:
- Below the surface: The underlying technical (blockchain) layer which provides the bare metal networking, virtual machine and data storage
- Above the surface: The tooling and functionality which allows developers to easily build user-friendly applications.
Many blockchain projects have optimized for shipping the technical layer first but that means developers can’t actually build useful applications until smart contracts are implemented.
The goal of NEAR’s approach is to reverse the order of these two things, so the chain’s application-facing functionality is almost entirely in place from day 1, allowing developers to build actual production-ready apps even while the underlying chain infrastructure is still being progressively decentralized.
See each of the sections below for a more detailed investigation of the phases and their implications for key stakeholders.
Phase 0 – MainNet: POA
This initial phase of MainNet, which began with the recently implemented genesis block, allows builders to create production applications with guaranteed state preservation but is subject to restrictions on transfers and caveats that early tooling will be in a raw form.
These are the implications of MainNet POA:
Validators: The chain will initially be run by 4 nodes and a permissioned set of validators will be added during the course of this release. Inflation (and corresponding block rewards) will be set to zero so there is no dilution of stakes.
Patches or Rollbacks: Any issues experienced by the network, whether due to bugs or security, will be patched or rolled back as necessary while preserving the appropriate state for applications.
Developers: Because token transfers during this phase are restricted but both new account creation and app deployment require tokens, developers will need to work with the NEAR team to set up their accounts and implement their deployments. This process is similar to getting an API key. Contract Rewards for developers are enabled, so they can already earn 30% of the gas fees that are paid for the use of their contracts once deployed.
End Users: End users will be able to use applications on the network (as long as they don’t involve transfers of NEAR tokens between accounts) because using gas is not restricted. If these apps require NEAR accounts, this will need to be accomplished with some workarounds that can be coordinated with the team.
TestNet: Unlike MainNet, during this phase TestNet is full-featured and unrestricted so developers can test the full functionality of their applications in preparation for release during this or the later phases of MainNet.
Transitioning to Phase 1: This phase is ended and the next phase begins when the initial validating set from the Foundation hands off validation responsibility to a new set of validators sourced from within the community.
Phase 1 – MainNet: Restricted
In the Restricted phase, most of the changes occur below the surface so there will be few noticeable changes to developers or end-users. App developers will still be able to build, test and deploy production-ready applications on MainNet, just like during the POA phase. Tooling will continuously improve and end-users can still pay for gas to use applications but transfers of NEAR tokens are still restricted.
These are the implications of Restricted MainNet:
Validators: Instead of a small set of controlled nodes (as in the POA phase), the chain will be run across a large set of whitelisted validating nodes but inflation (block rewards) will still be inactive. This is a chance for validators to test-drive their nodes and fine tune their delegation setups. Though transfers are restricted, developers and end users will be able to delegate their tokens to validators for participation in the staking process.
Patches or Rollbacks: Because the chain will be run across a large set of validators, any bug- or security-related rollbacks or major patches will need to be coordinated with this group. The chain is still expected to maintain full security and uptime.
Developers: As with the POA phase, because token transfers are restricted and new account creation and app deployment require tokens, developers will need to work with a NEAR team to set up new accounts and implement their deployments. This process is similar to getting an API key. Contract Rewards for developers are enabled, so they can earn 30% of the gas fees that are paid for the use of their contracts once deployed.
End-Users: As with the POA phase, end users will be able to use applications on the network (as long as they don’t involve transfers of NEAR tokens between accounts) because using gas is not restricted.
TestNet: As with the POA phase, testnets that run alongside this MainNet will provide full functionality for applications as well as advances in the underlying technology and tooling.
Transitioning to Phase 2: This phase is ended and the next phase begins when a sufficiently large set of token holders votes that the conditions for successful open MainNet are fully in place and the network is ready to become completely open and unrestricted. This is similar to the approach used by Cosmos.
Phase 2 – MainNet: Open (Community-Governed)
The final phase of MainNet puts everything in place. The network is fully decentralized because it is being run on a large validator set which can be permissionlessly joined by anyone with enough stake. Applications have no restrictions on their functionality and NEAR tokens are free to be transferred. Developers can permissionlessy create accounts and deploy applications.
These are the implications of this Community-Governed (Open) Mainnet:
Validators: Anyone with sufficient stake (or delegated stake) can participate in running the network. Lockups will begin unlocking as normal in this phase.
Patches or Rollbacks: As with any properly decentralized network, updates to the chain are entirely subject to the decentralized governance process and adoption by validating nodes. This means that any bug- or security-related rollbacks or patches will need to be handled entirely through governance and, as with any decentralized network, no single party can provide guarantees about the performance or operational characteristics of the network.
Developers: Developers will be able to permissionlessly create accounts and deploy full-functionality applications. These activities will require tokens, which can be permissionlessly acquired via any mechanism available “in the wild”. Contract Rewards for developers are enabled, so they can earn 30% of the gas fees that are paid for the use of their contracts once deployed.
End Users: End users will be able to permissionlessly create accounts and use any applications that exist on the network.
TestNet: As before, TestNet will be full-featured and full-functionality. For more information on specific sub-networks and the anticipated forward-looking release cycle, refer to the Road to MainNet and Beyond post.
Ongoing Evolution: As a permissionless, open source network, anyone can contribute to the codebase. Future improvements and growth will be ultimately determined by the emergent will of the community and its adoption among validators. Financial support for ongoing development will be provided by the network’s Foundation Reward.
Everyone who has worked on getting NEAR to this point is extremely excited to see the community get more involved in every aspect of the network’s development, operation, and ecosystem development.
During this initial phase of MainNet, here are several ways to get your hands dirty:
Developers: Because TestNet is full-featured, you can build your app as normal! Check out the docs quickstart for information about how to do this and ask questions in the chat. If you are ready to deploy to MainNet, register for the Developer Program.
Validators: Whether you expect to validate with your own stake or receive delegation, you can start test-driving your setup and sign up for staking programs to participate in any upcoming ones. Similarly, if you are interested in purchasing tokens, be sure to sign up for the token list to hear news of any opportunities to do so.
Startup Founders: NEAR is a supporter of the Open Web Collective, a protocol-agnostic community of startup founders who are focused on building on the decentralized web. They provide education, networking and support during this process. Learn more and join at https://openwebcollective.com.
Business Leaders: If you are curious about how to integrate with NEAR or whether it might be a good fit for your business needs, reach out to [email protected]
We are currently in Phase 0, where the NF is running the network’s nodes. Phase I involves a transition to a decentralized group of third party validators.
This occurs in several steps:
- The validators (who have been participating in the incentivized TestNet for months now) are promoted to MainNet and given accounts there.
- At the same time, tokens are distributed to the recipients who should receive them so they can delegate these tokens to the validators. This activity will take some time because there are many recipients
- Once the network has been determined to be sufficiently stable (which could be a week, or it could be more), the NF will spin down its nodes and Phase I officially begins.
The first and second steps are expected to begin by the end of August (though it is an engineering timeline and thus subject to change). The third step will depend a lot on what we see there, plus it has some dependencies on the ecosystem of validators, custodian partners and their customers, so it’s not really appropriate to put a date on it.
The transition to phase II requires the validators to signal their choice that they are ready to remove transfer restrictions on the network. This is similar to what Cosmos did. The NEAR team can’t determine when exactly this will occur. It might occur almost immediately after Phase I officially begins or it may occur long after — it is entirely up to the validators (and the stake which delegates to them).
As a final note, which you can read in the blog post https://near.org/blog/near-mainnet-genesis/, there is no network inflation before Phase II, so anyone who is not participating in delegation or staking prior to Phase II is not missing anything other than the opportunity to test-drive your delegation and vote to advance to phase II.
Join the community: