[ 9C Update ] v200000 : PBFT on Mainnet⛓️
--
Dear Friends,
The update on Nine Chronicles, v200000, is foundational work for the project, as it includes the implementation of PBFT (Practical Byzantine Fault Tolerance) as part of the Nine Chronicles blockchain consensus algorithm. This update is crucial for the project’s decentralization and addresses the issues that arose from the centralized block creation process in previous versions.
With PBFT, block creation will be decentralized, and the roles and responsibilities of validators will be distributed among multiple nodes. This update marks a significant milestone in developing Nine Chronicles and sets the stage for implementing further features, such as staking, transaction incentives, and, finally, the PoS(Proof of Stake)
Let’s take a look at what this update means to Nine Chronicles!
Before you proceed:
If you would like to learn about PBFT, please refer to the previous announcement: What is PoS and PBFT?
[ Background ]
Consensus
Nine Chronicles is a multiplayer game that uses blockchain technology. Specifically, it uses blockchain technology to record data within the game. As many people know, blockchain stores data in the following way.
However, it can sometimes be problematic if anyone can create blocks that connect to these blockchains. For example, let’s say that two different people submitted Block 4
.
At this point, if we want to play the game with our friend on the same screen with the same character, in other words, in the same state, we must choose one of the two blocks (i.e., Block 4a
or Block 4b
). My gameplay data is in Block 4a
, but my friend’s gameplay data may be in Block 4b
. The method for deciding which block to choose is called “consensus.”
Proof of Work (2020~2021.08)
Until August 2021, Nine Chronicles used a method called “Proof of Work.” Simply put, it gave problems to people who make blocks and chose the block of the person who solved the most challenging problem the fastest. Also, since everyone can solve the problem and submit blocks at different times, the difficulty of the problems solved so far is always recorded as the sum in the block.
In the above diagram, even if we have Block 4a
, we choose Block 4b
because the total difficulty recorded in Block 4b
(i.e., 100) is higher than the total difficulty recorded in Block 4a
(i.e., 50).
However, this method had two major flaws:
- There was no guarantee that the person who solved the “difficult problem” would always make a decision that would benefit everyone. Even if someone created a block with no data, we had to recognize that block if they solved a more “difficult problem.”
- When a more “difficult problem” was solved and a block with a higher total difficulty appeared, we had to tolerate the fact that the previous data changed to choose that block. For example, if
Block 5a
has a higher total difficulty, we discardBlock 4b
, which causes changes in the data.
Monopoly (2021.08~)
These two flaws had a significant negative impact on the gaming experience. Although blocks were constantly being created on the network, no progress was made because those blocks had no data. Even if blocks with data were accidentally connected and the game seemed to be progressing, it often experienced rollbacks when blocks with more “difficult problems” were discovered and did not contain the data.
As a result, in 2021, Planetarium decided only to recognize blocks created by Planetarium as the official chain. Even if everyone can create blocks, it is meaningless if the game cannot progress.
However, did not want to become the sole authority owner to determine Nine Chronicles’ blocks. Therefore, we came up with a plan, which was NCIP-10. Although NCIP-10 was never realized for various reasons, we did not give up. Therefore, the plan we re-established is NCIP-13, and PBFT or any future developments in 2023 are based on NCIP-13 by default.
[ Plan (NCIP-13) ]
NCIP-13 aims to develop and apply three main functions: PBFT, staking, and transaction rewards. This process aims to create blocks containing “data necessary for the game” in a sufficiently decentralized environment “without rollbacks.”
PBFT (23 Q1, v200000)
In simple terms, PBFT suggests selecting a block-making order in a predetermined sequence. Instead of solving problems to create blocks, a random order is established, and the designated block maker creates a block in that order. In turn, nodes that create and verify blocks are called “validators.” Also, since once a block is determined, it does not change, there is no longer any rollback of game data.
However, PBFT alone cannot completely relinquish the role and authority of creating blocks as we wanted when creating Nine Chronicles. Someone still needs to decide on the validators and their order. What is needed here is staking and transaction incentives.
Staking (23 H1)
“Staking” is a concept that can be used in various situations, such as “purchasing” or “storing,” and can certainly be used when determining the order of validators who create blocks. In other words, the authority to create blocks is distributed differently according to the amount of NCG staked, and validators with more authority can create blocks more frequently.
In addition, multiple users can pool their assets through “delegation” to stake. Validators require expertise and effort to operate nodes, which is not necessarily available to all users who participate in block creation. Nine Chronicles also designs and develops staking functions based on the premise of “delegation.”
Transaction Incentives (Tx Incentive, 23 H1~H2)
The plan to use PBFT to create blocks in order and determine the order based on the staked amount seems sufficient. However, validators still have no reason to include other users’ data (transactions) in the blocks they create. Unlike many other typical blockchain projects, Nine Chronicles has no transaction fees to support free play.
Therefore, we are designing a deposit structure that allows validators to receive rewards when including transactions in blocks while supporting free play for a limited period. Then, validators will also share these rewards with users who delegate assets to them.
[ Changes in v200000 ]
v200000, which includes PBFT changes, is the first step in NCIP-13 and is an important release that forms the basis for all subsequent changes. However, we do not expect any significant changes in the previous gameplay since the work required for v200000 are fundamental and Planetarium has been operating block creation in a centralized manner since August 2021.
Structure
Before v200000, all blocks in Nine Chronicles up to v10038x were created by one node (miner), and other nodes put them to work.
Starting from v200000, instead of one miner, a total of 4 validator nodes will take turns creating blocks. However, there are remaining security and operational issues, so, Planetarium will operate all validator nodes. However, there are plans to attract external validators to share block rewards before implementing staking and transaction rewards.
In-game
With v200000, only the block creation method will be changed, and are no changes or additions to RPC or player functions. In other words, no new features or changes are planned now.
However, in implementing the “staking” and “transaction reward” functions after PBFT implementation, we are preparing for a significant token economy overhaul using existing in-game assets such as NCG and AP. These updates are planned for after PBFT implementation, and we will share more information as specific execution plans become available.