# Blockchain Architecture for Lightweight Storage
## 2 LSB Framework
### LSB Structure  
The structure of the blocks in the LSB structure is illustrated in Figure 1 below:  
* **hash:** the hash value of the block, derived from the block's transaction, timestamp, and previous hash.
* **timestamp:** based on the generation time of the blocks, establish the sequence of blocks preceding and following.  
* **transaction:** transactions initiated by users to facilitate the exchange of assets, information, or services.
* **wallet address:** store the user's wallet address associated with the block.
* **previous hash:** each block contains two previous hashes, previous_hash1, linked to the prior-generated block, and previous_hash2, associated with the relevant user.  
In traditional blockchain platforms like Bitcoin, each node must store a complete copy of the ledger to ensure decentralization. However, users often prioritize transactions relevant to them over irrelevant ones. In contrast, the previous hash in the LSB points to the user's wallet address, allowing the node to store only a partial copy of the ledger. The structure of the LSB is shown in the following figure:  
Figure 2 illustrates five nodes--A, B, C, D, and E--which sequentially correspond to wallet addresses A through E. The nodes generate 10 blocks, connected by directed edges. The arrows between the blocks indicate the order of their generation. For instance, if block 2 points to block 1, it signifies that block 2 was generated after block 1. Similarly, if block 4 points to block 1, it indicates that block 1 was generated before block 4.  
In blockchain, most users primarily focus on their transaction information. Consequently, the address of the transaction sender is stored in the wallet address. When a new block is generated, it points to the previous block in chronological order with a solid directed edge while also pointing to the previous block generated by the same sender with a dashed directed edge. Block 1, illustrated in Figure 2, functions as the genesis block. Since there is no predecessor, the values of previous_hash1 and previous_hash2 are set to null (the dotted line in the block, which points to the wallet address, indicates the sender of the transaction). The sender for block 2 is node A, so the wallet address in block 2 is wallet_address A. The previous_hash1 points to the previous block 1, and since block 2 is the first block generated by node A, a null value is assigned to previous_hash2. Similar  
Figure 1: Block structure.  
Figure 2: Example of the LSB.  
to block 2, block 7 also exists. The sender for block 3 is node A, consistent with block 2. Meanwhile, block 2 serves as the previous block for block 3; thus, both previous_hash1 and previous_hash2 in block 3 point to block 2. Block 4 is generated by node C after block 3, with the last block sent by node C being number 1, resulting in the wallet address in block 4 being wallet_address C, previous_hash1 pointing to block 3, and previous_hash2 pointing to block 1.  
If there exists a close relationship between two nodes, D and E, and both continue to exchange messages over some time, there will be frequent references to each other's previous_hash1 in the blocks generated on the chain; for example, blocks 6 to 10 are sequentially connected by solid arrows.