NKN MainNet v1.1.7-beta Release

NKN code
We released a new version v1.1.7-beta.This version continues to fix a few potential security problems found during the ongoing security audit. In addition, a few optimization are introduced to greatly reduce RAM usage under high throughput relay (some of them will be activated in the next version). More changes can be found in the change notes below.

Because new security mechanism and protocols are introduced, old version will no longer be able to produce valid signature chain (and earn mining rewards) after block height 1,200,000. Please upgrade as soon as possible to avoid potential mining rewards loss!

Security

  • Avoid the same sigchain to be backtracked multiple times
  • Ignore vote with invalid height in persist finish state
  • Add rate limiting for RPC requests and sync block msg
  • Migrate sigchain sigAlgo from hash to signature

Consensus

  • Add minimal number of neighbor samples to help bootstrap network
  • Fix syncing node election starts later than persist nodes

Network

  • Reduce message id cache RAM usage
  • Add pin sigchain protocol to reduce relay RAM usage (stage 1/2)
  • Add pin src sigchain logic to reduce first relay node RAM usage

RPC

  • Add https json rpc address in getws[s]addr response

nknc

  • Fix nknc create wallet might print wrong address

Code Quality

  • Remove legacy crypto big int code from old ECDSA signature
  • Fix gofmt, ineffassign, misspell warnings

Please update your node as soon as possible! Old version might stop working when majority of the network has updated.

  • If you are using one-click on DO/AWS/Google Cloud, you just need to stop and restart and miner and it will upgrade automatically.
  • If you downloaded the release version, you just need to download it again at https://github.com/nknorg/nkn/releases, replace files and start nknd again
  • If you build from scratch, you just need to do the build again.
  • If you are using some scripts or tutorials that has auto-updater, then it should be automatic if the auto-updater is working properly.

You don’t need to download the ChainDB snapshot manually, but if you really want or need, you can use https://nkn.org/ChainDB_pruned_latest.zip or https://nkn.org/ChainDB_pruned_latest.tar.gz for pruned ChainDB.

To update to the new version, please stop your nknd, rebuild (or download the latest binary from https://github.com/nknorg/nkn/releases ), and then restart. If you are using the auto-updater, then you just need to stop and restart and miner and it will upgrade automatically.