An NFT without a Blockchain. No gas fees. No Eth. No gatekeepers


This is a small proof-of-concept. It relies on PGP - but you could use Keybase, GPG, or any other hard-to-use encryption program.

Background

Suppose you want to support an artist and give them money. That's easy. Most artists take PayPal, bank transfer, or cash. But how can you prove that you've paid an artist for a specific piece of work? That is, in essence, all an NFT is - the seller signing a statement that the buyer has sent them money related to a thing.

Whether that claim can be meaningfully sold on to someone else is outside the scope of this discussion.

The artist's signature

Most cryptographic schemes let a user digitally sign a file. Essentially, all this says is "this string of bits was seen by this user". It cannot say whether the signer was the person who originally created the file.

Here's an example.

-----BEGIN PGP SIGNED MESSAGE-----
I, Terence Eden, created "monkey.jpg" with a SHA512 hash of
123a887f3d5e7f246077eee40d0c073fa5ecad85d5b9bd130a87eb07408…
This token was created at 2021-12-25T01:02:03.5Z
-----BEGIN PGP SIGNATURE-----
Version: 1.2.3

456aae68585c9b176e06792396a08ad9ab92e335940e33c79ab69053a55e4f19…
-----END PGP SIGNATURE-----

Hey presto! Now the seller has a token - the above file - which offers strong proof that they were in possession of that exact monkey.jpg file.

(In reality, this would be a formal schema - JSON, ASN.1, XML, whatever - with lots of metadata. But for these examples, let's keep it simple and human readable.)

The transaction

The sale can go via any medium. Cash in hand, PayPal, bank transfer, or even unregulated cryptocurrency. The problem with Blockchain is that you cannot guard against off-chain transactions. There's nothing to stop me buying an NFT for 100ETH and the seller immediately returning that to me in cash.

Here's how a buyer can create their own "receipt" saying that they purchased the above token:

-----BEGIN PGP SIGNED MESSAGE-----
I, Luke Skywalker, have purchased "monkey.jpg" with a SHA512 hash of
123a887f3d5e7f246077eee40d0c073fa5ecad85d5b9bd130a87eb07408…
And signed with
456aae68585c9b176e06792396a08ad9ab92e335940e33c79ab69053a55e4f19…
For 100ETH
This payment was sent at 2021-12-26T02:03:04.5Z
-----BEGIN PGP SIGNATURE-----
Version: 1.2.3

798a42cec24ff0cc40a9270a645f115c137625e1868563044adb139a1d0a3050…
-----END PGP SIGNATURE-----

The seller can verify the transaction once they have received the money:

-----BEGIN PGP SIGNED MESSAGE-----
I, Terence Eden, have sold "monkey.jpg" with a SHA512 hash of
123a5887f3d5e7f246077eee40d0c073fa5ecad85d5b9bd130a87eb07408…
And signed with
456aae68585c9b176e06792396a08ad9ab92e335940e33c79ab69053a55e4f19…
For 100ETH
To Luke Skywalker
With transaction signature
789a42cec24ff0cc40a9270a645f115c137625e1868563044adb139a1d0a3050…
This receipt was generated at 2021-12-27T02:03:04.5Z
-----BEGIN PGP SIGNATURE-----
Version: 1.2.3

000a7324409938862ff8006291b5471aef8c7ba4732a60e6823e77284d42cf17…
-----END PGP SIGNATURE-----

Ta-da! The buyer now has a chain of cryptographically signed, Non-Fungible Tokens, which shows that an artist claims to have created a file and claims to have received funds from the buyer.

Sure, you can pad it out with a bit more back-and-forth, adding promises to sell, more thorough metadata. You could even use a publicly agreed-on Merkle Tree to add a bit more "trust".

And that's how you mint an NFT with none of the baggage and none of the fees. Easy!

Problems

But there are a few drawbacks with this.

Without a published chain of transactions, there is no guarantee that the artist hasn't sold the same item multiple times.

Without a verified on-chain transaction, there is a risk that either the buyer or the seller may be lying about the transaction price.

Because there are no third-parties involved, there is no opportunity for escrow or complaint resolution.

To be clear - all of these problems are also present in "traditional" NFTs. Buyers have no idea of the provenance of the piece, there's nothing stopping multiple sales of visually identical artworks, scams are rife and smart-contracts are buggy.

But if you want to create an Non-Fungible Token - there's no reason to pay inflated "gas" fees. You don't need any centralised brokers or platforms. You can own your own ledger and be completely decentralised for free.

Web3 should be about you being in control - not endlessly paying micro-transactions to hundreds of gatekeepers.

Update

Siyuan Ma has built a Proof of Concept Chainless NFT


13 thoughts on “An NFT without a Blockchain. No gas fees. No Eth. No gatekeepers

  1. operator.name says:

    Another unlisted issue is verifying "token" creation time, for which you cannot solve solely using a signature.

    In most cases you'd have to either rely on a trusted third party for timestamping or invest a blockchain like system to reduce the influence of the third party.

    For a piece of artwork, proof of creation at time T is perhaps one of the most foundational problems. Creation time is vital in establishing multiple sales.

    As for your other criticisms, I'm very much in agreement that people do not seem to appreciate the vast limitations of what NFTs can accomplish. Even so the scheme you've proposed is strictly weaker than NFTs in their current state due to lack of timestamping.

  2. That last bit 🤣 "This is a small proof-of-concept. It relies on PGP - but you could use Keybase, GPG, or any other hard-to-use encryption program"

  3. says:

    Thank you for confirming my suspicions that PGP can be used as a replacement for "standard" NFT market stuff (full of middlemen, buzzwords and a lot of money burning).

  4. Denny says:

    GameStop + Loopring marketplace will vastly improve NFT UX and make gas fees a thing of the past. Should be launching any day now

  5. Richard Melkonian says:

    You're missing a key point of the blockchain, consensus algorithm. There are so few parties involved in your proof of concept. In a transaction on chain, there are hundreds of thousands of validators all agreeing "this happened".

    1. @edent says:

      OK, but why is consensus needed in this case? If I buy something from a shop for cash, I don't need multiple parties validating that I have completed the transaction. It is between the vendor and the buyer.

      What benefit does either party get from validation?

  6. Richard Melkonian says:

    Also with your point regarding, you can use other Layer 1 solutions, such as Flow blockchain that have basically solved gas fees.

Leave a Reply

Your email address will not be published.

%d bloggers like this: