Problem
Building construction information is often distributed across different stakeholders, such as landowners,contractors, leaseholders, architects, builders, consultants, tradespeople, insurers, government departments; by the end of a construction, there is already a broad range of information about a given building that needs to be shared until any one person has a holistic view of the build.
This creates a need for careful recordkeeping, as discrepancies can creep in and cause problems at various stages of the build.
At this point, it would be very convenient to have a single method that all parties use to verify that they have met their obligations to one another.
Solution
Using “blockchains”, the Building Passport project intends to record contracts between various parties involved in a build. And, in addition to this, perhaps even make it possible to consolidate any relevant data amongst authorised parties, by adding pointers to that data. That data can be anonymised then stored externally with as much security and privacy desired, with only records about its existence and updates stored.
Think of a passport - all the metaphorical places your construction has gone will be recorded, with the precise details being held by the relevant agencies.
And just as passports have nice clean design, there can be a nice clean dashboard showing users tailored information and linking data pointers to their resources.
How it works
We use a blockchain to store “transactions” (in our case, representing contracts, status updates, appended data, etc). We start with a “genesis block” which represents a blank slate. Then:
- For every new “transaction”, a block is generated with a unique hash (perhaps based on its data or metadata)
- The block is held in limbo by a blockchain miner until verified by all necessary parties.
- The block is added, pointing to the previous verified block it builds upon.
- Blockchain miners share records so that the validated block is propagated across the network.
- There are different stakeholder views and for each a dashboard that represent their pain-points, These include views such as: the Homeowner view, Government or Auditor views, and Service views for builders and certifiers.
- From a view, a user can see items such as a list of previous transactions, linked files based on the pointer metadata, and a history of their construction.
Technical implementation
Blockchain back-end
- We are using IBM's toolchain and IBM Bluemix as a Service to generate the Blockchain for a demonstration.
- Blockchain is implemented in Go
- Important part: many other options would work great (or better too, one would just need to provide an interface between the blockchain (miners) and the front-end.
Front-end
-
In our case we are using a HTML5 (CSS + JS inclu.) template to create a dashboard mockup
- Important part: you will need to draw data from the blockchain API or miners.