Skip to content

Instantly share code, notes, and snippets.

@jmank88
Last active August 8, 2018 17:42
Show Gist options
  • Save jmank88/8957ea1aec83509af7f4857606df4db4 to your computer and use it in GitHub Desktop.
Save jmank88/8957ea1aec83509af7f4857606df4db4 to your computer and use it in GitHub Desktop.
Private Network: GoChain vs. Geth

GoChain vs. Geth Clique

Why run GoChain rather than Geth in clique mode?

Critical Changes

  • Clique protocol has been refactored to avoid fatal flaws which can lead to deadlock. #166
  • Many race conditions (which often lead to panics) have been resolved. #152 #153 161 #178

Features

  • Block rewards for signers. #1 #102
  • Separate signer and voter authorization (voters are a subset of signers). #18 #20
  • Gas price oracle improvements. #201

Performance Changes

  • Removed excess PoW related code which normally still runs even when in clique mode (e.g. uncles). #238
  • Recalibrated constants for increased load (queues, batches, limits, etc). #117
  • Parallel processing of blocks. #71 #80 #147
  • Less locking, and reduced workload while holding locks. #39 #50 #73 #229 #230
  • Improved memory efficiency through reuse and reduced copying. #31 #46 #59 #79 #81 #99
  • Reduced and more efficient logging. #54 #57 #66 #93

Monitoring

  • Added more metrics for monitoring. #111

Future Changes

  • Prioritised peer broadcasting to authorized signers. #180
  • Upgradable smart contracts. GIP-22
  • Archive/backup of chaindata off-node to S3 compatible storage. #105 #231 #235
  • WASM contract support GIP-23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment