"Become a validator, you must."
Practice your powers and compete with other validators on the NEAR testnet for rewards.
Participate in Stake Wars, NEAR Protocol’s incentivized testnet program.
Why on Testnet?
No mind tricks happening here. We just want you to have an advantage when Mainnet launches.
Test Your Hardware
Moderate hardware specifications will be needed initially, and might rise as network use increases. Participating in the testnet is the best way to learn.
Earn Mainnet Tokens
One percent of NEAR tokens at NEAR genesis have been reserved as an incentive to NEAR Stake Wars competitors.
The goal for this testnet is to place the system under stress so we can promise our community performance and reliability at Mainnet.
Validators are encouraged to attack the network on the protocol / network / communication layer.
Have Fun, Break Stuff
Because breaking stuff is fun.
Build Your Network
Get to know the other early technical teams operating the network.
How it Works
Sharding & Scalabilty
In 2017, a single Ethereum dApp became so popular it clogged the network, slowing all transaction processing almost to a halt. But at its peak, this dApp – Cryptokitties – had only ~14,000 users. First-generation blockchains like Ethereum are slow in part because every validating node must process every transaction.
Sharding allows the work of validating transactions to be broken up amongst many ‘shards’, each validated by different nodes. This lets the work of validating transactions scale with the number of shards, which makes it easier for the network to handle large transaction throughput. Sharding is a difficult engineering problem that has rarely been successfully implemented, and our team has previously built one of the only sharded databases in production at scale today, used by Uber, Goldman Sachs, and Comcast. For a better understanding of the NEAR sharding design Nightshade, see the technical overview here.
Consensus & Validation
NEAR uses a Proof-of-Stake mechanism to ensure that transactions are validated correctly and that it is difficult and expensive for an adversary to attack the network and validate false information. Validators stake tokens in order to produce and verify blocks, and in return they earn block rewards that come from token supply inflation, transaction fees and storage fees. Three types of validator nodes contribute to securing the NEAR network:
Chunk producers, who collect transactions for a shard and produce and communicate shard blocks, called chunks
Block producers, who produce a single block containing all current chunks
Fishermen, who watch and verify that state transitions in different blocks are accurate
To learn more about the different kinds of validators and their roles, read the Nightshade overview.
Block rewards, transaction fees and storage fees are paid in a native token called NEAR. While block rewards are dependent on inflation, transactions fees and storage fees have a fixed price, for either gas (to process the transaction), or per byte of data stored. These prices will be set via community governance processes. Because the network can expand and contract with the number of shards, this fixed fee allows validators to decide whether to contribute to the network based on the current demand for validation.
Fixed pricing makes it easier to budget for running your app based on its current and future usage.
Bounties are allocated on a case-by-case basis on a scale from 500 to 10,000 tokens per issue on mainnet.
You can think of rewards like this:
Testing the network and reporting a P2 is worth 1x
Bending the network and filing a P1 is worth 5x
Breaking is P0 and is worth 10x.
- Run a node and specify all your system details
- Run valuable benchmarks on the network
- Reproduce a bug that affects your experience when trying to stake (E.g. creating an account or using shell commands)
- Spam the RPC with bad, bad bytes (if you find an edge case that breaks something, this escalates)
- Find a performance or functionality bug in the code when trying to run a node (that affects your ability to stake)
- Run a high number of nodes to stress test the network
- Perform a high number of transactions and benchmark the TPS
- Create a cartel and attempt to gain control of the network
- Uncover liveness, safety, censorship or hard fork failure
- Gain control of the network
- Modify the source code for a node and break consensus
- Figure out how to get validators to run your corrupted code (without hacking their machines)
- Halt block production in some unpredictable way without breaking the rules
Good motives, we have.
- To build an engaged community of validators
- To give validators an opportunity to practice running a node and try out all the parts prior to mainnet
- To find and squash bugs in the testing phase of the network
- To build our technical upgrade and governance with direct input from the live community
Follow the rules, you will.
- DO customize code, network, hardware, etc.
- DO run a node and become a validator
- DO ask other validators to run your code up to 30% of total stake
- Do NOT use social engineering
- Do NOT utilize physical attacks
- Do NOT hack into machines of other participants. Instead, please report these vulnerabilities privately to the affected entity.
May the FAQ be with you.
How do I become a validator?
If you already have an account with sufficient amount of funds.
You can follow docs how to become validators here: https://docs.nearprotocol.com/docs/validator/staking
- Create new key pair that will be used for staking for given account
- Start a node with this key pair in validator_key.json
- Send a staking transaction using your wallet / CLI with your account including amount and public key from newly generated key pair.
- Wait until node becomes a validator
What is 'staking'?
We call staking a process of sending StakeTransaction that inform the network that given account wants to become a validator in upcoming epochs. This transaction must provide a public key and staking amount.
After this, a node that has a private key associated with the public key in the staking transaction must wait until epoch change to become validator if the staking amount is above the seat price.
What are the responsibilities of a validator?
High level, a validator must run a node and be mostly online. If a node is offline more than 10%, they will be removed from validator pool.
As described above, there are different roles of validators – the node running will be automatically selected to be one of the roles and perform it.
How does delegating staking work?
NEAR doesn’t implement delegation on the protocol level.
Instead NEAR allows smart contracts to stake, because in NEAR contracts and accounts are the same.
Thus, if validators want to accept delegated stake, they must deploy a contract with specific rules of how delegation and reward splitting works and advertise that contract as destination to delegate.
What are the slashing conditions?
The only slashing condition is signing two blocks at the same height.
How do I run a node?
The guide is available at: https://docs.nearprotocol.com/docs/local-setup/running-testnet