CoilGram — A creative history of blockchains

hex6c
4 min readAug 6, 2021

--

CoilGram is a long-term generative art series that tells the history of popular blockchains through coiled representations of their iconic moments — identified by specific blocks of the chain — such as genesis, forks, merges and halvings.

CoilGram algorithm, written in Processing by generative artist hex6c, uses the hash of a block of a chain to generate a unique artistic representation of the block, celebrating in this way that particular moment. The series started in 2018 with the CoinGram representing the genesis block of Bitcoin and Ethereum. Typically, CoilGrams are tokenized as NFTs.

A hash is an hexadecimal number (typically of 64 figures) that digests a message of arbitrarily length (some collisions are possible). For instance, using the cryptographic hash function SHA-256, the text Hello world hashes to:

64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c

CoilGram algorithm reads a hash and uses it to forge artworks shaped as colored intertwined coils. The method is deterministic: the same hash as input gives the same coiled design as output. Moreover, different hashes generate different coils (in shape and color). Therefore, there is a one-to-one mapping between hash codes and coil designs. A hash is just a string of characters representing some information and Coilgram displays it in a creative way.

Coilgram was a pilot project for an early version of ArtBlocks back in 2018. Later the technique of using a hash as a seed for randomness became very popular in so called long form generative art.

How does this work?

Coilgram first converts the hexadecimal hash into a binary string and then uses this string of bits to determine the shape and color of the coils, hence to generate a unique artwork encoding the hash. Essentially, it uses the hash binary string as a generator of pseudo-random numbers to set the parameters of the artwork.

Hash numbers might be used as a reasonably accurate source of randomness. To be sure, I retrieved the first 1000 block hashes of the Ethereum blockchain and converted them into binary numbers (each hash is a 256 bit long binary number). I noticed that the frequencies of 0s and 1s in these strings are very close to 0.5 (precisely 0.5001758 for 0s and 0.4998242 for 1s).

More specifically, Coilgram uses Perlin noise, a technique developed by Ken Perlin working for the movie Tron (1982), in order to introduce some harmonic randomness in the design. To obtain a deterministic behavior (the same input, the same output), the seed of the noise generator is fixed at each coil generation (the final artwork is made of 100 twisted coils). In particular, with an arbitrary choice, the sketch uses the first 100 Fibonacci numbers as noise seeds to generate a coil design.

A generative master

Coilgram is inspired and dedicated to the work of Matt Pearson, who first tought me the beauty of generative art. Thanks!

A programming language is, after all, just another language. And a language can be spoken in many different ways, with a variety of accents or inflections. (…) But if a language isn’t capable of poetry, it has clearly lost its relevance on the human side of the equation. Matt Pearson

Bitcoin Genesis Block, SuperRare, 2018
Ethereum Genesis Block, SuperRare, 2018
Bitcoin Cash Split Block, SuperRare, 2018
Ethereum Classic Split Block, KnownOrigin, 2018
Litecoin Genesis Block, SuperRare, 2018
Zcash Genesis Block, SuperRare, 2019
Dash Genesis Block, SuperRare, 2020
Bitcoin halving — Block #630,000, SuperRare, 2020
Ethereum’s London Hard Fork, SuperRare, 2021
Tezos Genesis Block, hic et nunc (now teia), 2021
The Merge, SuperRare, 2022

--

--

hex6c
hex6c

Written by hex6c

data scientist generative artist blockchain enthusiast crypto art evangelist — linktr.ee/hex6c

Responses (1)