It’s quite easy to compare how Ethereum and Hyperledger Fabric (Fabric) handle state: In Ethereum state is part of the blockchain (block header), while in Fabric state is a result of transactions recorded in blockchain. The source of truth is on the blockchain (transactions), not on the state. Unfortunately many chaincodes rely on input from state. On this aspect the integrity protection is better in Ethereum.

Note that the scenario I depicted only applicable in a unsecure CouchDB. Either using LevelDB or securing the CouchDB may reduce chance of this happening. Also, a better endorsement policy helps.

Digitally signing to world state is a choice. The problem is who signs it. It is orderers creating blocks but orderers have no visibility on state database. Have not thought through this yet.

cheers, kc

Written by

Happy to share what I learn on blockchain. Visit for my works. or reach me on

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store