# A Blockchain-Based Privacy-Preserving and Fair Data Transaction Model in IoT
## 4 System Model
### Workflow  
Table 1 enumerates and explains the relevant symbols:  
Based on processes 1 to 7 in Figure 1, the workflow of the system mainly includes four stages: initialization, local data perturbation, data transaction, and arbitration. Initialization stage: Data consumers issue a data transaction request \(T\) (\(N\), \(\epsilon\)) to the blockchain and deposit a fee as collateral (as in Process 1). Data nodes can apply based on their computational capacity and data resource conditions. Nodes approved for the task become data providers for this transaction and also contribute a fee as a deposit. During the application process, data node \(i\) states its local data size \(d_{i}\). If the final total data size \(\sum_{i=1}^{n}d_{i}\) is less than \(N\), the task is aborted. The specific approval method can be through offline negotiations, which is beyond the paper's primary focus. Nodes not involved in the transaction can propose to form an arbitration committee with data consumers and providers. Members of the arbitration committee must gain mutual consent from both transaction parties. Local data perturbation stage: Firstly, the data provider \(P_{i}\) clarifies that the dataset \(D_{i}\) they are about to use for transactions and the privacy dataset \(L_{i}\) they want to focus on protecting belong to \(D_{i}\). Then, based on their own situation, they balance the privacy protection of data and the transaction rewards they want to obtain to determine their respective privacy budget \(\epsilon_{i}\). The privacy budget \(\epsilon_{i}\) cannot be less than the minimum privacy budget \(\epsilon\) required by data consumers \(P_{c}\). Due to the characteristics of differential privacy technology, the larger the privacy budget, the higher the data availability, and the greater the rewards obtained, but the weaker the privacy protection. Conversely, the smaller the privacy budget, the better the privacy protection, but the lower the data availability, and the fewer transaction rewards obtained. Next, the data provider \(P_{i}\) utilizes \begin{table}
\begin{tabular}{c c} \hline \hline
**Symbol** & **Description** \\ \hline \(P_{s}\), \(P_{c}\) & data providers and data consumers engaged in transactions \\ \hline \(N\) & minimum data volume required by \(P_{c}\) \\ \hline \(\epsilon\) & minimum privacy budget required by \(P_{c}\) \\ \hline \(P_{i}\) & the \(i\)-th data provider \\ \hline \(D_{i}\),\(d_{i}\) & The local raw dataset of \(P_{i}\)the size of the dataset\(D_{i}\) \\ \hline \(\epsilon_{i}\) & The privacy budget of \(P_{i}\) \\ \hline \(L_{i}\),\(l_{i}\) & The private dataset of \(P_{i}\), the size of the dataset of \(L_{i}\) \\ \hline \(G_{i}\) & The perturbed dataset of \(P_{i}\) \\ \hline \(a_{i}\) & The privacy protection level of \(L_{i}\) \\ \hline \(n\) & the number of data providers \\ \hline \(APK\) & arbitration public key for verifiable encrypted signatures \\ \hline \((pk_{c},sk_{c})\) & The public key and private key for encrypting and decrypting signatures by \(P_{c}\) \\ \hline \(intersect(X,Y)\) & function to determine the number of common elements between sets \(X\) and \(Y\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Description of symbols. the algorithm MDLDP to locally perturb dataset \(D_{i}\) to obtain perturbed dataset \(G_{i}\) for transaction (as shown in process 2). In order to achieve better privacy protection for \(L_{i}\), i.e., a greater degree of privacy protection \(\alpha_{i}\), the algorithm MDLDP requires multiple random perturbations to select one of the best results. Due to the unchanged privacy budget \(\varepsilon_{i}\), the overall availability of dataset \(G_{i}\) has not decreased. Finally, the data provider \(P_{i}\) uploads the perturbed dataset \(G_{i}\) and privacy budget \(\varepsilon_{i}\) and other information to the blockchain for transaction (as in process 3).