Weird n’ Wild (2015)

In November 2015 I issued several trading cards on XCP.

These are among the oldest blockchain cards in existence, and quite possibly the first ever set of immutable ones.

CardSupplyAssetTextHash
GENET100201520152015
GRAYWOLF100201520152015
LOCHNESS100201520152015
WILDDOG100201520152022
WOLVERINE3002015/2220222015
CHURCHHILL100202120212015

The first three cards (GENET, GRAYWOLF and LOCHNESS) have all the essential properties defined in 2015.

  • Asset issued with 100 indivisible tokens in 2015*.
  • Text description mentioning trading card, unchanged from 2015.
  • Onchain hash from November 2015 proving their design.

The other cards have some properties set recently.

  • For WILDDOG the hashing transaction did not go through, so it has no onchain proof before 2022.
  • After I notarized WOLVERINE in 2015, I discovered the name was already reserved. In 2022 I was able to buy the asset and issue 300 tokens.
  • CHURCHHILL was a test notarization back in 2015 but I didn’t bother registering the asset back then. In 2021 it was still available, and I issued 100 tokens.

All cards, except CHURCHHILL, use CC licensed designs from the Weird n’ Wild directory.

* Distribution

Initially I did not promote or announce the cards. After they were discovered in 2021, I locked the token supply from further issuance and made my first sales from a dispenser.

Background

In late 2015 I worked on a project, XCP CARDS, which aimed to be a crypto trading card directory.

An essential part of the project was to notarize all cards, meaning engraving hash proofs inside Bitcoin transactions.

The address 1CRDzy made 37 on-chain broadcasts with sha256 hashes of card images. The first 26 were Spells of Genesis (SoG) cards. For each card I made a broadcast like xcpcards.com/FDCARD qFEfPw9v where qFEfPw9v was the base64 representation of the image hash, truncated at 8 characters (48 bits).

This solved what I considered to be a problem; card designs had no blockchain references. By embedding a card’s image hash in a Bitcoin transaction the image would be timestamped and remain forever indisputable – how all crypto cards should be!

Of course, this was unofficial. I was not associated with Spells of Genesis. But I did create cryptographic proofs of the designs existing at the time, and I did show which images I, as a fan, considered to represent those tokens.

SoG Summarized

The first card I attempted to notarize was CLEFCARD. Unfortunately the hashing algorithm was wrong. The first successful notarization was CNPCARD. I then went on and did FDCARD, GEMZCARD, GOXCARD, BAZAARCARD, ETHXCPCARD, LTBCARD, MINERCARD, RIPPLECARD, SHUMAICARD, SJCXCARD, SWARMCD, XAJIBESAAR, XCPCARD, ZAIFCARD, BEARWHALECD, BLOCKSIZECD, ETHEREUMCARD, GENESISCARD, SATOSHICARD, SHAPESHIFTCD, XAJIARKETAAR, XAJIBASILAAR, XAJIJASPAAR and XAJIYEREMAAR. Puffhh… a lot of manual work!

Empty Tests

The following five broadcasts were tests, e.g. xcpcards.com/TEST aA+AaZz12. When I rediscovered this, I initially thought I had accidentally NFT’ized the asset TEST – but no, these were dummy hashes not representing any real image file.

The CHURCHHILL Card

The next broadcast tested the website’s upload algorithm. I used a random image. It was an image of Winston Churchill holding a Tommy Gun. For whatever reason the filename had a typo in it. When I discovered this in 2021 I noticed the CHURCHHILL name was still available, and I issued 100 tokens under this name. I leave it to the community to decide on CHURCHHILL’s timestamp. Is it a 2015 artifact or yet another 2021 wannabe vintage NFT?

Weird & Wild Creatures

Finally I uploaded four trading cards from a wiki with a CC license. First up was WOLVERINE whose name had already been claimed by Xchain’s J-Dog. The following three were LOCHNESS, GRAYWOLF and GENET. I simultaneously registered (back then in 2015) the names with 100 tokens each and description ‘TRADING CARD’.

Discontinued

Before I got any further a Counterparty Development Contest was announced. It was a 10 week hackathon with a first prize of 6000 XCP. I decided to switch all focus on this, My project was a wallet / toolbox.

Here’s a special SoG edition of the wallet I made for the contest:

I ended up winning the contest – which today gives a bittersweet feeling as it took my focus away from the XCP Cards project.

Anyway, the project did lead to the immortalization of several SoG cards and some of the first immutable 1/N NFTs. Not too bad.

The First Crypto Trading Cards

There are no known tokens before FDCARD (March 2015) that claim to represent a trading card. Not on Counterparty and not on any other platform.

Apart from dozens more SoG cards issued, several empty name registrations hinting at trading cards were made in 2015. Less than ten of them possibly were real cards with a design but I cannot connect any of them to an image – only broken json links without offchain or onchain evidence.

I believe the Weird n’ Wild cards are the only surviving trading cards from 2015 apart from SoG.

Sure, empty registrations may have images added now but they will only be partially rooted in 2015. The design’s timestamp will be new. This includes some of my own empty 2015 assets like FRANKLIN (BENJAMIN FRANKLIN CARD) and CHAVEZ (HUGO CHAVEZ CARD * FOR EXPROPRIATION *).

I have left a database dump at the bottom of this article so you do your own research.

Note: The idea of crypto trading cards dates back to 1993. By no other than Hal Finney himself.

How to Verify the Images

“Don’t trust, verify” is a mantra in the crypto movement. Here is how you can verify the GENET card. The process is the same for all Weird n’ Wild cards (as well as the SOG cards I also notarized).

  1. Check GENET’s issuance history on Xchain. Click on the oldest issuance and you’ll see that GENET TRADING CARD is the description with timestamp 2015-11-24. This proves the intent, but for image verification you need to dig a bit deeper.
  2. Search for GENET on Xchain and click the broadcast tab.
  1. The message xcpcards.com/genet JTh/QRy2 is fully onchain, meaning it is engraved inside a bitcoin transaction. For redundant proofs, check out my XCP Decoder and Timeline, and notice the timestamp; 2015-11-26.
  2. Open the URL xcpcards.com/genet and right-click-save the image.
  3. Get the file’s sha256 hash, eg with SHA256 File Checksum.
  1. Convert the hash from hex to base64.

That’s it! Now you have what it takes to verify the image.

  1. The text xcpcards.com/genet JTh/QRy2 is onchain with a 2015 timestamp.
  2. The keys genet and JTh/QRy2 links the asset to the image.

Now you may ask why the hash value is so short.

Shortening a hash is perfectly fine – unless by too much. I used a short hash as a tradeoff between strength and having the text fit Bitcoin’s 80 byte op_return encoding.

At eight base64 characters the hash is 48 bits strong. There are 64^8 = 2^48 = 2.81e14 = 281 trillion possible hashes. In other words, two random images have a infinitesimal 1 in 281 trillion chance of ending up with the same hash.

In theory someone who, for whatever reason, wants to make a collision could use brute force computing. This means his computer generates images with random variations until one comes up with the exact same JTh/QRy2 hash.

I tested the speed of brute forcing in python on a CPU:

The computer can hash the image 1000 times over per second. To find a collision it needs to first randomly modify the image, however, and then hash it. This drastically reduced the speed to <200 hashes/sec.

A speed of 200/sec equates to around 6 billion per year. In other words, you have less than a 0.01% chance of finding a match in one year.

If you really want to, and invest significant resources, you can run several computers in parallel or even optimize the algorithm for GPUs. However, even at a 1000x increase in hashing speed, the chance of finding a collision is only around 2% per year.

I concluded it would be an honor if someone did try. Spending such big resources for what? A second matching image would be little more than a nice talking point.

Full Node Verification

A great strength of Counterparty is that everything is derived from Bitcoin. You don’t need to trust Xchain.

If you really want the strongest possible verification you can run your own node. Follow the Running a Node guide to set up a Bitcoin node with the Counterparty extension.

It will download the Bitcoin blockchain, and then parse all transaction to build the Counterparty DB.

The database can be opened with the DB Browser for SQLite.

Open the issuances table and filter by asset or description. You’ll easily enough find the trading cards linked to underlying Bitcoin tx_hash.

Similarly, you’ll find the hashes in the broadcasts table.

For further evidence, I made available a zip file with the screenshots from Wayback Machine, Counterpartytalk and other relevant content.

List of “Card” Assets

This is a dump of asset issuances mentioning card either as part of the name or description. As you can see already in the first entries, most results are false positives.

Here’s the exact SQL search command:

SELECT asset, quantity, divisible, description FROM issuances WHERE ((' ' || description || ' ') LIKE '% card %' OR (' ' || description || ' ') LIKE '% cards %' OR asset LIKE '%card') AND quantity > 0

Most results are empty name registrations. Since XCP has a unique name system, it’s common to reserve a name, hoping to resell it later to someone who wants to issue tokens under said name. Such registrations are often made with an arbitrary amount of tokens initially, although the best practice is zero tokens.

Apart from SoG, I could only find a few cards pre Weird n’ Wild that I believe contained designs at the time. None of these seem to have sources linking them to their respective designs – at least I cannot find any.

A few empty registrations from 2015 do have designs, but these were added recently. Such cards include NAKAMOTOCARD (not to be confused with RAREPEPE from 2016), MTGOXCARD, and a handful others.

Since this list only shows assets mentioning card, it cannot be ruled out that some unknown cards do exist – without the keyword card.

#NameQuantityDivDescription
1GIFTCARD100,000,000,0001
2CARD100,000,000,000,0001
3MASTERCARD100,000,0001info@xcpforsale.com
4CREDITCARD100,000,0001info@xcpforsale.com
5CRYPTOCARD10,0000
6WILDCARD10,000,000,0001
7WIRECARD10
8VCARD10BUSINESS CARD TOKEN
9MYCARD10MY BUSINESS CARD TOKEN
10BUSINESSCARD10BUSINESS CARD TOKEN
11BIZCARD10BUSINESS CARD TOKEN
12CALLINGCARD10CALLING CARD TOKEN
13FDCARD30,000,000,0001Spells of Genesis/Moonga card for FLDC
14GETS10SEC GETS CARD
15GETSCARD100,000,0001SEC GETS CARD
16GOCARD100,000,0001GOCARD
17POSTCARD1,0000Redeem for a postcard.
18XATLASCARD10XATLASCARD
19PASSCARD100,000,0001PASSCARD TOKEN
20OYSTER100,000,0001OYSTER CARD TOKEN SYSTEM
21NANOCARD100,000,0001NANOCARD TOKEN
22BOOUUSEGG200Game card in Moonga
23SJCXCARD1,0000Moonga SOG Storj card
24GEMZCARD100,000,000,0001Moonga getgems card
25IDCARD1,000,000,000,000,0001Asset name
26SWARMCARD50,000,000,0001
27XCPCARD1000Counterparty card
28ETHEREUMCARD100,000,000,0001ETHEREUM card
29BLOCKCHAINCD100,000,000,0001Blockchain card
30CLEFCARD100,000,000,0001CLEF card
31SHAPESHIFTCD100,000,000,0001SHAPESHIFT Card
32SATOSHICARD100,000,000,0001SATOSHI card
33CARDAMP1000AMP CARD
34DEBTC100,000,0001BTC DEBIT CARD TOKEN
35BITCARD100,000,0001BITCOIN CARD
36DEBITC100,000,0001deBiTC: Bitcoin debit card secure token
37TARJETADEBIT100,000,0001BIT CARD (SPANISH)
38CARTAO100,000,0001CARD (PORT.)
39KAART100,000,0001CARD (DUTCH)
40KORT100,000,0001CARD (DANISH)
41CARTA100,000,0001CARD (ITALIAN)
42KARTA100,000,0001CARD (CZECH)
43CARTE100,000,0001CARD (FRENCH)
44KORTTI100,000,0001CARD (FINLAND)
45KAPTA100,000,0001CARD (GREEK)
46KORT100,000,0001CARD (SWEDEN)
47TARJETA100,000,0001CARD (SPANISH)
48KARTA100,000,0001CARD (ENGLISH TO GREEK TRANS)
49SNAPCARD10SNAPCARD
50TANGOCARD10TANGOCARD
51RIPPLECARD100,000,000,0001SOG RIPPLECARD
52GENESISCARD100,000,000,0001
53XCPCARD9000Counterparty card
54FREEROSSCARD10We will see
55OCTOCARD10We will see
56SHUMAICARD1,0000Moonga spells of Genesis card
57CNPCARD100,000,000,0001SOG Moonga card
58BTCGIFTCARD100,000,0001
59BEARWHALECD3,0000SOG card
60BTCCARD10
61NAKAMOTOCARD100,000,0001Asset
62MTGOXCARD100,000,0001Asset
63LITECARD100,000,0001Asset
64DASHCARD100,000,0001Asset
65DOGECARD100,000,0001Asset to the moon
66TREZORCARD100,000,0001Asset
67PUNCHCARD100,000,0001PUNCHCARD
68REWARDSCARD100,000,0001REWARDSCARD
69LOYALTYCARD100,000,0001LOYALTYCARD
70BLOCKSIZECD3000Battle for blocksize SOG card
71SILKROADCARD100,000,0001silk road card
72SILKROADCD100,000,0001silk road card
73FREEROSSCD100,000,0001free ross card
74DISCOVERCARD66,600,000,0001
75PLACARD100,000,0001PLACARD
76XRPCARD50,000,000,0001RIPPLE CARD
77TAMAMICARD1,0000TAMAMI CHAN KAWAII !!!!!
78CONSUMCARD100,000,000,0001CONSUMCARD
79PSYCHICCRED100,000,000,0001PSYCHIC CREDIT CARD
80ETHCARD100,000,0000Ethereum Card
81ETHERCARD1,000,000,0000Ethereum Card
82ETHXCPCARD1,0000Ethereum vs Counterlord SOG card
83LTBCARD1,0000SOG card
84ZAIFCARD1,0000SOG game asset
85BAZAARCARD1,0000Spells of Genesis open bazaar card
86CARDAUGUR1,0000Spells of Genesis Card
87ROSSCARD5000SOG CARD
88WHEREBCYCARD7000
89CARDAIRBITZ1,0000SOG card
90XAJIARKETAAR7000Sog card
91ZONOCARD100,000,000,0001https://res.is-dev.agileworks.jp/json/ZONOCARD.json
92GOXCARD1,2000Spells of Genesis game asset
93XAJIYEREMAAR6000SOG cards
94OCTOALPHADH100,000,0001OCTO Fantasy MMA Alpha Dan Henderson Card
95MINERCARD1,2000SOG CARD
96CARDAUGUR2000Spells of Genesis Card
97BTCDRAGONCD8000spells of genesis card
98BCYDRAGON3000Spells of Genesis card
99TRADINGCARD1,0000Trading Cards
100FOOTBALLCARD10,0000Football Cards
101NFLCARD100,0000NFL Card
102NHLCARD100,0000NHL Card
103NBACARD10,0000NBA Card
104BASEBALLCARD100,0000BaseBallCard
105FOOTBALLCARD90,0000Football Cards
106NBACARD90,0000NBA Card
107TRADINGCARD99,0000Trading Cards
108FOLDINGCARD10
109FLDCCARD10
110LOTRCARD1,500,000,0001Lord of the Rings Hand Drawn Sketch Cards
111GOYASILVER5,000,000,0001Blockchain Card Rdeemable for Silver Coin
112STARWARSCARD100,000,000,0001Redeem for Star Wars Blockchain Cards
113CARDASTEMA1,2000Spells of Genesis game card
114WILDDOG1000WILDDOG TRADING CARD
115GENET1000GENET TRADING CARD
116GRAYWOLF1000GRAYWOLF TRADING CARD
117LOCHNESS1000LOCHNESS TRADING CARD

Categories: Uncategorized