Bridging NFTs between Worlds

Nathan Rempel
11 min readFeb 24, 2021

NFTs have become big business and increasingly recognized as Real Art

https://www.forbes.com/sites/vipinbharathan/2021/02/21/non-fungible-token-art-market-gets-boost-with-christies-upcoming-auction

In the world of blockchain the ability to do atomic swaps of Fungible Tokens (FTs) such as the vastly common ERC-20 token between various blockchain protocols is an issue that has not yet been perfected, and there are many competing or supporting protocols to support this Interblockchain Communication (IBC) securely and without financial risk.

The technical means to do this securely in a decentralized fashion has spawned a wide variety of protocols and mechanics that frequently require locking up huge sums to “trustlessly” be trusted with moving other peoples money to avoid legislation requirements or government intervention.

What about NFTs?

Did the world comprehend the modern value of Non-Funigble Tokens (NFTs) when Cryptokitties, the ancesteral origin of NFTs was first deployed on the Ethereum network? NFTs have sold for as high as $777,777 and is anticipated to sell for over $3.5 million at Christie’s auction.

This represents an unforeseeable financial liability, where instead of being capable of splitting the value of single “transfer” of FT into several smaller transactions, the NFT must be transferred once in its entirety, creating a significant financial risk.

With increasing Ethereum prices and rising Gas costs, the expensive of minting, buying, and transferring NFTs on this legacy and widely used blockchain is becoming prohibitive for the majority of artists and collectors, which in turn is creating enormous pressure to publish NFTs on alternative, more affordably transactional blockchains.

Innevitably this pressure is resulting in the desire for NFT collections to become transferrable between blockchains, which faces the same liability risks as Token IBC mentioned prior.

How do NFTs work?

The OG

To understand a solution to enabling NFT IBC, one must first understand to some degree how NFTs are technically implemented on the two major NFT technologies.

Ethereum

The first is Ethereum, which uses the ERC-721 standard, and most recently the ERC-1155 standard which provides an FT/NFT agnostic framework, but is fundamentally identical in the way it tracks NFT state.

Essentially an Ethereum NFT exists as a uint256 identifier that is mapped to a specific Ethereum address which represents the owner of the NFT. The ERC-721 and ERC-1155 specify a uri for a given id, which is retrievable using a geturi method present on the deployed smart contract and is intended to retrieve a metadata JSON file that includes such details as the NFT name, image, description, and other various details.

An example given by https://docs.openzeppelin.com/contracts/3.x/erc1155 is the uri: https://game.example/api/item/{id}.json which uses wildcard replacement to become https://game.example/api/item/0000000000000000000000000000000000000000000000000000000000000002.json for the NFT identified on this specific contract as 0000000000000000000000000000000000000000000000000000000000000002

It is critical to note that while the NFT id is immutable (that is, forever unable to change) the JSON metadata that represents more important details such as the actual image and name are allowed to be mutable (that is, capable of change), and more critically, that it relies on a centralized party to host and provide this JSON metadata for the life of the asset, which in the world of blockchain is forever.

While the use of IPFS (Interplanetary File System) is encouraged for hosting the image, and in some advanced cases even the JSON file itself, which grants a level of immutability, the overwhelming majority of NFT creators use traditional centralized hosting solutions which are liable to disruption, downtime, and shutdown.

WAX / EOSIO

The EOSIO protocol provides a significantly more robust, affordable, and immutable mechanism for tracking NFT state. Two primary protocols are in use in the form of simpleassets and atomicassets , the latter of which sees significantly higher adoption and ecosystem tooling and community support.

A brief mention to simpleassets , this mechanism tracks assets with a uint64 identifier and includes immutable and mutable metadata directly on-chain stored in the form of JSON strings. This makes it a more directly compatible pairing to the Ethereum standards, but makes compromises in RAM efficiency and community adoption.

The primary focus of this discussion is atomicassets which focuses on RAM efficiency, RAM being a storage resource which is paid for with the native token of the blockchain protocol on which it resides. This mechanism provides a series of layers known as collections, schemas, and templates which enables a greater degree of NFT discrimination. These NFTs likewise use a uint64 identifier and includes immutable and mutable metadata directly on-chain stored in the form of serialized byte vectors inspired by Google’s Protobuf.

This key differentiation of storing immutable metadata including the NFT image, name, description, and other details directly on the blockchain when compared to Ethereum standards is that immutable data is ALWAYS decentralized, immutable, and on-chain.

NFT Ownership

Ownership is Important

The means in which ownership of an NFT is tracked is critical to exploring an IBC solution. It is important to note that NFT ownership is fundamentally a ledger that maps an Identifier with an Owner, and that this ledger exists on a smart contract.

In the case of Ethereum every NFT creator is responsible for deploying their own ERC-721 or ERC-1155 contract that uses the following data structure for mapping ownership:

mapping (uint256 => mapping(address => uint256)) private _balances;

This may be described as follows: for a given NFT Identifier there exists multiple addresses which own it, and for any given address they own a specific quantity of that NFT Identifier.

While some projects exist that allow a creator to utilize a universal contract owned by that project, such as Rarible and OpenSea, which comes with certain trade-offs and financial costs, the majority of Ethereum NFT collections utilize their own smart contract. The owner of the smart contract could theoretically manipulate the ownership ledger without the owner’s permission, though open-sourced contracts and immutable deployments typically prevents this behaviour.

In the case of WAX/EOSIO the atomicassets smart contract provides a universal ledger for tracking NFT ownership. While creators may deploy their own contract, it is not considered neccessary and is not supported by the majority of marketplaces and community tools. This universal contract uses the following data structure for mapping ownership:

//Scope: owner
struct assets_s {
uint64_t asset_id;
name collection_name;
name schema_name;
int32_t template_id;
name ram_payer;
vector <asset> backed_tokens;
vector <uint8_t> immutable_serialized_data;
vector <uint8_t> mutable_serialized_data;
uint64_t primary_key() const { return asset_id; };
};

This may be described as follows: for a given owner, there exists multiple NFT identifiers that belong to them. Additionally, there are references to the collection, schema, and template of that asset, as well as unique immutable and mutable metadata. It’s also interesting to note that the concept of quantity does not exist, every NFT is treated as entirely unique.

This key differentiation has also enabled an incredibly powerful mechanic that is missing from the Ethereum implementations: Mint Numbers

Proposed Solution for NFT IBC

Now that the current architecture of existing NFT protocols is understood, we can explore a solution towards NFT IBC. This proposal intends to utilize the WAX blockchain as the DLT (Distributed Ledger Technology) for maintaining a single “source of truth” for the ownership and metadata information of any given NFT that have Interblockchain capabilities.

Architectural Diagram

Secure Storage and Transaction History Smart Contract

The first step is the creation of a smart contract that securely stores ownership of an NFT in a technical capacity, while delegating more comprehensive and universal ownership tracking from the atomicassets smart contract to the secure smart contract, referenced in the diagram as the atomicportal smart contract.

The purpose of this secure abstraction layer is to prevent the “original” NFT from being mutated, transferred, or destroyed. This original operates essentially as a database entry on the atomicassets contract that maintains an immutable record of the NFT identifier, immutable metadata, and mint number.

Ownership tracking would be made universal, enabling ownership to be assigned to an Ethereum address, a Bitcoin address, an EOSIO account name, or a Social Media account. This abstraction layer also enables robust and immutable transactional history to be appended to the NFT.

Two sample data structures are suggested for this mechanism:

//scope to global
struct custody_s {
uint64_t asset_id;
checksum256 unique_id;
name current_chain;
string current_owner;
uint32_t current_ts;
uint64_t primary_key() const { return asset_id; }
};
//scope to asset_id
struct history_s {
uint64_t id;
string action_owner;
name action_chain;
name action_type;
uint64_t action_id;
uint32_t action_ts;
checksum256 action_txid;
uint64_t primary_key() const { return id; }
};

The custody structure creates a universal ownership ledger that for a given NFT identifier the current chain and owner of the “reflection” NFT is tracked, a “reflection” being a copy or facsimile that is minted and burned on various chains during the facilitation of Interblockchain movement.

The current owner is tracked as a string to enable any identifier to be utilized as mentioned above, and the unique_id is a composite uint256 to facilitate an immutable link between Ethereum and Bitcoin and the atomicassets representation of an NFT, which will be discussed in more depth below.

The history structure enables a comprehensive Interblockchain transaction tracking for every single NFT identifier, which includes details such as which owner identifier initiated a transaction, which chain the transaction exists on, when the transaction occured, and the blockchain hash or other uniquely identifying information may be used to validate the transaction.

The history will be comprised of credits/debits or imports/exports, where every movement between blockchains has an import record correlating with the “burning” of the reflection NFT, and an export record correlating with the “minting” of the new reflection NFT.

Unique ID

The Unique ID is a concept to ensure immutable compatability with Ethereum and Bitcoin. This uint256 is created in this fashion

collection_name | schema_name | template_id | timestamp | asset_id

Where collection_name, schema_name, and asset_id are uint64 and template_id and timestamp are uint32 , with each component being shifted and bitwise OR’d together to form a single uint256

This provides an extremely powerful function to Ethereum and Bitcoin: The NFT identifier itself becomes an immutable reference to the immutable original NFT on the WAX network, which also introduces the concept of Mint Numbers to these Blockchains.

Mirrored Contracts

Everything is easier with Portals

Once the secure storage contract is deployed, mirror contracts are required on each blockchain where a reflection NFT may be minted. These are relatively simple extensions of ERC-1155, Bitcoin transaction format, and EOSIO smart contracts that interact with atomicassets on their respective blockchains.

The key addition is a mapping or multi-index table that indexes imports and exports to be retrieved by the Serverless Interblockchain facilitator. Storing these imports and exports in blockchain storage removes the requirement for expensive history nodes and provides an immutable record of the reflection process.

These mirror contracts may also exist as traditional databases for the facilitation of Social Media based NFT ownership and API/Webhook integration with gaming platforms such as League of Legends, Call of Duty, and World of Warcraft, without the cryptographic complexity that is currently preventing mainstream adoption of NFT based Digital Assets.

Serverless Portal

To facilitate the reflection process a serverless mechanism would be deployed that monitors public endpoints for each enabled Blockchain protocol and other potential reflection protocols. This portal is responsible for detecting outstanding export requests on each mirrored service and executing the appropriate transactions to update the Secure Storage contract with the new ownership information, the transaction history, as well as minting the new reflection on the designated service.

This serverless mechanism may utilize either centralized authority or decentralized mechanisms such as secure P2P key signing sessions by trusted authorities or stakeholders or multi-signature mechanisms.

The ultimate goal will be to enable Proof of Human Influence decentralized authority using the Concents.us protocol.

Security and Custody

Security is Key

It is critical to note that while the atomicportal smart contract maintains technical ownership of the original NFT by being attributed as the owner in the assets data structure of the atomicassets smart contract, this is merely a software based mechanic to delegate actual ownership and custody tracking to the custody data structure of the atomicportal smart contract.

Responsability for maintaining this Proof of Ownership and Proof of Transaction is delegated to external authorities that operate in a similar fashion to blockchain miners, block producers, or banks, who are similarily responsible for validating and executing transactions, but are not in themselves owners of custodians of the assets they update the ownership and transaction history for.

To assist in ensuring this fundamental principle is enforced the atomicportal smart contract would be designed in such a way that the original NFT could never be withdrawn by the validating parties, and the contract would be rendered immutable by way of assigning the “zero key” to the permissions of the smart contract, rendering it immutable except by intervention of the elected blockproducers of the WAX blockchain.

Exciting Opportunities

Connecting Everything to Everything

This ability to universally provide Interblockchain communication, indeed even beyond blockchain into the world of Social Media and Video Games, creates exciting new opportunities.

Powered by Concents.us, the entire NFT space can become accessible to over 4.2 Billion users of Social Media, purchasable and tradeable in any international FIAT currency and any blockchain token thanks to Kudos, an upcoming social-media enabled universal payment and remittance mechanism.

Powered by Forgefire, a robust API and Webhook layer under the hood of Concents.us, NFTs would also be purchaseable and tradable directly through Social Media posts, and interchangeable between a huge variety of Gaming platforms, exchanges, e-commerce outlets, and real-world museums, exhibits, and galleries.

These NFTs can have direct physical connections to real world assets through QR codes and NFC technology, enabling Wizards of the Coast to directly connect physical trading cards to digital trading cards, and allow artists and collectors to directly associate their real-world works to digital representations.

Imagine

Go Digital

Imagine selling your League of Legend skin on Instagram for Kudos, which you use to buy a Call of Duty rifle on Twitter, trading it for an access pass to your favourite Twitch streamer or OnlyFans model on Telegram, then trading it again for a Magic the Gathering card on Discord that you redeem in real life, which you trade in person for a rare Gucci purse, which you transfer to Ethereum to trade for a Cryptokitty.

Coming Soon

This is not another blockchain false promise. UpliftArt, The Uplift, and Concents.us is making this a reality NOW in the next few months.

Stay Tuned for the Future

About the Author

2021 — Come at me: Concents.us, Forgefire, Kudos, Artifier, Nftify, […] how many technical stacks? How many licenses. How many world changers. I can’t do it all… but I will if I must.

The world has stagnated… dogmatism, incompetence, sloth and scams abound. Stop hoarding data, stop hoarding users… it’s time to change society and go Quantum. Stay SaaSy my friends.

You can follow me at:
https://www.linkedin.com/in/nsrempel
https://twitter.com/nsrempel
https://www.facebook.com/nsrempel
https://www.instagram.com/khazmoto

--

--

Nathan Rempel

Blockchain Engineer, Founder of Concents.us and Phabric.ca, Inventor of Web 4.0, Quantum Theorist