2.1.6 Immutable Data Objects

Return to Common Definitions

Immutable Data Objects does not mean that the Data Object can never change or that it is static or final. What it does mean is that the Data Object is never deleted and any changes have to be made using Transactions. The Transactions define the operations needed to change the Data Object from its previous state to the next state. The Data Object is stored within a record containing a pointer to the previous record Data Object. Since the original record can not be modified, it can only point to the previous record when it was originally created. The first record stored within the “stack” of records with the original Data Object is referred to as the genesis record or genesis Data Object. See Figure .

The Immutable Data Chain

The Transactions should only contain the information required to change the data object from one state to the nxt. yes, it is possible to send a transactions that says replace the previous Data Object with a new Data Object, but this is costly in terms of the bandwidth required to keep all copies of the Data Objects synchronized.