About the Client
The client is a US-based technology startup founded by serial entrepreneurs with multiple successful exits in the tech, financial, and entertainment domains.
The company’s mission is to create an NFT ecosystem that will empower performers to remain in control of and monetize their art, by connecting them directly with their respective fan bases. Seeking to harness blockchain technology and the innovation of non-fungible digital assets, the client commissioned a platform for the creation and trading of performance art that keeps giving back to the artists who create it.
A number of contributing factors led the client to embark on the project. These include the following:
- The exponential growth of the NFT space, from its inception as the ERC-721 token standard in 2017, to the multi-billion-dollar asset class it is today.
- The saturation of said market by similar NFT platforms that have failed to develop beyond the original innovation of transforming digital files into unique, digitally scarce, objects.
- The inevitable dilution of NFT markets as a result of how easy it has become to create and flood the market with them.
- The lack of an accessible and authoritative venue for well-known artists, performers, and celebrities to be able to create digital collectibles out of the unique moments of their performances and sell them directly to their fans.
Utilizing the client’s offline studios, creators book stage time to record performances that are simultaneously live-streamed on the website, and also minted, in real-time, as NFTs that are available for immediate purchasing/reselling to users.
This requires a system that allows artists to live stream their performances and split those performances into discrete chunks that the artist can then determine the final length of, before turning them into non-fungible tokens and digital collectibles.
The system must also have in-built trading functionality both for auctions (creators to fans), and trading (secondary markets). This allows buyers and sellers of NFTs on the platform to transact between themselves, and for NFTs to be liquid once purchased from creators (i.e., to be immediately resalable). NFTs should be transferable to the Ethereum blockchain when required by the end user, for example for use as collateral in other smart contracts such as compatible loan protocols, DeFi, and so on.
Furthermore, the system should be able to distribute fees from each transaction to the artist credited with creating the NFT in question. In other words, the artist receives a type of royalty in perpetuity as their work continues to change hands on the open market.
Users of the system should be able to register and authenticate themselves via email, phone, social login, oAuth, or a digital wallet, which also allows them to withdraw funds from the digital marketplace. The development of the platform ought to prioritize mobile first as it is anticipated that most users will want to engage with it via mobile devices rather than personal computers, and should quickly scale up to serve thousands of users going forward. The initial target market of the project is performers rather than home creators. This exclusivity is also one of its unique selling points as, at launch, the focus is on providing NFT services for performances that are due to take place at properly equipped facilities.
One of the most notable challenges is the current limited throughput and high fees resulting from public blockchains not being able to meaningfully scale. This leads to a dilemma for developers in the space as there is a definite limit to what can be put on-chain.
However, to perform everything off-chain, or on a private blockchain, is to negate the very reason (and some would say the value) of provably scarce digital assets such as NFTs. These are issues that members of the crypto community are particularly sensitive to, as such, developers attempting to innovate in this field have to carefully negotiate the pros and cons of every design decision they make.
The need for fast transactions and zero gas fees were the most nagging issues when working with public Ethereum, especially back in the proof-of-work days. They both had a severe impact on the complexity of the system.Michael, Solution Architect
The mobile first approach is also not without its issues as both Apple and Google treat NFTs as assets that are subject to a commission fee up to 30% for every sale. This is not economically feasible given the platform’s focus on remunerating artists rather than middlemen.
The client was looking for a team that is at the bleeding edge of crypto development. Devexperts was chosen because of its proven track record of delivering unparalleled solutions in various domains.
Blockchain systems inevitably sacrifice one of the following features in their design choices: decentralization, security, or scalability (you can only have two of the above at any given time). From the project perspective, we have had to navigate the above trilemma by using centralized components of system architecture, such as the combination of a private blockchain and AWS to offer the throughput and security guarantees required by the client. That is, until a time when public blockchains have scaled to a point where these centralized components may be migrated exclusively on-chain, should the client desire to do so.
To this end, the system currently prioritizes scalability and security over decentralization, but uses the Ethereum blockchain’s high degree of assurance to provide verifiability, as well as a smart contract environment on which the NFTs minted on the platform can be used.
The system employs a private blockchain created by Devexperts for all the computational steps that would be too costly and slow to currently perform on the Ethereum network.
The platform uses AWS for live streaming, data storage, logging, messaging, email, and SMS. Filecoin and the IPFS protocols were initially considered as decentralized storage solutions, however, it was decided that these protocols, while ticking the right decentralization boxes, were not sufficiently mature to currently be able to handle the multimedia demands of the platform.
In response to the difficulty of running such a platform as an app on either the App Store or Google Play store, the development team opted for the creation of a web app optimized for mobile use.
The platform comprises a Creator’s Portal, an NFT Marketplace, and Smart Contract for interaction with the Ethereum public chain. Content is uploaded, stored, and managed by artists on the Creator’s Portal. It is then minted as NFTs and made available to the public on the NFT Marketplace, which includes a matching engine, allowing for NFTs to be tradable immediately after the sale. Finally, the smart contract component allows activity that takes place on the NFT marketplace (minting, sale, and transfer of ownership of NFTs).
Since the platform is intended for widespread usage beyond crypto natives and seeks to be a gateway for non-crypto users into the space, it allows for traditional account creation logic such as logging in with Google or Facebook credentials, SMS verification, etc. However, it is also in the process of being integrated with a number of the most popular digital wallets in the crypto space allowing for full crypto functionality, including the withdrawal of tokens for use on the main Ethereum chain.
The platform employs the following development frameworks for its various components:
The Creator Portal and NFT Marketplace frontend is based on ReactJS Framework. All media is hosted on the AWS S3 cloud platform. All blockchain logic is currently based on the Ethereum stack, using Solidity, with a view to providing future blockchain interoperability as the scalability race between protocols intensifies.
As we needed to launch fast scale rapidly, we decided to leverage a number of cloud-native services of AWS: live-streaming and media services to create and tear down live streams of any given quality on demand, SQS as a message queue, SES for notifications, ElastiCache for quick media look up and ECS as a service discovery and docker containers orchestration mechanism.Michael, Solution Architect
The client received an NFT ecosystem that inspires performers to monetize their art by connecting them directly with their fan base and remaining in control of their creations.
The solution’s workflow looks the following way:
- Artists upload, store, and manage content on the platform.
- The content gets minted as NFTs and goes public on the marketplace.
- NFTs become tradable immediately after the sale.
To help performers escape additional commission fees of application stores, we delivered the platform as a web app optimized for mobile use. We opted for a private blockchain for all computational steps because they’re costly and slow if performed on the Ethereum network. But we employed the Ethereum blockchain and a smart contract environment to ensure the system’s verifiability.
The platform is compatible with the following Ethereum standards:
- ERC-721. Ethereum’s standard non-fungible token that is unique and not interchangeable with any other tokens.
- ERC-1155. An improvement of the ERC-20 and ERC-721 token standards, allowing for multiple fungible and non-fungible tokens to be sent in a single smart contract transaction
- ERC-998. An extension of the ERC-721, allowing a new token to “compose,” or own a group of other fungible and non-fungible tokens.
- ERC-2309: An extension of the ERC-721 token standard, and improvement on ERC-115, allowing for the creation and transfer of an infinite amount on ERC-721 tokens as in the case of the mass minting on NFTs.