A Transaction in Project Hamilton CBDC
Following up on the Hamilton Project CBDC reporting, here is a summary of how a transaction is executed. The different components are in CAPS.
A transaction is submitted by a wallet to a SENTINEL (a local platform component) that validates the transaction and reports back to the wallet of pending status. The SENTINEL then verifies and compacts the transaction, stripping it of identifying data, and forwards it to SHARDS that hold unspent outputs.
The SHARDS then check that the input UHS (Unspent funds Hash Set) IDs are actually unspent. If so, the SHARDS send the transaction to the ATOMIZER along with their current block height and the UHS IDs.
The ATOMIZER collects the data from the SHARDS and “appends the compact transaction to its current block.” Once the block is made, the ATOMIZER broadcasts this to the SHARDS, which update their current block height and set of UHS IDs. Also informed is the ARCHIVER, which retains a record of all the blocks created.
The ATOMIZER also sends this information to the WATCHTOWER. The WATCHTOWER “updates its cache of UHS IDs to indicate which have been spent and created recently.” It also informs the wallet that the transaction was successfully completed.
Simple as that!