The Ominouslier Roar of the Bitcoin Wave

This post is co-authored by Artem and Venkat

We have been annoyed with the state of blockchain visualizations. On the one extreme, we have the crappy not-even-wrong images of piles of gold coins to represent cryptocurrencies (there are much better visual metaphors you could use). On the other extreme we have stock-market type visualizations designed for salivating traders. It is actually remarkably hard to find good visualizations of the blockchain qua blockchain. Block explorers only give you a lost-in-the-weeds view at individual block and transaction levels.  There is no good, visual, empirically grounded thing you can point to when normies ask you what is this blockchain thing? So we made a video visualizing and audiolizing (there appears to be no auditory equivalent to visualize) the bitcoin blockchain.

In the wave animation above, the x axis is the block number, and the y axis is the amount in unspent outputs at that block location at a given time. One bar represents 300 blocks, and one frame of the video represents a 300-block increase in block height. We also treated the evolving wave as a sound spectrum to create the accompanying audio track. It sounds like a primordial slow roar. Watch with the sound on to hear it.

The wave basically represents value on the blockchain moving forward in time, as transactions move balances from older to newer blocks. “Bitcoins” are actually just moving balances.

This video was the result of a recent straggling chat over several days in the #blockchain channel of the ribbonfarm slack, between Artem and Venkat, with Sarah and Joe joining in occasionally (yes, there is a ribbonfarm slack, and yes, there is a #blockchain channel in it). Editing out several arguments over technical details and idle digressions into how to make your own MRI machines, speculations about an AI that collects all the bitcoin to gain control over humanity, arguments about whether Hedy Lamar was a geek or a nerd, and various other critically urgent and important topics, the conversation went as follows.

INT. RIBBONFARM SLACK — 3 PM JULY 6 SEATTLE/1 AM MOSCOW

VENKAT

Is there an easy way to generate a spreadsheet of the block numbers referenced in the latest blocks on the bitcoin blockchain?

— snip some detailed back-and-forth on what this means —

ARTEM

Don’t be the “I want the entire DB in a spreadsheet” manager guy, be the “run this SQL query please” guy.

— snip complex discussion of address reuse, BIP32, Joe’s visualization of bitcoin aging etc. —

VENKAT

Another fun visualization: x axis would be block number, y axis would be total funds at all output addresses in a block at a given time. Should show value moving in waves towards the newest blocks…what I’m imagining would be an animation where past blocks go down in y height as new transactions move balances forward.

ARTEM

Ah, a video? That sounds interesting, actually.

VENKAT

Yes should look like a slowly rolling wave…I’m basically trying to imagine the blockchain as an aging memory

— snip —

Random straggling conversation about how humans are really waves of atoms, how to build your own strong magnets to build home-made MRI machines, etc. Perfectly normal office watercooler chatter.

— snip —

INT. RIBBONFARM SLACK — 10:30 AM JULY 7 SEATTLE/7 PM MOSCOW

ARTEM

I only have 32 Gb of RAM here, so I was worried that not being able to fit the whole blockchain into RAM would slow things down, but in practice it’s all limited by parsing and hashing, at 17000 transactions indexed per second and negligible IO.

More to the point, answering questions like “how many addresses reuse themselves” or building visualisations on the scale of the whole thing would take a while.

INT. RIBBONFARM SLACK — 9 AM JULY 8 SEATTLE/7 PM MOSCOW

ARTEM

This is going to take a while, so let’s see if i got the idea correctly [work-in-progress video link]:

— snip some back-and-forth about interpreting the visualization — 

VENKAT

(pretending to usefully contribute)

The steady state disturbance behavior of old blocks should follow some sort of time-dependent Richter’s Law. This is basically like earthquake fault lines aging. The older a block gets, the lower the probability it will get affected by a new transaction, and big transactions affecting old blocks will be less likely by an approximate power law. Blockchain physics.

— snip —

8 hours of straggling random conversation about evil AIs that start cults to persuade humans to turn over all their bitcoins, whether Hedy Lamar was a nerd or a geek, puzzles and time vaults on the blockchain, how nerd girls can use encrypted phone numbers to filter potential dates etc. More perfectly normal office watercooler chatter basically.

— snip —

ARTEM

Meanwhile, reindexing reached 2015. The blockchain graffiti era started around mid- or late-2014 and peaked around the end of 2014.
“#Bon anniversaire ma cherie – ALFR49”, “今天是婉芬生日,Love:-D”, “Baby,marry u and happy u is my dream.”, “A NOTRE PETITE NANON NEE CE JOUR”, “Koday is Feb 22 2014 and this is dexX @ bitwatch.co. Cheers and stay fluffy!”

“$ぼくはねこになりたかった”, “merry X MAS”, and so on.

I had to filter them out of the odd transactions output to see the rest of things.

Quite a few oddities. There was a repeated odd tx, when i googled it turns out there was a guide on how to make custom transactions, and dozens of people just copied-and-pasted it.

The wave, however, remains unimpressive. Lots of coins from 2011 got moved in 2014, and that’s about it…65% of blockchain remains…

VENKAT

You are hard to impress. I’m already impressed by what you’ve graphed so far. Add some music and it will be a hit. Hmm maybe you can just treat the graph as a sound spectrum, transpose the graph to human audible frequency range, and feed it into a speaker. Call it “the cosmic background radiation music of the blockchain”

(2 hours pass)

ARTEM

Well… That was a horrifying sound. Treated the thing as FFT of sound, continued every 10 ms with current state. The result was… Like a recording of a sci-fi engine being started encoded to 4Kbit MP3 10 times in a row, as heard through a shitty amplifier.

VENKAT

Sounds awesome. The primal scream of the void. “Sometimes the void screams back”

ARTEM

I dunno. I’ll try to get it to sound better (or ominouslier) – this was just a quick late at night try. Maybe downsample it a bit. In other news, the reindexing is well into 2016 now, and things are as bland as expensive bottled water. The last odd transaction was in August 2015, after which I suspect is when they started enforcing standard transactions only. No weird scripts, no puzzles, no convoluted message schemes, everything in a standard, easy to chew shape.

Should be done overnight my time, so expect a nice video your morning.

VENKAT

😎

INT. RIBBONFARM SLACK — 7 AM JULY 9, SEATTLE/5 PM MOSCOW

ARTEM

Another thing the sound reminds me is the ray gun spool-up in the War of the Worlds movie, the 1953 one.

And here it is in all it’s glory: [link to the video]

THE END

And with that we arrived at the video you see above.

Along the way to producing this video, Artem ended up parsing the entire blockchain for “interesting” transactions, and found several fun things, including this ASCII Canadian Cthulhu somebody had inserted into the blockchain (we are guessing Canadian because of the poutine mention).

Artem then began to try compiling all such oddball transactions, but then we found somebody had already done that.

Venkat did some highly value-adding leadering and supervising while all this blockchain parsing and digital archaeology and anthropology was going on.

Get Ribbonfarm in your inbox

Get new post updates by email

New post updates are sent out once a week

Comments

  1. > audiolizing (there appears to be no auditory equivalent to visualize)
    “Auralize”

  2. So falling waves as time progresses indicate a certain “freshness” to the transactions? We would want the graph to ideally be exponentially shaped to indicate growing frequency of transactions, correct?

  3. >audiolizing (there appears to be no auditory equivalent to visualize)

    There is a word, the word is sonify. Took me a second to think of it though. “Sonification is the use of non-speech audio to convey information or perceptualize data…. For example, the rate of clicking of a Geiger counter conveys the level of radiation in the immediate vicinity of the device.” https://en.m.wikipedia.org/wiki/Sonification

    I would avoid the word “auralize” (and obviously “audiolize,” which is not a word).

  4. My family all the time say that I am wasting my time here
    at net, however I know I am getting familiarity everyday by reading thes pleasant content.