This is part two of a two-part series. Part one is here.
Could NFTs — Non Fungible Tokens — resolve key issues in 3D printing? How could this work?
In part one I discussed the major issue to be solved with NFTs: the 3D model design files, be they STL, 3MF or other formats, are usually publicly exposed during use and thus the creator loses effective control over the property.
NFTs are thought to be a potential solution for this issue, and they could be in some ways. However, let’s first understand what they are.
An NFT is a cryptographically-generated digital token that resides on a blockchain. Hold on, let’s explain that first.
Blockchain Technology
A blockchain, technically, is simply a list of data blocks chained together. New blocks are added at the end of the chain, while the prior blocks are not changed. That part is simple, but the magic happens when the blockchain is deployed widely.
The concept is to have an identical blockchain stored on many different servers. When a user requests to add a new block, a number of hosting servers must “certify” that the request is valid. This is done through several techniques, including “proof of work”, where servers must repeatedly solve tricky math puzzles. By the way, that’s why people say “Bitcoin slurps energy”.
Once a critical number of servers agree that the request is valid, it’s added to the chain.
The key here is that the blockchain is not owned or controlled by any single party: it exists online and is controlled by the participating servers. Typically the servers are paid a small fee for executing the transaction, and that’s where you find some of the new cryptocurrencies: they are the means of payment for these fees.
Because no one controls the blockchain it is digitally trustworthy: no one can mess with the transactions in the past, blocks can only be added. Many copies are stored separately everywhere. This is very different from the typical “secure” scenario where a central authority (like a bank or online service) hosts the data in their own private system. Those can be hacked, broken, etc., while the blockchain is immutable and operates only by its distributed rules of execution, always faithfully executed. This is a means of achieving true, digital trust.
Okay, with that out of the way, what is an NFT?
What’s An NFT?
It’s a token that’s placed on a blockchain that represents and describes a specific digital asset. The NFT data could contain the name of the item, which digital wallet it belongs to (which is the owner of that NFT) and other properties.
Because the blockchain is immutable, it is then perfectly clear who owns that digital asset. We now have a way to independently confirm the owner of a digital item, which could be a 3D model, for example.
There are ways to provide some extra functions to the NFT. For example, it’s possible to limit the number of copies of the digital asset, provide for updated versions and other use cases. These functions have to be software coded into the base nature of the blockchain before it is deployed, and there are many examples of this in other industries.
Theoretically, one could take all the 3D models in the world and place them on a blockchain as NFTs and we’d know who (by wallet address) owns them.
Is the problem solved? Well, not really.
3D Model NFT Problems
There are several key issues in practically “NFTing” 3D models.
The first problem is that 3D digital models can be rather large. In particular, STL representations can be gigantic, taking up many tens of megabytes of data. A blockchain is not technically designed to handle massive data, and this simply wouldn’t work with currently available blockchain networks.
Then how are large digital assets stored using NFTs?
The answer is actually pretty terrible: the NFT simply holds a URL of the original large file, and it’s stored somewhere else.
Typically the file is stored in a repository, one that’s privately owned and operated. That’s correct: the supposedly decentralized NFT method in this case actually stores the data in a private, centralized server. An example of such a service is OpenSea.
This effectively defeats the main goals of the NFT.
It’s my thought that we’ll need a new type of blockchain designed for large-scale storage to truly solve this issue.
But even if such a thing existed, there would still be problems because current software and hardware is designed to accept old-style digital files. Even if an NFT stored a 3D model, you’d be downloading the raw digital file to slice it in Cura. Thus the file is once again exposed and the security system breaks down.
NFT 3D Print Future
Where will this all go in the future?
I suspect someone will create a centralized Thingiverse-like 3D model repository based on NFTs. As above, however, that doesn’t solve the exposure problem.
Someone else will have to build specialized slicing software that will integrate with the NFT model server and somehow securely acquire the necessary 3D model data for slicing. However, that’s another case of centralization, as a third party controls that software. It would be subject to hacking, error, etc., and once again the file could be exposed.
In the short term it may be possible to store small 3D models on a blockchain and keep them securely, but the “last mile” security problem remains an issue.
The bottom line here is that NFTs open up some possibilities, but much additional work would have to be done to develop a truly secure 3D model ownership system.
This is part two of a two-part series. Part one is here.