# Securing Construction Workers' Data Security and Privacy with Blockchain Technology
## 3 Methodology
### Experimental Design of the Proposed Blockchain
#### 3.1.3 Deployment of Proposed Blockchain  
The deployment of the proposed blockchain utilized a systematic approach, as outlined below in steps 1 to 5. Step 1: Establishing AWS infrastructure  
An AWS infrastructure was created to establish a secure and isolated environment for the blockchain network. This involved setting up an IAM account for access control and provisioning EC2 instances with the necessary computing power and storage. Security measures, including firewalls, access controls, and a VPC (Figure 4), were implemented to prevent unauthorized access and ensure data privacy. Subnets, route tables, and network ACLs were configured within the VPC for traffic control. Network and security groups were employed to manage communication rules, thus adding an extra layer of security. Data protection was ensured through encryption methods like AWS Key Management Service (KMS). Overall, this setup laid a strong foundation for the blockchain system, guaranteeing both network security and efficient operation. Step 2: Installing and configuring the Hyperledger Fabric components  
The AWS infrastructure was set up, followed by the installation and configuration of Hyperledger Fabric components. This involved deploying peers, orderers, and certificate authorities on AWS, each with specific configurations. The network's structure,  
Figure 4: AWS infrastructure showing EC2, VPC, and Subnet. peer roles, orderer nodes, MSP, and CA infrastructure were established meticulously to meet the network's needs. These components facilitated decentralized consensus, secure transactions, and identity management, thus ensuring the privacy and security of worker data. The proper deployment and configuration led to the creation of a robust and efficient Hyperledger Fabric blockchain system, with detailed information provided in Table 1.  
Step 3: Storing and managing construction workers' data  
To ensure secure storage and management of blockchain data, the LevelDB storage library was integrated with Amazon Web Services (AWS), specifically utilizing Amazon Relational Database Service (RDS). This integration provided a reliable solution for storing and organizing construction worker information, thus ensuring data integrity and confidentiality. RDS, a scalable relational database service, handled essential database management tasks, such as provisioning, scaling, backups, and recovery. By leveraging RDS, construction workers' biodata and safety data were securely stored, while also benefiting from RDS's built-in security capabilities to comply with industry regulations, such as the General Data Protection Regulation (GDPR). Step 4: Enabling communication and integration among network components  
The deployment utilized AWS networking features, including a Virtual Private Network (VPN) and security groups, to enable secure and private communication among the network components. VPN technology established encrypted tunnels for data transmission, thus ensuring data privacy and protection against unauthorized access. Security groups acted as virtual firewalls, regulating traffic flow and enforcing access control policies within the network. AWS's comprehensive suite of services, including data encryption and IAM, further enhanced data confidentiality and security. The deployment met stringent data privacy requirements and upheld the confidentiality of sensitive information stored on the blockchain by adhering to industry best practices and leveraging AWS's robust networking capabilities. Step 5: Configuration and deployment of chaincode  
The proposed blockchain included one chaincode with five algorithm classes (namely, User, SpreadingMortar, TransactionHistory, Keys, and ConstructionChaincode), which were implemented in Java. For example, Algorithm 1 described a Java class called \"User\" that managed and organized the biodata of the workers into a block. The class defined the structure and properties of a user entity, including various fields, such as user_id, user_name, user_address, user_email, and account_type.