When we last talked about our 3D printing procurement system proof-of-concept, we promised to report back on how we are using blockchain features for access restriction.
Prior to implementing blockchain features, we handled access restriction to the 3D model files (STL/G-code) using folder access and Enterprise GitHub. This worked fine if the 3D printing was done internally (i.e., within the enterprise).
However, to use external 3D printing vendors — which gives enterprises more options — we needed a way to provide the same level of restricted access to the 3D models that get printed externally.
To address this problem, we have leveraged a scalable blockchain database, BigchainDB, in our proof-of-concept.
How it works
Once the 3D model is sent for printing to an external vendor, the vendor can access it via a vendor portal (provided by the enterprise, as part of the proof-of-concept). The model is visible to the vendor for a specific timeframe, within which it must be printed. Only vendors who are authorized would be able to see the model information and print it. Others would be able to view but not print the model.
The vendor must provide the correct public key to initiate the printing process. The system sends a notification to the vendor and the customer when the printing starts and ends. Once the “printing completed” notification is triggered, access to the file will be revoked automatically.
Smart contracts and access control
The timeframe in which the model is accessible, and the access restrictions, are implemented using smart contracts, a feature of blockchain. With “consensus” we take care of authorizing any and all transactions. Consensus authorizes the transaction data to be available to all the other nodes in the network and safeguards against bad data corrupting the entire system.
One more note about access control: If the same vendor logs in after initiating printing, or after the printing is completed, the vendor would not be able to initiate the print, since the access to the file would be removed automatically as part of the smart contract. This prevents unnecessary or fraudulent printing.
The reference architecture below depicts how the 3D model is shared with vendors in the network but can only be printed by the authorized vendor.
Reference architecture showing how a 3D model is shared with all vendors in the network but only the authorized vendor can print it. BigchainDB manages the access control and sits on top of the MongoDB database. (Click image to expand.)
BigchainDB has high throughput and capacity and low latency. It is also a decentralized and immutable database with a very fast query capability. This fast querying can be leveraged by the “provenance” feature, which enables us to search and view all past transactions of the 3D models that have been shared with various vendors for printing.
Having the ability to access third-party 3D printing vendors in a secure environment, rather than being restricted to in-house 3D printing, is an important feature of our 3D printing proof-of-concept that brings choice and flexibility to the enterprise.
ArunKumar Amarnath is a technologist in DXC Labs India, and is currently focused on 3D printing. Based in Bengaluru, his experience includes solution development, Agile, DevOps consulting and system implementation. @arun_amarnath
Baskar Venugopalan, associate director at DXC Labs India, is a technology enthusiast currently focused on 3D printing. As a lead technologist, Baskar has worked in the cloud and big data areas, with emphasis on technology adoption. He has led incubators, as well as teams of senior technologists and architects in the past. Based in Bengaluru, Baskar’s three decades of experience include working with multinationals like Microsoft and Oracle. @venugbx