SETL’s blockchain is a series of discrete states and a history of transactions (or transformations) that uses cryptography and distribution to guarantee immutability and identity.
Multiple computers running the blockchain software (Nodes), acting independently, make the network resistant to compromise and distributed storage makes corruption infeasible.
SETL’s blockchain consists of a network of various types of nodes (e.g. Validation, Audit, Reporting, Membership). Details of these nodes can be found In the System Architecture section of the OpenCSD Technical Guide .
The SETL blockchain contains a number of Validation nodes, each of which has a complete record of state. This means the current record of Accounts, Asset Balances, Instrument definitions etc., indeed every live (i.e. current) piece of information recorded by the Blockchain.
Non-live, i.e. outdated, information is still recorded in previous blocks or states and may be needed for ‘proving’ the current State but in SETL’s implementation it is not needed for ongoing operation of the node.
As participants want to change something, for example to send a quantity of asset that they own to someone else, they submit a transaction to the network, it is propagated (sent to all the nodes), agreed by a majority of Validation nodes and applied to state. Exactly the same set of transactions are applied by each node which means that they all have an identical record.
This configuration gives a distributed record of State, which is not dependent on any one node and where each node can know and prove that what they see is both correct and the same as everyone else.
Blocks and States¶
‘Blocks’ are each a collection of transactions or transformations that have been approved by the blockchain, that is, they have been through the consensus process and have been approved by a threshold majority of the validation nodes.
State is analogous to a current balance at a bank and tells you what is true now, whereas Blocks are analogous to monthly transaction statements which tell you the changes that have been made.
State is the cumulative effect of all of the transactions in all of the Blocks. i.e. current holding of an asset or the record of active contracts etc.
Since all historic data is available to the Blockchain, participants can of course see any historic version of State to see, and prove, what was true at any point in the past.
A provable, immutable history provides a common ‘Golden’ record (the ‘official’ record, as required for regulators and for record keeping) that all participants can agree to (no discrepancies between parties, good for reconciliation).
The Blockchain acts as a distributed database. A distinct advantage over a traditional database is cost, given that Availability, Cryptography and Identity can be engineered in a Database, but with much greater difficulty if you want to have distributed immutability, but the real difference is in the way that data is organised. A Blockchain is purpose built for distributed, provable immutability whereas databases are designed with other purposes in mind and such functionality has to be retrofitted.