Hasu Profile picture
13 Oct, 19 tweets, 7 min read
I'm excited to release a mega-post that @_anishagnihotri and I have been hacking away at for the last few weeks:

Paradigm's Guide to Designing Effective NFT Launches!
paradigm.xyz/2021/10/a-guid…
All NFT launches face similar challenges (e.g. pricing, randomness, gas-efficiency...), causing design patterns to emerge.

An anti-pattern is a common response to a problem that is ineffective or even counter-productive.
We start by highlighting anti-patterns in NFT-land that have been harming users in the wild.

For example, "More Loot" used transparent metadata. This allowed savvy users to rank items by scarcity before minting them and snipe only the rarest ones.

(x: time, y: scarcity)
A second example is first-come-first-served (FCFS) sales with a fixed price.

Last month's Times NFT launch sold out in less than three minutes, excluding regular users completely. Worse, we found that 10,962 users lost 252 ETH ($800k!) across 12,743 reverted transactions.
From looking at the damage from bad launch designs, we derive six desirable properties of an NFT launch:

🎲 Unexploitable fairness
🏎️ No race conditions
🌍 Time-zone agnostic
⛽️ Gas-efficient
🤝 Inclusive
👮 Trustless
But how can we do better?

At the center is our realization that *every* NFT launch consists of the same four steps:

1) Bidding: Users submit bids
2) Clearing: Winners are determined
3) Distribution: Winners receive NFTs
4) Metadata reveal: Properties of NFTs are revealed
For example, in the highly common FCFS fixed-price sale, users submit bids to miners, who are tasked with clearing them every block.

Turning this continuous process into a sequential one (e.g. a raffle or batched auction) leads to much better outcomes.
Using a methodical approach, we break down each phase (bidding, clearing, distribution, and metadata reveal). We explain what options developers have, and how their choices affect the design goals of their launch.
"Do as I do, not as I say":

We also provide MultiRaffle, a reference implementation that we consider a good balance between all properties and that is simple to understand and build upon!

github.com/Anish-Agnihotr…
We would love to see NFT developers start experimenting with these ideas, leading to a better variety of launches in the wild.

A huge shoutout to those who have been sharing their tools and advice with the NFT community already:
@VitalikButerin - for his explainer on the problems of FCFS fixed-price sales
vitalik.ca/general/2021/0…
@dotta - for advice on building a robust frontend
@jaypegsautomart - for demoing novel batched auction approaches (part 1)
@ameensol - for demoing novel batched auction approaches (part 2)
@ParallelNFT - for showcasing best practices with off-chain raffling
FairDrop - for sharing their proof-of-concept design of fair raffles
fairdrop.0xessential.com
@0xmons - for advice and tooling around designing fair launches
Did we miss any other good threads, concepts, or launches? Please reach out to us on Twitter @hasufl and @_anishagnihotri so we can all build a great resource together.
Finally, make sure to follow my co-author @_anishagnihotri, one of the most brilliant hackers I've ever met. Anish spends most of his time building public goods for the community and his knowledge about NFTs and Defi is truly unparalleled.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Hasu

Hasu Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @hasufl

2 Oct
I don't really share the view "the outcome of a smart contract is law/code is law"

Smart contracts don't replace basic moral behavior or the traditional legal system, and that's okay:

(a thread on the most important concept in crypto💡)
Economic interactions are only possible when trust between parties can be established.

So humans create institutions like moral codes/religion, a monopoly on violence, the legal system, markets, money, etc. to establish trust between participants and lower transaction costs.
But existing institutions can be faulty, expensive, unfair, or too local (how do you establish trust between someone in the US and China?)

This is where blockchains and smart contracts come in.
Read 7 tweets
2 Sep
One for my MEV friends: I always said that EIP-1559 has no impact on MEV, but is that true? Assume we are still in PGA world and no bundles

1. in EIP-1559, the goal is for many txns to have the same priority fee (1-2 gwei, wallet default)
2. miners tend to group same-fee txns
3. as a front/backrunner, how do you communicate your target position to miners? Using less gwei would put you behind the entire batch (bad case) or even out of the block entirely (worst case). Using more gwei would put you ahead of the entire batch (bad case)
4. If the above were true (and remember only PGAs no bundles), then EIP-1559 would effectively lead to batch settlement instead of ordering by gas price which makes front/backrunning harder.
Read 8 tweets
21 Aug
EGL is not governance, it is a highly toxic attack on Ethereum.

tldr
- gas limit used to be voted on by miners in coordination w/ core devs
- EGL bribes miners to tokenize & sell that control to the market instead

(cont)
- actively ignores due process: this could never pass EIP process
- power grab & attempt to shoehorn rent into core protocol parameters by a rogue team + VC investors

I am watching very closely who supports this & have alrdy updated my priors accordingly.
I was offered to invest in this before it launched & declined immediately. Horrible project
Read 5 tweets
20 May
Why do many hacks and rugpulls coincide with overall market downturns?

Same reason crime explodes in an economic depression.

People stop seeing the market as a long-term positive-sum game. Instead, they switch into survival mode, taking with force what the market „owes“ them.
For most people, this means making self-destructive moves, like using high leverage to „make it all back in one trade“.

Others are willing to take from other people - by force.
There are two important takeaways from this:

1) In theory, smart contracts allow us to build applications that require no trust in the developers.

In practice, there‘s a near endless number of governance apologists, telling you that this or that loophole is necessary.
Read 8 tweets
19 May
PSA: The experience of different users on the same chain (Matic, BSC, etc.) can differ wildly based on which RPC endpoint they are using.
If you're using these chains, you should have a list of different endpoints saved up so you can shuffle through them during times of congestion.
And by congestion I mean p2p layer congestion :) On-chain congestion is rarely the problem
Read 4 tweets
18 May
I would consider myself a power user of Argent and have onboarded several friends to become power users themselves.

The experience of using a smart contract wallet with social recovery is SO much better than any other type of custody setup IMO.
My workflow:
1) Establish an encrypted channel between Argent and a Defi app via Walletconnect. This only needs to be done once for each app.
2) Make all my txns on desktop
3) Review and sign the txn on the Argent mobile app, which acts as a 2FA
A smart-contract wallet, as the name suggests, is an on-chain contract. It has one signer key and several guardians (think of those as an on-demand multi-sig setup).

The signer key is generated in the Secure Enclave of your phone, and it can never leave from there. Image
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(