NFT Collectors Are Geniuses

Benjamin Jordan
Coinmonks
Published in
8 min readDec 20, 2022

--

“an nft-collecting robot in space”, by DALL-E

Regardless of how great you think my GitHub is, the fact that I know the basics of “for loops” puts me in a class of computer savvy beyond the average Internet user. I would argue that I’m actually at least two sigmas beyond the mean — but you don’t have to take my word for it: look at these ringing LinkedIn endorsements!

I’ve got qualifications like mad.

Also I have a math degree with a specialty in differential geometry, which I use daily (if not hourly), for what that’s worth.

As a final proof of my wits, I have contributed Go to Polygon Edge: the layer 2 tech that runs the Polygon network (MATIC token).

holy cow

This is all very important because when I say that I have a very hard time determining which NFTs are legitimately adding value to the world and which are spray-painted road-apples — that should give you pause about how the heck non-above-average-Internet-users are supposed to wade through the NFT ecosystem.

From Google — an ‘up and coming’ Bing competitor.

This is obviously a problem for the NFT market.

It’s a real shame too because, as a mathematically trained computer enthusiast, the concept of an NFT is… pretty cool! The structures that support them actually are novel and the amount of potential is astonishing. You’ve heard this before, but usually not from people outside of the “Web3 industry”, and especially not from people that don’t actually own any NFTs they didn’t make themselves on their own blockchains.

I’ve chosen a “side” and it’s the one you perhaps didn’t expect (especially post-FTX-collapse). I think that NFTs have the opportunity to meaningfully contribute to the world, and maybe already have, but in general: don’t. In the current NFT ecosystem, consumers are getting screwed over en masse, which is another way of saying that the NFT creator community is going to be screwed over too — probably for years to come.

Perception is not the problem

“a n00b getting scammed, in the tron Universe”, by DALL-E

It’s not anyone’s “perception” that the NFT ecosystem is full of scams — scams have made headlines for years because there are so many scams. This is not perception, this is reality at the moment. Those scammy NFT project founders are not thinking about the long game when they and their well connected friends SOMEHOW surreptitiously accrue statistically improbable rare assets from their own projects and flip them for 800 ETH.

This problem is a hard one to crack because NFTs are so dang complicated that to understand what they are to begin with or why they might be interesting you’ve got some serious studying to do. I said all that math stuff at the beginning to demonstrate that when I say “I barely get this stuff”, it’s not because I’m dumb, or haven’t tried hard enough to get it, or don’t have the requisite math or CS background. It’s because blockchains and NFTs are actually complicated and opaque (and beautiful) constructions.

Then, after all of this — because all NFTs are certainly not created equal, you’ve got to do your homework on the individual NFT project. There is no SEC here, no accreditation process— each NFT project is made by randos, which is incredible (democratization of financial services seems pretty cool) buuuuut obviously comes with some “sharp edges”.

The math is hard, the programming is fragile, and an ERC 721 contract— whoops now we’re using ERC 1155 everyone (except for all the projects that already shipped and didn’t use it)— is non-trivial.

DApps are not “trustless” and redefinition is not helpful

“A computer getting a perm on mars but it doesn’t like how things are progressing”, by DALL-E

It gets worse.

NFT projects are secretly just Software Applications that run on a Computer. See my capital letters? Just so these applications can sound extra credible, instead of calling them “Software Applications”, they are called “dApps” (this is a software engineer-heavy sector, marketing hasn’t made it here yet), and the Computer is not some Linux box— it’s generally either the Ethereum World Computer, or some “Ethereum-compatible” computer like the Polygon World Computer.

Now I’m really harping on word choice — because these technologies redefine the word “trustless”, then throw it around like it’s nothing, even though the redefinition violates the everywoman’s definition. This is how we have ended up with articles like “What Does Trustless Mean?” in which the first sentence reads:

While trustless is defined by Merriam Webster as “not deserving of trust,” in the blockchain space it means something entirely different.

Brilliant.

This means that hapless non-for-loop-understanding n00bs (NOT like me, I totally understand for-loops) enter an ecosystem with some immense misunderstandings about the basics of the technology.

This is a problem for the NFT market.

NFT Collectors are Geniuses

by DALL-E

This establishes my thesis: the scores of NFT collectors out there must be not just a little bit smarter than me but MUCH smarter than me. They must be freaking jeniuses.

They must have done their homework to make sure that the BAYC contract guarantees a random distribution (it doesn’t) and that the owner can’t randomly mint whenever they feel like it because that could change the value of all the apes (it doesn’t) and that the contract owner can’t change the image set after minting (it doesn’t).

For poops’ sake!

And this is honestly only surface level analysis. How is an NFT collector to know if the contract is going to be victim to a generalized frontrunner? Where is the TLA+ spec for the OpenZepplin contracts? Heck — are the owner’s keys even safe? The math stuff turns out to be the easy part. Stupid people are stupid and smart people are unfortunately even stupider.

Can smart people fix this?

You probably already know this, but there are people smarter than me working on these problems. This is obviously a good thing as, on a certain scale, my knowledge comes to an abrupt end just beyond for-loops.

this is optimistic

One such effort is the Honest Protocol. What started as a group of vigilantes reviewing NFTs has now evolved into a “blockchain-backed” protocol for NFT-review-at-scale. Unfortunately, while the protocol is an attempt to scale the efforts of a small team of data science and forensic experts, it seems to have lost steam in the last year or so. Turns out, it’s not actually a scalable solution, and of course it simply moves the question of who to trust from NFT authors I don’t know if I should trust to a third party I also don’t know if I can trust. The proverbial can is kicked down the crypto-road. Should I trust user “drAgonLord” on this Discord server and what they are telling me about Poisson distributions???

This glosses over an even more basic problem, even if I did personally know these mysterious members: humans are often wrong about stuff. I’ll add another data point to my extremely useful graphic.

Can computers fix this?

Okay, now we’re talkin’.

I don’t need a person to solve this, I need a “hard, brittle crystalline solid with a blue-grey metallic luster.” You know what I mean — right? It has a “high chemical affinity for oxygen”? A quattuordecim electron configuration? Geeze, I don’t know how to make it more obvious.

A better approach — a scalable solution that I mentioned above in passing, is moving more research and development into verification by formal methods. The truth is, blockchain programs do not need testing at all! Programmers are used to reading through code and using their puny brains to make sure it does what they want, then they might write some unit tests to make sure certain inputs actually lead to the right outputs. Unfortunately none of this means anything in a possibility space with more states than elementary particles in the Universe, on a computer that people want to run for the next thousand years.

While unit testing is extremely useful as a software development practice for making stable systems, unit testing can never prove the correctness of a non-trivial program.

Blockchain programs don’t need testing, they need proving.

Oh my goodness, this one is hilarious: see it’s a TLA+ inside joke that only took me an 8-hour TLA+ workshop to understand.

We actually already have a plethora of tools for this. TLA+ was the example I gave above — and the only formal method for which I have a sticker (see above picture), but it’s far from the only option. TLA+ guru and prominent “ formal methods evangelist” Hillel Wayne recently asked programmers of all stripes to prove leftpad with formal methods and received dozens of valid methods.

We could have legitimate proofs for blockchain program correctness, today. It’s crazy to me that OpenZepplin offers absolutely no proof that their contracts are correct. They actually recommend unit testing to people writing these contracts! “We had a bunch of people review these contracts.” Yes, the same is true of OpenSSL and how well did that go? Except these contracts are carved into blockchain stone, not something we can push a bunch of software updates to. It’ll be interesting the moment several thousand NFT projects are compromised at the same time due to an OpenZepplin vulnerability that an AI developed after looking at the contracts for 300 microseconds.

I’ve got it — what if there were some way to publish a program and the proof of the correctness of said program on some sort of decentralized data structure so everyone could see it? What’s crazy about the EVM is that the proof checker itself could run on the EVM. Take it one step further: the proof checker could verify the veracity of the EVM. Everybody is so pumped to move to WASM-backed blockchains so we can push updates — and don’t get me wrong, this is a win. However, the bigger issue is proving the update is correct to begin with.

Fin

So we have a lot of problems to solve.

First, we need spec languages for Solidity and other smart contract languages (this spec language should eventually be able to prove itself correct).

Next, we need to use formal methods to show that blockchain VMs are actually correct.

Finally, we need specs that operate on the published source to be published to blockchains alongside contracts.

I’ll leave these as exercises for the reader.

New to trading? Try crypto trading bots or copy trading

Diversify Crypto Holdings, Learn about Binance Alternatives

Join Coinmonks Telegram Channel and Youtube Channel get daily Crypto News

Also, Read

--

--

Benjamin Jordan
Coinmonks

Tech, thought, teaching. Total loser. Formerly VPE @N3TWORK, CTO @BigRunStudios, Adjunct @SaintLouisUniversity, CTO @Enklu, Studio Tech Director @NCSOFT.