Scalability issues have always plagued early blockchains such as Bitcoin and Ethereum. In 2017, a single Ethereum DApp, CryptoKitties, a digital collectible game developed by Dapper Labs, became so popular it clogged the network, slowing all transaction processing almost to a halt. These first and second-generation blockchains are not highly scalable because every validating node must process every transaction.
Many solutions are there to make blockchain highly scalable. One of them is called sharding that NEAR Protocols have implemented quite successfully to handle the large transaction throughput.
What is NEAR?
NEAR Protocol, also referred to as NEAR, is a decentralized development platform built on top of the NEAR Protocol, which is a public, sharded, developer-friendly, proof-of-stake blockchain. The protocol was launched in July of 2018. NEAR Inc. is based in San Francisco, California.
NEAR mainly focuses on making it easy for developers to develop DApps and maintaining them even when they scale to millions of users. According to the NEAR Inc., “it 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.”
According to its website, the protocol is so developer-friendly that even a non-blockchain developer can build a DApp easily thanks to a suite of example apps. The platform also offers a well-supported OSS Stack that allows developers to write blockchain smart contracts using any language that compiles to WebAssembly (WASM), starting with AssemblyScript and Rust.
What is it Trying to Deliver?
NEAR Protocol aims to be the most accessible network in the world for both developers and their end-users, while still ensuring scalability and security to serve those same users. To make this possible, it allows building decentralized applications and onboarding users with excellent experience and scaling applications.
NEAR tries to achieve its mission through its two key features: Thresholded Proof-of-Stake (TPoS) consensus, Nightshade Sharding design.
Thresholded Proof-of-Stake (TPoS) Consensus Mechanism
NEAR Protocol uses a novel consensus mechanism called Thresholded Proof-of-Stake (TPoS) to ensure that transactions are validated correctly. According to NEAR, TPoS makes it difficult and expensive for an adversary to attack the network and validate false information.
According to Stakin, an infrastructure operator for Proof-of-Stake (PoS) public blockchains, the idea behind TPoS systems is that “a predetermined way to create a large number of participants maintaining the network will increase decentralization and security and create a fair reward distribution system.”
Network participants called witnesses in NEAR’s case, stake tokens to produce and verify blocks, and in return, they receive block rewards. Unlike other PoS platforms where validators are rewarded with just a portion of transaction fees, on NEAR they earn rewards that come from token supply inflation, transaction fees, and storage fees.
All Validators must stake a certain amount of NEAR’s native token called NEAR, which represents collateral against their dishonest behavior. NEAR protocol automatically picks the best validators with an auction at the end of every epoch. The length of each NEAR epoch is approximately 12 hours.
Through a complex auction process, NEAR automatically selects the nodes with the biggest stake, making them eligible to generate new blocks and get rewards. If the staked amount is too small, the validating node will not receive a validator seat and will work as a normal relay node, waiting for the next epoch. Validators can also increase their rewards by asking for delegation.
Nightshade Sharding Design
According to NightShade’s technical overview, the reason behind the low throughput of early blockchain is that every node in the network needs to process every single transaction. Many solutions have been proposed to address the issue of throughput on the protocol level.
One is to delegate all the computation to a small set of powerful nodes, and those that have each node in the network only do a subset of the total amount of work, such as used by Solana and Algorand. But throughput is still limited by what a single machine can process.
Another approach is called sharding in which work is split among all the participating nodes. In sharding instead of running one blockchain, multiple blockchains called shards are used. Each shard has its own set of validators.
But NEAR uses a unique sharding design called Nightshade, in which the team has modeled the system as a single blockchain. According to the company:
“In Nightshade we model the system as a single blockchain, in which each block logically contains all the transactions for all the shards, and changes the whole state of all the shards. Physically, however, no participant downloads the full state or the full logical block. Instead, each participant of the network only maintains the state that corresponds to the shards that they validate transactions for, and the list of all the transactions in the block is split into physical chunks, one chunk per shard.”
Technical Documentation: https://docs.near.org/docs/quick-start/new-to-near
NightShade Overview: https://near.org/downloads/Nightshade.pdf