Skip to content

@yilunzhang yilunzhang released this May 17, 2021

This version adjusts a few sigchain related consensus parameters to enhance network security. The change will be effective at block height 2,651,000. Please make sure all nodes upgrade before this height.

Assets 14

@yilunzhang yilunzhang released this May 11, 2021

This version contains a few important sigchain related consensus upgrades that will greatly increase network security:

  • Introduce sighash left shift mechanism
  • Implement sighash left shift for sigchain with skipped hops
  • Implement sighash left shift for sigchain with recent miners

The new mechanism will be enabled at block height 2,633,000. Please make sure all nodes upgrade before this height.

In addition, a few improvements and bug fixes are included in this version:

  • Reduce the log level of some common message
  • Fix the bug that node with certain local ledger cannot join the network
  • Prevent nknc from creating empty log file on each start
Assets 14

@gdmmx gdmmx released this Apr 26, 2021

This version disables sigchain objection.
This mechanism will be re-enabled after switching to new ID.

Assets 13

@yilunzhang yilunzhang released this Apr 23, 2021

This version contains several significant security updates that greatly enhance the network security. The most noticeable change is adjusting Generate ID fee while invalidating all existing node ID. There are two transition block height:

  • After block height 2570000, old ID is still valid, but cannot be generated. New ID can be generated after block 2570000.
  • After block height 2600000, old ID is no longer valid. Node without new ID will need to generate new ID before joining the network.

To minimize impact on existing network, the NKN Foundation will pay for this new Generate ID fee for all qualified existing nodes, see https://forum.nkn.org/t/security-enhancement-adjusting-fees-for-generate-id/3243 for more info.

In addition, there are a few other updates:

  • Enhanced signature chain verification that will be enabled at block height 2570000.
  • Add subscriberHashPrefix parameter in get subscribers and get subscribers count RPC.

The new version is not compatible with previous versions starting from block height 2570000. Please make sure all nodes upgrade before this height.

Assets 14
Apr 23, 2021
Update transition height and net version
Signed-off-by: Yilun <zyl.skysniper@gmail.com>

@yilunzhang yilunzhang released this Apr 18, 2021

This version will prevent very long sigchain to gain additional advantage caused by sigchain bit shift. The new change is consensus incompatible and will be effective starting from block height 2543000. Please upgrade before this height to keep node running normally.

  • Add length limit for sigchain bit shift
  • Fix http json rpc request body not closed
  • Init log module in nknc to prevent panic
Assets 14

@yilunzhang yilunzhang released this Apr 7, 2021

This version optimizes database operation when processing subscribe transaction.

Assets 14

@yilunzhang yilunzhang released this Dec 3, 2020

This version contains a few database optimization and consensus upgrade, including:

  • Add per node leveldb config with randomized value
  • Add mechanism to detect latest block fork and recover
  • Start consensus timer using proposal received time
Assets 14

@yilunzhang yilunzhang released this Oct 12, 2020

Fix the bug that caused block syncing fail at certain block

Assets 14

@yilunzhang yilunzhang released this Sep 24, 2020

v2.0.5 introduces automatic TLS certificate application/renewal, improves consensus robustness, reduces memory/disk usage during block syncing, and fixed a few bugs. Starting from v2.0.5, minimal Golang version required is 1.13.

HTTP/Websocket

  • Add automatic TLS certificate apply/renew using let's encrypt, this requires port 80 to be open

Consensus

  • Use random consensus topology for faster convergence
  • Reduce request block proposal message round

Block Syncing

  • Prune ledger during first syncing to reduce syncing disk usage. Syncing will take longer time because it now includes pruning time as well, but overall syncing + pruning time will not be changed.
  • Sync header in batch to reduce RAM usage during syncing

Misc

  • Fix incorrect current block height after rollback
  • Reorganize code structure to reduce go SDK memory usage
Assets 14