In our last post we discussed the currently proposed structure of Neo’s consensus protocol. If you are not familiar with this protocol then we suggest you read our previous article for further background into the consensus protocol. In this post we will discuss Bookkeeping Nodes and how to create one as of July 2017. Note: In recent Neo documentation Bookkeeping Nodes are also referred to as ‘accountants’ and ‘validators.’

Benefits of Running a Bookkeeping Node

The Neo blockchain currently has two native tokes: NEO (formerly AntShares) and GAS (formerly AntCoins). Buying and holding NEO is like buying and holding stock in a company, that is, you own part of the NEO blockchain. Holding NEO in a wallet allows you to earn interest (GAS), vote on Bookkeepers and other blockchain matters, and receive Additional Service Charges as outlined in their whitepaper (newest version, old version).

GAS, on the other hand, is the coin that powers the blockchain. In order to make transactions, execute smart contracts, or perform other tasks on the Neo blockchain users must pay GAS to incentivize Bookkeepers with a reward. Until 2022 any wallet holding NEO will receive GAS at a fixed rate as outlined in the Whitepaper. You can calculate your rate of GAS accumulation here.

The benefit of setting up a Bookkeeping node is that you will receive the transaction fees charged by the system. Bookkeepers validate the blockchain and in return get paid GAS and Additional Service Charges. Since Neo is very new and still under development it is unclear how profitable being a Bookkeeper is. Expect more to come in the future.

How to Become a Bookkeeper

The process of becoming a bookkeeper requires 4 general steps:

Set up a full Neo node Obtain an identification certificate from the Certificate Authority It appears that this is not a requirement but is strongly encouraged Stake 1000 GAS to nominate yourself for Bookkeeping Be elected by NEO holders to participate as a Bookkeeper

Step 1: Setup a full Neo node

System requirements are a computer with the following minimum requirements:

Dual core processor

4Gb RAM

Internet connection with 5M bandwidth

Linux or Windows 7 (or higher)

The Neo Github page for setting up a full Neo node (sometimes called an Ordinary Node) can be found here. We also found these Reddit links useful: Link 1 (Linux) and Link 2 (Windows).

Step 2: Obtain a Consensus Authority certificate

It appears as though Chinese citizens are required to obtain a CA to set up a bookkeeping node. It may also be necessary for Chinese citizens and businesses to obtain identification certificates simply to use the Neo Blockchain. The whitepaper discusses the process for Chinese citizens here and logic here under ‘Authentication’.

At this time it is unclear how or if non-Chinese citizens and businesses need to obtain an identity authorization certificate to run a Bookkeeping Node, it’s at the very least strongly encouraged. As discussed in the 2nd link above, identification certificates are used to comply with Know-Your-Customer Laws and Anti-Money-Laundering Laws to help ensure consumer protection and comply with law enforcement ensuring funds are not used for illegal means. It is likely that all Bookkeepers will be required to register their identity based off of this quote:

“DBFT combines digital identity technology, meaning the bookkeepers can be a real name of the individual or institution. Thus, it is possible to freeze, revoke, inherit, retrieve, and effect judicial decisions on them. This facilitates the registration of compliant financial assets in the NEO network. The NEO network plans to support such operations when necessary.”

In the Neo Wallet there is an option under the ‘Advanced’ tab labeled ‘Request Certificate…’ Unfortunately at the time of this writing it is not functional as discussed in the wallet’s documentation. There has been discussion in NEO forums that users can obtain CA certificates from OnChain/Neo directly but we have been unable to verify this.

Step 3: Stake 1000 GAS to nominate yourself for Bookkeeping

Discussed here under ‘Accounting Related Transactions’, Bookkeepers will have to place 1000 GAS at stake to become a bookkeeper. They can withdraw this 1000 GAS at any time but doing so will disqualify them from being a bookkeeper.

Currently, GAS can be acquired in two ways:

By earning GAS dividends by holding NEO in a private wallet Purchasing GAS on 19800.com

Edit: Since publishing this article it has been announced that GAS will be available for purchase on yobtc.com

For non-Chinese, this reddit post was helpful for how to purchase GAS on 19800.com. At the time of writing, GAS was worth $2.50 so it would take $2,500 to obtain the necessary 1000 GAS.

Currently, 1000 NEO will generate 0.333 GAS per day. As such, it would take 9 years to accumulate 1000 GAS with 1000 NEO at the current GAS payout rate. It would take 100,000 NEO ($750,000 USD) to accumulate 1000 GAS in a month. Clearly this isn’t feasible for the average consumer/user due to capital constraints.

Once you have 1000 GAS you can nominate yourself for Bookkeeping via the AntShares Wallet. However, just like with Requesting a Certificate above, the Advanced → Election function currently is not coded into the wallet. However we were able to find this documentation on the Neo GitHub page:

Even with this documentation it remains unclear how prospective Bookkeepers become nominated and whether or not nominating yourself as a Bookkeeper generates rewards. The above documentation does indicate they are actively developing this part of the ecosystem.

Step 4: Elected as a Bookkeeper

Again, this whole process appears to be under development. It is unclear exactly how one gets elected a Bookkeeper or if this process is functional at this time. The Neo whitepaper indicates that NEO holders will get to vote on who should be Bookkeepers. We have not been able to find a way for NEO holders to vote on Bookkeepers as of the writing of this article. This documentation was also found on the Neo Github site showing they are working on this functionality:

Above this documentation it also shows that voting for a validator will cost 10 GAS.

Finally, it is also unclear on what basis the voters will judge the bookkeepers. Since voting is used as a way to get rid of malicious or poorly functioning bookkeepers our understanding is that metrics will be available to voters regarding the validation rate of each node.

Conclusion

At this time it appears quite difficult to become a Neo Bookkeeper due cost and lack of system development. On the other hand, setting up a Full Neo Node is fairly simple as outlined in Step 1. Hopefully in the coming months the process for nomination and election becomes clear and this functionality is programmed into the wallet GUI. Come back soon for our last segment in this series of posts on Neo.