Block Lattice


Nano's ledger is built on a data-structure called a "Block Lattice." Every account (private/public key pair) has their own blockchain (account-chain). Only the holder of the private key may sign and publish blocks to their own account-chain. Each block represents a transaction.

Action Description
Send Send funds from users account to another account
Receive Receive funds from a given "Send" transaction

The system is akin to writing (send) and cashing (receive) a Cashier's Check. There are a few things to consider about transactions:

  • The receiving account does not have to be online during the Send transaction.
  • The transaction will stay as pending indefinitely until a Receive transaction is created.
  • Once funds are sent, they cannot be revoked by the sender.

In earlier versions of the Nano Protocol, the format of blocks varied slightly from their current format. It is important to keep a few details in mind when working with the node:

  • Nano now uses a single "state" block type (often referred to as Universal Blocks) which perform all functions.
  • Older documentation may explicitly refer to "send", "receive", "change", and "open" as block types.
  • Throughout these guides, "send", "receive", "change", and "open" will refer to the action of the block, not the internal block format type.
  • More information on blocks and their formatting can be found in the Universal Blocks Specification.