Skip to main content

Photo: Private Key 21/21 in front of the Bitcoin Full Node Sculpture 6.0, both from the collection of Eric Weiss. (Photo/FractalEncrypt)

Photo: Private Key 21/21 in front of the Bitcoin Full Node Sculpture 6.0, both from the collection of Eric Weiss. (Photo/FractalEncrypt)

The story of the Bitcoin Infinity Day Keys spans seven months of my life. The story evolves and transforms until it reaches its final form, crystallizing forever like the root of a Merkle tree. Over these seven months, the keys went from a test design I threw together and forgot about to a project that consumed my every waking moment. I’m going to take you on a walk through my mind to observe the path from idea to reality.

As the idea spread through the Bitcoin community, serendipitous manifestations would arise, leading the project in unimagined directions. A message here, a tweet there. Each piece is a subtle nudge in the direction of mapping out the end result. The idea grew and blossomed over time, pushed from one boundary to another on its hero’s quest to actualization. I’ve tried to find those pivotal moments to share with you. This is the story of how it all came to pass.

fractal encrypt key

(Photo/FractalEncrypt)

The Idea

The idea for the keys presented itself in a sly, roundabout way. It didn’t arrive as a finished vision, but rather as a stepping stone from one level of skill to another. I had just completed The Bitcoin Full Node Sculpture 7.0 made out of silver mirror and was preparing to start on #8 (it is a series of 10 sculptures).

bitcoin sculpture

(Photo/FractalEncrypt)

As an artist, I always want to grow with each new project. Not only because doing the same thing over and over can be boring (even when successful), it’s also a safe zone. The world and market motivate you to repeat your greatest hits but you do that at the expense of furthering your growth. I like to try things that I’m not sure I can pull off. I try to work at a level slightly above my current skill set. This is the way I grow. It takes a ton of experimentation and testing to obtain and grow the skills. It also takes a willingness to fail. Failing is fine and should be done hard and fast so you can move on to winning.

The next move for me was to see if I could use colored mirrors to create new dimensions in the node sculpture. I quickly put together a two-layer design. Then I engraved, cut, painted, and assembled the test pieces. I had four colors of mirror to work with — silver, gold, blue, and rose gold — so I made 16 pieces to test all the different color combinations. Check out the tweet for the original video.

fractal encrypt 3

I got a lot of encouragement and, surprisingly, people wanted to buy my test cut design as an art piece. I wasn’t prepared for this at all. I didn’t think of the design as anything other than a test for a future sculpture. People were breathing life into the concept that the keys stood as their own design. I quickly fell in love with the idea. An art piece for the Plebs. In an edition of 210.

fractal encrypt 4

On the same day, July 5, I tweeted this video and then, just as quickly as I fell in love with the idea, I forgot about it.

fractal encrypt 5

It’s easy to forget about things when I‘m working on a project. My attention gets sucked in like a whirlpool until I’m far too deep to pay attention to anything else. I spent the next month working like this, tirelessly. By August 7, 2021, I completed the Full Node Sculpture #8.

This was about two weeks before the first Bitcoin Infinity Day: August 21, 2021.

fractal encrypt 6

Source: FractalEncrypt

Before we go any further, I want to make sure you’re familiar with the origins behind the Infinity Day keys. I made them to help spread the meme created by Knut Svanholm, “Bitcoin: Everything there is, divided by 21 million” and the original article, released August 21, 2020, called “Deeper Down the Rabbit Hole.”

It’s fun to note — and Knut says it was unintentional — that the original article was published on August 21, 2020. That date can be written more succinctly as “8/21.” Notice that the “8” can be viewed as an infinity symbol (∞) standing on its end. So the date “8/21” can be read as Knut’s meme: “Everything there is (infinity or “8”), divided by 21 (million).” So August 8 is Bitcoin Infinity Day. This is astounding, considering it was published on August 8, a year before the Bitcoin Infinity Day meme even existed.The idea for Bitcoin Infinity Day seems to have arisen right around the time I finished the sculpture (August 10, 2021). This is only 11 days! Not much time to birth a meme holiday…

fractal encrypt 7

The First Transformation

The idea for the Infinity Day Key came during a private conversation with the collector who purchased the Full Node Sculpture #8. Without this one comment from @Protagonist4now at 5:21 on August 17, the Infinity Day Keys would probably never have happened. He was asking me why Knut didn’t have one of the Bitcoin Full Node Sculptures…

fractal encrypt 8

On August 19, just two days before Infinity Day, I was able to get sculpture #8 shipped out. With that project done I could work on a new one, but time was short. It was August 20, just one day left.

Not sure if I could pull it off, I knew it was a pass-or-fail idea. I’d either do it in time and it’d be awesome, or I’d end up empty-handed and no one would know this was ever an idea. The only way to find out was to try. Proof of work. I reached out to Knut to get the “look” he liked for the meme.

fractal encrypt 9

Here you can see me start to work on re-creating the design in vector format, and making small corrections as I go.

fractal encrypt 10
fractal encrypt 11
fractal encrypt 12

The reveal to Knut in private message.

And you can find both the PNG and vectorized .AI versions of the logo here on my Github page, open source and free to use however you’d like.

fractal encrypt 12

So now it was almost 2 p.m. on the day before Bitcoin Infinity Day — crunch time. Just 10 hours left until the first-ever Bitcoin Infinity Day. I worked through the night and into the next day. Almost 24 hours later, I was done. I tweeted this video at 3:41 p.m. EST. I thought this was the end of the Infinity Day key project. But, as we know, life has a way of reorienting us when we least expect it…

fractal encrypt 13

Original goal: Achieved! Here’s a photo of Knut Svanholm, creator of the Bitcoin Infinity Day meme, holding his Bitcoin Infinity Day Private Key 1/21. Success!

fractal encrypt 14

(Photo/Knut Svanholm)

After posting the Infinity Day key video, I began to get a barrage of tweets and DMs of plebs asking to buy a key. Since I never planned to sell the keys, I made only five of them. I planned to make a few extras to account for errors and mistakes, but all five turned out great. I knew I wanted to give two to Knut as a gift, but I wasn’t sure what to do with the other keys. Also, I wasn’t sure how I’d price the key fairly, as my last piece sold for 15.1 bitcoin. So I decided to do a giveaway.

fractal encrypt 15

And here are the rules I set for the giveaway:

fractal encrypt 16

The contest went on for about a week and I realized I loved so many of the answers that I had more than two people I considered winners. I highly recommend checking out the thread, it’s densely packed with interesting Bitcoin trivia. You can see here where we jump from two keys as the giveaway to five and then to 21. I even added the idea to auction the last key here.

fractal encrypt 17

Originally I was going to auction key #21 of 21 on Scarce.city, but again the idea man, @Protagonist4Now came through with the vision — #8 of 21 would be the one to auction, as it is the physical embodiment of the “8/21” meme within the set.

fractal encrypt 18

Second Transformation — The Numbered Plaques

Now that I had to make 21 of the key sculptures, I began to feel self-conscious about sending out the keys with no way to display them. I felt like I needed to do better. I came up with the idea of creating numbered mirrored plates and personalizing them for each person (video here).

fractal encrypt 19

That was on September 11, and below in this thread on October 9, you can see I just finished the 21 private keys. I have videos of each of the keys in the thread. The first video shows all the pieces after being cut, engraved and painted, but not yet assembled.

fractal encrypt 20

You can see the list of the 20 Private Key winners here:

fractal encrypt 21

The Public Keys - One for the Plebs

The idea for the Public Keys didn’t come to me until after the contest was over. I started getting Dms on Twitter from plebs who missed out on the Private Key giveaways, but were worried they wouldn’t be able to afford to bid on #8/21 in the auction. Auctions can get quite high, and can easily outprice plebs just trying to get their hands on some legit bitcoin art. I knew I wanted to do something for us, for the plebs. The bitcoiners who really want it, but can’t shell out an entire bitcoin on art. This was the birth of one of the craziest sales ideas the world has ever seen.

I started thinking about it, and over a few days the idea solidified. We’ll get more into the design of the sale and how it works soon, but the important thing here was that I wanted to do a sale that was open to everyone. Anyone could get a key as long as they were able to get into the sale “in time.” I would not be doing something like this again, but I wanted to make sure everyone had at least this one chance to own an original FractalEncrypt art piece. But the window would be short, and people had to be ready and have bitcoin handy to pay (so I had to give people time to get sats out of cold storage, etc.).

Michael Saylor is probably the most famous of the key winners. Here’s a never-before-seen photo from Bitcoin White Paper Day 2021. Saylor owns Private Key #11 and is also the owner of one of the artist-proof versions of the Public Key.

fractal encrypt 22

(Photo/Michael Saylor)

Third Transformation — Holographic Rainbow Background

I was working on the Bitcoin Full Node Sculpture #9 of 10 at the same time as I was working on the Infinity Day Keys project. During the creation of #9, I was experimenting with making my own custom materials to use in my sculptures. The black holographic rainbow material was used in #9 and I thought it would also make a nice background for the keys.

fractal encrypt 23

(Photo/FractalEncrypt)

I made an artist’s proof version of the Public Key to see how it would look with the new holographic background, took some video and posted it to Twitter with a poll to see what people thought.

fractal encrypt 24

The Auction and The Sale

As things took shape, I prepared for the auction of Private key #8 of 21 and the sale of the Public Keys. This was set for the weekend of October 31, 2021, the 13th anniversary of Bitcoin White Paper Day.

fractal encrypt 25

The auction format is pretty straightforward, no surprises there, but the format for the Public Key sale was something I dreamed up and tasked the guys at Scarce.city with actualizing. I wanted the sale to be defined by the Bitcoin network. It would be a limited-time sale, but not limited by clock time, but rather the world’s first sale limited to Bitcoin block time. The sale wouldn’t run for a set number of hours or days, but instead for a set number of blocks mined in the Bitcoin network.

The duration of the sale would be entirely decided by Bitcoin block time. The edition size (how many keys I would need to make), was also left entirely up to bitcoiners. I would make as few or as many keys as were ordered, no more, no less. If people bought three, I’d make only three. If they bought 1,000, I’d make 1,000. The price would increase as new blocks were mined. This meant waiting had a cost. If you wanted a key, the longer you waited to buy one, the more expensive it got.

fractal encrypt 26

Source: FractalEncrypt

As the day of the sale got closer, I began to get concerned. I wasn’t sure if the sale concept would make sense to others, so I reached out to some collectors I know, (Eric Weiss and Jeff (@SatoshisArk), and asked for opinions. I explained the idea, but both guys seemed confused, so that made me more uncomfortable.

fractal encrypt 27

This is the explanation of how the sale would work on the Public Key Sale page on Scarce.City (the bitcoin-only auction site);

fractal encrypt 28

The idea for the sale was this:

  1. It is a limited-time offer, but available not for a specified time, but rather a specified number of Bitcoin blocks. Bitcoin blocks are mined about every 10 minutes so 210 blocks would take about 36 hours, or a day and a half to elapse.
  2. Anyone can buy at any time during the 210 block window and there is no limit on how many keys would be made.
  3. The price will increase by about $5 every time a new block is mined (this turned out to be 8200 sats per block on the day of the sale).
  4. Once the 210th block was mined, the edition would be locked at the final sale count.

The morning of Saturday, October 30 arrived full force. I woke up nervous. Was my idea too far out there. Would people understand? Does anyone even care?

It’s always scary to put your work on auction. The fear of whether it will do well or not can be intense. Couple this with the stress of inventing a completely new sale format and it all felt like staring off into an abyss of uncertainty. Both the sale and the auction would begin that Saturday and end sometime on Sunday, October 31. The Public Key sale would start first at 11:11 AM and the Private key auction would begin at 3:33 PM.

The sale of the Public Keys started first. It was set to begin as soon as the first block was mined after 11:11 AM, which was block 707,443. The amazing thing is that collectors wanted to be the very first to click “buy” once the sale went live, so they could get lower edition numbers. The first buyer to click buy, would get key #1, the second would get key #2. However no one knew when the sale would begin, since it began only once a block was mined after 11:11 AM. The block was not mined until 11:17, a LONG 6 minute wait for plebs with fingers at the ready.

42 keys were sold before the next block was mined only 21 seconds later. The sheer dedication of those bitcoiners who were ready at the keyboard, and clicked “buy” before that next block was mined just seconds later, cannot be overstated. As we know from Douglas Adams’ writing, the number 42 in “The Hitchhiker’s Guide to the Galaxy,” is the “Answer to the Ultimate Question of Life, the Universe, and Everything”. I took this to be a good sign, but I’m not one to declare victory before the end of the battle, so I remained cautious.

By the time the Private Key auction started at 3:33 p.m., just over 100 of the Public Keys were sold. Bidding on the Private Key went live and we were at 0.1 BTC within an hour.

fractal encrypt 29

Scarce.city bids

Things were off to a nice start, but I still felt nervous. There was so much energy leading up to this; the emotional buildup was strong. The day passed seamlessly into night and by the time I fell asleep, over 150 Public Keys had been sold and the Private Key auction was up to exactly 21,000,000 satoshis. Tomorrow would be Bitcoin White Paper Day.

I woke up excited. Not only would both the auction and the sale end today, but I was going to a fancy invite-only bitcoiner BBQ for Bitcoin White Paper Day. I arrived just before noon, made the rounds and settled in at a table by the pool while I tried not to look too anti-social watching the auction on my phone. Around 1 p.m., with only two hours left before the end of the auction, we hit 0.25 BTC. A bidding war broke out between ObiWan, willebra and TH pushing us over half a bitcoin. What happened next shocked everyone.

fractal encrypt 30

Scarce.city bids

ObiWan busts through the door with a 6 BTC bid. $367,000! OMG! Twitter goes wild. I jump out of my seat, mouth agape, pointing to my phone to show Eric Weiss.

fractal encrypt 31

In disbelief I say, “This must be an accident!” Eric inhaled, thought for a second and agreed. No. No way the bid went from 0.575 BTC to 6 BTC. I took some deep breaths, calmed down and in a few moments the page updated. The world zoomed back into focus. Not 6.0 BTC. One-tenth of that: 0.6 BTC. Okay.

fractal encrypt 32

Scarce.city bids

The bidding went on for another 30 minutes. Hitting 1.0 BTC was a beautiful moment and the auction came to a climax with a bid at 1.05 BTC by pekf73.

fractal encrypt 33

Now with the Private Key sale over, the adrenaline rush hit me hard. I switched focus back over to the Public Key sale. The Public Key sale edition amount would be entirely decided by how many plebs bought keys.

I checked the current total and we were at 199 keys. I saw this tweet from Glenn Hodl and I saw the vision immediately. 210. I certainly didn’t know how much work it would be to make that many keys.

fractal encrypt 34

Source: FractalEncrypt

fractal encrypt 35

With hours to go, and the price increasing every 10 minutes… is it going to hit 210?

It was a long weekend and the sale was going to close in about hours. I needed some sleep. My heart wanted to stay awake but my mind was not having it. By this time the counter was at 206 keys. I couldn’t stay up anymore. I gave up on the dream of hitting 210 keys. The fact is, the price got higher with each passing block, so selling more keys became less and less likely with each block mined. I couldn’t keep my eyes open any longer. I went to sleep. 206 was a good run, nothing to be ashamed of.

The next morning I woke up to a Bitcoin miracle. By the very last block of the sale, block number 210, only 208 keys had sold. It was over and done with, we weren’t hitting 210.

Then, literally in the nick of time, in that very last block an anonymous pleb bought both 209 and 210, forever cementing the edition in at a perfect 21:210 ratio of Private Keys to Public Keys. Absolutely beautiful.

fractal encrypt 36

The anon pleb who bought #210 created this Twitter account and you can follow them here.

fractal encrypt 37

Now you might think the story ends here, but there’s so much more. Once the 210 keys were sold, I needed to make and ship them all. On the sale page, I wrote that it would take me 4-6 weeks to have the keys completed and shipped. Later I realized that I set this time frame before I even knew how many keys I would sell. Making the 21 Private Keys took longer than I thought, but making 210 keys took the amount of work required to a whole new level.

We’ll jump into the creation process and I’ll share some insights into the journey, but first we have the next transformation.

Fourth Transformation — Taproot Keypairs

This part of the story is truly amazing, as it arose entirely after the sale of the keys. No mention of this was made during the sale, so none of the purchasers had any knowledge about this, and, in the end, I feel it’s one of the most important pieces of the project. This idea didn’t all come about at once either. It formed into little pieces that fit like clockwork as they came together.

It all started with this question:

fractal encrypt 38

It got me thinking. I had what I thought was an answer, but it wasn’t a very good one. In the end, things got much deeper and far more interesting. Take note of the date, it’s Oct 31. Things take time to percolate.

About two weeks later, Taproot activated on the Bitcoin network at block height 709,632. This block was mined just before midnight on November 14 in my timezone and while I was sleeping, cypherpunks were playing. By the time I woke up, many interesting taproot transactions had been sent and then discovered by other cypherpunks. I began exploring everything I could find.

fractal encrypt 39

Check out this tweet from Pieter Wuille. They crunched 2.4 quadrillion keys to find some amazing vanity bitcoin addresses, I’m intrigued! I continue digging.

fractal encrypt 40

Click on the image below and take a look at this transaction. Take note of the vanity addresses of course, but also the values transacted. 0.1337 BTC sent and then the first 3 inputs have values of 340, 341, and 342, these correlate to the Bitcoin Improvement Proposals related to taproot.

fractal encrypt 41

Note bc1p is the prefix for taproot addresses. The vanity parts of the addresses come after bc1p.

Looks like I found this around 9:23 AM.

fractal encrypt 42

Then just eight minutes later I get a message from Yegor Petrov, “Hey Fractal”;

fractal encrypt 43

These two puzzle pieces clicked and fit together perfectly. Combining an on-chain Certificate-of-Authenticity for the keys using taproot vanity addresses with an OP_RETURN (hidden message)... a fire was lit within my mind.

First things first, I needed to download the new version of Bitcoin Core so I could get the new taproot functionality and begin teaching myself how to do this.

fractal encrypt 44

I spent the day learning as much as I could about taproot, and you can follow my education in this tweet thread. It has links to all my educational sources and screenshots as well.

You can see me trying and failing to create taproot addresses in Bitcoin Core because that functionality is not yet released. You know when you’re trying to do something and you run into a wall? Well, we can’t give up, this is Bitcoin. There’s either going to be a way to do this or an explanation as to why we can’t.

fractal encrypt 45

During my research I saw that to generate addresses, I needed to import and construct taproot descriptors into my wallet. Okay, what? Andy to the rescue!

fractal encrypt 46
fractal encrypt 47

This was all on November 15 and I spent the rest of the day reading the documentation. I read it like 20 times. This isn’t something I get a handle on with just a cursory glance. Also, I read this from Learning Bitcoin From the Command Line, and this too.

Now that I had a few hours’ worth of foundations in taproot, I needed to find out how to generate vanity addresses. I looked at several methods before landing on the program used in the tweets above. It was created by Bitcoin Core developer Andy Chow. (again, Andy to the rescue, and he will become much more helpful soon.)

fractal encrypt 48

Source: FractalEncrypt

fractal encrypt 49

Link in hand, I downloaded the program, excited to get rolling and immediately ran into a series of errors that took me hours of hard work to get past.

fractal encrypt 50

I installed Rust and a bunch of other dependencies, but nothing was working. No matter what I tried, I couldn’t get the program to do anything. So what do I do? Request help through Twitter DMs from the guy who wrote the software. I know this is probably not “the way” I should do it. It’d be more polite to ask via a post on StackExchange or BitcoinTalk, but luckily, within a very short window, I got a response, and it was exactly what I needed.

fractal encrypt 51

With this simple, magnificent piece of info, I was rolling! I’ll note that this step is nowhere to be found in the Readme on Github.

fractal encrypt 52

I ran into a few other issues that Andy kindly and patiently walked me through. Note the “restricted characters”, especially the limitation on using the number “1” after the bc1p prefix, as this comes up again later.

fractal encrypt 53

With this, I am now able to generate the taproot vanity keypairs! Fuck Yes! But… now how do I use them? Note how the answer seems very tricky at first, but is easily distilled (luckily!)

fractal encrypt 54

It took me a full day to learn how to properly create the “correct” kind of bitcoin wallet within Bitcoin Core that would allow me to use my vanity taproot bitcoin addresses. By about 3:24 p.m. that afternoon (Nov 18), Andy had walked me through it. Without his help, this entire part of the project would never have happened.

fractal encrypt 55

Yes there’s a private key in this image, no it’s not funded with any BTC. 

With the vanity bitcoin taproot address part of the project now a reality, I began formulating my plan (hint: The plan changes). I would generate 210 vanity addresses and then send 1 satoshi (0.00000001 BTC) to each address. Then I would include the private key to the address on the backside of the art, so the owner could sign a message from the address, proving that they own that specific key, but also making the sculptures almost impossible to forge (we’ll touch more on this later).

However there is something in Bitcoin known as the “dust limit” it’s an anti-spam feature of Bitcoin, and also helps avoid “blockchain bloat.” Dust is an amount of bitcoin that is defined by the software as too small to send.

fractal encrypt 56

Instead of looking up the dust limit myself, I decided to “ask Twitter”, not something I’d usually do. This post is at 4:07 p.m. on Nov. 18 about 30 minutes after I figured out the last step (constructing and importing taproot descriptors into Bitcoin Core).

fractal encrypt 57

At first, I wasn’t getting any helpful answers so I did what any good bitcoiner would do, verify the shit myself. I constructed a transaction with a one sat output in my Bitcoin Core QT wallet.

fractal encrypt 58

I signed the transaction and tried to broadcast it to the network. I got to that last step and was immediately hit with the dust error (Bitcoin Core QT doesn’t give very expressive error messages).

fractal encrypt 59

Then at 4:31 p.m., Michael Moffit posted this.

fractal encrypt 60

Then he dropped this series of bombs and cemented the path forward for the taproot keypairs.

fractal encrypt 61

That lead me to Vijay Boyapati’s amazing idea and execution (which I copied; steal like an artist they say!):

fractal encrypt 62
fractal encrypt 63
fractal encrypt 64

Mind Blown.

I loved the idea of creating an on-chain bitcoin transaction where each address is tied to the numbered edition of the book. Merging this idea to the idea of using vanity taproot addresses was a moment of more fireworks going off in my mind. These critical puzzle pieces were all instrumental in framing the art project, and are all aspects of the human side of the bitcoin network. Without participants working individually on their goals and then together as a community, none of this would be possible.

The timing of events here is an astounding unfolding. Consider the vanity taproot address generator software was released on November 10, 2021, just days before this. Vijay’s tweets were from September and October 2021, just weeks from this moment of realization. These building blocks are critical and necessary for the Bitcoin Infinity Keys to find their final form. And the building blocks themselves are forged by both the code and human facets of the bitcoin network.

Mining the Vanity Taproot Bitcoin Addresses

Now that I had a plan and verified I could do (most of) the steps, I began mining vanity bitcoin addresses like a madman. On my desktop computer (threadripper CPU, 128GB RAM) I was able to mine the 3-digit vanity addresses quickly enough that I was able to gather the 210 vanity addresses within a week.

Here’s how the process of mining the vanity addresses works. The software asks you to define the vanity words or phrases you want to find. Imagine you wanted to say “Hello World.” You’d enter that into the vanity address software as “bc1pHelloWorld.” The “bc1p” prefix is required for all taproot bitcoin addresses (also known as “bech32m” addresses), and then your vanity words go after the prefix. The software then begins searching for any Public/Private key combination that results in a bitcoin address with your prefix.

Depending on how many letters or characters are in your search, your search may be quick or take an eternity. The more characters, the longer it will take. To find the 3-letter “key” addresses didn’t take long at all, however, to find an address with bc1pFractal it took me almost 5 days to find a single key pair. Finding bc1pEncrypt took me another 7 days and I almost quit looking for it as I was running out of time. Finding a bc1pFractalEncrypt address may have taken me more than my lifetime so I didn’t even attempt it.

Once I mined 210 “key” addresses I was ready to go. Or so I thought. As I started looking at the addresses, I noticed that some had numbers following the word “key.” This meant that I could have addresses like “Key1, Key2, Key3, …, Key210” I began searching and sorting my addresses to see what I had. I quickly saw that I already had many addresses that followed this format and I began organizing them.

Once done, I went back into the vanity address generator and began trying to find the missing addresses. I was missing “key1” so, of course, that was the first one I tried to mine. Immediately I hit a brick wall. “1” is a restricted character in taproot addresses, so mining any address with a 1 would be impossible. So that ruined that whole idea. I can’t do a series of numbers without “1” 1, 11–19, 21, 31, …, 100–199, etc. I was screwed. I had an okay idea, but it just wasn’t actually possible.

After a few minutes of thinking, I came up with the idea to try a lowercase “L” in place of the “1”s and see if that would work. It did. Okay, back in business!

fractal encrypt 65