A paper presented at the 2018 eCAADe conference T.Dounas, D.Lombardi Abstract: We present a proof of concept implementation of an integration strategy for connecting CAD with Blockchain. We explain the components of most blockchains and the value they bring to the built environment ecosystem, the potential impact a complete integration might have and we demonstrate the first two of four levels of integration we have identified between CAD and blockchain technologies. For the purposes of the |
INTRODUCTION
Blockchain technologies have emerged since the appearance of Bitcoin [Nakamoto 2009] as a key digital infrastructure powering various functions within the economy [Kinnaird et al 2017] and cities [Coyne et al 2017]. Beyond the hype, reports have described the potential of Blockchain [BRE report year?] to profoundly affect the digital infrastructure [Kinnaird et al 2017] that runs the built environment but also the digital tools that we currently use to design architecture. We present the first connection of a CAD system with a Blockchain on two levels of integration, along with the strategic description of two other possible levels with current technology. Connecting CAD and BIM systems with a blockchain can have a profound effect on the design of cities but also on their operations [Lombardi et al 2018, Tamke et al 2014]. Previous efforts in distributed, interconnected systems have gone so far as creating protocols for plat-
form agnostic communication between 3d software over the internet [Hnidek, J 2011] without though connecting CAD and 3d modelers with other programmes and protocols. We believe that blockchain has the potential to unravel a lot of the locked potential in interconnecting CAD and BIM tools with economic life, and in extension directly with the physical world.
RATIONALE
The paper presents a first attempt at connecting blockchains with a cad system. While the connection is not at the level of a full BIM system, but rather remains on the conceptual level, the rationale of implementing this drives a desire to advance the state of the art in CAD and BIM integration with various other digital infrastructures but also the aspects of the physical world.
BACKGROUND
To explain the potential of Blockchain and the impact of integration between CAD and Blockchain some definitions are needed first. A blockchain is a distributed database which is built out of blocks of data. Various computer nodes on a network share the database and have the task of creating new blocks. The blocks contain an index number, a timestamp, data that we want to store in them, usually a monetary transaction in the case of cryptocurrencies, and a crypto-hash of the previous block. The whole block then gets cryptographically ‘hashed’, i.e encrypting the data it has and the previous block’s hash, into a new hash of specific length. Within this mechanism, a chain is created between blocks hence the name ‘blockchain’. In parallel Nodes listen for transactions between other nodes, and when a transaction is to take place, they will verify the validity of the transaction by collectively checking the record or ledgers of the blockchains that they have stored. This is a validation process that takes place in most blockchain technologies- the node(s) which validates a transaction first is rewarded by the system with a small amount of a cryptocurrency. Once this cryptocurrency gets generated, its block is added to the blockchain by the listening nodes, which then turn again towards validating the next block. That process is called mining and is hugely energy expensive [Lombardi et al 2018]. Certain blockchains, like Ethereum, have also additional features that allow for true integration with a wider digital infrastructure. Smart Contracts are contracts that are executed within the blockchain autonomously, without human intervention when certain events take place- dApps, or decentralized applications are applications that run on the Blockchain, making good use of smart contracts. A public blockchain can run on a public open network like the internet or a private blockchain where the nodes are cryptographically identified first before they participate. In the public blockchain, the proof-of-work that the original bitcoin paper [Nakamoto2009] describes solves the Byzantine-Generals problem that former distributed
systems could not solve. For example, the verce protocol running on Blender, had to identify a master and slave nodes to be able to synchronize and avoid corruption of 3d data due to the nodes being in an asynchronous state. Still, in terms of connecting external applications with the blockchain, in case like the ones developed in this paper, one needs to introduce the concept of an ‘Oracle’, i.e a node which does not participate directly in the resolution and validation of blocks in the chain, but does provide data for inclusion in the blockchain, more so when these are used for executing or triggering a smart contract. This introduces again the problem of identity verification y cryptographic means, but this is out of the scope of this paper.
figure 1
Figure 1: Diagram of a blockchain

IMPLICATIONS OF BLOCKCHAIN IN CAD AND ARCHITECTURE
Less than twenty years ago bank transfers were the only way to send money to someone else located in a different town or country and the whole system was based on a trustworthy process that involved four subjects only: the sender, the bank that sent the money, the bank that received the money and the receiver itself. Since the Internet has been made available to everyone with a computer and a phone line (and nowadays the two things often match in one device only), our habits started a rapid combination of changing and now it seems to be unstoppable. Websites and apps like
The built environment is now facing the effects of the changes produced at different levels by Infor- mation Technology. The ability of IT of being encap- sulated into small components and objects, made by sensors and micro-chips, led to first applications that aimed to improve our daily quality life through the interaction between us and the appliances that pop- ulate our houses.
A second most complicated step is now transforming the way in which inflexible physical entities like buildings and cities are actually designed and
built. Building Information Modelling is accepted as the standard for designing buildings in which all the components are defined thought all their life, from production to installation, maintenance and dismissal. Different BIM levels are recognised accord- ing to the UK government [Harty et al 2016]: from the Level 0, simply based on CAD and with no in- teraction and cooperation between designers to the Level 2, currently in use and characterised by “an information exchange process which is specific to that project and coordinated between various sys- tems and project participants” [BimPortal] in which all those involved in the design process share the same data and work in parallel. In this level-based system the next step is defined as Level 3 BIM and presents a wide range of action points in which we find the creation of new kinds of contractual frame- works (i.e. performance-based contracts, smart contracts), data-validation processes and managing fast transactions between builders and clients.
To realize the expectation of the BIM Level 3 it appears then necessary to rely on some other form of technology who allows to track the information and secure them via encrypting algorithms. The blockchain can then represent a tool to be inte- grated with BIM and able to provide solutions for the above mentioned instances. Distributed Ledgers (DL) such as Ethereum can support the request of smart contracts based on the evaluation of perfor- mances against specific criteria. An “if/then” state- ment could be implemented to help reducing the timing required for delivering payments as well as simplifying the administration of financial aspects re- lated to the construction stage. At the same time, the DL will ensure the security of the data through automated validation and predictable cryptographic implementations as well as the ownership of each digital components.
IMPLEMENTATION
We have identified four levels of connection and in- tegration between CAD/BIM and a blockchain. The basic one integrates a simple blockchain into the CAD/BIM software. The second level of the in- tegration, which is straightforward using current technology, connects the CAD/BIM client with the blockchain, in our case a test network built on Ethereum. The third and fourth cases, involve the in- clusion of a computational node of Ethereum within the computational construct of the CAD/BIM soft- ware, while the fourth level integration involves the running of the whole database of the CAD/BIM soft- ware directly on the Ethereum Blockchain, i.e an im- plementation of a CAD/BIM dApp on Ethereum.
We chose Rhinoceros/Grasshopper/gHowl for our implementation. However the same can be shown for REVIT or even Autocad, or any CAD pack- age that incorporates a computer language inter- preter and the possibility to communicate over a computer network.
First Level of Integration
The first level of integration incorporates a basic blockchain written in python within the environ- ment of Grasshopper (Gh) on Rhinoceros. A basic blockchain ensues the public network capacity of a normal blockchain and records information in a series of blocks that are cryptographically hashed. Figure 2 & 3


In this implementation, we have executed a simple command and copied a circle from one position to another. These have then been referenced inside Grasshopper, analysed into control points, which in turn have been converted into mathemat- ical sets. From these sets, we can calculate the difference between the coordinates of the two groups of control points. This difference is then fed into the python blockchain. The blockchain runs autonomously within Grasshopper and no connections to the outside world
block generated with the actions of the computa- tional designer, one block generated for each action. The difference is fed into the variable ‘diff’ while a simple string is fed into the first block of the chain. The blockchain then encrypts with a hash the first string, produces the first genesis block and continues by producing the rest of the blocks incorporating in each block the string that represents the difference between the original and the copied circle.
This is a basic implementation of the CAD / Blockchain integration. Due to its
Second level of integration:
We then present a proof-of-concept
Code:
pragma solidity ^0.4.21;
contract CAD {
uint public value;
address public seller;
address public buyer;
enum State { Created, Locked, Inactive }
State public state;
function CAD() public payable {
seller = msg.sender;
value = msg.value / 2;
require((2 * value) == msg.value);
}
modifier condition(bool _condition) {
require(_condition);
_;
}
modifier onlyBuyer() {
require(msg.sender == buyer);
_;
}
modifier onlySeller() {
require(msg.sender == seller);
_;
}
modifier inState(State _state) {
require(state == _state);
_;
}
event Aborted();
event CADConfirmed();
event SolutionAccepted();
//abort function truncated
function confirmCAD()
public
inState(State.Created)
condition(msg.value == (2 * value))
payable
{
emit CADConfirmed();
buyer = msg.sender;
state = State.Locked;
}
function confirmCAD()
public
onlyBuyer
inState(State.Locked)
{
emit SolutionAccepted();
state = State.Inactive;
buyer.transfer(value);
seller.transfer(this.balance);
}
}
To determine that, the smart contract on Ethereum is set up to receive the optimization values over the web, with the identity of the computational designer received simultaneously on another part of the Smart Contract. Essentially in this scenario the CAD system Rhino/Grasshopper acts as an ‘Oracle’, a node external to the Ethereum blockchain providing information to the Blockchain. Within our implementation identification is not required as we are executing the contract in a private blockchain. In the public Ethereum blockchain identification would be needed on the Rhino/Grasshopper side, which means that each CAD node would need its own ETH Address on the network, which would be closer to the third level of implementation.
The technical implementation of the second level follows as such (also see figures 4, 5):


Computational designer registers her identity with
Third and Fourth Level of Integration
In a future third level of integration the system would involve the building of an Ethereum node inside Gh. This would take care of communicating and registering the Gh definition with an Address on the Ethereum network. Then as a sequence, the node could record the differences between subsequent versions of the file, encoding them as blocks. This would enable the production for example of an immutable record. The fourth level of integra- tion would involve running a complete application of CAD/BIM on the Blockchain directly, hence trans- forming CAD/BIM into a decentralised application.
IMPACT
The impact had by digitalization and the Internet on daily life is currently affecting the way in which human activities are both conceived and organized. There do exist Architecture offices which are already operating as decentralized autonomous organizations who
CONCLUSIONS AND FUTURE CHALLENGES
This paper presented an integration strategy be- tween CAD and blockchain technology in an algo- rithmic platform. The integration was
Further questions to be tackled will concern the feasibility of writing codes who are able to run on private and public networks as well as moving from CAD to BIM systems. The first implies the necessity of testing them across countries and checking potential issues due to firewalls and local internet limitations. The latter will require the implementation of further BIM levels as defined by standards specifications and integrate a cryptocurrency payment method, along with other potential financial instruments.
REFERENCES
Afsari, K, Eastman, C.M and Shelden, D.R 2016 ’Data Transmission Opportunities for Collaborative Cloud – Based Building Information Modeling’, SIGraDi 2016 [Proceedings of the 20th Conference of the Iberoamer- ican Society of Digital Graphics – ISBN: 978-956-7051- 86-1], Argentina, Buenos Aires , pp. pp.907-913
Carpo, M 2017, the Second digital turn- Design beyond in- teligence, MIT Press, Cambridge Mass.
Ethereum Consortium, E (eds) 2014, Ethereum White Paper, https://github.com/ethereum/wiki/wiki/White- Paper as revised / accessed May 2018, Ethereum con- sortium
Harty, J, Kouider, T and Patterson, G 2016, Getting to grips with BIM, Routlege, London and New York
Hnidek, J 2011 ’Network Protocols for Applications of Shared Virtual Reality’, Communications proceedings of 19th International Conference on Computer Graph- ics, Visualization and Computer Vision, ISBN 978-80- 86943-82-4, Plzen, pp. pp. 31-38
Kinnaird, C, Geipel, M and Bew, M 2017, Blockchain Technology, How the Inventions Behind Bitcoin are En- abling a Network of Trust for the Built Environment, Arup, London
Lombardi, D, Dounas, T, Zhang, CK, Wu, H and Yang, C 2018 ’CREATING NEW CITIES – CELLULAR AUTOMATA & SOCIAL CONDENSERS’, Proceedings of CAADRIA 2018, Short Papers, Beijing
Tamke, M, Jensen, M, Beetz, J, Krijnen, T and Fjeld Edvard- sen, D 2014 ’Building Information Deduced – State and potentials for Information query in Building In- formationModelling’,inThompson,EmineMine(ed.), Fusion – Proceedings of the 32nd eCAADe Conference, Newcastle upon Tyne, England, UK, 10-12 Septem- ber 2014, pp. 375-384, pp. pp. 375-384
Tedeschi, A 2014, AAD_ Algorithms-Aided Design, Le Penseur
[1] http://www.food4rhino.com/app/ghowl
[2] https://bimportal.scottishfuturestrust.org.uk/page/s tandards-level-2