What is Potion Unlock?
Potion Unlock is a novel launch mechanics pioneered by Potion Labs. It promotes grassroots movements for radical decentralisation of DeFi protocols, whilst retaining a sustainable and compliant business model for the development team.
In short, it consists on a collective ceremony for the open-sourcing of the Potion Protocol’s codebase, through an NFT-based social consensus game, which is trustlessly running on the Ethereum blockchain.
In this post we dig into how it works, its user journey, and a light touch of the game theory behind it. You can also learn more in our documentation.
0. Motivation
The fundamental objective of Potion Unlock looks rather simple from the surface: making the Potion Protocol code Public Domain. So, why not publish the code on GitHub, provide an appropriate license, and be done with it?
Because that would ignore two of the other major objectives of any DeFi launch: bootstrapping a robust community around the Protocol, and finding a way for the development team to monetise their building efforts.
This gets even more tricky due to the ever growing regulatory constraints imposed around the world, which make almost impossible for any centralised DeFi startup to issue a security token (i.e. an ERC20 governance token) and lead the bootstrapping of a DAO around its protocol, at least without becoming a single point of legal failure.
Potion Unlock encompasses these four objectives (open-sourcing, community bootstrapping, builder monetisation and legal compliance)
1. Architecture
To embody the gamification aspect, Potion Labs has encrypted the Protocol’s codebase, leaving up to the community the task of decrypting it. This is done using a symmetric key (the password) with a modern and secure stream cypher algorithm.
By using a very long password, we can split it into 10,000 fragments and somehow distribute each of them to different participants in the game. In addition, in order to provide on-chain identity and agency to such participants, Potion Labs has created 10,000 NFTs, associating each password fragment to an NFT. These NFTs are auctioned off to participants at the beginning of the game.
In order to distribute password fragments securely to participants (each fragment should only be accessible to its associated NFT owner), we use asymmetric cryptography. The fragment is encrypted with the original minter public address, and by using Metamask in the Unlock website we provide a single-click decryption experience. In short, we can distribute securely the password fragments to participants, and still keep a beautifully simple UX.
The final question is: how are participants going to reveal their secret password fragments to each other? And in particular, how can they do so trustlessly? For this purpose, we have created the Validator smart contract. It simply uses a Merkle proof to validate that a given provided password fragment is original. In this way, the Validator contract gives participants a way to proof to others on chain that their password fragments are authentic.
At the same time, it provides a single source of truth where the password fragments can be accumulated every time someone reveals theirs, until the whole complete password is revealed and is publicly available on chain. At that point, anyone is able to decrypt and access the Protocol’s codebase.
For a deeper description of this architecture, please visit our documentation.
2. User Journey
Let’s now switch gears and make a very simple and explicit description of what participants of Potion Unlock can expect to do during the game process. In sequential order, we have 5 steps that every participant needs to go through:
- Start by whitelisting yourself through an onboarding process built by Potion Labs. This is designed to uniquely identify participants and prevent malicious attacks, as well as recover invoicing data (name and address).
- Purchase and mint in the public Dutch auction starting on the Feb 28th.
- When the game begins, you can claim your secret password fragments.
- When you are willing to do so, you can reveal your password fragments.
- Once a sufficient number of password fragments are revealed, anyone will be able to Unlock the Potion Protocol using a simple script we provide.
Steps 2 to 5 can be executed through a dedicated and self-contained web3 app for Potion Unlock. Note that steps 2 and 4 require paying a gas fee to the network in order to interact with the NFT and Validator smart contracts.
Also note that all the steps in the app will require participants to use a vanilla Metamask wallet, which has to be the same wallet whitelisted in the onboarding process. Hardware wallets connected through Metamask won’t work, due to the cryptographic features required by the app.
3. Game Theory
To Reveal or Not to Reveal
That is the most important question that all participants of the Unlock game must take into account. In fact, your secret fragment is your leverage in any negotiation arising from the game. By revealing it, you contribute to the open sourcing of the Protocol’s code, but also lose such leverage. Think strategically before doing so!
Redundancy
What happens if not everyone decides to reveal their password fragment? To facilitate the resolution of the game we have added redundancy in the secret distribution: the same password fragment might be shared between two or more participants. For Potion Unlock, redundancies will range from 2 to more than 100, ensuring a relatively low threshold of revealing participation in order for the code to be effectively unlocked.
Rarities
To make the game come alive, we introduced heterogeneous powers or rarities across participants’ NFTs. Each NFT belongs to one of 6 rarity groups. Each rarity group is defined and differentiated by the decryption power (password fragment length) and redundancy (secret shared with more or less participants) of its constituent NFTs. Rarities allow for the inclusion of all types of participants with a variety of skin-in-the-game.
Build your Own Adventure
We built Potion Unlock with modularity in mind, so that anyone in the community can build new game rules and mechanics on top of the web3 architecture we have developed and deployed. Participants may develop new smart contracts to motivate and coordinate themselves on chain to get the game resolved. Other projects may also spawn new games altogether for their launches, potentially with different rules.
4. Conclusion
In summary, Potion Unlock achieves the objective of gamifying the open sourcing of the Potion Protocol, bringing a vibrant community of NFT players around it in the process.
We have built an entire framework combining entertainment, game theory, and web3 technology. We belief it may become a primitive for DeFi teams to launch their products sustained by the pillars of decentralisation, creators economy and legal compliance.
If you are joining us in the game, good luck and have fun!