Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Validator - A node that participates in the consensus protocol by running transactions and proposing blocks.  See RChain Consensusconsensus specification

Rev - The RChain token.

Data in a Transaction


  • Parent blockhash - The hash of the previous block
  • Namespace URI - We should limit this to the block's namespace and its' parent.
  • Hash of the Root level block that contains the state of stake at the time the block was proposed
  • Deployment root: corresponds to the Ethereum transaction root
    • Does not depend on the order in which updates are made
  • Comm Event root (receipts root)
  • State root  → Per RChain State document this is the tuplespace
    • Depth of this tree is bounded (addresses attempts to DOS via tree depth, making updates very slow) 
      • One state trie / namespace
      • Updates over time, code deployments update this state.
      • Storage trie : Where all contract data lives.
        • Validator set + weights (PoS Contract state changes & updates) 
        • Rholang terms
        • Compiled code? (Or Normalized code?)
  • Signature of creator
  • Justifications

Note: The region specific data needs to go into the block as well.  Seems like this belongs in the Storage trie - need confirmation:

  • Max # of Validators
  • Max queue size
  • Max Unbonding rate
  • Unbonding stake hold time
  • Min bond amount
  • Max bond amount
  • Crypto evidence for proof of performance
  • Block gas limit

Blockhash is comprised of: