# An Efficient Blockchain Transaction Retrieval System
## 3 System Implementation
### Retrieval Structure Generation and Analysis
#### 3.3.2 Performance Optimization Analysis of BB+ Tree
If the result after computing in Bloom filter is 0111, it will enter the subB+ tree corresponding to the Bloom filter 0111 and establish the retrieval item about this account address in subB+ tree. If the result after computing in the Bloom filter is 0011, there is no subB+ tree corresponding to the result after computing in the Bloom filter, and the retrieval system will update the Bloom filter and establish new subB+ tree. The follow-up work is described in the previous step. Update the account address retrieval structure: When an update of the original account address is received, the retrieval items related to an account address in the account address retrieval structure are updated as shown in the following Figure 4:0 When the account address of the account address adr111 is updated, the block containing the account address is expanded from three to five. Read the retrieval item of adr111 from the retrieval structure, and add and update the newly added block hash block11 hash and block12 hash to the retrieval item. Retrieve in the account address retrieval structure: When the account address retrieval is performed, the retrieval module analyzes the target account account address. The system first uses the Bloom filter to distinguish and classify the account address, and enters the corresponding subB+ tree. Secondly, the retrieval item of the connected account address is obtained under the subB+ tree, and the block hash containing the account address is obtained. #### 3.3.4 Time Retrieval Structure Based on I2B+ Tree

Due to the complexity of time management, it is difficult for the B+ tree to manage and merge the time feature effectively. However, the blockchain retrieval scenarios need the B+ tree's range retrieval. This paper introduces the I2B+ tree--an improved B+ tree for the time index. The I2B+ tree combines the characteristics of the B+ tree and interval

Figure 4:1 The account address retrieval structure based on BB+ tree. Figure 4:2 Updating the account address retrieval structure. tree, which can store the time period, and support range retrieval. Based on the I2B+ tree, key-value pairs which contain block time and block hash are obtained from feature extraction and processing. The core idea is that the timestamp of a block which represents the generated time can be transformed into a time period (from the creation time of a block to the creation time of the next block). The I2B+ tree can merge the time period, and improve the management and retrieval efficiency of the time retrieval structure. According to the block information parsed by the collection module, the block hash and the corresponding time period can be obtained through analysis. The time period is input into the I2B+ tree as the key value, and the block hash as the key value. Establish time retrieval structure: As is shown in Figure 7, convert the time the time period into value from 0 to 10,000, and enter the I2B+ tree. For example, the corresponds period to block1 hash is \"2-3\". The corresponding periods to block2 hash, block3 hash, block4 hash, block5 hash and block6 hash are \"4-10\", \"11-20\", \"21-23\", \"24-30\" and \"31-35\". The retrieval system will enter these period to the I2B+tree. Update time retrieval structure: As shown in Figure 8, when the block7 hash and block8 hashes appear, the corresponding periods are \"36-40\" and \"41-48\". Hash7 and Hash8 are updated to the time retrieval structure. The internal node 24131 in the I2B + tree is updated to 24136. At the same time, merge (31,35) with (24,30), add two time periods of (36,40) (41,48), and also add block hashes of block7 and block8. Retrieve in time retrieval structure: When the retrieval target time is \"9-12\", the I2B+ tree traverses its nodes and selects the node involving the target period and the block hash values of the corresponding leaf nodes, block2 hash and block3 hash, to return. ### Blockchain Retrieval Processing

Blockchain transaction retrieval is a complex scenario, and users will have some feature information when retrieving.