Prerequisite reading -
Interacting with blockchains costs money. This is one of the most common barriers to entry for potential users. Typically, to mint an NFT, a user needs:
Prerequisite reading - Overview
Smart contracts are immutable. This makes upgrading dApps difficult. When dealing with NFTs and other tokens, it’s key that data is preserved.
For example, imagine if Highlight forced creators to issue new NFTs and bridge old token ownership over every time the protocol either upgraded, or creators wanted to issue NFTs with new mechanisms. It’s critical that the sanctity of the community contract that is first deployed is protected.
Therefore, our smart contracts were constructed so almost everything about a community is extensible and configurable. As a starting point, our communities are upgradeable via a proxy/implementation pattern. But this design choice only serves system-wide upgrades, and leaves communities reliant on Highlight. Creators should be empowered independently. It is a function not protected by a well-defined and auditable smart contract interface, whereas encoded extensibility is. For example, one can easily corrupt contract data with a botched upgrade. Further, creators should be able to opt out of upgradeability via proxy, by switching to a locked beacon, which they are.
In the Introduction to Highlight Smart Contracts, we introduced the four major problems we have solved with our smart contract architecture - cost, extensibility, provenance, and interoperability. We’re going to cover each of these in separate posts, starting with Extensibility.
However, before we explore each of these on the ground floor, let’s survey the entire Highlight protocol from a bird’s eye view. The protocol first went public on Polygon mainnet in November 2021, and has evolved into the system seen below.
Each colour represents a different collective of actions or data-storage functions occurring in the protocol.
At Highlight, our purpose is to empower creative people and their fan communities to thrive together. We believe that by creating membership communities on the blockchain that are accessible to people new to web3, we enable creators to connect directly with their closest fans, better align incentives on all sides, and unlock new revenue streams that empower creativity.
To do this, we built a smart contract architecture that solves the following problems: