## 4 Blockchain-Based Lightweight Point Cloud Data Authentication Framework
### Data Access Control and Integrity Verification Framework  
Figure 2a shows the framework of secure data access, storage, and usage based on Blockchain and the DDS. In this framework, owners can upload point clouds generated by 3D sensors to their private server, which acts as a service provider for the users of applications. By storing the access control policy and audit proof in the Blockchain, each owner can fully control its data, and the authorized user can verify the data stored on the private server. The overall workflow is divided into three stages according to the 3D point cloud life-cycle. * _Data storage_: Owners and their private servers are in the same domain, and they can exchange secret keys via a trustworthy key distribution center (KDC). As a result, an owner and its private server can use shared secret keys to establish a secure communication channel for PC data transmission. In Step 1, the owner uses a shared secret key to encrypt point cloud data \(PC_{i}\) and then sends encrypted data to a private server. After receiving point clouds in Step 2, the private server stores encrypted \(PC_{i}\) into local storage and then records meta-data (e.g., configuration and audit proof) \(MD_{i}\) on the DDS. In a meta-data item, the configuration contains the URL address of a private server and other data properties such as the format and size, and the audit proof consists of an authenticator of raw data and a signature signed by the data owner. In Step 3, a site of the DDS stores the received \(MD_{i}\) and calculates a Swarm hash as a unique reference to address \(MD_{i}\) on the DDS. Finally, the Swarm hash is returned to the private server, and then, the private server transfers the Swarm hash to the data owner. * _Data access control_: The data access control (AC) process is built on a capability-based access control (CapAC) scheme [27]. In Step 4a, a data user contacts a data owner to negotiate an AC policy for PC data sharing. Then, the data owner verifies the data user's identity and authorizes access rights for the data user given pre-defined AC policies. In Step 4b, the data owner stores the Swarm hash of the meta-data along with the assigned access rights in a distributed ledger (Blockchain). As long as the AC data have been successfully saved in an AC token on the Blockchain, a _token_id_ is returned to the data owner. Finally, the data owner sends the _token_id_ back to the data user as a notification, as Step 4c shows. In Step 5, a user first sends data access requests to a private server, which stores \(PC_{i}\). Then, the private server retrieves the AC policy from the Blockchain and checks if the access rights assigned to the user are valid, as Step 6 shows. If the access authentication is successful, the private server uses shared secret keys to decrypt \(PC_{i}\) and return it to the data user, as Step 7 shows. Otherwise, the private server denies the access requests without sharing the data with unauthorized users. * _Data verification_: To audit the received \(PC_{i}\) from a private server, the user queries the Swarm hash from the Blockchain and then retrieves meta-data \(MD_{i}\) from the DDB accordingly, as Step 8 shows. Because meta-data \(MD_{i}\) contains the audit proof that was submitted by the data owner when it uploaded \(PC_{i}\), the data user can verify if \(PC_{i}\) satisfies the data properties and consistency of the authenticator and signature. In the data verification process, the user first checks if the properties of \(PC_{i}\) satisfy the configuration in \(MD_{i}\). Then, it locally calculates the audit proof \(AP_{i}^{\prime}\) according to  
Figure 2: Illustration of Blockchain-based data authentication framework. (**a**) shows the workflow of 3D point cloud data storage, access authorization, and verification. (**b**) shows the structure of the hybrid on-chain and off-chain storage. \(PC_{i}\) and compares it with the \(AP_{i}\) recorded in \(MD_{i}\). If the audit proofs are equal, the data integrity has been guaranteed.