# bcBIM: A Blockchain-Based Big Data Model for BIM Modification Audit and Provenance in Mobile Cloud

Authors: Rongyue Zheng; Jianlin Jiang; Xiaohan Hao; Wei Ren; Feng Xiong; Yi Ren
Journal: Mathematical Problems in Engineering
 (2019)

---

## Abstract

Building Information Modeling (BIM) is envisioned as an indispensable opportunity in the architecture, engineering, and construction (AEC) industries as a revolutionary technology and process. Smart construction relies on BIM for manipulating information flow, data flow, and management flow. Currently, BIM model has been explored mainly for information construction and utilization, but rare works pay efforts to information security, e.g., critical model audit and sensitive model exposure. Moreover, few BIM systems are proposed to chase after upcoming computing paradigms, such as mobile cloud computing, big data, blockchain, and Internet of Things. In this paper, we make the first attempt to propose a novel BIM system model called bcBIM to tackle information security in mobile cloud architectures. More specifically, bcBIM is proposed to facilitate BIM data audit for historical modifications by blockchain in mobile cloud with big data sharing. The proposed bcBIM model can guide the architecture design for further BIM information management system, especially for integrating BIM cloud as a service for further big data sharing. We propose a method of BIM data organization based on blockchains and discuss it based on private and public blockchain. It guarantees to trace, authenticate, and prevent tampering with BIM historical data. At the same time, it can generate a unified format to support future open sharing, data audit, and data provenance.


---

## Body

## 1. Introduction

Building Information Modeling (BIM) is a set of interacting policies, processes, and technologies, which produce a methodology to manage the essential building design and project data throughout the building’s life cycle [1]. It can provide a unified presentation, data framework, and organization. In construction automation, the architecture enables information and communication technology (ICT) to manage the life cycle information of buildings. During a whole life of a building, the essential features of BIM can be summarized into four aspects, namely, integrating with various databases, facilitating document management, visualizing analytical processes and results, and providing sustainability analyses and simulation [2]. The most recent ICT architecture application for BIM is the traditional client-server architecture, some of which still work as a single workstation pattern. We argue that the future development of BIM technology must be combined with advanced communications technology and computer technology in order to greatly improve the efficiency of the construction industry, such as blockchain, mobile cloud computing, big data, and the Internet of Things. Blockchain is a distributed database system that acts as an “open ledger” to store and manage transactions. Each record in the database is called a block and contains details such as transaction timestamp and links to the previous block. This characteristic makes it impossible for anyone to change the information about the records retrospectively. In addition, since the same transaction is recorded on multiple distributed database systems, the technology is safe in design. As a hot topic in the world at present, cloud computing has become the strategic direction of the future development of information industry and an important engine to promote economic growth, which not only provides new impetus for transformation and innovation of the information industry itself, but also provides great opportunities for the upgrading of traditional industries and the development of new industries.With the rapid development of society, more and more difficulties appear in current models. The main difficulty is that they cannot safely track revisions. For example, the design may be modified due to budget or host requirements. The revision of BIM data is usually updated, rather than retaining the revision history. Even if the update records are stored, it is difficult to guarantee the integrity of historical data. In addition, record updates depend on the full trust of the central operator. Once the internal operators misbehave, the data will lead to construction rework, or even disaster.However, the marriage of them with BIM has been explored by few related work. The BIM cloud will significantly reduce the latency of information access, making BIM information available to all users. It provides a high-capacity storage, fast retrieval, and on-demand calculations for building information. As a result, mobile cloud architectures can make BIM information popular and available to a large number of users. Although the mobile cloud for BIM provides conveniences of information accessing, it also raises several security issues [3–5]. In this paper, we mainly solve the following problem: the audit of BIM modification. The current challenges are as follows: (1) Keep only the last modification record. (2) The source of the modified item cannot be traced. (3) Attacks from the central operator cannot be recorded and tracked. In order to solve the above challenges, we combine BIM with blockchain to provide a BIM data organization method, which can track, prove, and prevent the tampering of BIM historical data. At the same time, a unified format is generated to support the open sharing of future data. In addition, BIM models and parameters may be modified during smart construction. If the chain of revision history is stored for later audit, the provenance and accountability will be possible. However, current BIM architecture pays insufficient concerns for the data audit. In this paper, we propose a bcBIM model customized for BIM data audit and mobile cloud BIM architecture. The contributions of the paper are listed as follows:(1)
We make the first attempt to propose a bcBIM model enhanced by blockchain for BIM data audit, provenance, and accountability.(2)
We propose traceable and authenticated bcBIM model via blockchain that can satisfy traceability by timestamp for recording BIM modification history.The rest of the paper is organized as follows. Section2 summarizes the related preliminary work. In Section 3 we analyze the audit problem and propose a bcBIM model via blockchain. In Section 4 we propose a further ICT paradigm for mobile cloud BIM architecture and describe the proposed model bcBIM in detail. In Section 5 we analyze bcBIM model’s security and performance extensively. Finally, Section 6 concludes the full paper.


## 2. Related Work

In view of the combination of architecture with BIM, Nassiri et al. [6] combined BIM with decision method (entropy-TOPSIS) to scientifically optimize the choice of sustainable building materials during the conceptual design phase of a building project. Oti and Tizani et al. [7] provided a BIM integrated system that combined three green metrics: life cycle costs, ecological footprint, and carbon footprint, to help structural engineers conduct sustainability assessments of alternative designs. Inyim et al. [8] introduced an optimization tool combining BIM with construction environmental impact simulation to help designers achieve multiple sustainable goals in the decision-making process, such as those related to construction time, initial construction costs, and CO2 emissions. Wang et al. [9] discussed and investigated how BIM can be extended to the site via the “practical arm” of AR. Kokorus et al. [10] used Building Information Modeling (BIM) technology to design innovative approach to the substation. Dawood et al. [11] combined Building Information Modeling (BIM) with genetic algorithm (GA) to find the optimal design with minimum life cycle cost in the service life of buildings. Pasini et al. [12] built information modeling framework for management of cognitive buildings to explore how BIM practices and technologies could improve a data-driven asset management. Zhu et al. [13] combined with BIM construction and other building technologies greatly shortened the time of modeling development and significantly improved the efficiency of modeling. Isikdag et al. [14] proposed a BIM-oriented service-oriented architecture design pattern. Yoon and Park et al. [15] put forward a design method of energy-saving building based on BIM. On the specific practice of BIM, the practical implementation of BIM framework is proposed by Jung and Joo et al. [16]. Linderoth et al. [17] understood adoption and used BIM as the creation of actor networks. Lu and Li et al. [18] established information modeling and changed construction practice. Desogus et al. [19] presented preliminary performance monitoring plan for energy retrofit: The “Mandolesi Pavillon” at the University of Cagliari.Considering the combination of big data and BIM, Arslan et al. [20] developed a prototype system using Hadoop for data storage and processing. The results of processing BIM and sensor data in a Hadoop architecture have demonstrated that the system can effectively provide data visualizations to facility managers. Building life cycle assessment (BLCA) of energy consumption is an important issue in the field of sustainable development and green building. Yuan et al. [21] summarized the features of building life cycle energy consumption (BLCEC) data, proposed the method of information exchange and integration management by BIM, and utilized cloud computing technology to achieve wide-area BLC energy data management. Ferguson et al. [22] presented an application of linked data views (or semantic views) as part of a larger, modular, and extensible framework that provided a method to automatically query, understand, and translate BIM instances into linked data, for better supporting more accurate decision. Bottaccioli et al. [23] proposed building energy modeling and monitoring through the integration of Internet of Things equipment and building information model. Razavi et al. [24] proposed using BIM to realize multisensor data fusion of material tracking in construction site.The mobile cloud or blockchain marries with BIM model are a new topic and the literatures are very limited. Park and ASCE et al. [25] presented a framework for this safety monitoring system as a cloud-based real-time on-site application. The system integrates Bluetooth low-energy- (BLE-) based location detection technology, BIM-based hazard identification, and a cloud-based communication platform. Garcia-Fernandez et al. [26] discussed the different approaches to date on the BIM generation chain: from 3D point cloud data collection to semantically enriched parametric models. In this paper, we proposed a bcBIM model via blockchain which can not only satisfy traceability by timestamp for recording BIM modification history, but also enhanced for BIM data audit, provenance, and accountability.


## 3. Problem Formulation

### 3.1. System Model

In this section, we briefly describe how the bcBIM model implements our proposed scheme before discussing the adversary model.BIM can collect a large amount of information throughout the lifecycle of a project by creating a database. Through the adjustment, addition, and modification of the data information, the overall status of the project can be accurately reflected. Through the association with the data, faster decision-making progress can be achieved, and the quality of decision-making can be improved, thereby improving project quality and increasing project profit. However, the main weaknesses of BIM in terms of security are as follows:The audit and provenance of revised BIM data: some revision for BIM data may not be avoided in construction; for example, design may be revised due to budgets, or requirements of hosts. The major difficulties in current model are that the revision can not be traced securely. The revision of BIM data is usually updating, not remaining the revision history. Even the updating record is stored, the integrity for historical data is difficult to be guaranteed. Furthermore, the updating of record relies on the fully trust of central operators. Once internal operators conduct misbehavior, the data will lead to construction rework, or even disaster.To solve the overcome weakness, we consider using blockchain technology to improve BIM. Blockchain can be roughly divided into three categories: public blockchain, private blockchain, and consortium blockchain. Public blockchain is open to all which means anyone can participate it; private blockchain is open to individual or entity; and consortium blockchain is open to specific organizations and groups. Although the above three blockchains are all based on consensus mechanisms to ensure the security and reliability of blockchain technology operations, satisfying traceable and nontamperable, they also have significant differences. From private blockchain, consortium blockchain to public blockchain, the degree of decentralization has gradually increased, and the scope of authority has been expanding. Different levels of information disclosure and central control help blockchain meet different types of application requirements. Table1 makes comparison of three blockchain.Table 1
A comparison of three kinds of blockchain.
Application of Decentralized Degree Access Mechanism Transaction Speed Transaction Cost Execution Efficiency Application example private Centralize Specific individuals or entities fast low high Acrblock consortium Partial decentralization Authorized organizations or institutions mid mid mid R3, Hyperledger public Complete decentralization All slow high low BTC, ETH, NEOIn the basic model, we discuss our proposal with private blockchain, which can be signed by a trusted center. However, if applying in consortium blockchain, it can be signed by the federation node. Private blockchain refers to the write rights which are entirely in the hands of an organization, and all the nodes involved in the chain are strictly controlled. In some cases, some rules in the private blockchain can be modified by the organization, such as restoring the transaction process. Compared with public blockchain, private blockchain have the greatest advantage of encrypting audit and public identity information. That is, no one can tamper with data; once some errors occur, it is possible to track the source of errors. Therefore, private blockchain is common in internal system or network. Due to its privacy, some private chains also omit the function of “mining”, which greatly improves the efficiency of implementation. Private blockchain can not only prevent a single node in an organization from deliberately concealing or tampering with data, but also quickly identify sources whenever there are occurs some errors. Different from the open and semiopen characteristics of public blockchain or consortium blockchain, private blockchain emphasizes privacy, which is limited to user access and transactions within an enterprise, between two organizations, such as Acrblock. For example, some financial and auditing institutions are used to store books and databases; only users with relevant authority can access and modify data. The advantages of private blockchain are as follows:( 1 ) Private blockchain has fast transaction speed. Its transaction progress only requires a few generally recognized high-power nodes and rather requires the confirmation of all network nodes.( 2 ) Transaction costs are very low compared with public and consortium blockchain.( 3 ) Since the privacy of receipts is limited, it is difficult for participants to obtain data on private blockchain; that is, the privacy protection is better than others.The disadvantage of private blockchain is as follows: the risk of receiving attacks is higher because it can be manipulated price or modified code.Unlike private blockchain, consortium blockchain has several organizations or institutions which participating in the management. Each organization or institution controls one or more nodes and they record transaction data together. Only organizations and institutions which have relevant authorities can read, write, or send transaction data on consortium blockchain. Since it only opens parts of functions to members, the permissions and accounting rules on consortium blockchain are “customized” according to the consortium. The consensus process is controlled by preselected nodes on consortium blockchain. It is suitable for B2B scenarios such as interagency transactions, settlement, and liquidation. For example, many financial institutions connect their blockchain networks together to form a consortium network, which facilitates data docking and collaboration. For example, R3, Hyperledger, and Golden Chain Consortium, each node has its corresponding entity or organization on consortium blockchain. Only authorized to join or exit the network which is aiming at reducing costs and improving efficiency. In addition, it is also suitable for scenarios such as transaction and settlement between different entities. Consortium blockchain is maintained by the participating member organizations and provides a complete set of safety management functions, such as management, certification, authorization, monitoring, and auditing of the participating members. For example, the R3 consortium is a consortium blockchain of banking industry which was established in 2015. At present, it has joined more than 40 members, including world famous banks such as JPMorgan Chase, HSBC, and Goldman Sachs. Each bank can become a node, but the transfer behavior of one bank must be confirmed by other bank nodes (2/3 number) in order to make the block effective. Nowadays, BIM is usually used internally, such as a bridge design institute, architectural design institute, and a large group company. In addition, almost no POW consensus mechanism is used in consortium blockchain, but consensus algorithms such as proof of rights or PBTF are used. The advantages of consortium blockchain are as follows:( 1 ) Due to the fact that the number of nodes has been streamlined, consortium blockchain has faster transaction speed and lower cost.( 2 ) Compared with public blockchain, consortium blockchain requires more transactions to be confirmed per unit time.The disadvantage of consortium blockchain is as follows: the safety and performance requirements are relatively high.Considering that contemporary green construction is assembled building, we discuss how to establish a BIM shared component library. One of the applications of public blockchain is recording BIM database which can be added by anyone; that is, it can form BIM shared component library. We propose this scheme as an advanced model with POW mechanism. In addition, public blockchain is a kind of nontampering account book and it is the most widely used blockchain at present. In addition, public blockchain establishes a centralized autonomous organization which can be books, electricity transactions, big data transactions, or BIM database. Bitcoin and Ethernet are the most popular public blockchain which means the behavior of public blockchain is open. However, it is not controlled by anyone, nor owned by anyone, it is a “completely decentralized” blockchain. The advantages of public blockchain are as follows:( 1 ) The access threshold is so low that any user with an Internet-connected computer can access it.( 2 ) Open and transparent, since the whole system is “completely decentralized,” the process of running the system is open and transparent.( 3 ) Anonymity, since nodes do not need to trust each other, all operations can be performed anonymously; that is, the privacy is well protected.( 4 ) Free from the influence of the developer, reading and writing public blockchain data are not controlled by any organization or individual, so it can also protect users from programmers.The disadvantages of public blockchain are as follows: low efficiency, large power consumption, and long time required to validate and complete transactions.


### 3.2. Adversary Model

In this section, we identify four potential vulnerabilities that can be exploited by our opponents to undermine our solutions:(1) the modified content cannot be traced to its source; (2) the integrity of the historical data is tampered with the last modification record; (3) attacks from the central operator cannot be recorded and tracking. Some modifications of BIM data may be unavoidable in construction, for example, design modifications due to budget or host requirements. The revision of BIM data is usually updated, rather than retaining the revision history. Therefore, attackers may be able to modify the source of BIM data. In our scheme, we combine BIM with blockchain to ensure that the source of BIM data is not modified.As mentioned above, the traditional BIM model only retains the last modification record. In the process of revising BIM data, even if the update record is stored, the historical data can be modified by attackers, and the integrity of the historical data is difficult to guarantee. In our model, the integrity of historical data can be guaranteed by using the traceability of blockchain and the nontampering characteristics of information. In traditional BIM model, recording updates depend on the full trust of the central operator; once improper behavior of internal operators occurs, the data will lead to construction rework, or even disaster. In our scheme, we combine BIM with blockchain and take advantage of the decentralization of blockchain. Since the use of distributed billing and storage, there is no centralized hardware or management organization; that is, the rights and obligations of any node are the same. In addition, the data blocks in BIM system are maintained by the nodes with maintenance function in the whole system.


## 3.1. System Model

In this section, we briefly describe how the bcBIM model implements our proposed scheme before discussing the adversary model.BIM can collect a large amount of information throughout the lifecycle of a project by creating a database. Through the adjustment, addition, and modification of the data information, the overall status of the project can be accurately reflected. Through the association with the data, faster decision-making progress can be achieved, and the quality of decision-making can be improved, thereby improving project quality and increasing project profit. However, the main weaknesses of BIM in terms of security are as follows:The audit and provenance of revised BIM data: some revision for BIM data may not be avoided in construction; for example, design may be revised due to budgets, or requirements of hosts. The major difficulties in current model are that the revision can not be traced securely. The revision of BIM data is usually updating, not remaining the revision history. Even the updating record is stored, the integrity for historical data is difficult to be guaranteed. Furthermore, the updating of record relies on the fully trust of central operators. Once internal operators conduct misbehavior, the data will lead to construction rework, or even disaster.To solve the overcome weakness, we consider using blockchain technology to improve BIM. Blockchain can be roughly divided into three categories: public blockchain, private blockchain, and consortium blockchain. Public blockchain is open to all which means anyone can participate it; private blockchain is open to individual or entity; and consortium blockchain is open to specific organizations and groups. Although the above three blockchains are all based on consensus mechanisms to ensure the security and reliability of blockchain technology operations, satisfying traceable and nontamperable, they also have significant differences. From private blockchain, consortium blockchain to public blockchain, the degree of decentralization has gradually increased, and the scope of authority has been expanding. Different levels of information disclosure and central control help blockchain meet different types of application requirements. Table1 makes comparison of three blockchain.Table 1
A comparison of three kinds of blockchain.
Application of Decentralized Degree Access Mechanism Transaction Speed Transaction Cost Execution Efficiency Application example private Centralize Specific individuals or entities fast low high Acrblock consortium Partial decentralization Authorized organizations or institutions mid mid mid R3, Hyperledger public Complete decentralization All slow high low BTC, ETH, NEOIn the basic model, we discuss our proposal with private blockchain, which can be signed by a trusted center. However, if applying in consortium blockchain, it can be signed by the federation node. Private blockchain refers to the write rights which are entirely in the hands of an organization, and all the nodes involved in the chain are strictly controlled. In some cases, some rules in the private blockchain can be modified by the organization, such as restoring the transaction process. Compared with public blockchain, private blockchain have the greatest advantage of encrypting audit and public identity information. That is, no one can tamper with data; once some errors occur, it is possible to track the source of errors. Therefore, private blockchain is common in internal system or network. Due to its privacy, some private chains also omit the function of “mining”, which greatly improves the efficiency of implementation. Private blockchain can not only prevent a single node in an organization from deliberately concealing or tampering with data, but also quickly identify sources whenever there are occurs some errors. Different from the open and semiopen characteristics of public blockchain or consortium blockchain, private blockchain emphasizes privacy, which is limited to user access and transactions within an enterprise, between two organizations, such as Acrblock. For example, some financial and auditing institutions are used to store books and databases; only users with relevant authority can access and modify data. The advantages of private blockchain are as follows:( 1 ) Private blockchain has fast transaction speed. Its transaction progress only requires a few generally recognized high-power nodes and rather requires the confirmation of all network nodes.( 2 ) Transaction costs are very low compared with public and consortium blockchain.( 3 ) Since the privacy of receipts is limited, it is difficult for participants to obtain data on private blockchain; that is, the privacy protection is better than others.The disadvantage of private blockchain is as follows: the risk of receiving attacks is higher because it can be manipulated price or modified code.Unlike private blockchain, consortium blockchain has several organizations or institutions which participating in the management. Each organization or institution controls one or more nodes and they record transaction data together. Only organizations and institutions which have relevant authorities can read, write, or send transaction data on consortium blockchain. Since it only opens parts of functions to members, the permissions and accounting rules on consortium blockchain are “customized” according to the consortium. The consensus process is controlled by preselected nodes on consortium blockchain. It is suitable for B2B scenarios such as interagency transactions, settlement, and liquidation. For example, many financial institutions connect their blockchain networks together to form a consortium network, which facilitates data docking and collaboration. For example, R3, Hyperledger, and Golden Chain Consortium, each node has its corresponding entity or organization on consortium blockchain. Only authorized to join or exit the network which is aiming at reducing costs and improving efficiency. In addition, it is also suitable for scenarios such as transaction and settlement between different entities. Consortium blockchain is maintained by the participating member organizations and provides a complete set of safety management functions, such as management, certification, authorization, monitoring, and auditing of the participating members. For example, the R3 consortium is a consortium blockchain of banking industry which was established in 2015. At present, it has joined more than 40 members, including world famous banks such as JPMorgan Chase, HSBC, and Goldman Sachs. Each bank can become a node, but the transfer behavior of one bank must be confirmed by other bank nodes (2/3 number) in order to make the block effective. Nowadays, BIM is usually used internally, such as a bridge design institute, architectural design institute, and a large group company. In addition, almost no POW consensus mechanism is used in consortium blockchain, but consensus algorithms such as proof of rights or PBTF are used. The advantages of consortium blockchain are as follows:( 1 ) Due to the fact that the number of nodes has been streamlined, consortium blockchain has faster transaction speed and lower cost.( 2 ) Compared with public blockchain, consortium blockchain requires more transactions to be confirmed per unit time.The disadvantage of consortium blockchain is as follows: the safety and performance requirements are relatively high.Considering that contemporary green construction is assembled building, we discuss how to establish a BIM shared component library. One of the applications of public blockchain is recording BIM database which can be added by anyone; that is, it can form BIM shared component library. We propose this scheme as an advanced model with POW mechanism. In addition, public blockchain is a kind of nontampering account book and it is the most widely used blockchain at present. In addition, public blockchain establishes a centralized autonomous organization which can be books, electricity transactions, big data transactions, or BIM database. Bitcoin and Ethernet are the most popular public blockchain which means the behavior of public blockchain is open. However, it is not controlled by anyone, nor owned by anyone, it is a “completely decentralized” blockchain. The advantages of public blockchain are as follows:( 1 ) The access threshold is so low that any user with an Internet-connected computer can access it.( 2 ) Open and transparent, since the whole system is “completely decentralized,” the process of running the system is open and transparent.( 3 ) Anonymity, since nodes do not need to trust each other, all operations can be performed anonymously; that is, the privacy is well protected.( 4 ) Free from the influence of the developer, reading and writing public blockchain data are not controlled by any organization or individual, so it can also protect users from programmers.The disadvantages of public blockchain are as follows: low efficiency, large power consumption, and long time required to validate and complete transactions.


## 3.2. Adversary Model

In this section, we identify four potential vulnerabilities that can be exploited by our opponents to undermine our solutions:(1) the modified content cannot be traced to its source; (2) the integrity of the historical data is tampered with the last modification record; (3) attacks from the central operator cannot be recorded and tracking. Some modifications of BIM data may be unavoidable in construction, for example, design modifications due to budget or host requirements. The revision of BIM data is usually updated, rather than retaining the revision history. Therefore, attackers may be able to modify the source of BIM data. In our scheme, we combine BIM with blockchain to ensure that the source of BIM data is not modified.As mentioned above, the traditional BIM model only retains the last modification record. In the process of revising BIM data, even if the update record is stored, the historical data can be modified by attackers, and the integrity of the historical data is difficult to guarantee. In our model, the integrity of historical data can be guaranteed by using the traceability of blockchain and the nontampering characteristics of information. In traditional BIM model, recording updates depend on the full trust of the central operator; once improper behavior of internal operators occurs, the data will lead to construction rework, or even disaster. In our scheme, we combine BIM with blockchain and take advantage of the decentralization of blockchain. Since the use of distributed billing and storage, there is no centralized hardware or management organization; that is, the rights and obligations of any node are the same. In addition, the data blocks in BIM system are maintained by the nodes with maintenance function in the whole system.


## 4. Proposed Scheme

Our solution is briefly described in the above section, and the details of our solution are detailed in this section.


### 4.1. Proposed Basic Architecture

In this section, we propose the mobile cloud BIM architecture for further ICT paradigms.


#### 4.1.1. BIM as a Service: BIMaaS

BIMaaS is a cloud service for providing outsourced BIM data storage and computation. It can be looked as a united virtual central server by harvesting multiple computing resources, which provides an on-demand storage and computation service. BIMaaS is managed by dedicated cloud computing software. It can smoothly respond to any storage and computation requests by migrating or redistributing the tasks to a resource pool, which is transparent to users. Thus, users do not need to care about the implementation details on BIMaaS and just look it as a virtual server.The BIMaaS can be further classified into two folders:( 1 ) BIM data are outsourced to a public cloud that is provided by cloud service companies such as AWS, Azure, and AliYun. Such public cloud service is paid according to the resource requirements. The initial investment for hardware and software is avoided, as both of them are rented from the public BIMaaS. It can obviously decrease the startup budget for small business in AEC industry. Besides, the management of BIMaaS can also be outsourced to public BIMaaS, the personnel enrollments and cost for human resources may also be alleviated.( 2 ) For some giant companies in AEC industry, it may be possible to integrate private BIMaaS by themselves. Such companies have already deployed an information infrastructure such as data center before. They usually have their ICT division and have a large number of human resources for ICT supports. Thus, they construct their private BIMaaS services via some publicly available software tools such as OpenStack.


#### 4.1.2. Big Data Sharing among BIMaaS

With the development of BIMaaS, BIM data is accumulated with time elapsing and project conducting. Even for one building, a large volume of BIM data is aggregated. Once revision occurs during a construction life time, all historical data may also be snapshot and stored for further audit. For example, once a design for a model is modified, all legacy versions may also be stored respectively for tracing revised model locations and parameters. When such traceability is required for critical structures or components, an additive data organization with provenance capability will be required. In addition, BIM data sharing should be a trend once the data is accumulated sufficiently large. For example, for different buildings in the same category, BIM data can be mutually accessed or referenced among them. Some validated best practices and design experiences can be migrated from one project (building) to another. Some common characteristics in design can be abstracted by data mining or machine learning. Information exchanges between BIM data will let users form a global view of specific design in multiple projects.


#### 4.1.3. Pervasively Accessing by Mobile Terminals

Anyone can access BIM data and revoke the BIM computation service such as model visualization from BIMaaS or big data pool. Mobile terminal is a convenient tool for mobile users, especially field engineers in smart construction. It is a hand-held device that can access the BIM information any time anywhere by wireless. It can be divided into two folders as follows:( 1 ) Mobile terminals can be hand-held devices such as smart phones, tablets, laptops, and so on. Currently, such devices are largely used as personal computing tools. By them, designers can verify the conformation of engineering regulation; the monitors can check the schedules of engineering procedures; the suppliers can consult the future requirements for material resources.( 2 ) Mobile terminals can be wearable devices such as smart watches, smart glasses, and smart helmets. Those are equipped with sensors for instant information collection, or displayers for smooth human-machine interaction. For example, wireless sensors for environmental monitors, 3D information presentation such as Virtual Reality (VR), or Augmented Reality (AR). It can improve operational efficiency, especially for field engineers in a limited space. It can support smart and automatic construction scenarios. For example, smart helmet for engineers on constructing fields may access BIM data remotely and reconstruct VR by the latest data. Construction robots may access BIM data and collect sensing information from sensors in constructing fields to evaluate sustainable design parameters for green houses.


#### 4.1.4. Automatically Exchanging by Internet of Things

Internet of Things (IoTs) is a network with wireless sensors. In smart construction, those sensors may deploy with facilities in operational fields, with Internet accessing via wireless communications such as 4G or NB-IOT. Those sensors can collect the construction environmental data and upload them into BIMaaS server, once those data can help the revision or improvement of the design in BIM. For example, wind and sunshine design evaluation for green construction can be justified or amended after analysis from the field sensing data during the construction. This feedback will enhance the initial design in BIM that only relies on simulation or emulation, but also is manipulated from realistic on-site parameters. Moreover, the construction engineering machines (e.g., crane) that are equipped wireless devices can also access BIM data in BIMaaS. They may access the BIM information automatically and display the result to operators to guide the future instructions. Some equipment such as surveillance video cameras can automatically set up the direction of lens by fetch specific installation data from BIMaaS.In summary, BIMaaS provides a storage and computation service for BIM data, including data retrieval, data updating, and data computation. BIM big data is accumulatively merged and shared to form a unified resource pool for responding on-demanded requests from traditional desktop PCs or especially mobile terminals in construction fields. Some special wearable devices such as helmets may provide more enhancement for BIM information presentation. BIM data can be accessed any time anywhere, not only by mobile devices but also by wireless sensors. Those sensors create IoTs to collect critical data about on-site construction on time. The analysis on those data can help reevaluate the quality of design or construction and provide amending feedback. Moreover, IoT devices on construction machine can access and display BIM data, to empower the intelligence of construction machines. This architecture not only enables the pervasive retrievals of BIM information, but also supports the ubiquitous information exchanging or cooperatively constructing. It provides a promising framework for the exchanging and sharing of BIM data in smart construction.


#### 4.1.5. Structure of Blockchain

Blockchain is a distributed ledger, a technical solution to collectively maintain a reliable database through decentralized, trusted ways, and blockchain is a distributed database that is almost impossible to change. “Distributed” here is not only a distributed storage of data, but also a distributed record of data (i.e., shared by the system participants); blockchain is not a single technology, but a result of a variety of technology integration; these technologies are in a new structure together to form a new way of data recording, storage, and expression. Combined with these technologies, the contents of the scheme after adopting the present invention will be difficult to be modified, and the security can be improved.Data stored using blockchain technology is also time series, tamper-proof, forged, and privacy-pending, which is proven in many documents. bcBIM also inherits these features and guarantees the absolute security of the information data from two aspects: one is to ensure that the pseudo-block does not appear on the blockchain.Each node in the receipt of the new block will be the block validation; pseudo-block because it can not be verified will be discarded and will not be written into the blockchain, if the malicious node would like to use pseudo-branched chain to replace the correct blockchain, which is the computing power of today’s computer which is almost impossible to achieve the task; the other is to ensure that the data in the chain will not be modified. Because each chunk contains the hash value of the previous chunk, if the malicious node changes a chunk of data, you must change the chunk behind all the blocks which are changed, but also in the future with their own pseudo-branched chain to cover the correct blockchain, in terms of modern computer capabilities, this is also an impossible task.The basic processing unit of blockchain technology is a data block that stores all transaction data and related verification information for a certain period of time. The blockchain is combined into a specific data structure in chronological order, which forms the nontamper and nonfalsification data sharing information guaranteed by cryptography, and uses the SHA 256 algorithm and the Merkle tree to realize the data management system with simple and safe storage, successive relation, efficient and fast verification [27].Block is the basic unit of block chain, which is composed of blocks and blocks. The block header contains block ID, version number, previous block hash value, timestamp, Merkle root, the block target hash value, and so on. The main body of the block contains the main data information of the block, including identity certificate, transaction content, amount of breach of contract, and so on (Figure1).Figure 1
Format of block.The characteristic of BIM data organization method based on blockchain is that each newly generated block saves the hash value of the previous block. Therefore, we combine BIM with blockchain to provide BIM data organization method which can track, prove, and prevent tampering of BIM historical data. At the same time, it can generate unified format to support open sharing of future data.


### 4.2. Blockchain-Based Model for Audit and Provenance

In this section, we propose to use blockchain to facilitate the audit and provenance of historical BIM data.Blockchain consists of a data structure with cryptographic hash value to guarantee the integrity of a serial data. The major items in proposed blockchain-based model are as follows (::= denotes that “is defined as”):(1)
Block::=〈BlockHead,Data〉. BlockHead guarantees the integrity (nonmodification) of Data and modifying history of Data.(2)
BlockHead::=〈PreviousBlockHash,DataHash,Nonce, Difficulty, Timestamp〉. The PreviousBlockHash is the hash value of the intermediate previous block head. DataHash is the hash value of Data in this block. Nonce is a value to be determined by randomly checking whether.Zero(Hash(PreviousBlockHash∥DataHash∥Timestamp∥Nonce))≥Difficulty. Zero(·) is a function that returns the number of left consecutive zeros in an inputting string in bytes. Difficulty is an integer to tell the requirement on how many consecutive zeros in the head of hash result. For example, Difficulty=2 means the first 2 bytes of target hash outputting is 0. That is, the first 2 bytes of Hash(·) is 0. Timestamp is the time snapshot of current packaging block.(3)
Data::=〈Metadata,BIMdata〉. Metadata is an optional tuple for data description on BIMdata, which can be empty. The BIMdata is a mandatory tuple for concrete BIM data. Once BIM data is modified, Data will be created and wait for being appended into blockchain in a batch.(4)
PreviousBlockHash=Hash(BlockHead), where BlockHead is the previous blockhead where PreviousBlockHash tuple is located. That is, the hash value of previous blockhead is embedded into next block head. It can also be looked as a link of two adjacent block heads.(5)
DataHash=Hash(BIMdata1∥BIMdata2∥⋯∥BIMdatan). Suppose the number of BIM in this time-span is n. That is, it is the numbers of BIM data that will be packaged in blockchain during a block generation period. DataHash guarantees the integrity of block contents consisting of modified BIM data.The purpose of blockchain is to record the historical process of BIM record modification. A blockhead is composed of multiple BIM data, which can speed up the uplink of BIM record modification. The necessary BIM data need to record the history of modification, but the ordinary BIM can not implement it. The method of calculating block hash values can get hash values of all uplink BIM data more quickly and efficiently than calculating Merkle tree roots. We propose a BIM via blockchain to storage data, which solve the problem of tracing, proving, and preventing tampering with BIM historical data. At the same time, it can generate a unified format to support future open sharing. This method uses the hash structure of blockhead to ensure the integrity of all block data. In addition, block integrity is guaranteed by hash value, and the signature guarantees blockhead’s integrity. The value of hash and nonce in blockhead guarantees fair consensus and nontampering.


### 4.3. Example: Public Blockchain bcBIM

In this scene, the blockchain-based BIM data organization method is based on a decentralized measure, also known as a public blockchain method, which includes the following steps:(1)
Each node of the public blockchain, denoted asB, is usually a node with its own independent BIM data. It is necessary to establish the openness and sharing of BIM data among all nodes and maintain irreparable data modification and traceability of time.(2)
The central node of the public blockchain records the BIM data which need to be saved in the local storage medium and uniformly packs it into the blockhead at everyP time.(3)
Assume that the BIM data recorded inP time are BIM1,BIM2,…,BIMn. The method of uniformly packing blocks into blockheads is as follows: Blocks are recorded asBIMDATA, and the components of the blocks include BIM1,BIM2,…,BIMn; eachBIMi includes metadata, modified BIM data and access address of modified BIM data; calculate BIMHASH=Hash(BIM1∥BIM2∥⋯∥BIMn).(4)
The blockhead is namedBIMHEAD; its composition includesPreviousHash, BIMHASH, LinkOfDATA, Timestamp,andNonceandRequirement.PreviousHash is the hash value of the previous blockhead;LinkofDATA is the access address of current blockBIMDATA;Timestamp is a time stamp for building blockheads;Nonce is a random number;Requirement is a requirement for hash value; that is, Hash(PreviousHash∥BIMHASH∥LinkOfDATA∥Timestamp∥Nonce∥ID) meets the Requirement.(5)
Each center node adds data to the entire public blockchain. Each central node needs to calculate theNonce value that meets theRequirement. According to the nature of the hash function,Nonce’s calculations can only rely on random attempt. Next, the central node broadcasts the calculated block, and if everyone passes the verification, it is deemed to be correct. In addition, recording block work will be rewarded to the recorder, and the reward will be completed offline according to the statistics ofID.(6)
Password-safe hash functions includeSHA256,SHA1andMD5.The block data structure is shown in Figure2.Figure 2
Public blockchain block data structure diagram.Each newly generated block holds the hash value of the previous block. Due to the characteristics of the hash function, whatever small modifications will lead to great changes in the results. Therefore, the data uploaded by users cannot be tampered. Besides,Nonce is a random number which causes the block hash value having a number of 0 before it, and the number of 0 is determined by the value ofRequirement, such asRequirement = 5.


### 4.4. Example: Private Blockchain bcBIM

bcBIM on the public blockchain is primarily used for autonomous organizations, but private blockchain may be easier to build for companies.In this scene, the BIM data organization method based on blockchain is based on a central method, also known as a private blockchain or consortium blockchain method. As shown in Figure3, the following steps are specifically included:(1)
The center node records the BIM data which needs to be saved on the local storage media and packages it uniformly into the blockhead everyP time.(2)
Assuming that the BIM data recorded duringP time are BIM1,BIM2,…,BIMn. The method of unifying the packet into the blockheads is as follows: the block is recorded asBIMDATA, and the composition of the block includes BIM1,BIM2,…,BIMn; eachBIMi includes metadata-META, modified BIM data-BIMNEW, and access address of modified BIM data-BIMLOCATION, where I∈[1,n], and the method of recording the blockhead can know where the BIM has been changed and what it is after changing.(3)
Calculate the hash value of the blockBIMHASH=Hash(BIM1∥BIM2∥⋯∥BIMn); the functions that calculate the hash value include SHA256,SHA1andMD5.(4)
The area is recorded as BIMHEAD, and the composition of the blockhead includesPreviousHash, BIMHASH, LinkofDATA, Timestamp,andBIMINDEXandSignature.PreviousHash can ensure that the previous block has not been modified,BINHASH can ensure theBIMDATA is not modified,Linkofdata can find the location ofBIMDATA andTimestamp,Timestamp is the time stamp that establishes the blockhead which marks the time series of the block,BIMINDEX is a global index information about the BIM module including keywords, object number, and model number, andSignature ensures the authority of the block, which is generated by the central node of the private blockchain. In this paper,PreviousHash is the hash value of the previous block head,LinkofDATA is the access address of blockBIMDATA,Timestamp is a time stamp for building blocks, andSignature is the signature ofPreviousHash, BIMHASH,LinkofDATAandTimestamp by the central node using its private key, namely, Sign(PreviousHash∥BIMHASH∥LinkofDATA∥Timestamp).Figure 3
Flowchart of BIM data organization method based on blockchain.The resulting block data structure is shown in Figure4.Figure 4
Private blockchain block data structure diagram.


### 4.5. Discussion

Next, we discuss the proposed novel bcBIM model implementation in the process of developing BIM architectural projects.Application of bcBIM model in design: using bcBIM model in design stage, the architectural design can be analyzed and optimized to ensure the constructibility of design. First of all, we should establish 3D design models of related construction projects, including constructions, structures, and construction equipment. Secondly, based on the established 3D design model, design detection and collaborative modification can be carried out. Design detection can set relevant parameters according to the requirement and determine the detection range, so as to detect design conflicts and constructibility problems. Next, with the help of bcBIM, it is possible to analyze and communicate the above problems in time, so as to solve the problems in an effective way, and obtain a reasonable construction drawing. In addition, the 3D design of projects will be realized through the established models. bcBIM has the ability to generate a variety of graphics and documents automatically from 3D models which are always related to models’ logics. When a model changes, the graphics and documents which are associated with it are automatically updated. Compared to the traditional BIM model, it is worth noting that the modified records can be tracked in bcBIM.Application of bcBIM model in construction: bcBIM model is used to carry out the virtual construction of projects through simulating, analyzing, and optimizing the project construction plan, so as to discover the possible problems during the construction and take precaution measures before beginning construction. With the help of bcBIM, it is greatly reducing the cost of rework, the waste of resources, and safety issues when guiding actual construction. As the complexity of the project increases, such as the increase in size or the complexity of building coefficients, traditional 2D cannot express buildings intuitively and accurately. In this paper, the application of bcBIM technology changes the building from 2D to nD, so as to solve the problem of shortening the construction period and controlling the cost.In addition, bcBIM can provide additional advantages in further expansion, as shown below:( 1 ) Financial services: in the construction industry, a large amount of capital is exchanged for equipment, materials, and services. bcBIM provides strong support for supply chain financing. In addition, since blockchain is nontampered, safe, and reliable, it can provide reliable guarantee for financial activities in supply chain finance. At the same time, financial audit during operation can also provide transparent, notarized, and untouchable records through blockchain, so as to guarantee operational share and asset transfers.( 2 ) Credit reporting and ownership management: the certification of the relevant qualification of building materials products can only be carried out by the previous centralized organization; thus there will inevitably be counterfeit and shoddy products. Since data on blockchain cannot be tampered, bcBIM can comply with the relevant evaluation standards and certification products. The preservation of relevant authentication and qualification in blockchain not only ensures fairness, but also guarantees objectivity, eliminating the occurrence of fake and inferior commodities. In addition, ownership management of digital assets such as design drawings, BIM models, and BIM components may be another application point. With the help of blockchain, architects and builders of buildings can store information in a nontampering and nonrepudiation manner. Once occurrence quality safety accident may follow up the related responsible person according to the chart and once blockchain identifies digital assets, online transactions can take place, creating a healthy ecosystem.( 3 ) Resource sharing: the decentralized application of blockchain can reduce the cost of management in leasing management of large equipment such as shield machine and tower crane. In addition to physical devices, resource sharing of digital assets based on blockchain may be realized faster.( 4 ) Trade management: blockchain technology can help automate cumbersome procedures and processes in building materials trade and logistics supply chains. Moreover, bcBIM will bring great convenience to participating multiparty enterprises. Therefore, the digitization of sales contracts and legal contracts in terms of trade, goods monitoring and detection, and real-time payment can enable bcBIM to display its skills.


## 4.1. Proposed Basic Architecture

In this section, we propose the mobile cloud BIM architecture for further ICT paradigms.


### 4.1.1. BIM as a Service: BIMaaS

BIMaaS is a cloud service for providing outsourced BIM data storage and computation. It can be looked as a united virtual central server by harvesting multiple computing resources, which provides an on-demand storage and computation service. BIMaaS is managed by dedicated cloud computing software. It can smoothly respond to any storage and computation requests by migrating or redistributing the tasks to a resource pool, which is transparent to users. Thus, users do not need to care about the implementation details on BIMaaS and just look it as a virtual server.The BIMaaS can be further classified into two folders:( 1 ) BIM data are outsourced to a public cloud that is provided by cloud service companies such as AWS, Azure, and AliYun. Such public cloud service is paid according to the resource requirements. The initial investment for hardware and software is avoided, as both of them are rented from the public BIMaaS. It can obviously decrease the startup budget for small business in AEC industry. Besides, the management of BIMaaS can also be outsourced to public BIMaaS, the personnel enrollments and cost for human resources may also be alleviated.( 2 ) For some giant companies in AEC industry, it may be possible to integrate private BIMaaS by themselves. Such companies have already deployed an information infrastructure such as data center before. They usually have their ICT division and have a large number of human resources for ICT supports. Thus, they construct their private BIMaaS services via some publicly available software tools such as OpenStack.


### 4.1.2. Big Data Sharing among BIMaaS

With the development of BIMaaS, BIM data is accumulated with time elapsing and project conducting. Even for one building, a large volume of BIM data is aggregated. Once revision occurs during a construction life time, all historical data may also be snapshot and stored for further audit. For example, once a design for a model is modified, all legacy versions may also be stored respectively for tracing revised model locations and parameters. When such traceability is required for critical structures or components, an additive data organization with provenance capability will be required. In addition, BIM data sharing should be a trend once the data is accumulated sufficiently large. For example, for different buildings in the same category, BIM data can be mutually accessed or referenced among them. Some validated best practices and design experiences can be migrated from one project (building) to another. Some common characteristics in design can be abstracted by data mining or machine learning. Information exchanges between BIM data will let users form a global view of specific design in multiple projects.


### 4.1.3. Pervasively Accessing by Mobile Terminals

Anyone can access BIM data and revoke the BIM computation service such as model visualization from BIMaaS or big data pool. Mobile terminal is a convenient tool for mobile users, especially field engineers in smart construction. It is a hand-held device that can access the BIM information any time anywhere by wireless. It can be divided into two folders as follows:( 1 ) Mobile terminals can be hand-held devices such as smart phones, tablets, laptops, and so on. Currently, such devices are largely used as personal computing tools. By them, designers can verify the conformation of engineering regulation; the monitors can check the schedules of engineering procedures; the suppliers can consult the future requirements for material resources.( 2 ) Mobile terminals can be wearable devices such as smart watches, smart glasses, and smart helmets. Those are equipped with sensors for instant information collection, or displayers for smooth human-machine interaction. For example, wireless sensors for environmental monitors, 3D information presentation such as Virtual Reality (VR), or Augmented Reality (AR). It can improve operational efficiency, especially for field engineers in a limited space. It can support smart and automatic construction scenarios. For example, smart helmet for engineers on constructing fields may access BIM data remotely and reconstruct VR by the latest data. Construction robots may access BIM data and collect sensing information from sensors in constructing fields to evaluate sustainable design parameters for green houses.


### 4.1.4. Automatically Exchanging by Internet of Things

Internet of Things (IoTs) is a network with wireless sensors. In smart construction, those sensors may deploy with facilities in operational fields, with Internet accessing via wireless communications such as 4G or NB-IOT. Those sensors can collect the construction environmental data and upload them into BIMaaS server, once those data can help the revision or improvement of the design in BIM. For example, wind and sunshine design evaluation for green construction can be justified or amended after analysis from the field sensing data during the construction. This feedback will enhance the initial design in BIM that only relies on simulation or emulation, but also is manipulated from realistic on-site parameters. Moreover, the construction engineering machines (e.g., crane) that are equipped wireless devices can also access BIM data in BIMaaS. They may access the BIM information automatically and display the result to operators to guide the future instructions. Some equipment such as surveillance video cameras can automatically set up the direction of lens by fetch specific installation data from BIMaaS.In summary, BIMaaS provides a storage and computation service for BIM data, including data retrieval, data updating, and data computation. BIM big data is accumulatively merged and shared to form a unified resource pool for responding on-demanded requests from traditional desktop PCs or especially mobile terminals in construction fields. Some special wearable devices such as helmets may provide more enhancement for BIM information presentation. BIM data can be accessed any time anywhere, not only by mobile devices but also by wireless sensors. Those sensors create IoTs to collect critical data about on-site construction on time. The analysis on those data can help reevaluate the quality of design or construction and provide amending feedback. Moreover, IoT devices on construction machine can access and display BIM data, to empower the intelligence of construction machines. This architecture not only enables the pervasive retrievals of BIM information, but also supports the ubiquitous information exchanging or cooperatively constructing. It provides a promising framework for the exchanging and sharing of BIM data in smart construction.


### 4.1.5. Structure of Blockchain

Blockchain is a distributed ledger, a technical solution to collectively maintain a reliable database through decentralized, trusted ways, and blockchain is a distributed database that is almost impossible to change. “Distributed” here is not only a distributed storage of data, but also a distributed record of data (i.e., shared by the system participants); blockchain is not a single technology, but a result of a variety of technology integration; these technologies are in a new structure together to form a new way of data recording, storage, and expression. Combined with these technologies, the contents of the scheme after adopting the present invention will be difficult to be modified, and the security can be improved.Data stored using blockchain technology is also time series, tamper-proof, forged, and privacy-pending, which is proven in many documents. bcBIM also inherits these features and guarantees the absolute security of the information data from two aspects: one is to ensure that the pseudo-block does not appear on the blockchain.Each node in the receipt of the new block will be the block validation; pseudo-block because it can not be verified will be discarded and will not be written into the blockchain, if the malicious node would like to use pseudo-branched chain to replace the correct blockchain, which is the computing power of today’s computer which is almost impossible to achieve the task; the other is to ensure that the data in the chain will not be modified. Because each chunk contains the hash value of the previous chunk, if the malicious node changes a chunk of data, you must change the chunk behind all the blocks which are changed, but also in the future with their own pseudo-branched chain to cover the correct blockchain, in terms of modern computer capabilities, this is also an impossible task.The basic processing unit of blockchain technology is a data block that stores all transaction data and related verification information for a certain period of time. The blockchain is combined into a specific data structure in chronological order, which forms the nontamper and nonfalsification data sharing information guaranteed by cryptography, and uses the SHA 256 algorithm and the Merkle tree to realize the data management system with simple and safe storage, successive relation, efficient and fast verification [27].Block is the basic unit of block chain, which is composed of blocks and blocks. The block header contains block ID, version number, previous block hash value, timestamp, Merkle root, the block target hash value, and so on. The main body of the block contains the main data information of the block, including identity certificate, transaction content, amount of breach of contract, and so on (Figure1).Figure 1
Format of block.The characteristic of BIM data organization method based on blockchain is that each newly generated block saves the hash value of the previous block. Therefore, we combine BIM with blockchain to provide BIM data organization method which can track, prove, and prevent tampering of BIM historical data. At the same time, it can generate unified format to support open sharing of future data.


## 4.1.1. BIM as a Service: BIMaaS

BIMaaS is a cloud service for providing outsourced BIM data storage and computation. It can be looked as a united virtual central server by harvesting multiple computing resources, which provides an on-demand storage and computation service. BIMaaS is managed by dedicated cloud computing software. It can smoothly respond to any storage and computation requests by migrating or redistributing the tasks to a resource pool, which is transparent to users. Thus, users do not need to care about the implementation details on BIMaaS and just look it as a virtual server.The BIMaaS can be further classified into two folders:( 1 ) BIM data are outsourced to a public cloud that is provided by cloud service companies such as AWS, Azure, and AliYun. Such public cloud service is paid according to the resource requirements. The initial investment for hardware and software is avoided, as both of them are rented from the public BIMaaS. It can obviously decrease the startup budget for small business in AEC industry. Besides, the management of BIMaaS can also be outsourced to public BIMaaS, the personnel enrollments and cost for human resources may also be alleviated.( 2 ) For some giant companies in AEC industry, it may be possible to integrate private BIMaaS by themselves. Such companies have already deployed an information infrastructure such as data center before. They usually have their ICT division and have a large number of human resources for ICT supports. Thus, they construct their private BIMaaS services via some publicly available software tools such as OpenStack.


## 4.1.2. Big Data Sharing among BIMaaS

With the development of BIMaaS, BIM data is accumulated with time elapsing and project conducting. Even for one building, a large volume of BIM data is aggregated. Once revision occurs during a construction life time, all historical data may also be snapshot and stored for further audit. For example, once a design for a model is modified, all legacy versions may also be stored respectively for tracing revised model locations and parameters. When such traceability is required for critical structures or components, an additive data organization with provenance capability will be required. In addition, BIM data sharing should be a trend once the data is accumulated sufficiently large. For example, for different buildings in the same category, BIM data can be mutually accessed or referenced among them. Some validated best practices and design experiences can be migrated from one project (building) to another. Some common characteristics in design can be abstracted by data mining or machine learning. Information exchanges between BIM data will let users form a global view of specific design in multiple projects.


## 4.1.3. Pervasively Accessing by Mobile Terminals

Anyone can access BIM data and revoke the BIM computation service such as model visualization from BIMaaS or big data pool. Mobile terminal is a convenient tool for mobile users, especially field engineers in smart construction. It is a hand-held device that can access the BIM information any time anywhere by wireless. It can be divided into two folders as follows:( 1 ) Mobile terminals can be hand-held devices such as smart phones, tablets, laptops, and so on. Currently, such devices are largely used as personal computing tools. By them, designers can verify the conformation of engineering regulation; the monitors can check the schedules of engineering procedures; the suppliers can consult the future requirements for material resources.( 2 ) Mobile terminals can be wearable devices such as smart watches, smart glasses, and smart helmets. Those are equipped with sensors for instant information collection, or displayers for smooth human-machine interaction. For example, wireless sensors for environmental monitors, 3D information presentation such as Virtual Reality (VR), or Augmented Reality (AR). It can improve operational efficiency, especially for field engineers in a limited space. It can support smart and automatic construction scenarios. For example, smart helmet for engineers on constructing fields may access BIM data remotely and reconstruct VR by the latest data. Construction robots may access BIM data and collect sensing information from sensors in constructing fields to evaluate sustainable design parameters for green houses.


## 4.1.4. Automatically Exchanging by Internet of Things

Internet of Things (IoTs) is a network with wireless sensors. In smart construction, those sensors may deploy with facilities in operational fields, with Internet accessing via wireless communications such as 4G or NB-IOT. Those sensors can collect the construction environmental data and upload them into BIMaaS server, once those data can help the revision or improvement of the design in BIM. For example, wind and sunshine design evaluation for green construction can be justified or amended after analysis from the field sensing data during the construction. This feedback will enhance the initial design in BIM that only relies on simulation or emulation, but also is manipulated from realistic on-site parameters. Moreover, the construction engineering machines (e.g., crane) that are equipped wireless devices can also access BIM data in BIMaaS. They may access the BIM information automatically and display the result to operators to guide the future instructions. Some equipment such as surveillance video cameras can automatically set up the direction of lens by fetch specific installation data from BIMaaS.In summary, BIMaaS provides a storage and computation service for BIM data, including data retrieval, data updating, and data computation. BIM big data is accumulatively merged and shared to form a unified resource pool for responding on-demanded requests from traditional desktop PCs or especially mobile terminals in construction fields. Some special wearable devices such as helmets may provide more enhancement for BIM information presentation. BIM data can be accessed any time anywhere, not only by mobile devices but also by wireless sensors. Those sensors create IoTs to collect critical data about on-site construction on time. The analysis on those data can help reevaluate the quality of design or construction and provide amending feedback. Moreover, IoT devices on construction machine can access and display BIM data, to empower the intelligence of construction machines. This architecture not only enables the pervasive retrievals of BIM information, but also supports the ubiquitous information exchanging or cooperatively constructing. It provides a promising framework for the exchanging and sharing of BIM data in smart construction.


## 4.1.5. Structure of Blockchain

Blockchain is a distributed ledger, a technical solution to collectively maintain a reliable database through decentralized, trusted ways, and blockchain is a distributed database that is almost impossible to change. “Distributed” here is not only a distributed storage of data, but also a distributed record of data (i.e., shared by the system participants); blockchain is not a single technology, but a result of a variety of technology integration; these technologies are in a new structure together to form a new way of data recording, storage, and expression. Combined with these technologies, the contents of the scheme after adopting the present invention will be difficult to be modified, and the security can be improved.Data stored using blockchain technology is also time series, tamper-proof, forged, and privacy-pending, which is proven in many documents. bcBIM also inherits these features and guarantees the absolute security of the information data from two aspects: one is to ensure that the pseudo-block does not appear on the blockchain.Each node in the receipt of the new block will be the block validation; pseudo-block because it can not be verified will be discarded and will not be written into the blockchain, if the malicious node would like to use pseudo-branched chain to replace the correct blockchain, which is the computing power of today’s computer which is almost impossible to achieve the task; the other is to ensure that the data in the chain will not be modified. Because each chunk contains the hash value of the previous chunk, if the malicious node changes a chunk of data, you must change the chunk behind all the blocks which are changed, but also in the future with their own pseudo-branched chain to cover the correct blockchain, in terms of modern computer capabilities, this is also an impossible task.The basic processing unit of blockchain technology is a data block that stores all transaction data and related verification information for a certain period of time. The blockchain is combined into a specific data structure in chronological order, which forms the nontamper and nonfalsification data sharing information guaranteed by cryptography, and uses the SHA 256 algorithm and the Merkle tree to realize the data management system with simple and safe storage, successive relation, efficient and fast verification [27].Block is the basic unit of block chain, which is composed of blocks and blocks. The block header contains block ID, version number, previous block hash value, timestamp, Merkle root, the block target hash value, and so on. The main body of the block contains the main data information of the block, including identity certificate, transaction content, amount of breach of contract, and so on (Figure1).Figure 1
Format of block.The characteristic of BIM data organization method based on blockchain is that each newly generated block saves the hash value of the previous block. Therefore, we combine BIM with blockchain to provide BIM data organization method which can track, prove, and prevent tampering of BIM historical data. At the same time, it can generate unified format to support open sharing of future data.


## 4.2. Blockchain-Based Model for Audit and Provenance

In this section, we propose to use blockchain to facilitate the audit and provenance of historical BIM data.Blockchain consists of a data structure with cryptographic hash value to guarantee the integrity of a serial data. The major items in proposed blockchain-based model are as follows (::= denotes that “is defined as”):(1)
Block::=〈BlockHead,Data〉. BlockHead guarantees the integrity (nonmodification) of Data and modifying history of Data.(2)
BlockHead::=〈PreviousBlockHash,DataHash,Nonce, Difficulty, Timestamp〉. The PreviousBlockHash is the hash value of the intermediate previous block head. DataHash is the hash value of Data in this block. Nonce is a value to be determined by randomly checking whether.Zero(Hash(PreviousBlockHash∥DataHash∥Timestamp∥Nonce))≥Difficulty. Zero(·) is a function that returns the number of left consecutive zeros in an inputting string in bytes. Difficulty is an integer to tell the requirement on how many consecutive zeros in the head of hash result. For example, Difficulty=2 means the first 2 bytes of target hash outputting is 0. That is, the first 2 bytes of Hash(·) is 0. Timestamp is the time snapshot of current packaging block.(3)
Data::=〈Metadata,BIMdata〉. Metadata is an optional tuple for data description on BIMdata, which can be empty. The BIMdata is a mandatory tuple for concrete BIM data. Once BIM data is modified, Data will be created and wait for being appended into blockchain in a batch.(4)
PreviousBlockHash=Hash(BlockHead), where BlockHead is the previous blockhead where PreviousBlockHash tuple is located. That is, the hash value of previous blockhead is embedded into next block head. It can also be looked as a link of two adjacent block heads.(5)
DataHash=Hash(BIMdata1∥BIMdata2∥⋯∥BIMdatan). Suppose the number of BIM in this time-span is n. That is, it is the numbers of BIM data that will be packaged in blockchain during a block generation period. DataHash guarantees the integrity of block contents consisting of modified BIM data.The purpose of blockchain is to record the historical process of BIM record modification. A blockhead is composed of multiple BIM data, which can speed up the uplink of BIM record modification. The necessary BIM data need to record the history of modification, but the ordinary BIM can not implement it. The method of calculating block hash values can get hash values of all uplink BIM data more quickly and efficiently than calculating Merkle tree roots. We propose a BIM via blockchain to storage data, which solve the problem of tracing, proving, and preventing tampering with BIM historical data. At the same time, it can generate a unified format to support future open sharing. This method uses the hash structure of blockhead to ensure the integrity of all block data. In addition, block integrity is guaranteed by hash value, and the signature guarantees blockhead’s integrity. The value of hash and nonce in blockhead guarantees fair consensus and nontampering.


## 4.3. Example: Public Blockchain bcBIM

In this scene, the blockchain-based BIM data organization method is based on a decentralized measure, also known as a public blockchain method, which includes the following steps:(1)
Each node of the public blockchain, denoted asB, is usually a node with its own independent BIM data. It is necessary to establish the openness and sharing of BIM data among all nodes and maintain irreparable data modification and traceability of time.(2)
The central node of the public blockchain records the BIM data which need to be saved in the local storage medium and uniformly packs it into the blockhead at everyP time.(3)
Assume that the BIM data recorded inP time are BIM1,BIM2,…,BIMn. The method of uniformly packing blocks into blockheads is as follows: Blocks are recorded asBIMDATA, and the components of the blocks include BIM1,BIM2,…,BIMn; eachBIMi includes metadata, modified BIM data and access address of modified BIM data; calculate BIMHASH=Hash(BIM1∥BIM2∥⋯∥BIMn).(4)
The blockhead is namedBIMHEAD; its composition includesPreviousHash, BIMHASH, LinkOfDATA, Timestamp,andNonceandRequirement.PreviousHash is the hash value of the previous blockhead;LinkofDATA is the access address of current blockBIMDATA;Timestamp is a time stamp for building blockheads;Nonce is a random number;Requirement is a requirement for hash value; that is, Hash(PreviousHash∥BIMHASH∥LinkOfDATA∥Timestamp∥Nonce∥ID) meets the Requirement.(5)
Each center node adds data to the entire public blockchain. Each central node needs to calculate theNonce value that meets theRequirement. According to the nature of the hash function,Nonce’s calculations can only rely on random attempt. Next, the central node broadcasts the calculated block, and if everyone passes the verification, it is deemed to be correct. In addition, recording block work will be rewarded to the recorder, and the reward will be completed offline according to the statistics ofID.(6)
Password-safe hash functions includeSHA256,SHA1andMD5.The block data structure is shown in Figure2.Figure 2
Public blockchain block data structure diagram.Each newly generated block holds the hash value of the previous block. Due to the characteristics of the hash function, whatever small modifications will lead to great changes in the results. Therefore, the data uploaded by users cannot be tampered. Besides,Nonce is a random number which causes the block hash value having a number of 0 before it, and the number of 0 is determined by the value ofRequirement, such asRequirement = 5.


## 4.4. Example: Private Blockchain bcBIM

bcBIM on the public blockchain is primarily used for autonomous organizations, but private blockchain may be easier to build for companies.In this scene, the BIM data organization method based on blockchain is based on a central method, also known as a private blockchain or consortium blockchain method. As shown in Figure3, the following steps are specifically included:(1)
The center node records the BIM data which needs to be saved on the local storage media and packages it uniformly into the blockhead everyP time.(2)
Assuming that the BIM data recorded duringP time are BIM1,BIM2,…,BIMn. The method of unifying the packet into the blockheads is as follows: the block is recorded asBIMDATA, and the composition of the block includes BIM1,BIM2,…,BIMn; eachBIMi includes metadata-META, modified BIM data-BIMNEW, and access address of modified BIM data-BIMLOCATION, where I∈[1,n], and the method of recording the blockhead can know where the BIM has been changed and what it is after changing.(3)
Calculate the hash value of the blockBIMHASH=Hash(BIM1∥BIM2∥⋯∥BIMn); the functions that calculate the hash value include SHA256,SHA1andMD5.(4)
The area is recorded as BIMHEAD, and the composition of the blockhead includesPreviousHash, BIMHASH, LinkofDATA, Timestamp,andBIMINDEXandSignature.PreviousHash can ensure that the previous block has not been modified,BINHASH can ensure theBIMDATA is not modified,Linkofdata can find the location ofBIMDATA andTimestamp,Timestamp is the time stamp that establishes the blockhead which marks the time series of the block,BIMINDEX is a global index information about the BIM module including keywords, object number, and model number, andSignature ensures the authority of the block, which is generated by the central node of the private blockchain. In this paper,PreviousHash is the hash value of the previous block head,LinkofDATA is the access address of blockBIMDATA,Timestamp is a time stamp for building blocks, andSignature is the signature ofPreviousHash, BIMHASH,LinkofDATAandTimestamp by the central node using its private key, namely, Sign(PreviousHash∥BIMHASH∥LinkofDATA∥Timestamp).Figure 3
Flowchart of BIM data organization method based on blockchain.The resulting block data structure is shown in Figure4.Figure 4
Private blockchain block data structure diagram.


## 4.5. Discussion

Next, we discuss the proposed novel bcBIM model implementation in the process of developing BIM architectural projects.Application of bcBIM model in design: using bcBIM model in design stage, the architectural design can be analyzed and optimized to ensure the constructibility of design. First of all, we should establish 3D design models of related construction projects, including constructions, structures, and construction equipment. Secondly, based on the established 3D design model, design detection and collaborative modification can be carried out. Design detection can set relevant parameters according to the requirement and determine the detection range, so as to detect design conflicts and constructibility problems. Next, with the help of bcBIM, it is possible to analyze and communicate the above problems in time, so as to solve the problems in an effective way, and obtain a reasonable construction drawing. In addition, the 3D design of projects will be realized through the established models. bcBIM has the ability to generate a variety of graphics and documents automatically from 3D models which are always related to models’ logics. When a model changes, the graphics and documents which are associated with it are automatically updated. Compared to the traditional BIM model, it is worth noting that the modified records can be tracked in bcBIM.Application of bcBIM model in construction: bcBIM model is used to carry out the virtual construction of projects through simulating, analyzing, and optimizing the project construction plan, so as to discover the possible problems during the construction and take precaution measures before beginning construction. With the help of bcBIM, it is greatly reducing the cost of rework, the waste of resources, and safety issues when guiding actual construction. As the complexity of the project increases, such as the increase in size or the complexity of building coefficients, traditional 2D cannot express buildings intuitively and accurately. In this paper, the application of bcBIM technology changes the building from 2D to nD, so as to solve the problem of shortening the construction period and controlling the cost.In addition, bcBIM can provide additional advantages in further expansion, as shown below:( 1 ) Financial services: in the construction industry, a large amount of capital is exchanged for equipment, materials, and services. bcBIM provides strong support for supply chain financing. In addition, since blockchain is nontampered, safe, and reliable, it can provide reliable guarantee for financial activities in supply chain finance. At the same time, financial audit during operation can also provide transparent, notarized, and untouchable records through blockchain, so as to guarantee operational share and asset transfers.( 2 ) Credit reporting and ownership management: the certification of the relevant qualification of building materials products can only be carried out by the previous centralized organization; thus there will inevitably be counterfeit and shoddy products. Since data on blockchain cannot be tampered, bcBIM can comply with the relevant evaluation standards and certification products. The preservation of relevant authentication and qualification in blockchain not only ensures fairness, but also guarantees objectivity, eliminating the occurrence of fake and inferior commodities. In addition, ownership management of digital assets such as design drawings, BIM models, and BIM components may be another application point. With the help of blockchain, architects and builders of buildings can store information in a nontampering and nonrepudiation manner. Once occurrence quality safety accident may follow up the related responsible person according to the chart and once blockchain identifies digital assets, online transactions can take place, creating a healthy ecosystem.( 3 ) Resource sharing: the decentralized application of blockchain can reduce the cost of management in leasing management of large equipment such as shield machine and tower crane. In addition to physical devices, resource sharing of digital assets based on blockchain may be realized faster.( 4 ) Trade management: blockchain technology can help automate cumbersome procedures and processes in building materials trade and logistics supply chains. Moreover, bcBIM will bring great convenience to participating multiparty enterprises. Therefore, the digitization of sales contracts and legal contracts in terms of trade, goods monitoring and detection, and real-time payment can enable bcBIM to display its skills.


## 5. Security Analysis and Performance Analysis

In this section, we will analyze the security and performance of bcBIM.


### 5.1. Security Analysis

If a blockhead is changed, the hash value of the block head, denoted asHash(BlockHead), will be changed too. It is computationally intractable to compute a block that is distinct with the original block but has the same hash value. That is, given Hash(BlockHead)=a, it is computationally intractable to compute BlockHead′ such that Hash(BlockHead′)=a. In cryptography, it is called second preimage resistance.Similarly, if a block data is changed, the hash value of block data will be changed. That is, ifData is altered, DataHash will be altered too. It will consequently alter related BlockHead and corresponding PreviousBlockHash, as well as all later influenced blocks in whole blockchain. In other words, once one Data is changed, some items in blockchain must be changed for consistence. Otherwise, it is very likely to detect such changes and inconsistence in blockchain.The blockchain cannot be modified by any attackers. If any modification of any tuple in blockchain occurs,Nonce will be fault with high probability (that will be explained later) because anyone can detect the inconsistence by verifying whether Zero(Hash(PreviousBlockHash∥DataHash∥Timestamp∥Nonce))≥Difficulty. If attackers try to find corresponding Nonce to maintain the consistence, it will cost a large amount of computation and almost impossible to recreate a fake blockchain that is longer than original blockchain.The separation of blockhead and block data will let the blockhead maintain the same size. The size of block data is varied and related to the number of modified BIM data. It can also make the computation ofPreviousBlockHash be more efficient, because the fix length of block head. The searching of Nonce will be energy and time saving.The details of BIM data depends on the context, such as specific storage modes in underlying BIM systems, whose semantics is independent with our design. For example, if a model or parameter is changed, the location of modified value in terms of specific table, column, or tuple will be also recorded, depending on the specific selection of underlying database system in concrete BIM systems waiting for blochchain enhancement.D a t a H a s h is generated by concatenation instead of Merkel tree root. Concatenation can reduce the hash computation from O(n2) to 1, which will be analyzed in detail later.D a t a and DataHash have an implicit linkage between them. Given DataHash, there exists one and only one Data such that DataHash=Hash(Data). Inversely, given Data, there exists one and only one DataHash such that DataHash=Hash(Data). In implementation, an explicit linkage can be added for fast jumping such as a variable with point type in C programming language.Similarly,PreviousBlockHash and previous block have an implicit linkage between them. Given PreviousBlockHash, there exists one and only one Block such that PreviousBlockHash=Hash(BlockHead). Inversely, given PreviousBlockHash, there exists one and only one Block such thatP r e v i o u s B l o c k H a s h = H a s h ( B l o c k H e a d ) . In implementation, an explicit linkage can be added for fast fetching such as a variable with point type in C programming language.Proposition 1.
If any item in blockhead is changed,
Z e r o ( H a s h ( P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ∥ N o n c e ) ) D i f f i c u l t y is maintained with the probability 1/2Difficulty∗8.Proof.
The computation of hash function is assumed to be computationally indistinguishable with a random selection of a range[0,2L] where L is the length of hash function output. Each bit is a coin tossing with probability 1/2 with 0 and 1. The number of consecutive zeros in front of hash value is at least Difficulty∗8; thus the probability is 1/2Difficulty∗8. If Difficulty is sufficiently large, the probability will be small enough to negligible.Proposition 2.
Our proposed model reduces the hash computation fromO(n2) to 1 by concatenation.Proof.
If the number of BIM data isn. For computing Merkel tree root, the number of hash function computation is n+n/2+n/4+⋯+1. 1+1+⋯1=n<n+n/2+n/4+⋯+1<n+n+=n∗n=n2. Thus, the computation cost is O(n2). But, in our proposed model, the number of hash computation is 1, as desired.Proposition 3.
If the size of BIM data iss, the number of BIM data during the period of locking data into blockchain is n; that is, the size of one block is about b=s∗n.Proof.
Straightforward.s=Metadata∥BIMdata, b=Block, b=s∗n+Blockhead≈s∗n, when s∗n>>|Blockhead|.The block size can be tuned by setting different period of packaging blocks into blockchain. The period influences the timestamp gap between adjacent revision.Proposition 4.
InBlockHead, the Nonce is computed by
Z e r o ( H a s h ( P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ∥ N o n c e ) ) ≥ D i f f i c u l t y and only by random trials.Proof.
N o n c e is computed by
Z e r o ( H a s h ( P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ∥ N o n c e ) ) ≥ D i f f i c u l t y after given PreviousBlockHash∥DataHash∥Timestamp. As the value of Hash(·) is unpredictable and almost random (normal distribution in outputting range), Hash(·∥Nonce) is almost random. It can only be achieved by brute force trials to find satisfying Nonce such that Zero(Hash(·∥Nonce))≥Difficulty.D i f f i c u l t y can be tuned by default regulation such as letting the searching period for Nonce to p where p depends on the requirements on modification audit or revision frequency (e.g., 24 hours).Proposition 5.
Suppose the computing throughput of hash function on average computing devices isc (in terms of MHPS denoting Million Hash Per Second), the time cost t (in terms of s) for searching of Nonce can be estimated by
t = 2 D i f f i c u l t y ∗ 8 / 1 0 6 ∗ c = 2 D i f f i c u l t y ∗ 8 / 1 0 6 ∗ c, where Difficulty specifies the number of consecutive zeros in the leftmost of hash value.Proof.
The probability of one time success for required hash value is1/2Difficulty∗8. Thus, the number of times for hash computation is 2Difficulty∗8. The computation throughput of hash function is c MHPS, or 106∗c times of hash per second. Therefore, the time for one successful searching of Nonce is 2Difficulty∗8/(106∗c) on average or in expectation.Proposition 6.
In private blockchain, blockhead could be
B l o c k H e a d   : : = 〈 P r e v i o u s B l o c k H a s h , D a t a H a s h,Sig,Timestamp〉, where Sig is the signature of blockchain generator, and
S i g = S i g n ( P r i K e y , P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ), where Sign(·) is a signing function of an asymmetric cryptography.Proof.
Straightforward. In private blockchain that all blocks are packaging by generators, blockchain generators are trustworthy. It signs the blockhead with its signature to guarantee the integrity of blockchain. All other users can check the integrity of blockchain by verifying the signature.In general, the blockhead is composed of multiple BIM data, which can speed up the updating speed of BIM record modification. In addition, the important BIM data needs to record the history of modifications. However, ordinary BIM cannot record the history of modifications. The scheme proposed in this paper can improve the security of BIM. The method of calculating block hash values can obtain all the hash values of upstream BIM data faster and more effectively than that of Merkle tree roots. In this paper, a method of BIM data storage based on blockchain is proposed, which solves the problem of tracking, proving and preventing tampering of BIM historical data. At the same time, it can also generate a unified format to support future open sharing. This method uses the chain hash structure of block heads to ensure the integrity of all block data. In addition, block integrity is guaranteed by block hash value, block signature guarantees block integrity, block hash and Nonce guarantees fairness, consistency and nontampering.


### 5.2. Performance Analysis

In this section, we mainly perform performance analysis on transaction throughput and uplink delay.On the one hand, transaction throughput mainly tests one indicator: call contract TPS. For blockchain systems, TPS is a new transaction record generated every second. In theory, Bitcoin can only handle seven transactions per second, one block per 10 minutes, which is equivalent to 7 transaction throughput. Bitcoin’s transaction processing speed is 6 to 7 transactions per second for public chains. However, this transaction throughput can not meet the business needs of enterprises. For consortium chains, thousands of transactions can be processed per second. Miners pack blocks and submit them to the network, and each blockchain contains a certain number of transaction records. Thus in the bcBIM system, we can also calculate TPS: TPS = the number of transactions contained in a block / block generation time. Take Bitcoin as an example, one block size is 1 mb, and the average size of each transaction record is 495 bytes. The average number of transactions per block = 1∗ 1024 ∗ 1024 bytes/495 = 2118. Block generation time is about 10 minutes, that is, TPS = 2118 /(10∗60) = 3.53.On the other hand, in terms of uplink delay time, the inherent property of blockchain leads to transaction delay. The time of public chain is fixed, and the transaction delay is 10 minutes. In order to be safe, it is necessary to wait for at least six blocks to confirm the validity of payment. The generation of a block takes about 10 minutes, and the confirmation time is at least 1 hour. Besides, private blockchain is faster, the main delay is one signing time.


## 5.1. Security Analysis

If a blockhead is changed, the hash value of the block head, denoted asHash(BlockHead), will be changed too. It is computationally intractable to compute a block that is distinct with the original block but has the same hash value. That is, given Hash(BlockHead)=a, it is computationally intractable to compute BlockHead′ such that Hash(BlockHead′)=a. In cryptography, it is called second preimage resistance.Similarly, if a block data is changed, the hash value of block data will be changed. That is, ifData is altered, DataHash will be altered too. It will consequently alter related BlockHead and corresponding PreviousBlockHash, as well as all later influenced blocks in whole blockchain. In other words, once one Data is changed, some items in blockchain must be changed for consistence. Otherwise, it is very likely to detect such changes and inconsistence in blockchain.The blockchain cannot be modified by any attackers. If any modification of any tuple in blockchain occurs,Nonce will be fault with high probability (that will be explained later) because anyone can detect the inconsistence by verifying whether Zero(Hash(PreviousBlockHash∥DataHash∥Timestamp∥Nonce))≥Difficulty. If attackers try to find corresponding Nonce to maintain the consistence, it will cost a large amount of computation and almost impossible to recreate a fake blockchain that is longer than original blockchain.The separation of blockhead and block data will let the blockhead maintain the same size. The size of block data is varied and related to the number of modified BIM data. It can also make the computation ofPreviousBlockHash be more efficient, because the fix length of block head. The searching of Nonce will be energy and time saving.The details of BIM data depends on the context, such as specific storage modes in underlying BIM systems, whose semantics is independent with our design. For example, if a model or parameter is changed, the location of modified value in terms of specific table, column, or tuple will be also recorded, depending on the specific selection of underlying database system in concrete BIM systems waiting for blochchain enhancement.D a t a H a s h is generated by concatenation instead of Merkel tree root. Concatenation can reduce the hash computation from O(n2) to 1, which will be analyzed in detail later.D a t a and DataHash have an implicit linkage between them. Given DataHash, there exists one and only one Data such that DataHash=Hash(Data). Inversely, given Data, there exists one and only one DataHash such that DataHash=Hash(Data). In implementation, an explicit linkage can be added for fast jumping such as a variable with point type in C programming language.Similarly,PreviousBlockHash and previous block have an implicit linkage between them. Given PreviousBlockHash, there exists one and only one Block such that PreviousBlockHash=Hash(BlockHead). Inversely, given PreviousBlockHash, there exists one and only one Block such thatP r e v i o u s B l o c k H a s h = H a s h ( B l o c k H e a d ) . In implementation, an explicit linkage can be added for fast fetching such as a variable with point type in C programming language.Proposition 1.
If any item in blockhead is changed,
Z e r o ( H a s h ( P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ∥ N o n c e ) ) D i f f i c u l t y is maintained with the probability 1/2Difficulty∗8.Proof.
The computation of hash function is assumed to be computationally indistinguishable with a random selection of a range[0,2L] where L is the length of hash function output. Each bit is a coin tossing with probability 1/2 with 0 and 1. The number of consecutive zeros in front of hash value is at least Difficulty∗8; thus the probability is 1/2Difficulty∗8. If Difficulty is sufficiently large, the probability will be small enough to negligible.Proposition 2.
Our proposed model reduces the hash computation fromO(n2) to 1 by concatenation.Proof.
If the number of BIM data isn. For computing Merkel tree root, the number of hash function computation is n+n/2+n/4+⋯+1. 1+1+⋯1=n<n+n/2+n/4+⋯+1<n+n+=n∗n=n2. Thus, the computation cost is O(n2). But, in our proposed model, the number of hash computation is 1, as desired.Proposition 3.
If the size of BIM data iss, the number of BIM data during the period of locking data into blockchain is n; that is, the size of one block is about b=s∗n.Proof.
Straightforward.s=Metadata∥BIMdata, b=Block, b=s∗n+Blockhead≈s∗n, when s∗n>>|Blockhead|.The block size can be tuned by setting different period of packaging blocks into blockchain. The period influences the timestamp gap between adjacent revision.Proposition 4.
InBlockHead, the Nonce is computed by
Z e r o ( H a s h ( P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ∥ N o n c e ) ) ≥ D i f f i c u l t y and only by random trials.Proof.
N o n c e is computed by
Z e r o ( H a s h ( P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ∥ N o n c e ) ) ≥ D i f f i c u l t y after given PreviousBlockHash∥DataHash∥Timestamp. As the value of Hash(·) is unpredictable and almost random (normal distribution in outputting range), Hash(·∥Nonce) is almost random. It can only be achieved by brute force trials to find satisfying Nonce such that Zero(Hash(·∥Nonce))≥Difficulty.D i f f i c u l t y can be tuned by default regulation such as letting the searching period for Nonce to p where p depends on the requirements on modification audit or revision frequency (e.g., 24 hours).Proposition 5.
Suppose the computing throughput of hash function on average computing devices isc (in terms of MHPS denoting Million Hash Per Second), the time cost t (in terms of s) for searching of Nonce can be estimated by
t = 2 D i f f i c u l t y ∗ 8 / 1 0 6 ∗ c = 2 D i f f i c u l t y ∗ 8 / 1 0 6 ∗ c, where Difficulty specifies the number of consecutive zeros in the leftmost of hash value.Proof.
The probability of one time success for required hash value is1/2Difficulty∗8. Thus, the number of times for hash computation is 2Difficulty∗8. The computation throughput of hash function is c MHPS, or 106∗c times of hash per second. Therefore, the time for one successful searching of Nonce is 2Difficulty∗8/(106∗c) on average or in expectation.Proposition 6.
In private blockchain, blockhead could be
B l o c k H e a d   : : = 〈 P r e v i o u s B l o c k H a s h , D a t a H a s h,Sig,Timestamp〉, where Sig is the signature of blockchain generator, and
S i g = S i g n ( P r i K e y , P r e v i o u s B l o c k H a s h ∥ D a t a H a s h ∥ T i m e s t a m p ), where Sign(·) is a signing function of an asymmetric cryptography.Proof.
Straightforward. In private blockchain that all blocks are packaging by generators, blockchain generators are trustworthy. It signs the blockhead with its signature to guarantee the integrity of blockchain. All other users can check the integrity of blockchain by verifying the signature.In general, the blockhead is composed of multiple BIM data, which can speed up the updating speed of BIM record modification. In addition, the important BIM data needs to record the history of modifications. However, ordinary BIM cannot record the history of modifications. The scheme proposed in this paper can improve the security of BIM. The method of calculating block hash values can obtain all the hash values of upstream BIM data faster and more effectively than that of Merkle tree roots. In this paper, a method of BIM data storage based on blockchain is proposed, which solves the problem of tracking, proving and preventing tampering of BIM historical data. At the same time, it can also generate a unified format to support future open sharing. This method uses the chain hash structure of block heads to ensure the integrity of all block data. In addition, block integrity is guaranteed by block hash value, block signature guarantees block integrity, block hash and Nonce guarantees fairness, consistency and nontampering.


## 5.2. Performance Analysis

In this section, we mainly perform performance analysis on transaction throughput and uplink delay.On the one hand, transaction throughput mainly tests one indicator: call contract TPS. For blockchain systems, TPS is a new transaction record generated every second. In theory, Bitcoin can only handle seven transactions per second, one block per 10 minutes, which is equivalent to 7 transaction throughput. Bitcoin’s transaction processing speed is 6 to 7 transactions per second for public chains. However, this transaction throughput can not meet the business needs of enterprises. For consortium chains, thousands of transactions can be processed per second. Miners pack blocks and submit them to the network, and each blockchain contains a certain number of transaction records. Thus in the bcBIM system, we can also calculate TPS: TPS = the number of transactions contained in a block / block generation time. Take Bitcoin as an example, one block size is 1 mb, and the average size of each transaction record is 495 bytes. The average number of transactions per block = 1∗ 1024 ∗ 1024 bytes/495 = 2118. Block generation time is about 10 minutes, that is, TPS = 2118 /(10∗60) = 3.53.On the other hand, in terms of uplink delay time, the inherent property of blockchain leads to transaction delay. The time of public chain is fixed, and the transaction delay is 10 minutes. In order to be safe, it is necessary to wait for at least six blocks to confirm the validity of payment. The generation of a block takes about 10 minutes, and the confirmation time is at least 1 hour. Besides, private blockchain is faster, the main delay is one signing time.


## 6. Conclusions

In this paper, we proposed a novel BIM model for enhancing current BIM ICT architecture called bcBIM by a component, a blockchain-based BIM data audit mechanism for BIM data aggregation in time serials. bcBIM model can guarantee the BIM data integrity and provenance by adding blockchain in current BIM database and facilitate mobile computing and pervasive accessing for BIM information. bcBIM is very likely an inevitable trend because of the development of mobile devices such as smart phones and tablets, cloud computing, Internet of Things, and BIM big data sharing. The proposed bcBIM model can guide the design for further BIM information system and foster more interesting applications in BIM ICT systems, for example, accessing BIM cloud securely by engineering machines, construction robots, and wearable helmets in constriction area.We designed a blockchain-based method for BIM data aggregation including data structure and basic computation for consensus. We analyzed its system parameters such as security strength, block size, packaging period, and hashing time cost. This method uses blockchain record BIM to modify history to ensure the integrity and unverifiability of messages. Blockchain technology can greatly improve the security and quality of BIM data and solve the hidden security risks of modifying BIM model and parameters in intelligent structure. Therefore, the use of blockchain will greatly promote the development of BIM technology.



---

*Source: 5349538-2019-03-18.xml*