KSPEC – God Mode for NFTs

What is KSPEC?

KSPEC is an Ethereum-based, open source, permissionless protocol developed by Kanon that gives:

Artists ==> the freedom to tackle their biggest creative ambitions
Collectors ==> unrivalled onchain provenance and robustness
NFTs ==> the adaptability and updatability needed to live forever

The KSPEC protocol is live.

Kanon is developing detailed documentation that will allow any creator to implement a KSPEC for ANY existing or future NFT that they have minted.

In the meantime, please refer to our launch post on Medium for further details.

How does KSPEC work?

KSPEC works with ANY ERC-721 or ERC-1155 contract, including all such contracts that have already been deployed. If you have an NFT, it is ready to be KSPEC'd today.

KSPEC creates, on the Ethereum blockchain, a fully expressive Parallel State that a creators can bind to any NFT they have minted.

In that KSPEC Parallel State, creators can secure an arbitrary number of files, of arbitrary size, along with an arbitrary amount of metadata.

The KSPEC Parallel State is constructed using a carefully structured data package which is saved onto the Ethereum blockchain via the _data field inside the ERC-721 / ERC-1155 standard safeTransferFrom function in a self-transfer transaction from the minter to him or herself.

This self-transfer of the NFT can then be repeated at any time in the future to update the KSPEC of an NFT. For example, in the diagram below, the collector (k21.eth) sends the NFT back to the creator (jennasutela.eth) who then incorporates a new VR asset in the KSPEC Parallel State of the NFT.

There are no smart contracts, no intermediaries, no fees with KSPEC. There is no need to stake, encumber or burn your NFTs. If you have an NFT, it is ready to be KSPEC'd today

Who is using KSPEC?

Kanon has completed KSPECs for the following artworks:

  1. The Cosmic Number, Suzanne Treister, 2021 – the first ever KSPEC and first time an entire website has been secured onchain in an NFT

  2. YAMSUSHIPICKLE, Jenna Sutela, 2021 – the first ever full length, full resolution video NFT

  3. Claire, Anyma and Marigoldff, 2021 – the first ever full length, full resolution music video NFT

Kanon is developing detailed documentation that will allow any creator to implement a KSPEC for ANY existing or future NFT that they have minted.

Kanon is also working with selected artists and studios to KSPEC artworks that push the limits of what NFTs can do.

If you have an NFT that you would like to KSPEC with Kanon's assistance, please fill out this form.

Where can I see KSPEC live?

Kanon have developed a simple demo application called IDDQD.

You can pass nftSmartContractAddress and tokenId as path parameters to the IDDQD api endpoint to retrieve the KSPEC of any NFT, directly from the Ethereum blockchain.

For example, you can use IDDQD to view the KSPEC of Claire, Anyma x Marigoldff, 2021, by visiting the below URL

https://iddqd.kspec.io/api/view/0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0/26436

IDDQD KSPEC NFT request

GET https://iddqd.kspec.io/api/view/nftSmartContractAddress/tokenId/[id]

Retrieve the KSPEC of any NFT

Path Parameters

What is KSPEC-ID?

KSPEC-ID is a complete and permissionless protocol for securing identity and provenance on the Ethereum blockchain.

Anyone can create a KSPEC-ID by selecting any NFT as a tracker of identity (ENS works well) and performing a self transfer of that NFT to record on the Ethereum blockchain information that ties one's artistic identity to a specific Ethereum address.

KSPEC-ID is not prescriptive as to what kind of information is included to tie identity to a specific Ethereum address. Examples of information Kanon has helped artists include in their KSPEC-ID include video attestation, tweet screenshots and references from other artists who have performed KSPEC-IDs.

How can I retrieve a KSPEC-ID?

Every valid KSPEC contains a credits object that records onchain who contributed to the creation of an artwork.

 "credits":
            [
                {
                    "address": "0x506fc8fc6483ed5774c020321594e935b80c3b20",
                    "kspec_id_tx": "0x7acd89afff74a7beecc264d3c18898fa584ccd4fc3ca92b3af7da225c6819f5e",
                    "roles":
                    [
                        "minter",
                        "author"
                    ]
                },
                {
                    "address": "0x4e9dff32488c83eb39d79e973ab37f0a06aa9179",
                    "kspec_id_tx": "0xf0b13dade9c0210b527e9325589c2cde041a11dd89d7663a91e3e0a62cd30664",
                    "roles":
                    [
                        "author"
                    ]
                }
            ]

Each element in the credits object contains a kspec_id_tx property which points to the KSPEC-ID transaction stored on the Ethereum blockchain for each contributor to the artwork.

Hence, anyone with access to an Ethereum full node can retrieve the provenance information for any KSPEC'd NFT, all the way through to the evidence supporting the link between an Ethereum address and an artistic identity.

When inspecting an NFT with IDDQD, you can append the /id path parameter to retrieve the KSPEC-ID of any NFT.

For example, the below link retrieves the KSPEC-IDs of all the contributors to the Claire, Anyma x Marigoldff, 2021 NFT:

https://iddqd.kspec.io/api/view/0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0/26436/id

Where are the assets of a KSPEC'd NFT stored?

KSPEC records all metadata directly on the Ethereum blockchain.

KSPEC also allows artists to store redundant links to files onchain. Artists can include URLs to centralized services like S3, as well decentralized storage services like IPFS or arweave.

In addition to storing the redundant links onchain, KSPEC records the blob_hash for each file to facilitate restoration of the artwork should all storage links provided fail.

{
    "_id": "cc0978197aa097fe978509d5eac9a27d6b010f47c9be7dd91ed797ed58c966a6",
    "blob_hash": "f2bacbc1103acd7948decee5969bbdb3c1b9185b84f284a3029b1e0da340df8b",
    "description": "minted_media",
    "comments": "Video included in NFT metadata.json for use as the main media in NFT platforms",
    "filename": "JennaSutela_YAMSUSHIPICKLE_2021_1080p.mp4",
    "data_replication":
    {
        "archive":
        {
            "centralized_urls":
            [
                "https://vault.kanon.art/k21/jenna_sutela/minted_media/JennaSutela_YAMSUSHIPICKLE_2021_1080p.mp4"
            ],
            "cids":
            {
                "ipfs_cid": "Qmcpj8seuQzPXdvom9D2LZuYPnpaTWfizZcyytfLutfNcN/JennaSutela_YAMSUSHIPICKLE_2021_1080p.mp4",
                "arweave_data_tx_id": "YU3TM04kZ1haSpvWQmJ8Cr9tm8BYr2vjC5ZlfDaxWb0"
            }
        }
    }
}

Can Kanon help KSPEC my NFT?

If you have an ambitious NFT project that cannot be accomplished without KSPEC, we'd love to hear about it and see if we might be able to help.

Please use this form if you would like Kanon to assist in executing your NFT using KSPEC.

I have more questions, where can I find out more?

Please join our Discord server and head over to the #talk-kspec channel, we'd be happy to answer your questions!

Last updated