How a Facebook Engineer Outsmarted Bots from Claiming Free NFTs

How a Facebook Engineer Outsmarted Bots from Claiming Free NFTs

SUBTITLE'S INFO:

Language: English

Type: Robot

Number of phrases: 267

Number of words: 1408

Number of symbols: 6135

DOWNLOAD SUBTITLES:

DOWNLOAD AUDIO AND VIDEO:

SUBTITLES:

Subtitles generated by robot
00:01
hey everyone i'm michael i'm a software engineer working on the lunaria uh firstly i just want to say thank you to everyone who has supported the project so far it's been really rewarding um like seeing all the outpour of support um all the love everyone's shown for the art and yeah i'm excited to uh see what the future has in store for us so to start with like background for myself i recently graduated from school and
00:32
i studied computer science and i'm currently a software engineer i'm working full time in san francisco i sort of found lunaria in a very roundabout way i've always been interested in blockchain and crypto technologies uh primarily due to my interest in distributed systems and i did some work on ethereum and then i found out about the solana hackathon and then i was actually scrolling through the
01:02
solana hackathon discord and then i remember i saw local's message like just a few messages up and it was like really crazy to me as like a you know i played league for many years um you know logo's name was one of the first names in the in the professional scene so seeing his name there was like very very jarring for me like i really didn't expect to see his name there um anyways i reached out to him you know i thought it was like a really crazy coincidence why not um didn't expect to hear back honestly but
01:34
anyways we chatted and then uh here we are yeah i guess this is a good time to talk about the various anti-bot mechanisms and techniques we used i'll start off by saying that we were particularly nervous about a very specific kind of bot which is bots that try to mint directly from the contract um so this is opposed to like other kinds of bots which like maybe just like click super fast for you
02:04
um we weren't worried too much about those bots because we believe like the damage they could do is limited compared to bots that try to mint directly from the contract so what i'm about to talk about mostly applies to those bots so why are these contract minting bots so dangerous it is a problem that was kind of specific to armament because number one it's free and number two it's on solana so solana transaction costs are very very low
02:35
there's no concept of like a gas fee or a gas war due to like the consensus mechanism on solana versus ethereum so it is actually like very cheap for a bot to just send let's say like a hundred thousand transactions and it becomes suddenly very likely that this bot is able to mint a large number of nfts and so we wanted to try to protect against this kind of bot the way we did
03:06
it was uh first of all we didn't deploy our minting contract which was a candy machine by the way for the developers watching this we didn't deploy that until just minutes before minting time and we we hope this would like throw some bots off at least because like a at this point a human developer would have to go and like modify the bot in order to like update the bot to use the correct address because without the address of the minting contract it doesn't know uh the the bot doesn't know what to spam right now the second thing we did was
03:38
we set up our minting contract so that even though it was free to mint it still took it still required payment in a special token we'll call it a minting token it requires a user to pay one of these tokens in order to mint so these tokens we created they're just arbitrary tokens on solana and we also created a special contract that
04:10
when you call the contract it will airdrop you one token and what we did was on the mint page when you click mint there's actually an extra instruction that you approve which calls the airdrop contract to airdrop one of these tokens so that you can mint successfully we added this extra step so that even the bots that like so even the bot operators that managed to update their bots fast enough they wouldn't be able to
04:41
figure out this extra step before the human users so for the human user nothing really changes they just click mint and then they click approve except the transaction they're approving just has like the extra call to the airdrop contract whereas for like someone who is working on a bot they would have to read the source code for the minting page and then like understand this extra step and then implement that in their own bot which we believe would take longer than
05:12
uh it would take for like all the humans to just like click the button so the strategy worked fairly well i believe for some rough numbers 84 of wallets right after the mint so like 15 minutes after the mint i took a look at all the wallets and 84 of them only had one lunarian and then 95 of them had uh two or less and then 98 had three or less and 99 had four or less so yes some
05:44
people were able to get more than one but uh the vast majority like 98 of wallets had four or less lunarians which i felt was pretty fair it's much better than one address a claiming like hundreds and thousands of nfts in the case of lunaria the most that any one address was able to claim was 18. so this shows that there's still room for improvement it is still surprising to me how someone was able to claim 18.
06:16
i believe it must have been like a group of people using the same wallet address just on separate devices and i think there's definitely research to be done to like try to cut down on this as well but yeah overall i think it was a really good learning experience just like from a technical side and i hope what we learned was like useful or will be useful to other developers doing free mints so for developers not doing a free mint i highly recommend looking into
06:48
metaplex's fair launch protocol and all the tooling that surrounds that it's sort of like a lottery system and it's a lot more fair for a number of reasons but yeah i think that is probably the future of most nft launches doing some sort of lottery and some sort of drawing mechanism so in the short term i'm sure local has already talked about this but there are some exciting events planned i think the community will really enjoy
07:19
it for the long term i just want to say that one thing that we will always stick by as a team is not trying to promise something that we can't deliver on for example like things like games or like video content like shows tv shows especially stuff like that as a team we don't have that kind of industry connection or in expertise in order to deliver something of quality that we would be proud of and furthermore we
07:51
definitely cannot ask the community to fund something like that when we're not sure if we can deliver something of high enough quality but for now we will stick to building things that we know we can deliver on and then delivering them to the best of our ability so some final thoughts for me i'm really humbled by the support that the community has shown um for us the team as well as the art and the lore and the trust that everyone's put in us for the future
08:22
it's been a really few weeks i've definitely learned a lot not just technically but also you know regarding building community business things you know working with people that i've never met before uh and like working in like a such a high stakes environment uh so yeah everything's been super humbling um i'm really excited to move forward and build new things
08:52
and yeah i'm looking forward to seeing what is in store for the future thank you everyone you

DOWNLOAD SUBTITLES: