Solving the NFT Double Minting Problem With Computer Vision
Startup Steg.ai has an elegant solution
Startup Steg.ai has an elegant solution
NFTs are one of the most exciting applications of the blockchain, and a potentially lucrative source of revenue for content creators like me. I’m a professional photographer, and I have tens of thousands of photos in my portfolio. With today’s tech, I could choose a photo, mint it on a marketplace like OpenSEA, and sell the resulting NFT. Through the blockchain, any sales of the NFT would be tracked on an immutable public ledger, and I could even collect a share of future sales automatically.
There’s a problem, though. As powerful as NFTs are, they have a major flaw. An NFT is just a pointer to some other asset, whether that’s a photo, a video, an illustration, or something else entirely. The NFT and my photo aren’t actually linked together in any substantive way. Once I mint my photo into an NFT and sell it (ideally for $69 million), there’s nothing stopping me from taking the same photo to a different marketplace, minting it a second time, and selling it again as a new NFT. That would dilute the value of the first NFT, presenting a big risk for its buyer.
It’s a problem called “double minting”, and it’s one of the thorniest issues in the NFT space today. It’s an issue which evokes the classic movie The Producers, in which two conmen sell rights to the same Broadway play to hundreds of buyers, unbeknownst to them. Buyers basically have to trust (or get legal assurances) that NFT sellers won’t double mint their creations, degrading value of the NFT down the line. They also have to contend with the fact that a thief could steal an image, mint their own fraudulent NFT, and sell it in competition with the real one. The Verge describes these issues well in their NFT explainer.
Now, though, one startup thinks they have a solution to the NFT double minting problem, and other issues of NFT fraud. Steg AI is using computer vision to bring an old technique, steganography, into the modern age. Their proprietary tech allows users to embed an invisible code into an image file, without dramatically altering how the image looks to the human eye.
The code travels with the image wherever it’s published or used, and is so robust that someone can print the image out and scan it — or even photograph the image on a computer screen with their cellphone camera — and the code will still be digitally readable. The code can be used to embed metadata into the image. But it can also potentially be connected to an NFT, allowing the NFT’s token to exist within the NFT image itself, linking the two permanently.
I spoke with Eric Wengrowski, Co-Founder and CEO of Steg.ai, about their tech and its potential impact on the world of NFTs.
Invisible Ink for the 21st Century
Wengrowski told me that steganography is nothing new — the practice dates back to the use of invisible ink and other old-school technologies to embed secret codes in letters. What Steg has done is to update the tech for the modern era. Their exact process is proprietary, but basically they use context-aware computer vision to analyze an image, looking for parts which can be altered without making the image look strange to a human viewer. Their algorithm then subtly alters pixels in these low-importance parts of the image, using the altered pixels to embed an invisible code.
The image comes out looking a tiny bit degraded (the more data Steg embeds, the greater the degradation), but ideally in ways that the average human won’t even notice. It also comes out with a super-robust code embedded directly into its pixels, which can later be retrieved from the image by another Steg algorithm, revealing the secret, invisible, embedded data. Even if the image is altered in major ways, Steg’s code remains readable — a departure from the less-robust embedded codes of the past.
Steg originally envisioned using their tech for copyright enforcement and tracking the origins (called “provenance” in the photo industry) of an image. Suppose I want to license one of my photos for use online, but I’m afraid someone might steal it and claim it as their own, violating my copyright. I could use Steg’s technologies to embed my copyright info in the image‘s pixels before posting it online or selling it to a buyer. Now, imagine that I find the image on a random website six months down the line. I could scan it with Steg’s algorithms, retrieving my coded copyright information. I could then use that info to prove that I owned the image, enforcing my rights again the site which used it inappropriately.
Solving Double Minting
The same technique, however, could be used to embed an NFT token into the image instead of embedding copyright information. That would allow the token to travel with the image file itself, and to be read by anyone with access to Steg’s technologies.
In practice, here’s how that would work. As a photographer, I’d take one of my images and mint it into an NFT. Before I released it to anyone, I’d use Steg’s tech to embed the NFT’s token into the image file’s pixels. Now, no matter where the image went — whether it was on an NFT exchange, in someone’s wallet, or published at the top of a Medium article — anyone could grab the NFT token out of its pixels using Steg’s services. They could then look it up on the blockchain, finding the NFT to which the image was linked.
Because the NFT token would be embedded in the image’s pixels, it would be nearly impossible to remove. And because the NFT itself is immutable and public, anyone at any time in the future could grab the token out of the image and use that token to find and validate the NFT record on the blockchain. The image file and the NFT, in effect, would become one and the same.
This has huge implications for solving the issue of double minting. Because NFTs are unalterable — and because my NFT’s token would be embedded directly in my image file — I couldn’t double mint it, and no one could steal it and mint it fraudulently. If I tried to take the image and create a second NFT from it, the invisible code in its pixels would still point back to the original NFT. Anyone trying to buy the second NFT would see the reference to the first one, and known I had double minted.
Likewise, if someone tried to steal my image and mint their own fraudulent copycat NFT down the line, that wouldn’t work either. Anyone with Steg’s scanning tech could scan the imposter NFT, see the token from the real one, and know they were being swindled. Because Steg’s code is so robust, the technique would work even if the fraudster cropped the image, changed its colors, or otherwise altered it.
If it works as Wengrowski suggests, Steg’s tech could make huge strides towards securing NFTs by linking their associated image or video files directly with the NFT’s token. That would give buyers confidence that their NFT was unlikely to be stolen or double minted. It would also ensure that anyone who downloaded the NFT’s image could use that image and Steg’s tech to see the NFT’s chain of ownership. In a industry where who owned an NFT before you (and in many cases, how much they paid) can be a big driver of value, having that information travel with an NFT’s underlying image would make it much more accessible, potentially bumping up the value of the NFT itself.
The Challenges and Future Possibilities
Of course, issues remain. If I wanted to be sneaky as an NFT minter, I could save copies of my photo before minting my NFT and embedding Steg’s code. I could then use those copies to double mint down the line. Likewise, if someone stole my original photos, they could create a fraudulent copycat NFT with the “clean" photos and avoid embedding Steg’s code, and thus linking back to the original NFT.
Wengrowski suggests several ways around this. One solution is to digitally sign an image the second a photographer takes it, or the second an illustrator presses Save in their design software. That way, the image can be linked back to the creator’s camera or software. The signature could potentially be embedded directly into the image using Steg’s tech on the camera itself, or in a creator’s software.
In the future, it’s even conceivable that the image could be signed and also registered on a blockchain as an immutable NFT the moment it was created, linking it permanently to the photographer or illustrator, and eliminating the risk of un-tracked duplicates. Signing image right on a camera sounds far-fetched, but organizations like the Content Authenticity Initiative, led by Adobe, are working on it right now.
Today, the high cost of minting is a deterrent, but as transaction fees come down and camera processors become more powerful, it’s conceivable that every photograph a professional photographer takes could be digitally signed, minted as an NFT, entered into a blockchain, and tagged with Steg’s tech automatically, the moment it was created. That would allow the creator to sell fraud-proof NFTs, as well as using the blockchain to prove that they created the image (or at least that it was created with their camera), simplifying attribution, helping to combat deepfakes, and making copyright easier to prove.
That may take some time to arrive. But it’s an exciting evolution for a technology born out of invisible ink and paper letters.