## 3 Proposed Hybrid Framework
### Transaction Process  
Figure 7 is an overview of the proposed transaction process, which is mainly composed of various edge computing devices, transaction pools, and blockchain. By default, all nodes have successfully joined the blockchain network. The nodes in Figure 7 represent individual user entities with data; miners can be entities that do not own data but have enough computing power, or they can be entities that own data. They are the main workers to maintain the normal operation of blockchain. Miners can receive corresponding rewards through mining. The trading pool stores the trading information or storage information published by the node; blockchain stores information about activity between nodes.  
If node A, with a large amount of IoT data, can provide data for other nodes to use in order to receive a reward, node A first needs to publish a stored transaction to the transaction pool. The stored transaction includes the hash value of the data, the timestamp, and node A's address. Miners select the transaction from the trade pool and package it into a block, which can be uploaded to the blockchain after other miners verify that the block is valid. When other nodes need to use the data, the blockchain can be queried to see which nodes have the data in order to initiate transactions.  
If node A needs to use the local data of node B, the process is as follows: The node searches the DSS data storage set to see if node B has enough data and whether a smart contract has been deployed. If there is enough data and a smart contract has been deployed, it can call it directly. Smart contract A completes the relevant transaction. If there is no smart contract, it sends the transaction to the transaction pool to wait for confirmation.  
Figure 7: Overview of transaction Process. The transaction process varies depending on the role of the node. The role of a node in the system can be multiple at the same time. It can be a node that initiates data transactions or a node that declares data. Depending on the role, the work required by the node is also different, but the work performed by a single node is determined based on specific needs.  
The transaction information stores the address of node B, the address of node A, the payment amount, and the timestamp. Miners select transactions from the transaction pool and package them into a block, which can be uploaded to the blockchain after other miners verify that the block is valid. Successful blockchain upload means the transaction is completed and node B sends its local encrypted data to node A through the transport layer.  
Meanwhile, node B can also deploy smart contracts on the blockchain. Specifically, smart contracts are a big part of why blockchain is called \"decentralized\", allowing us to perform traceable, irreversible, and secure transactions without the need for third parties. Once a smart contract is linked, all nodes connected to the blockchain can execute this code locally, which performs obligations between the parties to the contract. In other words, node A can execute the smart contract deployed by node B on the blockchain to complete the transaction process of data, which makes the whole transaction more decentralized and intelligent.  
In the above process, transactions between users do not require trust endorsement from a third party, and user data only needs to be stored locally, which greatly reduces the risk of data leakage. At the same time, users only need to upload their own address, hash value, and timestamp of the data, and then they can start transactions between other nodes, which greatly reduces the communication overhead of the IoT data flow in the blockchain network. It is worth noting that after the user uploads the data hash value, the hash value will be compared with the data hash value delivered during the transaction to verify whether the data has been tampered with, which further improves the reliability of the IoT data.