0% found this document useful (0 votes)
155 views

Blockchain and The Built Environment Potentials and Limitations-Annotated

Uploaded by

Thompson Kwan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
155 views

Blockchain and The Built Environment Potentials and Limitations-Annotated

Uploaded by

Thompson Kwan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Journal of Building Engineering 25 (2019) 100832

Contents lists available at ScienceDirect

Journal of Building Engineering


journal homepage: www.elsevier.com/locate/jobe

Blockchain and the built environment: Potentials and limitations T


Nawari O. Nawari , Shriraam Ravindran

University of Florida, College of Design, Construction & Planning, School of Architecture, USA

ARTICLE INFO ABSTRACT

Keywords: Blockchain is a relatively new concept that originated from the first cryptocurrency known as Bitcoin and was
Blockchain soon noted to have a much wider range of applications than just serving as the platform for digital crypto-
BIM currency. A blockchain (BC) is essentially a decentralized ledger that records every transaction made in the
Distributed ledger network, known as a ‘block’, the body of which comprises encrypted data of the entire transaction history. The
Hyperledger fabric
implementation of decentralized technology in any industry would require augmented security, enforce ac-
Smart contract
Code-checking
countability, and could potentially accelerate a shift in workflow dynamics from the current hierarchical
structure to a decentralized, cooperative chain of command and affect a cultural and societal change by en-
couraging trust and transparency. This paper presents an evaluation survey of blockchain technology and its
applications in the built environment and examines the potential integration with the BIM process. Moreover,
the study explores how employing distributed ledger technology (DLT) could be advantageous in the BIM
working environment by reinforcing network security, providing more reliable data storage and management of
permissions, and ensuring change tracing and data ownership. The study discusses the basic fundamentals of
distributed ledgers, their potential future applications and current advances, and their classification based on
inherent characteristics of consensus reaching and permission management. Furthermore, the paper evaluates
the potential application of BC technologies in enhancing the framework for automating the construction design
review process such as smart contract technologies and Hyperledger Fabric, as well as discussing the pros, cons,
and possible future research directions.

1. Introduction cooperation between participants, blockchain radically reorganizes


existing workflow paths in any organization in which it is implemented,
The blockchain is a digitized, decentralized public ledger of data, bringing with it a plethora of benefits that include shared learning,
assets and all pertinent transactions that have been executed and shared instantaneous data exchange, automated contract execution, network
among participants in the network. While it is most associated with security, and improved collaboration.
digital cryptocurrencies such as Bitcoin, blockchain is viewed as an Fig. 1 illustrates that BC is composed of a linked list of blocks of
emergent technology that could potentially revolutionize and transform transactions. Each block within the BC is recognized by a hash, gen-
the current digital operational landscapes and business practices of fi- erated using the SHA256 cryptographic hash algorithm on the header of
nance, computing, government services, and virtually every existent the block. Also, each block references a previous block, through the
industry [1]. The chief hypothesis behind blockchain is the creation of a “previous block hash” field in the block header. In this fashion, each
digital distributed consensus, ensuring that data is decentralized among block comprises the hash of its previous block inside its own header.
several nodes that hold identical information and that no single actor The sequence of hashes linking each block to its predecessor generates a
holds the complete authority of the network. This enables transparency chain going back all the way to the first block ever created, known as
of activity and enhancement of data security. Fig. 1 depicts the general the genesis block. All the transactions are stored in a schema referred to
schema of blockchain technology. While initially developed solely for as the Merkle Tree. Such a tree save transaction at leaf nodes, and inner
financial transactions with an aim to create a system that enables secure nodes encompass the combined hashes of their immediate subtrees (see
data transfer between two parties without the requirement of an in- Fig. 1). The advancement of BC technology in the finance sector has led
termediary, the tremendous disruptive potential of blockchain was later to a surge of investors and implementation of newer BC applications
evident with the exponentially increasing development of various and more technological innovations such as automatically executable
cryptocurrencies in recent years. By placing emphasis on trust and contracts, which is known as Smart Contracts.


Corresponding author.
E-mail addresses: [email protected] (N.O. Nawari), [email protected] (S. Ravindran).

https://doi.org/10.1016/j.jobe.2019.100832
Received 13 October 2018; Received in revised form 10 June 2019; Accepted 11 June 2019
Available online 14 June 2019
2352-7102/ © 2019 Published by Elsevier Ltd.
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

Acronyms BG Byzantine Generals


PBFT Practical Byzantine Fault Tolerance
ACCC Automated Code Checking and Compliance DPOS Delegated Proof of Stake
BC Blockchain MEP Mechanical, Electrical, and Plumbing
BIM Building Information Modeling IPD Integrated Project Delivery
DLT Distributed Ledger Technology CDE Common Data Environment
DAO Decentralized Autonomous Organizations IFC Industry Foundation Classes
AEC Architecture, Engineering, and Construction XML Extensible Markup Language
LOD Levels of Development API Application Programming Interface
PoS Proof of Stake SDK Software Development Kit
PoW Proof of Work MSP Membership Service Provider

Fig. 1. Overview of the concept of blockchain technology.

2. Statement of purpose assess its current development levels and limitations.

This survey study aims to explore the potential applications of 3. Objectives


blockchain (BC) in the Architecture, Engineering, and Construction
(AEC) industry focusing on Building Information Modeling (BIM) The major objectives of this paper include: (a) to conduct an eva-
workflow while highlighting its limitations. The advent of BIM software luation survey of BC technology and its applications in general and its
platforms in recent years has been the most important development in relationship to the built environment; (b) to examine the potential in-
the digital transformation of the AEC industry. Its framework and tegration of BC technology with BIM processes in regard to network
structure center around a collaborative approach to solving problems, security, data storage and management of permissions, and data own-
monitoring errors, and coordinating tasks between multidisciplinary ership; (c), to evaluate the potential application of BC technology in
teams. However, BIM workflow is based on a centralized database enhancing the framework for automating the construction design re-
(particularly cloud-based) which is often associated with security and view process.
accessibility issues (malware injection, online cyber theft, wrapping
attach, …etc.) and the risk of losing the quality and integrity of the data 4. Methodology
transactions [2]. The implementation of BC technology and integrating
BC in the BIM environment could solve several of these existing pro- The study is based upon a systematic review of the current body of
blems as well as offer new areas of applicability. The paper aims to knowledge, and the retrieval of the required the information from the
explore the potential applications of BC in BIM processes as well as literature sources. The approach consists of four phases. Fig. 2 depicts

2
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

5. Findings and evaluations

5.1. History of blockchain

A blockchain is a distributed public ledger that records all trans-


actions or digital events that are executed and shared among the par-
ticipants in the network [1]. Blockchain was first used in Bitcoin, the
first cryptocurrency to achieve widespread circulation and mainstream
appeal. Bitcoin was first conceptualized in a whitepaper published in
2008 [8], outlining details required for a protocol to establish a de-
Fig. 2. Overview of the research approach. centralized digital currency that operates on a secure and pseudon-
ymous network of participants. A single ‘bitcoin’ is essentially a
tradeable asset produced by the BC system as a form of payment for its
the overall method adopted in this research. The first stage focuses on
operation and maintenance by miners. Following the success of Bitcoin,
the scope definition and the general survey background on the current
the term ‘blockchain’ was no longer synonymous with digital crypto-
state of BC technology and its applications. The second phase de-
currencies as its vast area of potential applications was evident.
termines and filters the literature review relevant to the aim of the
Blockchain 2.0 is an umbrella term denoting these new develop-
study. This includes, classifying the publications according to the main
ments and widening the uses of DLT beyond cryptocurrency. The con-
categories: BC related only, BC and BIM, Hyperledger Fabric, and Smart
cept of smart contracts came to realization in 2015, with the release of
Contracts (Fig. 3). Thirdly, the collected literature is evaluated, and
the second public blockchain called Ethereum by Vitalik Buterin [28].
findings are formulated and presented. Finally, conclusions about the
Created as an alternative to Bitcoin, Ethereum was a breakthrough in
potential applications of the emerging BC technology in the AEC in-
that it was a general purpose BC that provides users a flexible, trustless,
dustry are presented (see 2).
general platform that can run smart contracts, and develop any con-
ceivable application. Ethereum also features an active developer com-
4.1. Scope identification
munity involved in building distributed applications (DApps). The ra-
dical restructuring of chain of command in the workflow by
The scope identification centers around collecting evidence through
emphasizing trust and cooperation was described by Buterin [28] as
extensive literature review. The literature review provides definitions,
‘Decentralized Autonomous Organizations.’ (DAOs)
background, historical development, current knowledge areas, and
The next major innovation was the introduction of the ‘Proof of
ongoing research efforts on each relevant area identified. Via Google
Stake’ (PoS) method for reaching consensus, which presents several
Scholar and library databases, the relevant papers are identified by
advantages and savings over the current ‘Proof of Work’ (PoW) method.
keywords. A closer look into the papers’ abstracts determined the re-
The PoW is a mechanism that determines the node that writes a block
levancy of the papers. A preliminary study of research papers suggests
on ledgers using a combination of game theory, cryptography, and in-
that cybersecurity, interoperability, collaboration, and smart contracts
centive engineering [7]. On the other hand, in the PoS, the creator of
are the main areas of emphasis. Extensive literature is collected that
the block is chosen in a deterministic method, depending on the stake
address these areas with respect to both BIM and BC. The study suggests
held by the participants.
that BC, BIM and BC, cybersecurity, and smart contracts are the chief
Currently, every node in the BC processes every transaction.
areas defining the scope of this research. Extensive literature is col-
Blockchain scaling is a cutting-edge example of blockchain thinking
lected that address these areas and are summarized in Tables 1 and 2.
that can circumvent this process and improve computational speed,
While plenty of publications covering the features, operational
while not compromising on security and robustness of the network. This
mechanisms, and research trends of BC technology, very few research
is done by determining the number of necessary computers to validate
papers are available that focus on areas of BC overlapping with appli-
each transaction and accordingly discretizing the work efficiently.
cation in the AEC industry. Even fewer papers deal specifically with the
While it is a difficult and ambitious solution to the problem, it is pos-
application of BC in BIM processes since both areas are relatively new in
sible to achieve and is viewed as the next great innovation in BC
conception and usage. However, the number of publications addressing
technology. Blockchain 3.0 aims to improve on the capabilities of
these areas are encouraging, as many papers published in the last three
current blockchain BC with terms to transaction time, scalability, and
years propose the implementation of BC, specifically its feature of smart
ease of implementation.
contracts, to achieve different solutions to the BIM workflow.

Fig. 3. Overview of blockchain infrastructure.

3
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

5.2. Key features of blockchain architecture

Role as blockchain connector and coordination of


software, business applications, EVM, Oracles,
5.2.1. Structure of blockchain

Background, definitions, design landscape,


Framework for DApps, potential business

research directions, scripting languages,


A blockchain is a chain of sequentially arranged blocks of dis-

Potential applications, compliance, and


cretized, encrypted data from validated transactions. A block consists of

Hyperledger features, architecture


a header and block body. The block that precedes the current block is

Sidechain concept, mechanisms


Ethereum concept, architecture
Legal risks in smart contracts
called a parent block [7]. The first block of the BC that does not have a
parent block is called a genesis block). The Block header contains. Block

automated generation
version, Timestamp, Merkle tree root hash, nBits (a hash equivalent of all
transactions), Nonce (a 4-byte field that usually starts with zero and
Smart Contracts

increases for every hash calculation); and Parent block. The block body

enforcement
applications

contains the actual transaction data. The block size dictates the upper
limit for a number of possible transactions and transaction size.

5.2.2. Digital infrastructure


Anti-counterfeiting, privatization of blockchain,

Sidechain issues with inter-chain transactions


selfish mining, risks, blockchain architecture,

Security threats in the consensus mechanism

The infrastructure of the BC network can be divided into two layers


Security in transactions, liability protection,

Professional liability insurance, threats, and

of code: [29]
Additional security levels from software

• Fabric layer: consists of the actual BC code base, communication


data ownership, legal implications

connectors, flaws in Hyperledger

protocols, public key infrastructure, data structures for database


privatization of blockchain

maintenance, smart contract capabilities. Since the BC network is


Permission management

owned and controlled by the developers, the fabric layer cannot be


tampered with;
• Application layer: contains application logic of smart contracts. It is
Cybersecurity

collectively controlled by the participants who deploy the code onto


advantages

the BC network when it is operational. Any participant that holds


access and control of the deployed code can write the application
layer.
Intellectual property rights, BIM advantages,

Adoption levels, benefits, planning, LOD,


Collaboration and trust, data ownership,

risks and considerations, emergent DLT

5.2.3. Distributed ledgers


Instead of a single central point that is tasked with the monitoring
and control of information and operational authority as in the case of a
centralized ledger network, a DLT network spreads the computational
framework, shared economy

workload across multiple nodes in a network that can make in-


BIM workflow scenarios

dependent decisions. DLT often incorporate a decentralized consensus


mechanism, where all validating nodes in the system run the same
agreed upon consensus algorithm [3]. This is a crucial characteristic of
advantages
BIM + BC

BC technology which eliminates the requirement of an intermediary


party to validate transactions. Fig. 4 depicts the organizational struc-
ture of centralized, distributed, and decentralized ledger networks.
A blockchain consists of discretized ‘blocks’ of data that is encrypted
Blockchain applications, legal issues with

Software connector scenarios, DAOs, off-

and arranged in sequence. Each block involves a header and the actual
Current research levels in blockchains
implementation, mining, transaction

block data. The header contains merely the block number and a re-
chain data, coordination, Research
Advantages of using permissioned
blockchain, barriers in adoption

ference to the previous block, while the remaining content of the block
Concept, functionality, present

Scalability, latency, sidechains


Bitcoin: concept, mechanism

Key concepts and challenges

consists of transaction data. Discretized distribution of data as such


enables a decentralized hierarchy, allocating only a portion of owner-
ship or liability to a single party in the network.
blockchain, Oracles

BC, being a peer-to-peer system consists of nodes that create con-


Blockchain (BC)

nections, keep existing connections active, and disseminate encrypted


opportunities

information while ensuring that every node that receives information


protocols

forwards it to all its peers. This solves the problem of system failure or
shutdown.
BC has several components that involve ownership such as identi-
fication, authentication, and authorization to allow access and control
Atkins, et al. [16,17]; Wang et al., 2018,
[10]; Mason et al., 2017, Hammi, et al.,
2017, Mahamadu et al., 2017, [11]
Summary of the scope identification.

over personal data. This is crucial since modifications and exchange of


data can be recorded and monitored in a convenient manner. The BC
[12]; Seijas, et al., 2016, [13–15]

[22–25]; Androulaki,et al., 2018

identifies the owner by using hashes.


Hashes are IDs that a BC uses to achieve ownership, that is created
by an algorithm that produces a short string from an extensive data set
Belle, et al., 2017, [9]

adhering to a set of mathematical rules. A hash is unique, and hence


some of their critical intrinsic properties are that they are deterministic,
Reference Title

collision-resistant, and pseudorandom. It is crucial that the hashes are


[18–21]

irreversible one-way functions.


[26,27]
[1,3–7]
Table 1

[28]
[8]

4
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

Table 2
Summary of the literature related to the key concepts.
Key Concepts of the Investigation

No Categories BC BIM + BC Cybersecurity Smart Contracts

1 No. of papers 32 10 19 18
2 Current knowledge Yes Yes Yes Yes
3 Potential applications Ongoing Very limited literature Yes Ongoing
4 Limitations Yes Very limited literature Yes Ongoing

Table 3
Comparison of the different types of permission management in blockchain technology.
Blockchain Privacy Permissioned Blockchain Permission-less Blockchain

Privacy Only permissioned actors have access to the blocks of transactions. Any participant can read access all blocks of data. This is convenient
for a shared database.
Scalability Permissioned BC can build a simplified PoS model to establish consensus by Uses PoW mechanism to reach consensus.
burning computational cycles.
Fine-Grained Control Allows fine-grained control by restricting access to few participants. Not possible to ensure fine-grained control.

Fig. 4. Types of ledger networks.

5.2.4. Consensus consensus is reached by broadcasting the resolved solution to other


Members of the network must prove themselves as legitimate nodes in the network, thereby ensuring transparency, robustness,
members. Thus, reaching a consensus agreement is one of the key and incorruptibility of the network. Consequently, the group with
features of a distributed technology [3]. A consensus between all par- larger total computing power dictates the decision-making and
ticipants in the BC network is agreed on prior to the implementation of reaching consensus. The two most popular BC systems, Bitcoin and
the BC, and this ensures that the ledger is shared, unchangeable, and Ethereum operate on PoW mechanism. However, this involves ex-
immutable throughout its life. pensive transaction fees, extensive computing tower, and cumber-
After agreement on the consensus mechanism, the peers execute the some mining processes to create new blocks;
consensus protocol to validate transactions, create blocks and hash • Proof of Stake: The creator of the block is chosen in a deterministic
chains. The ledger is updated and appended in the event of the occur- method, depending on the stake held by the participant. An algo-
rence of errors, instead of overwriting them. New transactions recorded rithm is employed to determine collective decision-making and level
on the ledger are validated by miners. A block is mined every few of privacy between participants. This mechanism requires the
minutes. The Byzantine Generals (BG) problem is central to de- credibility of data, which is denoted by proof of ownership of
termining consensus in a BC, and all consensus mechanisms are de- cryptocurrency coins. If a created block can be validated, the
veloped with the aim to overcome this issue. The Byzantine General cryptocurrency will be returned to original node as a bonus. This
Problem was a security flaw in distributed systems developed before method involves no block rewards but operates solely on transaction
Bitcoin, in which the nodes aim to reach a consensus despite having a fees. It is thus an energy-saving alternative to PoW and presents
faulty component [24]. This increases the possibility of malicious intent several economic benefits. Ethereum aims to shift the paradigm by
or network irregularities. The different mechanisms through which transitioning to a PoS mechanism;
consensus is reached are [7] : • Practical Byzantine Fault Tolerance (PBFT): This algorithm aims to
correctly reach enough consensus despite malicious nodes in the
• Proof of Work: ‘Mining’ or the Proof of Work (PoW) mechanism system failing or sending out incorrect information. This is a
works by determining the node that writes a block on ledgers using a Byzantine agreement consensus method that can tolerate a max-
combination of game theory, cryptography, and incentive en- imum of 1/3 malicious byzantine replicas. A primary is selected in
gineering. The nodes in the network compete to solve a mathema- each round and is responsible for ordering the transaction. The
tical puzzle (generally a computationally difficult but easily verifi- Hyperledger Fabric uses the PBFT algorithm;
able pattern) to record a transaction. Upon resolving the paradox, • Delegated Proof of Stake (DPOS): Stakeholders elect representatives

5
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

to validate blocks. Since this mechanism features a relatively small input data from the hash generated. It's also clear that a small change,
number of nodes, the processing of transactions is quicker. The such as changing a letter from uppercase to lower case or adding a
delegates are authorized to modify the network parameters. space will significantly change the hash generated. Hashing transac-
tions into blocks. The previous examples were to show how the hash
5.2.5. Mining generated has no detectable pattern to the length of text or type of data
Mining is the mandatory process of recording transactions on the BC entered.
network using the computer's processing power. The subset of nodes in The examples above don't contain transactions. Thus, the next step
the network that are equipped with special software that validate the is to use transactions and convert them into hashes. After the hashes are
transaction operations to be added on the BC is called miners [17]. generated, they will be linked in a blockchain. The first block in the
blockchain is usually known as block 0, also known as the genesis
5.2.6. Privacy block. This example delineates the concept of generating BC transaction
Blockchain can address accessibility and visibility of the data se- system. Each group of data exchange is converted into a hash, com-
curely and efficiently, since the ledger is distributed [3]. It facilitates bined with the hash of the previous block and a number known as
setting different levels of privacy as every participant is essentially a nonce. The hash is included in the header of the next block linking each
stakeholder and no single participant has full administrative privilege. new block to the block before it. One can track the transactions from the
Thus, formulating and enforcing the consensus is crucial to the BC current block, all the way back to the very first block to understanding
operation, with terms to data updates, error-checking and collective what has occurred on the BC.
decision-making. The selection of which BC to uses depends much on
the method of agreement to reach consensus.
5.4. Security risks to Blockchain
Based on privacy, blockchains can be classified as:

• Permissioned blockchains: Permissioned BCs restrict the actors that


Blockchain is still susceptible to certain forms of security problems.
While it is difficult to compromise a blockchain system, it is important
can contribute to the consensus of the system state. Only a restricted
to note that the system is still not completely infallible. Some of the
set of users have the rights to validate transactions and may also
threats to blockchain applications are:
limit access to approved actors who can create smart contracts.

• Double-spending: Two parallel transactions transfer the same data


Hyperledger Fabric is an example of this permission type.
• Permission-less or public blockchains: Blockchains that are permission-
to different recipients, thus creating a new, invalid transaction. This
less allow any participant creating consensus, as well as smart
can be prevented by enforcing a PoW consensus, where all partici-
contracts, and uses the PoW mechanism to reach a consensus. They
pants agree over the order of transactions that have taken place;

typically use a native cryptocurrency or none to validate transac-
51% attacks: When a participant controls over 51% of the network,
tions. Bitcoin and Ethereum blockchains are good examples of this
that participant does have a high chance of tampering with the
type of permission.
blockchain without any consequences, since he or she controls the
majority of the network and thereby gaining more power in dic-
The key characteristics of a blockchain network can be summarized
tating the consensus. Thus, smaller systems are more susceptible to
in the following: 1) Sequential recording of data transactions, 2)
attacks since a single participant can gain relatively more control in
Immutability of data records, 3) Data redundancy, 4) Cryptographic
the blockchain's early stages [30];

encryption of data, 5) Reaching a consensus mechanism to ensure
Inadvertent centralization: Since security is partly dictated by the
privacy operations, 6) Decentralization, and 7) Lack of intermediary
participants in the blockchain, it is impossible to stop the weakest
party to oversee transactions.
participants from transferring assets to a centralized system of ex-
change. These often occur due to a third-party that has amassed
5.3. Blockchain data processing example
large amounts of assets and is storing them on behalf of the users.
Besides, assets in pure blockchains can also be centralized. An ex-
The blockchain often uses the SHA – 256 algorithm. The SHA – 256
ample is the cryptocurrency Ripple, large amounts of which are
algorithm generates a unique, fixed – size 256 – bit hash. A hash is like
owned by a small number of founders and large multinational or-
a secret code that uses an encryption method that hides data in a way
ganizations.

that makes it almost impossible to decrypt without authorization. The
Lack of privacy due to pseudonymity of user: It is crucial to choose
hash generated is always the same length. It doesn't matter whether you
which information is to be made private and which can be accessible
put one word or an entire book, you will still get the same length for
to the public. It is also impossible to achieve complete privacy since
any amount of data entered. If you change one of the letters, then the
one can infer the data to a particular user by studying their trans-
hash will completely change. The hash appears to be random with no
action patterns.

connection to the data entered. It is almost impossible to figure out the
Data malleability: The integrity of digital signatures used to validate
original message from the hash unless you know the original message or
transactions cannot be guaranteed. In such a scenario, the hacker
have a private key. Some examples of hashes generated from different
would intercept a transaction, modify it, and broadcast it to the
words and phrases are below:
network [30].
The hash of the term “Building Information Modeling” with upper
case B, I and M are: 81737C1EE7C8E875F4BBC397C47CA4CB3
8A3B4DCD1C376A2861942BEA8B6B538 5.5. Smart contracts
The hash of the word “building information modeling” with lower
cases only is: 987BED3FAD66648E4214EE703523BFB2448E7002 Smart contracts are contracts programmed with the blockchain that
40B3FDBA9BD689E36F09C063 automatically executes upon the fulfillment of certain conditions. This
The hash of the word “BIM” is 4F432A298898B3855F43F28EF616 removes the requirement of a third-party intermediary for overseeing
847AE442F1FD10C09C3321A8F4A6B6250877 the transaction in real-time. They are an extension of the BC that can
This is the entire Autodesk Revit Model (ProjectExample.rvt) con- independently enforce rules without requiring manual intervention.
taining data about a duplex building is: e807d23c1ff8e4ba4aa4542- Fig. 5 illustrates the concept of smart contract in a blockchain appli-
d35082e28f9f580407ca6031a34bc1eff424fd37a cation.
From the examples above, one can see that it is impossible to tell the The following is a definition of the concept of Smart Contracts [17]:

6
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

Fig. 5. The concept of a smart contract in a blockchain network.

can be reviewed and verified by experts


“Smart contracts are digital contracts allowing terms contingent on
(c) to employ an upper ontology and reference data model that ex-
the decentralized consensus that is self-enforcing and tamper-proof
plicitly and unambiguously define terms, conditions relationships,
through automated execution.”
etc. and can be machine processed.
The introduction of smart contracts in blockchains has opened many (d) transaction processing needs to be atomic, i.e., transactions are
new possibilities such as complete lifecycle management of legal con- indivisible and irreducible.
tracts, automated execution of contracts, and personalization of custo-
mizable contracts. In the literature, two different definitions for the 5.5.2. Scripting smart contracts using DLT
term ‘smart contracts’ are given since the term is used interchangeably A script is a bytecode stack-based language that is designed in a
for the written code and the binding contracts [12]: manner that its execution is guaranteed to terminate (Seijas et al.,
2016). It linearly executes the sequentially coded instructions without
• Smart contracts codes: They are software agents fulfilling pre-set backward jumps.
obligations and exercising certain rights and may take control of DLT scripting languages can be classified into four categories (Seijas
certain assets within a shared leger; et al., 2016):
• Smart legal contracts: This term focuses on the expression and im-
plementation of the software and encompasses operational aspects
and issues pertaining to the composition and interpretation of the
• Turing-completeness: Scripting languages may be Turing-incomplete
as in the case of Bitcoin, or Turing-complete like the Ethereum
contract. script. While the Turing-complete scripts can account for looping
and recursion, they lose completeness in practice because of run-
A high-level definition that combines both aspects of the smart time bounds placed on execution parameters such as execution time,
contract and based on automation and enforceability is given as [12]: stack size, etc.;
“A smart contract is an automatable and enforceable agreement, • The degree of complexity: Certain virtual machines feature a low-level
automatable by a computer, although some parts may require computation model that facilitate compiling a higher-level language
human input and control, enforceable either by legal enforcement of like Ethereum's Solidity;
rights and obligations or via tamper-proof execution of computer • Finite State Machines: DLT transactions could be derived by trans-
code.” forming a language such as BPM (Business Process Modelling) lan-
guages or finite state machines. Finite state machines are mathe-
matical abstract models of computations that can exist in exactly
5.5.1. Key characteristic features of smart contracts one of a finite number of states at any given time;
A list of the main characteristics of a smart contract generally in-
clude:
• Virtualization technology: These can isolate computations, as is done
in Hyperledger with Docker containers.

• Automation: Automation is accomplished by linking the legal prose The emergence of DLT has introduced a secure, reliable, and de-
to the smart contract code via parameters that generate instructions centralized methodology for data storage and exchange, which is par-
regarding the final operational details; ticularly useful for the execution of smart contracts. Apart from serving
• Enforceability: The smart contract code must execute successfully, as general purpose programming languages, scripting languages also
accurately, and within a reasonable timeframe. A smart legal con- include the provision of randomness, management of anonymity,
tract must include legally enforceable obligations and rights that are monitoring transactions, and assigning incentives, among other useful
expressed in complex, time-dependent, sequential, context-sensitive features that can be automated. Although all computations are de-
prose. These may also include overriding commitments based on the terministic in a blockchain, there is always a certain amount of non-
fulfillment of certain conditions; determinism that occurs due to competition between the transactions
themselves (Sergey et al., 2017).
In reference to the AEC industry, the application of Smart Contracts
can be limited to specific transactions. To achieve wider application of 5.6. Permissioned vs permission-less blockchain for BIM
smart contracts, the following issues need to be addressed:
The performance of a public blockchain is limited and can only
(a) The inherent security vulnerabilities of the inputs to any ‘smart’ process 3–20 transactions per second. The average transaction proces-
processing of evidence of fulfillment; sing rate is 1.7 transactions per block and the average mining time is
(b) to be able to script the contract in a machine-readable fashion that 17 s [24]. Public blockchains do not guarantee data privacy as well. As

7
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

discussed earlier, it is crucial to decide a method of reaching consensus • Assets: Assets can range from the physical objects (real estate and
in the BC since it dictates all future mechanisms, functionality, and hardware) to the intangible (BIM models, contracts, and intellectual
managing of permissions through the life-cycle of the project. Both property). Hyperledger Fabric provides the ability to modify assets
permissioned and permission-less BCs have their respective advantages using chaincode transactions;
and drawbacks, and the BC for use must be chosen appropriately based • Assets: Assets can range from the physical objects (real estate and
on the desired functionality and level of privacy needed. With respect to hardware) to the intangible (BIM models, contracts, and intellectual
BIM workflow, there are generally several different parties working property). Hyperledger Fabric provides the ability to modify assets
simul on one model. In such cases, implementing a permission-less BC using chaincode transactions;
could bring positive effects such as improved communication, trans- • Ledger: It is comprised of a blockchain to save the immutable, se-
parency of work, and presenting opportunities for collaborative design quenced records in blocks, as well as a state database to preserve the
processes. However, the current socio-economic environment of the fabric state. There is generally one ledger per channel. Each node
AEC industry may necessitate tighter management of permissions due sustains a copy of the ledger for each channel of which a node is a
to concerns like data theft, conflicting interests, misuse of information, member. The shared ledger encodes the entire transaction history
and others arising from the number of third-parties involved in a typical for each channel and includes SQL-like query capabilities for effi-
construction project which usually entails high levels of copyrights, cient processing;
budgets and accountability to government bodies and regulatory enti- • Privacy: Channels enable multi-lateral data exchanges with the high
ties. Hence, employing a permissioned BC is a far more realistic option degrees of privacy and confidentiality required by the AEC specific
for most BIM projects. and other regulated industries that exchange data on a shared net-
work. A ledger exists in the scope of a channel - it can be shared
5.7. Hyperledger Fabric across the entire network (assuming every participant is operating
on one common channel) - or it can be constrained to only contain a
Hyperledger Fabric is a platform for generating distributed ledger specific set of participants;
blockchain systems, supported by a modular design, offering an elastic • Security & Membership Services: Permissioned membership provides a
and extensible digital framework, that delivers high levels of con- trusted BC network, where participants know that all transactions
fidentiality, and scalability. It is designed to support pluggable im- can be detected and traced by authorized regulators and auditors;
plementations of different components and accommodate the com- • Consensus: It is defined as the full-cycle of verification of the cor-
plexity and details that exist across the economic ecosystem. The rectness of a set of transactions comprising a block in a distributed
Hyperledger blockchain aims to be a general purpose, enterprise-grade, ledger system. In Hyperledger Fabric consensus covers the entire
open-source DLT that features permission management, pluggability, transaction flow, from proposal and endorsement to ordering, vali-
enhanced confidentiality, and consensus mechanism and is developed dation and commitment (see Fig. 6) Hyperledger Fabric has been
through a collaborative effort. Hyperledger Fabric is one of the BC designed to allow a new application to select a consensus me-
projects within Hyperledger. Like other BC technologies, it has a ledger, chanism that best characterizes the relationships that exist between
uses smart contracts, and is a system by which participants manage participants in the network;
their transactions. • Smart Contracts: Hyperledger Fabric smart contracts are written in
Hyperledger was founded by the Linux Foundation in 2015 to ad- chaincode and are invoked by an application external to the BC
vance cross-industry BC technologies. It was the first blockchain de- when that application needs to interact with the ledger. In most
veloped that enabled the development of distributed applications cases, chaincode interacts only with the database component of the
written in standard general-purpose programming languages ledger, the world state (querying it, for example), and not the
(Andreoulakis et al., 2018). Presently, the Hyperledger consortium in- transaction log. Chaincode can be implemented in several pro-
volves IBM, the Linux Foundation, and other organizations that con- gramming languages. The currently supported chaincode language
tribute to the BC development and related apps (Seijas et al., 2016). The is Go with support for Java and other languages coming in future
open source nature of the BC is augmented by the lack of necessity of releases.
mining cryptocurrency or expensive computations to validate transac-
tions. The Hyperledger Fabric was the first blockchain developed that 6. Applications of blockchain technology
enabled the development of distributed applications written in standard
general-purpose programming languages [31]. 6.1. Blockchain technology in different sectors
The fundamental differences between Hyperledger Fabric and other
BC systems is that it is private and requires permissions. In contrast to 6.1.1. Business and supply chain
an open permission-less system that allows unknown identities to par- Implementing BC technology Implementing BC technology can
ticipate in the network (necessitating rules like PoW to authenticate streamline business transactions by obtaining multiple approvals at
transactions and secure the network), the nodes (members) of a once with minimal required supervision, as opposed to the cumbersome
Hyperledger Fabric network join through a trusted Membership Service process of sequential verification.
Provider (MSP). Furthermore, Hyperledger Fabric offers several plug-
gable options such as ledger data can be stored in multiple formats, 6.1.2. Finance
consensus mechanisms can be exchanged in and out, and diverse MSPs Accountants can manage client accounts in real time upon adoption
are supported. of BC technology owing to its immutable record-keeping. Thus, one can
Moreover, Hyperledger Fabric has the ability to create channels, access the entire history of transactions and not just the most recent
allowing a subgroup of participants in the network to establish a se- activity. Further, adoption BC could be instrumental in accelerating the
parate ledger of transactions. This is an especially important option for shift from monthly cycles to instantaneous transactions and accountants
BIM workflow where subcontractors can exchange data within the only [3].
subgroup of the network. For example, the structural engineer of record
of the project can exchange information with steel connection sub- 6.1.3. Insurance
contractors only while still being part of the Hyperledger Fabric net- Insurance companies can use BC to automate insurance claims,
work and sharing that transaction with the rest of the nodes. The verification of qualifying criteria and execution of privileges. This
Hyperledger Fabric has several design components that provide the would be advantageous in saving cost by substantially minimizing the
comprehensive, yet customizable, enterprise BC technology: workload by insurance agents who are tasked with manually

8
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

Fig. 6. An illustration of consensus in Hyperledger Fabric.

scrutinizing and cross-referencing insurance claims with factual data, the AEC industry has seen advances in recent years, it should be noted
and thus also eliminating fraud and counterfeit claims [3]. BC would that it has the slowest rate of digital transformation, just above agri-
also benefit clients by ensuring efficient payouts through instantaneous culture and hunting (Belle et al., 2017). Changes are primarily impeded
transactions and providing comparisons between policies for better- by the rigid nature of the construction sector, stemming from the cur-
informed decision-making [32]. rent organization of teams and projects, featuring a defragmented col-
laborative process for a project. This is counterproductive in that, each
6.1.4. Government organizations and services party may aim to deliver the minimum work order merely, prioritize
BC can have broad applications in the public sector in areas such as profit margins, and to minimize liabilities (Belle et al., 2017). Thus, the
voting and identification, land registration and monitoring real estate, modern economy favors an adversarial environment where firms would
management of medical records and enabling transparency with non- be better incentivized by reducing information exchange between
profit organizations [32]. parties. However, it is clear that in the future, data exchange in net-
works can help to achieve significant savings in cost, time, error, and
6.1.5. Decentralized autonomous organization (DAO) labor, as well as stimulate collaborative learning.
DAOs are entire sets of long-term smart contracts consisting of There is yet clearly inadequate education at the firm level and
venture capital funds that run on the Ethereum blockchain, and manage workforce to present an overall holistic picture of how updating current
decision-making, recordkeeping, and business operations in an orga- trends could lead to several advantages. Several organizations have not
nization. DAOs can significantly reduce the requirement of manage- yet recognized the potential and significance of adopting BIM techni-
ment-level staff (Belle, 2017). ques and conclude that this would, in fact, complicate existing practices
while disregarding the long-term benefit and overhead savings. Further,
6.1.6. Oracle the collaborative design process in BIM could create difficulties in as-
Oracles or validation oracles are agents that import external states signing responsibilities and liabilities due to the overlap of roles and
from external sources to evaluate conditions not expressible within responsibilities, ensuring intellectual property protection, risk alloca-
blockchains (Xu et al., 2016). Oracles can exist independent of a BC and tion, privacy, and third-party reliance and software agents [9,33]. The
in its absence, a human arbitrator can periodically inject data to update focus of firms on return on investment, the complexity of projects,
the variables in a contract. Oracles are necessary because most BCs substantial initial capital, firm reputation, untrained personnel, legal
generally do not allow contracts to query externally sourced data. considerations, and government restrictions are other factors that still
Oracles can act as an interface between smart contracts and the external impede digitization.
data source. Hence, this involves trusting in a third-party organization
to send the data [22]. 6.2.2. Current advances
The advent of Building Information Modeling (BIM) has facilitated a
6.2. AEC industry collaborative work environment with a single centralized model so that
the structure can be analyzed and checked for compliance and can be
In the following sections, the application of BC technology in the rectified of errors in the design stage prior to actual construction.
AEC industry is explored, navigating the advantages and potential ap- Adopting BIM presents a novel way of integrating all pertinent data into
plications. a shared digital model with geometric, temporal, financial and asset
management dimensions. BIM software like Revit and ArchiCAD also
6.2.1. Barriers and obstacles include a plethora of plug-in tools that can simulate and assess several
While the digitization of many design and engineering processes in essential aspects of a building structure, such as operational energy

9
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

analysis, life-cycle costs, occupancy behavior, connection design, in- the current best solution for collaborative creation, data storage, and
terior climatization, building envelope, quantizing ecological footprint, asset management. Stakeholders can reach a consensus by providing
etc. Thus, one can simulate scenarios and focus on one or more specific evidence of trust, such as collaboration centered on a shared BIM
variables in real-time for every stage in the building life-cycle. This not model, and integration of a distributed decentralized ledger based on
only avoids unforeseen circumstances and errors in future stages, but BC technology. This cooperation culture change can address issues of
dramatically saves time, manual labor and the need for excessive pa- unclear responsibilities and liabilities by prioritizing collaboration and
perwork. sharing risks and rewards among the participants [10]. Integration of
BC in BIM software addresses current issues like confidentiality, non-
6.2.3. Blockchain in construction management repudiation, traceability, change tracing, provenance tracking and data
Blockchain technology, while still in its nascent developmental ownership. This ‘Evidence of Trust’ can be an effective and stable
stages, has the potential to accelerate and streamline much of today's cornerstone for the collaborative design process and the Integrated
design and engineering practices with a multitude of benefit to the firm, Project Delivery (IPD) strategies.
individual, industry, clients, and society. The implementation of BC Despite the increasing understanding of the significance of BIM, the
could lead to effective management and utilization of several tools that rate of mainstream utilization and implementation has been relatively
would drive efficiencies, transform industry culture, and advance fu- slow. The best stage for implementation is between the transaction
turistic advancements such as [10,46]: processing component of the BIM server and its storage functionality
[9]. The complete scope of possible applications from adopting BC are
• Building information modeling software for intelligent and colla- not yet fully realized, and it is by no means completely foolproof or at
borative 3D design and modeling; this point. Despite all the advantages, the written code is only as de-
• Cloud-based technology allowing for real-time creation and co- pendable as the accepted collaboration and agreed upon consensus.
ordination of a visualized database and serving as a platform for While varying levels of centralization and establishing a chained or
multi-disciplinary collaboration; unchained implementation of BC in BIM can yield certain benefits, Turk
• Smart contracts, a set of coded instructions that can automatically and Klinc [9] suggest that completely integrating BC in a BIM setting to
execute upon the fulfillment of certain conditions; record all transactions would be the ideal solution to leverage all po-
• Reality capture technology allowing verification and conversion of tential advantages from using a DLT.
digital assets into real value; Choosing the appropriate type of BC based on privacy levels (public
• Managing the Internet of Things (IoT); or private) is vital while implementing DLT in the construction sector
• Functionally permissioned BC that facilitates consensus-based col- (Li et al., 2016). This process depends on the suitable consensus me-
laboration. chanism that could be applied, and that would cover all operational
necessities of all participants and stakeholders, since it forms the basis
BC technology can considerably slash administrative costs, effec- of establishing the BC.
tively protect Intellectual Property Rights, and eliminate cumbersome A framework proposed in a study (Xu et al., 2018) to choose the
paperwork, manual verifications, and contract execution. A potentially appropriate BC depending on application requirements since current
new stream of revenue for design professionals could be created by development levels of smart contracts necessitate reaching a compro-
evaluating and selling designs and workflows. This, however, would mise in a trade-off between scalability, permissions, computational
also include addressing future problems that might arise, drop in power, and other characteristics. The process of choosing of BC is ela-
quality standards, and continued liability [10]. borated below:
Building a reputation is an important asset to any organization, Fabric Layer Design Considerations:
which is difficult to quantify and compare. BC can facilitate creation of
a registry consisting of past achievements and qualifications, with a • Scalability: Larger block sizes will require off-chain data storage to
view to enable comparison of team constellations and thus aiding in draw on application logic or data, while smaller transactions can be
decision-making processes for clients and project managers to select a transmitted as scalable metadata on the BC. BIM model data may be
well-balanced team with varied skill sets, experience, and versatility too large and might incur high latency rates, and hence using off-
[10]. chain data is a better option;
• Consensus mechanism: PoS, Practical Byzantine Fault Tolerance or
6.2.4. Blockchain and building information modeling (BIM) workflow PoW may be used depending on the nature of the organization. In
This section particularly concentrates on the potential capabilities the AEC industry involving several parties involved in a joint pro-
when BC technology is integrated with BIM processes. It explores var- ject, a PoS mechanism can work since each project member has his
ious aspects of existing BIM workflow that could benefit from the im- design contributions to the model to offer as the stake. PBFT is also a
plementation of BC technologies. suitable mechanism if a slightly decentralized approach is required,
BIM is at the forefront of digital transformation in the AEC industry, and the managers alone can be granted access to reaching con-
encouraging collaboration and trust, and simplifying data exchange. sensus.
McGraw-Hill reports that BIM adoption increased to 71% in 2012 from
49% in 2009 [16]. BIM models present a comprehensive design model Application Layer Design Considerations:
of the building that can include all aspects of the structure like archi-
tecture, structural, and MEP design areas. Further, several built-in plug- • Data storage: On-chain data storage uses limited computational
ins in BIM platforms like Revit enable the simulation of external site power, features limited data storage, and can verify computational
conditions, geography, weather, as well as carry out energy analysis, data. This is suitable if hashed metadata is adequate for sharing. As
building energy modeling, structural analysis, etc. In the future, BIM discussed earlier, BIM model data might require greater computa-
development will eventually aim to unify all design and analysis tools tional power for addition in the BC and hence, off-chain storage may
in one platform. be necessary. This is also suitable if the information is sensitive in
nature, and confidentiality is vital. Using off-chain data will also be
6.2.4.1. Collaboration. The replacement of a hierarchical organization relatively inexpensive since mining of blocks is reduced;
with an inherently collaborative network could seem to be inevitable • Privacy: In the case of the AEC industry, a private BC like a per-
due to its effectiveness in isolating faults by tracing alternate paths missioned or consortium BC is a better option since it features
around these areas. This is one of the key advantages of BIM, making it permission management and ensures data privacy;

10
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

• Single or Multiple chain: Using a single chain translates to better security safeguards, guidelines, risk management approaches, actions,
management of BC and permissions but data management is more training, best practices, assurance and technologies that can be used to
difficult. Using multiple chains, on the other hand, can prove useful protect the cyber environment and organization and user's assets.” [20]
when information isolation is essential while compromising on The cyber environment includes the Internet, telecommunication net-
chain and permission management. This decision depends on the works, embedded processors, controllers, sensors, data storage and
nature and confidentiality level of the project and participants; control devices, as well as the information, services, collaborative and
• External or internal validation oracle: BIM projects usually involve business functions that only exist in cyberspace. Cybersecurity threats
teams that assemble only for that particular project and hence a that can potentially affect BIM workflow and its connected systems
human arbitrator who can be tasked with periodically injecting could be classified into three categories:
external state into the BC. This may, however, feature incur high
latency rates; • External threat agents: unconnected malicious outsiders, criminal
• Permissioned vs. Permission-less blockchain: Permission-less block- entities attempting to access data for reconnaissance, hackers, in-
chains cannot preserve data privacy, and all data is visible to all tellectual property theft, leak of sensitive or confidential informa-
participants on the network. Hence, for a legal contract platform, it tion, malware that can attack BIM database;
is more appropriate to use a permissioned BC that allows developers • Internal threat agents: involved participants who may bear malicious
to grant permission to the participants explicitly. Besides, the in- intent, abuse of authorized access to steal, leak, or corrupt in-
formation on the BC may require encryption to preserve privacy. In formation to disrupt BIM operations, human errors like omissions,
this case, the key needed to be generated and stored off-chain. The ignorance, negligence of work;
BC does not have enough information that can be used by the • Systems and business failures: natural causes by extreme weather,
components without permissions to access the sensitive data. interference from animals, storage device failures, poor main-
tenance of the centralized IT infrastructure, bankruptcies, and
6.2.4.2. Data ownership. BIM can address the issue of conversion of business failures.
intrinsic value to digital values by creating added value, coupled with 6.2.4.3.2. Advantages of using blockchain for cybersecurity. The
BC's featured to provide reward mechanisms in the form of virtual elimination of the requirement of a designated intermediary party to
currencies that hold validity long after the project completion. oversee transactions in the network offers several improvements over
#AECoin is a recently developed cryptocurrency coin specifically existent systems concerning cybersecurity levels.
created for design and engineering transactions [10]. It can be used Blockchain networks ensure that no single node in the network has
to measure the added intrinsic and intangible value of a physical complete access to all the information. Multi-signature (multisig) pro-
artifact and accurately calculate rewards earned by the participant by tection can add another layer of security by authorizing transactions by
assessing individual/collaborative project contribution over the accepting more than one key. Hackers can gain complete access in the
product life-cycle. This concept of monetizing designs through the network only if more than 50% of the nodes are compromised [34].
life-cycle would ensure a superior outcome and can more effectively Effective interoperability can be achieved by ensuring identifiability
motivate engineers and architects to deliver their best efforts by and authentication of participants and establishing a ubiquitous and
providing proportionate incentives. secure infrastructure that serves as a repository for data storage, as well
as a reliable platform that facilitates data exchange subject to required
6.2.4.3. Cybersecurity in blockchain technology permissibility levels. Critical features of BC such as utilizing secure
6.2.4.3.1. Current security levels in BIM. Most industries currently cryptography, asset sharing, auditing trails of data access and a resilient
rely on the “security through obscurity” approach to secure peer-to-peer network present a novel and promising emergent method
engineering, which emphasizes the confidentiality of the to address cybersecurity and collaborative issues. However, it should be
implementation and mechanisms of the cybersecurity system. Thus, a noted that the implementation of BC technology does not directly en-
small leak of information could potentially endanger the entire network sure infallibility. Further, BC can enable a secure and transparent
[34]. BIM offers a diverse multifunctional workspace which addresses method of Proof of Delivery (PoD) with terms to the transport and
asset management, performance monitoring, and change management delivery of physical assets [4].
through the life-cycle apart from overlooking the planning, design, and 6.2.4.3.3. Compliance and trust. The immutable, instantaneous, and
construction phases of the structure. To facilitate continuous transparent nature of DLT places emphasis on compliance and trust
collaboration among all parties, BIM makes use of Common Data between all involved parties on the network. The current economy that
Environment (CDE), which provides a single repository for project is inherently adversarial incentivizes the minimal exchange of
information that is used to collect, manage, and distribute data for information between parties involved in the completion of a project
multi-disciplinary teams. (IET Cyber Security Consortium Report, intending to protecting one's own interests. The advent of BC
2014). It requires auditing, monitoring, and tracking of data through technologies is increasingly disruptive to the existing paradigm and
the CDE, which will develop throughout the project life-cycle. Hence, it will shift work culture in a direction that rewards collaboration and
is vital to provide proper governance and curation to address proves advantageous in the design process by facilitating better-
information management and uphold data security, quality, and informed decision making, collaborative learning, and easier
integrity. Since BIM involves complex interactions involving debugging of errors. This change can be accelerated by the ability of
collaborative actions and information exchange between actors, BC technology to reward intrinsic value of any data through an
technology, and processes and inter-relationships, it is crucial to #AECoin cryptocurrency [10]. BC can facilitate the creation of a
consider cyber-security implications, assess current levels of registry comprising of past achievements and qualifications of
reliability, address current drawbacks, and reinforce security. In individuals to enable comparison of team constellations and thus
contemporary usage, all BIM data is electronically shared across a aiding in decision-making processes for clients and project managers
shared data environment. It is essential for all project members to to select a versatile and well-balanced team with diverse skill sets and
understand and abide by cybersecurity rules [35,45]. There are lesser experience.
trust issues among BIM actors compared to traditional information The BC platforms can primarily serve as recordkeeping tools to re-
sharing. However, BIM's complicated collaborative framework creates cord changes in the BIM model throughout the design and construction
security issues with terms to data leakage, information theft, and phases of the structure. Moreover, smart contracts can be programmed
information protection while dealing. to automate awarding or revoking privileges based on the fulfillment of
Cybersecurity is “the collection of tools, policies, security concepts, certain terms, as well as store an immutable record of all modifications

11
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

in the BIM model data, along with other associated information [36]. automate code-checking and compliance processes is to achieve a
The tamper-proof append-only nature of the records in a DLT also help computable model with the clear syntax to accurately represent code
to enforce compliance among workers. The transparency of the DLT requirements, to reduce model complexity and develop a unified format
coupled with the database properties of BIM [36] can introduce an to exemplify building regulations and building information modeling.
‘evidence of trust’ [10] , which would create a new value proposition for The compliance checking process must be secure and collaborative. The
the AEC industry. following example demonstrates the potential application of the
Hyperledger Fabric in the automating the construction design review
6.3. Automation of code compliance checking (ACCC) USING DLT process in a more secure and efficient environment.

Regulations are normative text prescribed by governing entities to 6.3.1.1. Proposed approaches. The paper proposes new approaches to
enforce constraints to design and engineering processes and manu- execute ACCC in BIM platforms using BC technologies. These methods
facturing based on existing conditions, and function as the defining text are outlined below:
for laws, codes, specifications, standards, etc. Automating code- 6.3.1.1.1. Permissioned blockchain with off-chain data storage. Given
checking and compliance processes in the AEC industry would benefit the multidisciplinary nature of a BIM project team who may belong to
the industry, saving time, money, labor, and minimizes the scope for different organizations and considering other project participants with
risk and human errors. While much of the decision-making and con- varying levels of function and permissions, a permissioned blockchain
sideration of the code is dependent on the experience of the reviewers, is most suitable for usage in a BIM environment. Here, this approach
automation could at least enforce the upper and lower limits and report considers the Hyperledger Fabric and smart contract platform that
results instantaneously. Translation of various clauses and statements relies on the PBFT consensus mechanism. This framework proposes the
into computable language presents a major challenge in achieving au- storage of regulatory texts and BIM model data off-chain and facilitates
tomation [33,37]. However, following an ideal framework to develop a the chaincode to function as the model checker tool.
tool that successfully accounts for all regulations through accurate in-
terpretation of formal language and model data exchange could be pi- • The building codes or regulations upon which the BIM model data is
votal in increasing efficiency and upholding safety standards in an AEC to be checked must be processed into a computable language. A
project. smart contract can be programmed to process the rules from natural
language into computable terms. This contract must be defined
6.3.1. Framework to automate code-checking and compliance (ACCC) carefully to account for all clauses, terms, and variables used in the
processes in BIM building code. After conversion of the rules, the smart contract
The process tree of an automated rule verification system involves generates a second appended smart contract that can now be used
taxonomy development, logic arranging of rules and interpretation in by the model checker. If the smart contract capabilities do not
its first phase. This is followed by generating building model data and support adequate levels of semantic enrichment, the rules are di-
commencement of information checking. Then, the actual rule com- rectly expressed in the scripting languages;
pliance verification process is executed, and the results are reported. • The BIM model data is exported from the platform in IFC format and
There are several techniques to translate natural language into a set of is converted to the scripting language used by the smart contract
rules. There have been developments in Artificial Intelligence, markup platform (Java, in the case of Hyperledger Fabric). The BIM model
document modeling and hypertext to formulate efficient domain data file expressible in Java is now generated and utilized as off-
knowledge representation techniques. Lau proposed the XML format chain data;
which draws on standardized IFC model data [37]; Zhang, et al., 2018). • A model checker is programmed in the form of another smart con-
The introduction of the Industry Foundation Classes (IFC) was the tract that can extract information from the BIM model data upon
most significant data standard for building model schema [42] since it calling and verify them against the translated rules created in the
offered an open-source, flexible, and standardized schema that could previous file;
interact with many supporting technologies. The IFC data proposed for • The model checker executes the code-checking process and creates
the ACCC framework is represented in the ifcXML format [37,38] using another smart contract where the results are reported.
the ifcXML4 specifications [39]. In other words, the ifxXML data will 6.3.1.1.2. External oracles. Governing authorities, legislative
follow these rules and would result in conformance to the ifcXML4 bodies, and licensing entities can use external oracles to force an
schema definition. The conversion rules are a subset of the configured external state into the programmed chaincode. The concerned party can
[40] XML language binding of EXPRESS based schemas and data. directly force the rules required to validate the building model using the
Taking advantage of such standardized IFC schema to represent BIM smart contract containing the building model data expressed in a
model data, and the automatable and enforceable properties of smart scripting language and can view output results directly. External
contracts, ACCC can be carried out in a much more effective, secure, oracles can also be used to directly append change and updates in
and instantaneous method while instantly transmitting results to var- existing building codes and regulations that are present in the form of
ious parties [42,43]. Using BC technology also negates the requirement smart contracts.
of storing all pertinent model checking data in one location. 6.3.1.1.3. Sidechains or cross-chain bridges. A sidechain is a
Clash detection or clash prevention is the most frequently employed mechanism that can provide a solution to address the scaling issue
compliance-checking domain to validate models owing to its favorable that is essentially a hierarchy of lower-tier “consensus instances” [27]
effort-benefit ratio, allowing the project team members to simulta- that can provide a lower degree of decentralization. It is a BC that runs
neously detect discrepancies in the model from design, or clash between in parallel to the main BC which extends functionality through
two or more facets of the building structure [41,44,47]. Most BIM interoperable BC networks permitting a decentralized method of
platforms generally provide tools to perform clash detection studies. transactions between the two chains. Fig. 7 illustrate the concept of
This technique, however, is limited in that it does not facilitate a sidechain data processing framework.
comprehensive code review and verification of information-rich con-
tent embedded in the BIM objects. A rule-based validation method is 6.3.1.2. Example. BIM model data the and the building code
thus essential to perform ACCC to process complex building attributes, regulations are encrypted using BC. The chaincode (containing a set
design specifications, environmental conditions, and other areas that of key value pairs representing the initial state of the BIM model) is
can be sufficiently validated through visual techniques. saved on the peer's computers participating in the Hyperledger Fabric
The primary objective of developing an efficient framework to and instantiated on the channel. The chaincode contains logic defining

12
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

transaction proposal. The proposal is a request to invoke a chaincode


function so that data can be read and/or written to the ledger. With the
help of the Hyperledger Fabric Software Development Kit (SDK) the
transaction proposal is transformed into the proper format utilizing the
user's cryptographic credentials to produce a unique signature for this
transaction proposal (see Fig. 8).
6.3.1.2.2. Verify and execute. The endorsing peers in the channel
verify that: (a) the transaction proposal is well formed, (b) it has not
been submitted previously (replay-attack protection), (c) the signature
is valid (using MSP), and (d) that the submitter (Architect A, in the
example) is accurately approved to accomplish the proposed operation
on that channel (i.e. the submitter satisfies the channel's Writers policy
(The Writing policy specifies at the time of channel creation which user
is permitted to submit a transaction to that channel).
The peers consider the transaction request inputs as arguments to
the invoked chaincode's function (see Fig. 9). The chaincode is then
executed against the current state database to generate transaction re-
sults including a response value, read dataset, and write dataset. No
Fig. 7. Sidechains data processing concept. updates are made to the ledger at this point. This result, along with the
endorsing peer's signature is conveyed back as a “proposal response” to
the SDK which parses the information for the application to process.
a set of data exchange instructions and the agreed upon price for the
6.3.1.2.3. Proposal authentication. The application validates the
service. An endorsement policy has also been set for this chaincode,
peers’ signatures and examines the proposal responses to see if the
stating that both peer A and peer R must endorse any transaction. A
answers are the correct ones. The chaincode would then process the
‘smart contract’ is created using a Turing-complete programming
proposal and send it to respective parties for further processing (see
language that consists of information relating to compliance checking
Fig. 10). This can be the case, for instance, when requests for an input
of model data against regulations, the order in which it is carried, and
from the zoning department is needed to verify the site location of the
the corresponding output. This contract is also discretized and
project. The system is generally built in such a way that even if an
encrypted into blocks. This method is secure, fast, discrete and
application decides not to verify responses or otherwise forwards an
efficient in that it records every code-checking transaction in the
unauthorized transaction, the endorsement policy will still be enforced
permanent ledger and the information is available for peers viewing.
by peers and maintained at the validation phase before writing results
6.3.1.2.1. Initiates a transaction. Architect A is sending a request to
to the ledger.
building department to review the design and issue a building permit
6.3.1.2.4. Assembles replies. The blocks of data are then validated
for the project. The request includes a BIM model for the project. The
and transmitted to all peers on the channel of the network. The
request targets peer A and peer R, who are respectively representative
validation process also ensures that there have been no changes to
of A and R. The endorsement policy states that both peers must endorse
the ledger state and blocks are marked as being valid or invalid.
any transaction, therefore the request is sent to peer A and peer R.
Then the application will transmit the transaction proposal and
Next step is to construct transaction proposal. This is achieved by
response within a “transaction message” to the correct code checking
leveraging a supported Software Development Kit (SDK) (using Java,
services, which can consist of several chaincodes. The transaction will
Python, …etc.), that uses one of the available API's which generates a
contain the read/write datasets, the endorsing peers’ signatures, and

Fig. 8. Data exchange initiation between an architect


and reviewers.

Fig. 9. Response of peers R to the initial request.

13
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

Fig. 10. Constructing blocks of the results.

Fig. 11. Constructing blocks of the results.

the Channel identification ID. Then, the application will build up the Hyperledger Fabric does not require built-in cryptocurrencies since
blocks of the code compliance checking transactions per channel (see mining is not necessary to reach a consensus. Every transaction is
Fig. 11). executed (endorsed) only by a subset of peers, allowing for parallel
6.3.1.2.5. Validation and transmission. The blocks of data are then execution and addressing potential non-determinism and scalability.
validated and transmitted to all peers on the channel of the network. However, the creation of a digital currency is possible with chaincode, a
The validation process also ensures that there have been no changes to program code that implements the application logic and runs during the
the ledger state and blocks are marked as being valid or invalid. execution phase. It serves as the central part of a distributed application
6.3.1.2.6. Updating the database. The blocks will be appended by in Fabric and may be written by any developer. The chaincode is exe-
each peer in the channel for valid blocks and they are written to the cuted within an environment that is loosely coupled with the rest of
current state of the ledger (see Fig. 12). After the transaction is peer and support plugins for adding new languages for programming
committed to the database, an event is invoked to notify the chaincodes.
Architect A that the reply from the building review authority R
transaction has been appended to the chain, and available for the 7. Conclusions
Architect to take further actions.
A blockchain is defined as a decentralized database that records
6.4. Summary every transaction complete in the network, known as a ‘block’. Each
block comprises encrypted data of the entire transaction history. The
When comparing Hyperledger Fabric to permissioned blockchain main concepts behind BC technology are the creation of a digital dis-
such as Ethereum, the Fabric is more beneficial because nodes assume tributed consensus, ensuring that data is decentralized among several
different roles and tasks in reaching a consensus, and are classified nodes in the network that hold identical information and that no single
according to their roles as clients, peers or orderers. This modular ar- node holds the complete authority of the network. The application of
chitecture of Fabric allows customization into various applications de- such decentralized technology in any industry would require aug-
pending on usage. The protocol of Fabric operates through two kinds of mented security, enforce accountability, and could potentially accel-
peers: erate a shift in workflow dynamics from the current hierarchical
structure to a decentralized, cooperative chain of command and effect a
• Validating peers: These are nodes tasked with operational functions cultural and societal change by encouraging trust and transparency.
such as running consensus, verifying transactions, and maintaining This paper presents a comprehensive survey of BC technology and its
the ledger; applications in the built environment and examines the potential in-
• Non-Validating peers: These nodes connect the clients that make the tegration with building information modeling (BIM) workflow. The
transactions to the validating peers. study examines how commissioning distributed ledger technology
(DLT) could be advantageous in the BIM working processes by re-
The client sends the transactions to all its connected endorsers who inforcing network security, providing more reliable data storage and
agree to reach consensus and initiate the update. The client collects the management of permissions, ensuring change tracing and data owner-
approval of all the endorsers and sends approved transaction to the ship.
orderers who then reach consensus on the transaction block and for- The paper explored the fundamentals of DLT, their potential future
ward it to all the peers holding the ledger. The peers then commit the applications and current advances, and their classifications based on
transaction to the ledger. inherent characteristics of consensus reaching, execution of the smart

14
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

Fig. 12. Updating hyperledger.

contract (chaincode), and permission management. Moreover, the [19] M.P. Andersen, J. Kolb, K. Chen, D.E. Culler, R. Katz, Democratizing authority in the
study examines the potential application of BC technology in enhancing built environment, Proceedings of the 4th International Conference on Systems for
Energy-Efficient Built Environments – BuildSys ‘17, November 8-9, 2017, Delft, The
the framework for automating the construction design review process. Netherlands, 2017, pp. 1–10.
Hyperledger Fabric is a BC technology that can be particularly suited [20] H. Boyes, Building Information Modelling (BIM): Addressing the Cyber Security
for developing the automation tool for code-checking compliances in Issues, Institution of Cyber Security (IET) Consortium Report, London, UK, 2014, p.
2014.
BIM design review process due to its ease of programming, flexibility, [21] R. Coyne, T. Onabolu, Blockchain for Architects: Challenges from the Shared
user-defined smart contract feature, robust security, identity features, Economy”, Architectural Research Quaterly vol. 21, Cambridge University Press,
and modular architecture with pluggable consensus protocols. The ex- 2017, pp. 369–374 2018.
[22] M. Bartoletti, L. Pompianu, An Empirical Analysis of Smart Contracts: Platforms,
ample presented depicts that smart contract technologies available in
Applications, and Design Patterns, Universitia degli Studi di Cagliari, Cagliari, Italy,
blockchains like Ethereum and Hyperledger, as well as chaincodes 2017 arXiv:1703.06322v1 [cs.CR] 18 Mar 2017.
available in Hyperledger Fabrics, provide promising technologies in [23] S. Singh, N. Singh, Blockchain: future of financial and cyber security, 2nd
International Conference on Contemporary Computing and Informatics (Ic3i),
advancing the security and efficiency of the automation of the
2016.
Automate Code-Checking and Compliance in the AEC industry. Using [24] X. Xu, C. Pautasso, L. Zhu, V. Gramoli, A. Ponomarev, S. Chen, The blockchain as a
Hyperledger Fabric can address many of the current concerns such as software connector, 13th Working IEEE/IFIP Conference on Software Architecture
data security, change tracing and permission management that arise (WICSA 2017), Venice, Italy, 2017.
[25] J.L. Zhao, S. Fan, J. Yan, Overview of Business Innovations and Research
from using centralized BIM work processes. Future research work will Opportunities in Blockchain and Introduction to the Special Issue, Financial
focus on Hyperledger Fabrics applications in enhancing automating Innovation 2016, University of Hong Kong, Hong Kong, 2016.
code-checking and compliances in the BIM environment. [26] V. Buterin, Chain Interoperability, (2016) https://static1.squarespace.com/static/
55f73743e4b051cfcc0b02cf/t/5886800ecd0f68de303349b1/1485209617040/
Chain+Interoperability.pdf.
References [27] K. Croman, C. Decker, I. Eyal, A.E. Gencer, A. Juels, A. Kosba, A. Miller, P. Saxena,
E. Shi, E.G. Sirer, D. Song, R. Wattenhofer, On scaling decentralized blockchains (A
position paper), International Conference on Financial Cryptography and Data
[1] M. Crosby, Nachiappan, P. Pattanayak, S. Verma, V. Kalyanaraman, Blockchain
Security, FC 2016: Financial Cryptography and Data Security, 2016, pp. 106–125.
Technology: beyond Bitcoin, Sutardja Center for Entrepreneurship & Technology
[28] V. Buterin, Ethereum White Paper: A Next Generation Smart Contract &
Technical Report, University of California, Berkley, 2015.
Decentralized Application Platform, (2014).
[2] Y. Shen, K. Li, W. Shi, Advanced topics on cloud computing, J. Comput. Syst. Sci. 79
[29] P. Glaser, Pervasive decentralization of digital infrastructures: a framework for
(8) (2013) 2013 https://doi.org/10.1016/j.jcss.2013.02.002.
blockchain enabled system and use case analysis, Proceedings of the 50th Hawaii
[3] S. Brakeville, B. Perepa, Blockchain Basics: Introduction to Business Ledgers, Issued
International Conference on System Sciences (2017), 2017, pp. 1543–1552.
by IBM Corporation, 2016.
[30] J. Yii-Huumo, D. Ko, S. Choi, S. Park, K. Smolander, Where is current research on
[4] H. Hasan, K. Salah, Blockchain-based proof of delivery of physical assets with single
blockchain technology? – a systematic review, PLoS One 11 (10) (2016) e0163477,
and multiple transporters, IEEE Access 6 (2018).
https://doi.org/10.137/journal.pone.016377.
[5] D. Puthal, N. Malik, S.P. Mohanty, E. Kougianos, C. Yang, The Blockchain as a
[31] E. Androulaki, C. Cachin, C. Ferris, S. Muralidharan, C. Murthy, B. Nguyen,
Decentralized Security Framework, University of Technology Sydney (UTS), 2017.
M. Sethi, G. Singh, K. Smith, A. Sormiotti, C. Stathakopoulou, M. Vukolic,
[6] M. Swan, Blockchain: Blueprint for a New Economy, O'Reilly Media, Inc.,
S.W. Cocco, J. Yellick, Hyperledger fabric: a distributed operating system for per-
Sebastopol, GA, 2015 Published by.
missioned blockchains, EuroSys ’18, April 23-26, 2018, Porto, Portugal, 2018.
[7] Z. Zheng, S. Xie, H. Dai, X. Chen, H. Wang, An Overview of blockchain technology:
[32] A. McNulty, Blockchain: an Exhaustive Guide to Learning Blockchain Technologies,
architecture, consensus, and future trends, IEEE 6th International Congress on Big
(2018) ASIN: B079QNPQF6.
Data 2017, 2017, pp. 557–657.
[33] C. Eastman, P. Teicholz, R. Sacks, K. Liston, BIM Handbook: A Guide to Building
[8] S. Nakamoto, Bitcoin: A Peer-To-Peer Electronic Cash System, (2008) https://
Information Modeling for Owners, Managers, Designers, Engineers and Contractors,
bitcoin.org/bitcoin.pdf , Accessed date: 1 August 2018.
John Wiley & Sons, 2011.
[9] Z. Turk, R. Klinic, Potentials of blockchain technology for construction manage-
[34] N. Kshetri, “Blockchain's roles in strengthening cybersecurity and protecting
ment, Creative Construction Conference 2017, CCC 2017, 19-22 June 2017,
privacy”, Telecommun. Pol. 41 (2017) (2017) 1027–1038.
Primosten, Croatia, 2017.
[35] A. Hammi, A. Bouras, Towards safe-BIM curricula based on the integration of cy-
[10] M. Mathews, D. Robles, B. Bowe, BIM+Blockchain: a solution to the trust problem
bersecurity and blockchains features, Proceedings of INTED2018 Conference, 5th –
in collaboration? CITA BIM Gathering 2017, Nov 2017, 2016.
7th March 2018, Valencia, Spain < hal-01737929 > , 2018, pp. 2380–2388.
[11] J. Mason, Intelligent contracts and the construction industry, J. Leg. Aff. Dispute
[36] J. Wang, P. Wu, X. Wang, W. Shou, The outlook of blockchain technology for
Resolut. Eng. Constr. 9 (3) (2017) 1943–1462.
construction engineering management, Front Eng. Manag. 4 (1) (2017) 67–75
[12] C.D. Clack, A.V. Bakshi, L. Braine, Smart Contract Templates: Foundations, Design
2017.
Landscape and Research Directions, Barclays Bank PLC, 2016 2016-2017.
[37] N.O. Nawari, Building Information Modeling: Automated Code Checking and
[13] K. Bhargavan, A. Delignat-Lavaud, C. Fournet, A. Gollamudi, G. Gonither,
Compliance Processes, CRC Press, Taylor & Francis Group, LLC, Boca Raton, Florida,
N. Kobeissi, N. Kulatova, A. Rastogi, T. Sibut-Pinote, N. Swamy, S. Zanella-Beguelin,
2018, p. 2018 Published by.
Formal verification of smart contracts, PLAS’16, October 24, 2016, Vienna, Austria,
[38] N.O. Nawari, A generalized adaptive framework for automating design review
2016.
process: technical principles, Proc. Of the 35th CIB W78 Conference 2018, October 1-
[14] M. Dhawan, Analyzing Safety of Smart Contracts, IBM Research, 2016.
3, 2018, Chicago, 2018, pp. 405–414.
[15] C.K. Frantz, From Institutions to Code: towards Automated Generation of Smart
[39] T. Liebich, M. Weise, ifcXML4 Specification Methodology, buildingSMART
Contracts. Workshop on Engineering Collective Adaptive Systems (Ecas), Co-lo-
International, 2013, http://www.buildingsmart-tech.org/downloads/ifcxml/
cated with SASO 2016, (2016).
ifcxml4/ifcxml4_specification_methodology_v1-1.pdf , Accessed date: January
[16] J.B. Atkins, A.D. Mendelson, BIM Me UP, Scotty: Navigating Risk in Digital Practice,
2019.
AIA Trust, 2013 published by the https://www.berkleydp.com/wp-content/
[40] ISO10303-28:2007, Industrial Automation Systems and Integration – Product Data
uploads/2018/02/BIM-Navigating_Risk_in_Digital_Practice.pdf.
Representation and Exchange – Part 28: Implementation Methods: XML
[17] L. Cong, Z. He, Blockchain Disruption and Smart Contracts, Working Paper No.
Representations of EXPRESS Schemas and Data, Using XML Schemas, International
24399, issued in March 2018, revised in April 2018 NBER, 2018.
Organization for Standardization (ISO), 2007.
[18] J. Li, D. Greenwood, M. Kassem, Blockchain in the construction sector: a socio-
[41] V. Getuli, S.M. Ventura, P. Capone, A.L.C. Ciribini, BIM-based code checking for
technical system framework for the construction industry, CIB W78 2018, 1-3,
construction health and safety, Creative Construction Conference 2017, CCC 2017,
October, Chicago, Illinois, USA, 2018, pp. 51–58.
19-22 June 2017, Primosten, Croatia, 2017.

15
N.O. Nawari and S. Ravindran Journal of Building Engineering 25 (2019) 100832

[42] T. Bloch, M. Katz, R. Sacks, Machine learning approach for automated code com- Facility Management Journal (Sep/Oct 1997).
pliance checking, 17th International Conference on Computing in Civil and Building [45] A. Mahamadu, L. Mahdjoubi, C. Booth, Challenges to BIM-cloud integration: im-
Engineering, Tampere, Finland, 2018. plications of security issues on secure collaboration, 2013 IEEE International
[43] D. Greenwood, S. Lockley, Malsane, J. Matthews, Automated code checking using Conference on Cloud Computing Technology and Science, 2nd-5th Dec, 2013, 2013.
building information models, The Construction, Building and Real Estate [46] J. Mason, H. Escott, Smart contracts in construction: views and perceptions of
Conference of the Royal Institution of Chartered Surveyors [Held at Dauphine stakeholders, Proceedings of FIG Conference, May 2018, 2018.
Universitie, Paris, 2-3 September 2010], RICS, London, 2010978-1-84219-618-9. [47] X. Tan, A. Hammad, P. Fazio, Automated code compliance checking for building
[44] C.S. Han, J. Kunz, K.H. Law, Making Automated Building Code Checking A Reality, envelope design, J. Comput. Civ. Eng. 24 (2) (2010) 203–211. ASCE (March/April
Center for Integrated Facility Engineering, Stanford University, California, 1997 2010).

16

You might also like