A common frustration among people who buy tickets to concerts, plays, and other events is that each ticket carries multiple fees. The fees often vary in ways that seem hard to comprehend, making the final cost unpredictable. Through the ticket’s lifecycle, multiple intermediaries can add to the cost and collect revenue, with no monetary benefit to the original creators and contributors to the event. In addition, bots pervade current systems. These bots buy up tickets from the primary seller and sell them at a much higher price in the secondary market. Behind the scenes, there is a lot of wasted and repetitive effort between organizations due to a lack of collaboration.
Blockchain, and the digital asset technologies it supports, could enable access to events at a lower and more transparent cost by optimizing the resale process, promoting collaborative competition among sellers, and providing a more holistic experience for the consumer.
In this post, we discuss how a blockchain-based ticketing system can greatly benefit consumers. We design a hypothetical system while highlighting considerations that need to be made when designing such a system.
Issuing Event Tickets as Non-Fungible Tokens (NFTs)
A non-fungible token (NFT) is a representation of a unique asset stored on the blockchain. Non-fungibility means that an item or asset is not interchangeable with another token due to unique properties that affect its value. For example, unique baseball cards are non-fungible because the cards have different values based on edition number, design, player, and rarity. Creating event tickets as NFTs guarantees that the ticket is unique, can’t be reproduced, and can provide granular access to add-ons based on its unique attributes. The NFT’s interaction with the blockchain is also programmable with the use of smart contracts and every interaction exists forever on the blockchain. The process of minting creates the NFT with a token identifier mapped to an owner via smart contract. The current owner can transfer the NFT to a new owner by calling a transfer function within the smart contract, which then reassigns it to a new owner. All these transactions are verifiable on the blockchain in perpetuity as the blockchain is a permanent ledger. Programmability also enables more complex use and interactions towards NFTs by actors from the outside world such as owners, sellers, creators, and promoters.
These characteristics have wide implications for the industry, such as:
A maximum ticket price can be set, even during resales. This feature significantly reduces the incentive to purchase as many tickets as possible at face value and resell them for maximum profit on secondary markets. The problem of tickets selling out from the primary seller and only being available at a much higher price from a secondary intermediary, who in turn takes an additional cut, will be much less likely to occur.
Entertainer Revenue on Resales
The artists, athletes, creators, and contributors responsible for hosting the event can now benefit from resales in the form of royalties. By programming it in the smart contract, they can take a percentage of each sale.
The NFT ticket can be collectible and resold as such after the event—much like it was during the days of physical tickets. The NFT can also be aesthetically pleasing, functioning like a collectible piece of art.
Collaborative competition with multiple organizations utilizing common frames of reference
The use of blockchain also allows for a single, non-siloed, highly available source of truth and vast interconnected system. This allows organizations that typically don’t work together the chance to collaborate by building and utilizing each other’s interoperable services. This additional collaboration between organizations allows them to deliver a more comprehensive, holistic experience for the consumer. This forms collaborative competition between companies, because no single monopoly owns and has access to the tickets. This allows other organizations to build services and refer to the same common tickets. Here’s a hypothetical example: an artist may find it easier to work more seamlessly with merchandise sellers, video content creators, and the venue to provide food and drink, based on the ticket transaction. One can build a rewards program for loyal fans who have attended a certain number of shows. This system can deliver free or discounted items to the consumer from the artist’s sponsors. These are easier to accomplish with blockchain as collaboration between parties is built in to its essence. Previous models have companies keeping their own data where cross-organization collaboration are not necessarily the norm.
In addition, utilizing blockchain for event tickets simplifies the resale process and empowers humans to transact without the need for an intermediary. Sellers can transfer tickets via this neutral blockchain system directly to buyers when reselling tickets. In contrast, the current centralized model requires the primary ticket sales platform to house the ticket in their system. A resale in this current state requires the seller to transfer the ticket to the buyer from the primary ticket sales platform. If the buyer doesn’t have an account in the primary ticket sales platform, the buyer must create an account first. The seller must then confirm that the transfer completed on the secondary ticket sales platform. This current process requires multiple accounts when buying from a secondary sales platform because the primary sales platform houses the ticket during its entire lifecycle. The primary sales platform in essence owns the ticket and every transaction has to occur within their system. Blockchain empowers the consumers to transact self-service while reducing intermediaries.
Currently, the lack of a common frame of reference between different systems makes it challenging to deliver these experiences. Because on-chain data exists in the same open format, it minimizes friction in collaboration. You can pull data self-service or data can trigger programmed events. Participation in the blockchain increases and simplifies collaboration opportunities, while delivering richer experiences and products and letting healthy competition thrive.
Service fees price commitment
Because smart contracts are immutable, companies can make the commitment to transparent, consistent service fees. A company can program the fees to align directly with operational costs and inflation, instead of charging static, fixed fees. Smart contracts can also enable dynamic fees based on conditions such as demand. Fees can be more predictable and transparent in a blockchain event ticketing system.
In order to build an event ticketing application that leverages the benefits of blockchain, there are certain considerations. We explore each of these questions in the following paragraphs.
Should we use public or private chains?
How do we tackle cost prohibitive and unpredictable gas fees?
Which rollup type should we utilize?
Which pieces of data should live on-chain and which off-chain?
The choice to use public blockchain comes down to permissionless access and decentralization. Owning an entity in a decentralized deeply-connected environment provides ubiquity, access, and verification. A public blockchain solution for this use case would use Ethereum, with nodes hosted by Amazon Managed Blockchain (AMB). While Ethereum nodes can be self-hosted, we use AMB as it is a fully managed service that simplifies the complexities of participation in the Ethereum network. Ethereum is the largest implementation of programmable public blockchain.
When an NFT lives in the Ethereum world, it can be visible and interactive in numerous different ways, based on the dApp developer’s choosing. Ethereum is incredibly vast and robust, with a range of hundreds of thousands to millions of composable smart contracts deployed each month.
With transactions publicly visible in this vast deeply-connected environment, it’s easier to determine if someone is an honest participant based on on-chain behavior. The system can automatically deny ticket purchases to users who have exhibited bot-like behavior. Private chains do not provide the open access that enables the significant benefits over existing centralized primary ticketing systems.
Layer 2 for cost-efficiency
Because of network congestion, developers can find Ethereum gas fees to be prohibitively expensive at its current state. The Scalability Trilemma is the idea that blockchains can only achieve two of three properties: decentralization, scalability, and security. Layer 1 (L1) is the base blockchain protocol. Examples of this would be Ethereum or Bitcoin. The Ethereum community aims to solve these scaling issues with Layer 2 (L2) solutions. L2 is a protocol that is built on top of L1 where computation is offloaded and optimized to allow for higher transaction throughput, while reducing gas fees. Rollups are a specific type of L2 solution that batches or “rolls up” multiple transactions and sends them to L1 Ethereum as a single transaction for finality. Rollups allow developers to transact at much lower fees.
For example, Arbitrum, a popular L2 rollup solution, has an average transaction fee of $0.20, while the average transaction fee on Ethereum is about $4. There is also an Ethereum Improvement Proposal (EIP) to reduce gas fees in transaction calldata, which would further drive L2 fees even lower. L2 transactions in general are currently about 5–10% of the cost of L1 transactions. These lower costs can lead to greater profitability.
Using L2 networks does come with some drawbacks. Dapps built on L2 solutions cannot interact directly with L1 solutions, leading to loss of composability. There are ongoing efforts to increase L2 interoperability to minimize this issue. There are also tradeoffs in security and decentralization when using L2. There is a level of trust involved in L2 solution developers as they are more centralized entities. Transactions on L2 also do not settle in real time against L1. Users do not realize Ethereum’s robust security benefits until the transactions are settled.
Choosing the best rollup
The two types of rollups are ZK (Zero Knowledge) and Optimistic rollups. The difference between two types of rollups lies in how each rollup handles transaction disputes. Certain ZK rollups send cryptographic validity proofs called ZK-snarks to L1, which allows the ZK rollup to invalidate transactions in minutes. However, due to the complexity of these proofs, Ethereum Virtual Machine (EVM) compatible ZK rollups are in the early stages. Polygon recently open sourced an EVM-compatible ZK rollup and is live on a test network. It is expected to launch on Polygon mainnet in 2023. Matter Labs’s zkSync is also making great progress to deliver an EVM-compatible ZK rollup solution and the ability to deploy smart contracts. These upcoming features, coupled with short time requirements for finality, make ZK rollups a strong candidate for a future solution.
The result of ZK rollup transaction dispute mechanisms is faster throughput with minimal security tradeoffs. Optimistic rollups, on the other hand, do not have the same built in mechanisms. They assume that transactions are valid, instead of utilizing validity proofs. Because of this, Optimistic rollups require a challenge period where anyone can dispute the rollup transaction results using fraud proofs. Although NFT ownership transfer can appear instantaneous to the consumer, it’s important to acknowledge that the dispute resolution wait time introduces risks. The system can invalidate ownership a few weeks later, and the funds aren’t withdrawable by the seller until dispute resolution is complete. For the time being, we chose the Optimistic rollup Arbitrum in this example due to the ability to deploy smart contracts and its high EVM compatibility. Developers can use the same Solidity code on smart contracts with Arbitrum without compiler or version restrictions.
On-chain vs. off-chain data
Due to the thousands of nodes, requirement to reach consensus, and the corresponding transaction costs, it’s not efficient to store every piece of data on-chain. It’s good practice to determine which data points can benefit from decentralization, and which can live in more cost-efficient centralized databases. To explore this idea from a different angle, we can look at this from a file storage perspective.
It’s important for NFT art files to be ubiquitous and presented in a persistent way. NFT art would benefit from decentralized InterPlanetary File System (IPFS) hosting of the image file. On the other hand, a menu button PNG file doesn’t require the same qualities. A centralized hosting service can host it.
Taking this same idea that not all data has the same decentralization requirements, you can use AWS Lambda functions for application logic and store ancillary data on Amazon DynamoDB. This off-chain logic and data is specific to this particular dApp, and participants don’t require these to be postulates. They can change and vary by use case, like extra functionality specific to the company providing that dApp. For example, a specific dApp might provide free recordings of the event, while another dApp might provide free drinks. On the other hand, there are attributes of the ticket that every participant must agree upon. They need to be immutable and shared across different use cases. Developers can use the immutability of smart contracts to permanently set royalties and max price. The mapping of the user address to the token ID also needs to live on-chain because this is a truth that all participants need to agree on.
High-Level System Design
You can use Amazon Elastic Compute Cloud (Amazon EC2) instances to run Arbitrum nodes. The nodes connect to your Ethereum nodes created with just a few clicks from the Amazon Managed Blockchain console. You can authenticate to your Ethereum nodes by using either Signature Version 4 or tokens. For this example, we generated a token-based endpoint and set it as the L1 URL to connect the Arbitrum node to the Ethereum node. Consider allotting enough disk space for the genesis database on your EC2 instances. This currently requires around 75 GB for the initial tar file download and archive. This system uses Arbitrum for daily transaction volume to reduce cost, and uses Ethereum for finality. This diagram is a visual representation of the aforementioned system.
Creating NFT tickets on the blockchain introduces process optimizations and leads to more collaboration among different organizations. The ability to reference the same ubiquitous ticket on a neutral platform provides a better overall experience for the consumer. In order for blockchain ticketing systems to thrive, more and more artists, sports teams, and other entertainers must choose ticketing sales platforms that store their tickets on the blockchain.
With Amazon Managed Blockchain, you can create dedicated, fully-managed Ethereum node(s) on the mainnet and public testnets in a matter of minutes. Ethereum holds about 80% of the weekly NFT volume share and 92% of the total value incoming to smart contracts. About 80% of the total number of dApps are either on Ethereum, L2 Ethereum solutions, or EVM-compatible chains. As even more participants deploy on Ethereum, network effects take over, and more and more organizations will be able to collaborate to develop richer services against the NFTs.
This post is a starting guide to help understand its implications and the considerations you must make when designing an NFT blockchain system. Contact your account team for additional guidance on designing and implementing such a system specific to your vision. If you have yet to start your AWS journey, open an account with at least Business Support level to get architectural guidance contextual to your use cases.
About the author
Kevin San Juan is a Sr. Technical Account Manager and part of the AWS Blockchain Area of Depth Technical Field Community. He is co-authoring a book about blockchain on AWS and speaks at events about blockchain technology. He spends most of his time being chased by a vicious-yet-adorable T. rex (his 3-year-old daughter).
Read MoreAWS Database Blog