KSPEC – Unleashing God Mode for All NFTs
How an inconspicuous data field hidden in all NFT smart contracts could hold the key to unlocking powerful new capabilities for all NFTs
Panic and fury are two sides of the same coin.
When panic has us in its grip, we search frantically for a way out. We bolt for the exit at the first chance we get.
But when we’re lit with fiery fury, we are in “God Mode.” We are Popeye with a belly full of spinach. We are He-Man holding up the Sword of Grayskull. We are Carol Danvers in Binary Mode. We are, in a word, unstoppable.
Over the last six months we’ve seen sales of NFTs mushroom to $2.5 billion compared to an erstwhile impressive $81 million in the preceding six months. Just about every big-name celebrity from Paris Hilton to Gary Vaynerchuk to Jay Z is experimenting with NFTs. Traditional high-end auction houses are clearing tens of millions of dollars in NFT art just weeks after setting up their own NFT capabilities.
On Shaky Ground
On the surface, it might seem like NFTs are on a God Mode rampage.
But in terms of technical capabilities, not much has changed since NFT sales first went parabolic. We’re on the same shaky ground we were standing on six months ago.
We’re still telling artists that they need to clip their videos to a third of their length, or that they need to settle for 2K resolution to squeeze their art into a 50-megabyte file.
We’re telling metaverse creators that they need to choose a single file when they mint their NFTs, which means we’re forcing projects like Meebits to serve additional files like 3D versions of their artwork off chain, completely disconnected from the NFT.
Want to update your NFT after minting it? Good luck with that! Which means, at a minimum, that creators who are brave enough to gamble on minting a 3D file directly into their NFTs might see these same NFTs break the moment file formats change or new metaverse platforms supersede old ones.
In stark contrast, digital creativity outside of NFTs is much more flexible and much more expressive.
Artists have been innovating in digital media since long before Satoshi mined the first Bitcoin block, while facing none of the constraints we are now imposing on artists for the sake of minting an NFT. As innovative as NFTs might seem, NFT capabilities haven’t caught up to the capabilities that artists expect to have at their disposal when creating digital works.
With the world’s attention focussed on the huge promise of NFTs, digital creators are looking to us now to show them how to capture the essence of their work in a scarce asset, without destroying their invaluable creations in the process.
The reality on the ground, however, is that six months after NFT sales first went parabolic, NFT capabilities have barely inched forward.
What’s Holding Us Back?
I wouldn’t be bringing up the limitations of NFTs if I didn’t think we’d found a way to finally unlock God Mode for all NFTs. But first let’s explore what’s been holding back the capabilities of NFTs up to now.
All NFTs live on a specific type of contract, typically referred to as an NFT contract, which tracks ownership of assets that are unique and distinct from any other asset in that contract, or any other asset anywhere else, for that matter, as opposed to, say, ERC-20 tokens, which are fungible with all other tokens of the same type.
People have deployed thousands of NFT contracts, the vast majority of which follow either the ERC-721 or ERC-1155 standard.
Each NFT contract issues tokens, e.g., token 1, token 2, token 3, and each of these tokens is, in essence, a row in a table in the NFT contract that says:
“The asset represented in row 1 of this contract points to this file and belongs to the ETH address `0x…`.”
Importantly, as is the case with all other Ethereum smart contracts, once an NFT contract is deployed, it cannot be changed. Moreover, once an individual token is issued, it cannot be changed. The NFT contract is immutable, as are all of the tokens it issues.
Let’s look at what this implies for the In Titan’s Light NFT by Deadmau5 and Sutu, which happens to be the very first NFT I ever bought and also the very first NFT that Deadmau5 and Sutu ever minted.
The In Titan’s Light NFT is token number `17270` on contract `0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0` and it points to this IPFS File.
The IPFS file contains a link to a compressed MP4 video, a description, a title, and other similar data that allows marketplaces like SuperRare and OpenSea to display the contents of that NFT.
Now let’s say that at some point after buying the NFT, I wanted to add a 360 version of this video that I could experience in VR. Because the NFT is immutable, there is no way for me to do that.
Let’s say that I was lucky enough that Deadmau5 and Sutu had included a link to a 360 version of the video in the description, but that two years from now no platform supports that file format any more. Because NFTs are immutable, there would be no way for me to update the file to the latest format.
Let’s say that we’re even luckier and some smart cookie figures out how to write a contract that allows us to update the NFT after it’s been minted. That would be amazing, but it wouldn’t help my In Titan’s Light NFT, because not only is the NFT token immutable, but the smart contract on which the NFT lives is itself immutable.
In sum, NFT immutability is the rub.
The Noble (But To Date, Bootless) Crusade of the Smart Contracts
Awareness of this problem is widespread, at least within the developer community, where there are some very smart minds trying to unlock the full potential of NFTs.
Some notable solutions include the Manifold contracts, which consist of “Creator” contracts that can be upgraded with new capabilities by adding extensions.
The developers of InfiNFT emphasise data redundancy by hosting content on both IPFS and Arweave, as well as saving metadata onchain at the time of minting.
Yet others, like the Nameless contracts, used in the Tim Berner’s Lee smart contract, allow for an admin to update the NFT content at any time before the admin calls the `seal` function.
What all of these solutions have in common is that they are trying to unlock new NFT capabilities at the smart contract level.
The obvious drawback of this approach, which I’ve already highlighted, is that it’s not going to be of much help to my In Titan’s Light NFT, nor to any of the other NFTs already in my collection.
But even for new NFTs, trying to solve the problem at the smart contract level forces creators, collectors, and platforms to play Russian roulette with a fast-changing set of daunting and high-stakes questions in order to decide whether or not to adopt a new set of smart contracts.
For example, as a creator, should I try to migrate my audience away from platforms like Foundation or SuperRare or MakersPlace for the sake of taking advantage of the novel features offered by a new set of smart contracts? How do I know that my collectors will value these features? What if my collectors don’t really end up valuing these features and hence they don’t end up migrating with me?
As a collector, how much time am I going to invest in figuring out what each new contract can do, what the pros and cons are, what the risks are versus other alternatives? To give you a sense, it took me a couple of hours of digging through the code of the Nameless contracts in order to figure out that a Nameless admin seems to have the ability to change the Sir Tim Berners-Lee NFT metadata. That was two hours invested for just one feature in one out of dozens of different new contracts out there.
And then as a platform, how am I going to deal with all these new contracts emerging? Which ones will have the greatest longevity? What do we tell creators who are thinking of migrating to new smart contracts, enticed by the promise of more functionality?
Arriving at a high-conviction answer for any of these critical questions is a major pain. And the consequences of getting the answers wrong could be catastrophic for everyone involved.
KSPEC — The Parallel NFT State
It’s clear to me that we’re not going to find the key to unlocking God Mode for NFTs at the smart contract level.
Instead, our approach is to create a parallel state for the NFT that lives on the Ethereum blockchain and is expressive and flexible enough to handle any creative challenge digital artists can throw at it.
We call this parallel state KSPEC, and we are convinced that it is the key to finally unlocking God Mode for all NFTs.
And by all NFTs I mean all of the NFTs. Whether they have already been minted or not. Whether they’re on SuperRare or MakersPlace or Foundation or any other ERC-721 or ERC-1155 contract. There is no need to burn or encumber your NFT in any way to create this parallel KSPEC state. All of your NFTs are ready for KSPEC. Today.
Before showcasing the capabilities of KSPEC (the protocol is already live), let me explain how this parallel state for NFTs is even possible, and how it unlocks God Mode for all NFTs.
Normally, as we’ve established, an NFT contract and the tokens it issues are immutable. They cannot be changed.
However, they can be transferred from one Ethereum address to another using the `safeTransferFrom` function, which is part of both the ERC-721 and ERC-1155 NFT standard.
The `safeTransferFrom` function takes a `from` address, a `to` address, a `tokenId,` and a `_data` input.
In the vast majority of `safeTransferFrom` transactions, the `_data` field is left completely blank.
But if you do pass any data into the `_data` field, the NFT contract will preserve that data forever on the Ethereum blockchain.
Hence, it is this inconspicuous, and yet ubiquitous, `_data` field that holds the key to unleashing powerful new capabilities for the NFT through the creation of a KSPEC parallel state.
Now let’s walk through how we used this KSPEC parallel state to enhance an actual live NFT, namely, the YAMSUSHIPICKLE video NFT that Berlin-based artist Jenna Sutela created for the K21 Collection.
In minting her NFT, Jenna faced one of the most common challenges we see NFT artists encounter. Her artwork YAMSUSHIPICKLE is a 190-second ProRes (high resolution) video. The file size is 1.8 gigabytes, whereas the maximum allowed file size on SuperRare is 50 megabytes. On OpenSea the limit is 100 megabytes. Neither is enough to secure Jenna’s full artwork onchain.
Unfortunately, the most frequent solution for this common problem is for the artist to either settle for a compressed version of the video, or reduce the length of the video, or both.
Clipping the video so that it fits into a small file size is prima-facie an unacceptable solution (appalling, even!). And while compressing the video might be acceptable for, say, displaying the artwork on a web browser, it’s completely inadequate if the piece is going to be displayed in the artist’s intended form at an institution or anywhere on a large UHD screen.
Fortunately, with KSPEC, we can have our cake and eat it too.
First, we define a KSPEC transaction as one where Jenna sends a token, which she herself has minted, to herself. This does two things:
- It filters out KSPEC transactions from other regular transactions (i.e., it simplifies querying).
- It enforces a strict permissioning system whereby we will always know that Jenna, and any prior holder of the artwork, consented to the KSPEC being created or modified.
For YAMSUSHIPICKLE, Jenna compressed the video artwork into a 50-megabyte MP4 so that it would fit within the SuperRare 50-megabyte file size limit.
After minting the token, Jenna sent the token to herself in this transaction. In that transaction, she included a KSPEC data packet, which includes redundant links to the compressed artwork as well as the full 1.8-gigabyte version.
We’ll elaborate on what other information is included in the KSPEC data packet later on, as it is critical to how KSPEC conserves and maintains an artwork.
For now, though, the main point is that once the KSPEC transaction is confirmed, both the compressed and the full version of the artwork were secured on the Ethereum blockchain, forever.
Jenna then sent the NFT to us for incorporation into the K21 Collection.
Now, let’s say that in twelve months Jenna comes up with an idea about experiencing YAMSUSHIPICKLE in VR.
This would require her to write an additional file into the NFT, which normally would be impossible. But it is trivial to add this file to the KSPEC parallel state.
To do this, we would send the NFT back to Jenna, who would prepare a new KSPEC data package that includes the new VR file. She would then perform a KSPEC self-transaction, and once the transaction is confirmed, that new state, which includes the new VR file, will have been secured forever on the Ethereum blockchain.
There is no limit to how many times we could do this with Jenna. Interestingly, this opens up the possibility of ongoing revenue for Jenna, because collectors have an incentive to commission artists to update or enhance their NFTs.
KSPEC-ID — The Tip of the Iceberg
Now that we’ve established how the KSPEC parallel state works, let’s have a look at some of the capabilities built into the data package that gets passed in a KSPEC transaction.
You can read the current KSPEC state of YAMSUSHIPICKLE directly off the blockchain in this quick demo application that we built.
Each KSPEC is structured as a JSON, which is a versatile treelike data structure that nearly all internet applications use to pass data back and forth.
The top level of the KSPEC JSON has 3 elements: `kspec`, `header`, and `body`.
Inside the `body` element, we see the `metadata` element, which stores “data about the data,” and the `storage` element, where the data used to construct the artwork is saved.
There is a lot packed into these data elements, so I’ll just point out a few highlights.
First, under credits, we see the address `0xef87d77a3d99081c76d88d3f7676963f6b0c8565,` which is Jenna’s address.
You’ll notice that immediately below the address is a `kspec_id_tx` property, which contains an Ethereum transaction ID.
This isn’t just any Ethereum transaction ID. The transaction saved under `kspec_id_tx` is itself a special class of KSPEC transaction we call “KSPEC-ID.”
What’s KSPEC-ID? It’s the world’s first unbreakable, permissionless onchain identity verification system, made possible by the KSPEC parallel state.
To see how it works, let’s open the KSPEC-ID data package.
Inside the KSPEC-ID data package you will find redundant links to a video showing Jenna Sutela holding up ETH address `0xef87d77a3d99081c76d88d3f7676963f6b0c8565`.
In case the implications of being able to retrieve this video ID attestation directly from the Ethereum blockchain are not clear, let me make them explicit.
The new and powerful capability that KSPEC-ID provides is the ability for anyone to be able to verify onchain, for themselves, on-demand at any time, the identity of the artist who minted YAMSUSHIPICKLE. Regardless of which platform Jenna has minted on in the past or decides to mint on in the future. And all without having to rely on any third party to verify Jenna’s ID.
In contrast, when we want to identify the creator of any other NFT, the provenance chain always stops at the desk of a third party.
For example, we can easily see that the Sir Tim Berners-Lee NFT was minted by the address timbl.eth. But how do we know timbl.eth is really Sir Tim, as opposed to, say, timbernerslee.eth or any other address?
We “know” because we’re trusting Sotheby’s (or MakersPlace, or Foundation, etc.) to verify artists for us.
But we don’t know how these platforms verified the artist’s identity. We could email the platforms, and maybe they will reply with evidence in a few days or maybe a few hours if we’re lucky. Certainly it would take longer than I would have the patience for. Machines can’t programmatically retrieve the information these platforms use to back up the identity of an artist. Moreover, if these platforms were ever to shut down, how would we continue to be able to verify an artist’s ID?
What’s more, these platforms restrict who can mint on them, so ID verification by a reputable third party is limited right now to closed platforms — which means artists who want to mint on open platforms like Zora or OpenSea can’t have robust, programmatic ID verification on-demand.
Whereas now, with KSPEC, all a machine or even a human needs to do is look for the `kspec_id_tx` element in an NFT’s KSPEC to instantly retrieve the provenance proof of the NFT. Onchain, on-demand, 24 hours a day, seven days a week, 365 days a year and with no intermediaries.
We think just this feature alone is transformational for NFTs, where counterfeit work is endemic given the lack, heretofore, of a simple, robust, onchain ID verification system.
We wholeheartedly believe KSPEC-ID is by far the best way to secure digital asset provenance. And unbreakable, on-demand, onchain programmatic ID verification is just one of the powerful new capabilities that KSPEC unlocks.
But Wait, There’s More
At this point it’s also worth noting that we developed the structure of the KSPEC data package at Kanon in close collaboration with senior curators and conservators with over 100 years of combined experience at some of the world’s preeminent art institutions. This means the KSPEC data package packs far more information and capabilities than we can cover in a single post.
Let’s inspect a few other elements of the data package to get a sense of the scale of possibilities that KSPEC opens up for NFTs.
Under the `asset` element of `metadata,` we have the `components` element. In this section, we can define an arbitrary number of components that constitute the artwork. In the case of YAMSUSHIPICKLE, the components are the compressed video file, a still image used as a thumbnail on SuperRare, and the full, high-resolution version of the video.
Defining the artwork in the `components` element makes it clear what constitutes the artwork (e.g., images, video, 3D files) and what is provided as ancillary context (such as sketches, blog posts, interviews).
It also eliminates the restriction of having to define an artwork around a single image or video. An artwork can now be composed of any number of components of any type.
Farther down we see the `distribution` element, where we lay out everything a third-party application would need to load up an NFT.
For YAMSUSHIPICKLE, we included an `application_opensea` element. As new platforms emerge, whether on the web, AR, or VR, we can always extend this by, for example, adding an `application_decentraland` or `application_spatial` property in a subsequent KSPEC, and linking these new properties to the application-specific files that the platforms require to ingest and render the NFT.
In the `storage` element, we can include an arbitrary number of `records` or storage assets that we want to secure onchain. And in each record, we can include an arbitrary number of `centralized_urls` as well as `cids` for decentralised storage platforms like IPFS or Arweave, providing deep data redundancy by default.
In the unlikely event that all `centralized_urls` and `cids` were to fail, the collector can always maintain offline copies of the file and verify their authenticity against the SHA 256 hash saved under `blob_hash,` meaning nothing short of a complete collapse of the Ethereum network can destroy the NFT.
Taking God Mode Out for a Spin
Securing full-resolution videos onchain will free artists from one very common NFT artistic constraint, but it is also just the tip of the iceberg for the capabilities that KSPEC enables.
Now that we’ve unlocked a vast set of new capabilities for NFTs, we can’t wait to take KSPEC out for a spin and push the limits of what it can do.
As it happens, the very first artwork we secured with KSPEC wasn’t a video, a GIF, or a JPEG, but an entire live website.
This web artwork is entitled The Cosmic Number, and it was created by digital and new media pioneer Suzanne Treister for the K21 Collection (some of Suzy’s other works are included in the collections of Tate Britain and the Centre Pompidou).
To secure The Cosmic Number, we created a KSPEC parallel state for her SuperRare NFT. In that KSPEC, we secured all the components of the artwork, which included multiple images, a 300+ MB video, an archive of the entire website, and even a snapshot of the git repository of the artwork.
All these assets were secured via KSPEC onchain, making it easy for humans and machines to retrieve and read all the rich data and metadata associated with the artwork.
And if anything in The Cosmic Number website were to break because of changing formats, standards, and platforms, we could always update the artwork through an additional KSPEC transaction.
In addition to securing complex web artworks like The Cosmic Number, our KSPEC pipeline is brimming with other world firsts for NFTs that we can’t wait to release more details about.
Some of the other KSPECs we are working on include:
- The first-ever KSPEC ring signature, which will secure the provenance of a multi-author NFT onchain, all the way through to the identities of each of the NFT’s authors
- The first-ever KSPEC physical fingerprint, which will provide unbreakable onchain provenance for a physical artwork
- The first-ever KSPEC of an interoperable 3D NFT, with metaverse-ready assets secured onchain that can be extended as many times as needed in the future to keep up with new metaverse platforms and formats as they emerge
And many more.
Thanks to the KSPEC parallel state, there really is no limit to what you can do now with an NFT, and we’re very keen to get the word out about the new capabilities KSPEC unlocks to artists who want to push the limits of NFTs beyond simple images, gifs, and MP4s.
If you are an artist, a creator, or a studio with an idea for an NFT and would like to take advantage of the powerful new capabilities that KSPEC enables, please reach out to me at firstname.lastname@example.org or to email@example.com.
We’d love to support your NFT ambitions in any way that we can!
Interested in KSPEC?
Let's chat on Discord
👉 Join Kanon Discord ServerLet us know how we can help
👉 Kanon enquiry form
Live KSPEC Q&A on Kanon Discord
Click on a KSPEC Q&A session to add it to your calendar 👇1. 📆 🖊️ Europe + Asia (Thurs 5 August 2021):
CET 1200 | JP 1900 | CN 1800 | EST 0600 😴 | PST 0300 😴2. 📆 🖊️ Americas (Fri 5 August 2021):
EST 1600 | PST 1300 | CET 2200 | JP 0500 😴 | CN 0400 😴
God Mode for Everyone
The KSPEC protocol itself is already open source, permissionless, and fully onchain. But it does require some technical proficiency to implement at the moment.
So we are working with select artists and studios to handcraft KSPECs for artworks that are pushing the limits of what NFTs can do. This helps the artists and studios realise their heretofore impossible NFT ambitions while helping us discover the edge cases that we need to understand and solve for in order to further strengthen the KSPEC protocol.
The ultimate vision is to make KSPEC and the capabilities it unlocks available to everyone. To put God Mode in the hands of anyone with an idea and an internet connection. To make creating a KSPEC as easy as minting an NFT.
We have what we believe are the world’s best curators, conservators, product designers, visual designers, and engineers working with us at Kanon, but we need more hands and minds to help us execute our vision for KSPEC.
If you or anyone you know of has engineering skills that could help us make this happen, please reach out to me at firstname.lastname@example.org or to email@example.com.
In the meantime, we hope you’ll join us in pushing the limits of what NFTs in God Mode can do!