We are creating the infrastructure for a crypto-native global commerce network for physical items. A network that is permissionless, participatory and rewarding to use. By introducing a protocol and platform for building an ecosystem around products, producers and consumers we envision a world that moves towards a more sustainable market model and values products that are built with integrity.
Allowing stores and items bought from stores to have on-chain representation will create a new defi ecosystem grounded in the physical world. Fractional ownership of stores, collective purchasing by DAOs, loans using real world items as collateral and the ability to make ethical purchases with regards to an item's supply chain are all examples of the possibilities. To make these achievable we are building a strong yet simple foundation.
Platforms offer ​​​​​surfaces to be used as infrastructural foundations. If we are to build things that last it is important to know that the foundations are sturdy. Truly decentralized platforms are locked open (aka hyperstuctures) and decentralization is a prerequisite for permissionlessness or openness. If the platform that implements a protocol can only be run by a single entity then there are no guarantees of availability in the future.
With a decentralized open system the property of hardness emerges. Hardness refers to "fixed, hard points across time that let us make the world more predictable". Hardness enables certainty about a system's future operation and it can only exist in the context of decentralization for multiplayer software systems. Hardness enables system architects to make assumptions and for multiple generations of builders to implement architects' visions with continuity. It is a coordination mechanism that is well suited for the development of open source software: an environment of hackers fixing and building features motivated by the actualization of collective goals. Its structure enables coordination across time and space that would otherwise be disrupted by a changing platform. Simply put, it means no more platform risk.
Ecosystems create network effects. As the infrastructures of cities are built on top of its platforms it becomes easier for successive applications to be developed as each can integrate with and leverage the others. We will build on top of Ethereum as a platform that affords consensus and data availability, and leverage its tooling to create a platform for commerce.
At the technical level, we will achieve this using five core software components: the Shop Registry, Payments and Receipts Contracts, Relays and Clients.
Shop Registry
The Shop Registry is a contract that exists on-chain, used to represent each shop as an NFT (ERC-721). This will allow for control of the shop to integrate with the broader DeFi ecosystem. The owner of the shop, be it an externally owned address or another contract, is able to manage or delegate management of the shop's inventory and metadata. Since a store is an ERC-721 it can plug into all the current infrastructure for NFTs. This, for example, could be used to create a market for shops themselves or be the basis for collateral.
Payments Contract
Payment for a listed item can be made with Ether or any valid ERC20 token. The listing is priced in their token of choice by the merchant. The payment contracts are similar in principle to Coinbase Payments. Payments are made to an address which a smart contract can be deployed to using CREATE2. The contract that is deployed to this address is a simple forwarding contract that forwards all the funds to the merchant at an address of their choice. The forwarding contract also handles edge cases such as underpayment, over-payment and in the future escrow and kickback for affiliate links.
The reasons for using CREATE2 instead of just sending directly to a contract that handles the payment logic are that it minimizes gas costs on the payees side, allows for usage by all wallets and doesn't require ERC20 permissions to be changed. Of course anyone can always send an ERC20 to any smart contract, but if just a single smart contract was to process all payments then that contract would have to transfer the ERC20 on behalf of the user in order to "know" which order it was processing, requiring two transactions.
Receipts Contract
After the payment has been processed a hash of the receipt of the purchase is stored on-chain. The receipt will contain a list of hashes of items purchased. The receipt will be used to prove that a purchase took place, which will enable verifiable reviews for products, and the generation of an NFT representing the purchase which can later be used to resell the item, prove providence, or by brands as a token gating mechanism.
Relays
Relays are a concept borrowed from scuttlebutt, nostr and simplex. The relays simply "relay" data for the shops. In this model the shops store their data on relays of their choice, which they then signal to on-chain using the Shop Registry contract. A commitment is made upon listing by the merchant. This commitment is stored on-chain which guarantees that it will be available and is the most recent commitment made. The most the relays can do is to censor a particular listing or a shop but they cannot return illegitimate listings or old listings. Relays can also handle chat messages between shop owners and their customers as well as other data that shops may want to store.
Front-end Clients
Lastly, end users, merchants and customers will interact with the protocol using a JS client library and associated front-end. Simple interaction with the protocol will need no more than a static web-page that makes calls to relays and Ethereum via its rpc. Client libraries will be extended as needed so that the protocol can integrate into current e-commerce stacks.
This project has big aims: to make crypto useful in everyday life and to build an open, decentralized protocol to facilitate commerce. To do this will be hard on both a technical and social level and we need motivated, skilled and determined engineers, marketers, organizers and innovators to achieve it. If you are interested and would like to know more or get involved reach out to us at info@mass.market