VMware Blockchain provides data archiving capability to store the entire blockchain data, starting from the genesis block, on an external storage device called an ObjectStore. The ObjectStore is the platform's source of truth. Saving the data from the genesis block is important because the VMware BlockchainReplica nodes have limited storage resources, and the data is pruned periodically.
Data archiving is performed using a Full Copy Client node. The Full Copy Client node is connected to the ObjectStore. The Full Copy Client receives the data stored on the blockchain deployment and saves it on the ObjectStore. Full Copy Client nodes do not participate in the BFT consensus process.
The data archiving is done in a trusted manner. Each Full Copy Client node has its own set of private and public TLS Keys. The public key of each Full Copy Client node is known to the Replica Network. When a command is executed on the Replica Network, a key-value pair is generated. This key-value pair is sent to the Full Copy Client node over a TLS connection.
The Full copy Client then verifies whether the key-value pair has at least f+1 proofs, checks that a particular block is correct, and only then writes it into the ObjectStore. In addition, to maintain the integrity of the data on the ObjectStore, signed checkpoint messages are also saved on the ObjectStore.
The Full Copy Client node interacts with the ObjectStore using the standard S3 APIs.
The Full Copy Client node is stateless, which means it does not contain data, and the data is stored in the connected ObjectStore. Therefore, if the Full Copy Client node goes offline temporarily, for example, due to hardware or networking failure, there is no data loss. After the operator restores the failed node and establishes a connection to the new Full Copy Client node, the ObjectStore receives data from the Replica Network until all the existing data is synchronized with the Replica Network.
See the Understanding the Deployment Schema Parameters topic and the Full Copy Client Node Parameters section in the Using and Managing VMware Blockchain guide for implementation steps.
ObjectStore Integrity Tool
The operator container uses a tool to initiate a data integrity assessment. The data integrity evaluation includes proof of origination and tamper-detection capabilities of the data stored on the ObjectStore.
A CheckPoint is created when there is an agreement of f+1 Replica nodes. The signed CheckPoints are saved on the ObjectStore. As part of the data integrity validation, this tool verifies the existence of these signed CheckPoints.
See the Bind the Newly Deployed VMware Blockchain Nodes section in Using and Managing VMware Blockchain guide for implementation steps.