Oct 3 2021
Token, Hash

To buy an NFT is to buy a number in a distributed database. Owning a CryptoPunk is paying to put your wallet address beside a given token ID.

The above statement may be factually correct, but it does not capture the experience of owning a CryptoPunk. In my experience as an artist, NFTs are not just numbers in databases; they are immaterial symbols around which cultural, social and financial value transacts. The feeling of selling an NFT is not the feeling of putting a name in a database, but an experience of joy, validation, gratitude, and possibility.

The desire for a CryptoPunk relates to the cultural position they hold; owning one signals an alignment with the culture of crytpo, a degree of wealth, and is an opportunity for self expression. But at a practical level, the anchor of this social and cultural utility is still a wallet address beside a number in a distributed database.

CryptoPunks attempt to solidify this tenuous link by embedding an encoded image of all the punks in their contract. This image circulates freely, but the authenticity of any given image can be verified by running the image through a SHA256 cryptographic hash function and comparing the output to the hash encoded in the contract.

Artists such as Deafbeef have taken further steps to strengthen the link between token ID and artwork. Deafbeef encodes the parameters for each audio-visual artwork on-chain, and embeds the scripts used to generate the work as input data on each transaction. These scripts provides the collector with all the code and parameters necessary to re-create the artwork, should the original render linked to the token be lost.

Projects such as Loot take on-chain one step further, generating the output images on-chain as SVGs. This removes the need for a collector to run parameters through scripts, but introduces new challenges.

Randomness is key to generative work, but standard random functions return different values each time they are called. If typical random functions were used in on-chain generative projects, the image for a given token ID would change each time it was requested.

To solve this issue, on-chain artists generate their random values deterministically. Deterministic number generation relies on a the same cryptographic hash function which CrytoPunks uses to encode their reference image, the same hash function which secures the entire Ethereum network. A hash function always returns a consistent output for a given input, but importantly, any small change in the input will result in a widely different output.

In the case of Loot, the random value that determines which asset a token is given is derived by feeding a hash function a piece of text such as ‘WEAPON’, in combination with the token ID. The combined value, for example ‘WEAPON56’, is fed into the function and returns a value. The hash function will return the same value time WEAPON56 is input, but will give a randomly different value if WEAPON57 is entered.

To become useful as an input, the hash value is divided by the number of items in the list of items and the remainder is used as the index to retrieve that token ID’s weapon. This approach can be applied to different lists of items, and if they are all of varying lengths, a single random hash value will return different values for each list.

Autoglyphs, Loot, Artblocks et al. each input different values to their deterministic generation functions, but the central concept remains the same; use a stable input to return a stable but random value.

Images for on-chain NFT projects are drawn anew each time it the image is requested, all randomness derived from the token ID and its hashed value.  

In Token Hash these two values which constitute the generative NFT are laid bare. Stripped of visual and narrative, the tokens display the scaffolding from which generative images are constructed. The numbers convey the core characteristics of the on-chain generative NFT; rarity, scarcity, symmetry, beauty. 

By reducing the on-chain generative NFT to its core elements, Token Hash enables us to look beyond the visual to examine the social and cultural mechanics these values generate.

Token Hash public sale opens Thursday Oct 7 at 10 am EST.
1000 tokens will available for sequential minting, at a price of 0.02 ETH each.