# Blockchain and Cloud to Overcome the Problems of Buyer and Seller Watermarking Protocols
## 4 Watermarking Protocol
### Identification and Arbitration Protocol  
Table 4 shows the protocol that is run to identify, with undeniable evidence, the legitimate copyright owner of the protected content \(\widehat{X}\) that was illegally shared in the form of pirated copy [5]. The protocol is run by \(\mathcal{CP}\) when such a copy is found in the market. \begin{tabular}{l l} \hline \(\mathcal{CP}\) & : finds \(X^{\prime}\) in the market \\ \(\mathcal{CP}/\mathcal{CL}\) & : extracts \(W^{\prime}\) and \(N^{\prime}\), and searches databases for a possible match on \(W^{\prime}\) \\ \(\mathcal{CP}\rightarrow\mathcal{J}\) & : \(m_{1}=\{N^{\prime},X_{d,t},pk^{X}_{\mathcal{B}},pk^{X}_{\mathcal{CP}},\mathbb{E }_{pk^{X}_{\mathcal{B}}}(\mathbb{E}_{pk^{X}_{\mathcal{CP}}}(N)),E_{\mathcal{R },\mathcal{A}},\mathbb{S}_{\mathcal{R},\mathcal{A}}\}\) \\ \(\mathcal{J}\) & : searches \(\mathcal{BC}\) for a protecting the tokens \\  & included into \(m_{1}\) except \(N^{\prime}\) \\ \(\mathcal{J}\) & : retrieves the tokens published in the node of \(\mathcal{BC}\), which are \\  & \(X_{d,t}\), \(pk^{X}_{\mathcal{B}}\), \(pk^{X}_{\mathcal{CP}}\), \(\mathbb{E}_{pk^{X}_{\mathcal{BS}}}(\mathbb{E}_{pk^{X}_{\mathcal{CP}}}(N))\), \(E_{\mathcal{R},\mathcal{A}},\mathbb{S}_{\mathcal{R},\mathcal{A}}\) \\ \(\mathcal{J}\) & : verifies that the tokens retrieved from \(\mathcal{BC}\) \\  & match those ones received from \(\mathcal{CP}\) \\ \(\mathcal{J}\rightarrow\mathcal{R}\mathcal{A}\) & : \(m_{2}=\{X_{d,t},pk^{X}_{\mathcal{B}},pk^{X}_{\mathcal{CP}},\mathbb{E}_{pk^{X}_{ \mathcal{BB}}}(\mathbb{E}_{pk^{X}_{\mathcal{CP}}}(N)),E_{\mathcal{R},\mathcal{A }},\mathbb{S}_{\mathcal{R},\mathcal{A}}\}\) \\ \(\mathcal{R}\mathcal{A}\) & : verifies the received tokens, decrypts \(E_{\mathcal{R},\mathcal{A}}\), and obtains \(N\) \\ \(\mathcal{R}\mathcal{A}\rightarrow\mathcal{J}\) & : \(m_{3}=\{B_{id,t},N\}\) \\ \(\mathcal{J}\) & : compares \(N^{\prime}\) with \(N\) and adjudicates \\ \hline \end{tabular}   
The protocol starts with the extraction of the watermarks \(W^{\prime}\) and \(N^{\prime}\) from the pirated copy of \(\widehat{X}\), denoted as \(X^{\prime}\). The extraction of \(W^{\prime}\), which can be also carried out by \(\mathcal{CL}\) on behalf of \(\mathcal{CP}\), makes it possible to search databases for a possible match. If it is found, \(\mathcal{CP}\) can retrieve the associated tokens corresponding to the purchase transaction of \(\widehat{X}\): \(X_{d,t}\), \(pk^{X}_{\mathcal{B}}\), \(pk^{X}_{\mathcal{CP}}\), \(\mathbb{E}_{pk^{X}_{\mathcal{B}}}(\mathbb{E}_{pk^{X}_{\mathcal{CP}}}(N))\), \(\mathbb{S}_{\mathcal{R},\mathcal{A}}\), and \(E_{\mathcal{R},\mathcal{A}}\). The tokens can thus be sent to \(\mathcal{J}\) in the message \(m_{1}\) together with \(N^{\prime}\). The message \(m_{1}\) enables \(\mathcal{J}\) to search the blockchain \(\mathcal{BC}\) for a node that publishes the tokens received from \(\mathcal{CP}\). If a node is found, \(\mathcal{J}\) can retrieve the published tokens, which are reported in Table 3. Then, \(\mathcal{J}\) compares the tokens published by \(\mathcal{BC}\) with those ones received by \(\mathcal{CP}\), and, if they match, \(\mathcal{J}\) can send \(\mathcal{R}\mathcal{A}\) the message \(m_{2}\), which includes \(X_{d,t}\), \(pk^{X}_{\mathcal{B}}\), \(pk^{X}_{\mathcal{CP}}\), \(\mathbb{E}_{pk^{X}_{\mathcal{KB}}}(\mathbb{E}_{pk^{X}_{\mathcal{CP}}}(N))\), \(\mathbb{S}_{\mathcal{R},\mathcal{A}}\), and \(E_{\mathcal{R},\mathcal{A}}\). \(\mathcal{R}\mathcal{A}\) decrypts \(E_{\mathcal{R},\mathcal{A}}\) and compares the extracted tokens with those ones received from \(\mathcal{J}\). If the tokens match, \(\mathcal{R}\mathcal{A}\) also decrypts \(\mathbb{E}_{pk^{X}_{\mathcal{B}}}(\mathbb{E}_{pk^{X}_{\mathcal{CP}}}(N))\) and obtains \(N\). Then, \(\mathcal{R}\mathcal{A}\) sends \(\mathcal{J}\) the message \(m_{3}\), which includes \(B_{id}\) and \(N\).