Making learning Solidity as enjoyable as playing Diablo III

ETHCC 6 · July 2023 · 15:50

Sam Benyakoub introduces Node Guardians, a set of role-playing-game-style coding challenges for experienced Solidity developers and security researchers. Participants can use the challenges to test their skills and mint soulbound credentials.

Speakers

Topics

From ETHCC 6, hosted by Ethereum France.

Transcript

okay [Music] all right well [Music] um I'd like to thank everyone who's there in this room for uh thank everyone for showing up I think every a lot does a high chance that a few folks here had the had a rough evening yesterday so I'm gonna try to keep it very succinct and uh interactive like some proofs so no Guardians is I'm Sam and I'm the founder of note Guardians you know the Guardians is what I like to

call a role-playing game for experience security researchers and programmers where you have to wait oh I think it's not it's not working oh it's it's like working here but not there no oh great

all right so let's start again node Guardians is what I like to call a role-playing game for experience security researchers and programmers it's a public good and the way it works is uh it's pretty simple it's pretty much like a role-playing game like Baldur's Gate or Heroes of minor magic you log in with your web free wallet or you could have account and you have to solve what we call quests quests are programming challenges that are very like lore Rich they tell a story and as you break the different contracts and solve certain objectives the story unfolds so as you can see this is like how the interface look like you take a challenge that you know like that deals with something you wanna challenge

yourself on and there you go you can find all sorts of things from you know like how to implement your own VM on top of ethereum your self-hosted evm or how to relieve some of the most notorious hacks and so on a lot of things that you can do on the platform to challenge your solidity skills the cool thing is that you have a like you have different types of quests you have ctfs which are basically like Capture the Flag you might be familiar with this if you play It capture the atherator notes we're trying to expand that concept go a little bit further with that we have build build is basically a type of quest that as not a CTF that's not directly done on testnet and we need to verify some specific

aspects of your code so we write test in Foundry to make sure that your code satisfies certain criteria and in order to evaluate your code you just need to Fork a public repository and install a GitHub to to to see if your code satisfies uh the criteria the criteria that we've set and then you have resource management or gas optimization and of course theory I'll get to that point later um so yeah the challenges scattered to experience developers as stated earlier and you have some kind of proof of skill that's tied to each of the challenges in the form of crafting materials gold and experience that is soul bound link to your identity so the idea is that if you can't play The

Challenge or a campaign or if you do something with a high level of gas efficiency you can get the best Loot and so the visual representation of who you are as a developer gets better and the idea is to get this proof of skill as composable as possible so yeah you also have a leaderboard like in League of Legend or DOTA with an Lo system that might be introduced very soon and uh yeah there's some kind of incentive to go further down the campaigns and replay them with a higher level of efficiency um but why would you actually solve all these quests and everything so the idea is that through these proof of skill you can leverage meaningful opportunities um you can for instance use that proof

of skill to apply for a job if you want or apply for a grant or you can use it to I don't know access a hacker house you could think of all sorts of use cases built on top of that infrastructure that you have on node Guardians we have for instance some regular ctfs all around the world some Gatherings some meetings and the cool thing is that it's really based out of content and the platform is built for the users it's user-centric so we're not going to send you emails or nag you or ask you to give some personal information you just come and you join a community if you're willing to contribute and you know help the others propose challenges you're welcome to do so but you can also just do your own

thing and we won't ask you to do like some shady stuff or retweet something to access the next chapter it's really like a concept that we really attach to a note Guardians um you can also use that to legitimate your contribution to critical open source software so let's say you want to contribute to an arbitrary ZK VM and you want to prove that you're familiar with certain aspects of another arbitrary provable language you can do a very tough non-ctf quest to prove that and then that also smoothens the matchmaking between all sorts of operators and coordination within the open source ecosystem so you could think of all sorts of use cases out of the challenges that are listed on the platform that we design

yeah you can use that with an arbitrary Foundation etc etc um so it's a proof of scale platform uh I won't lie that I just made the slides this morning in a very rock and roll way so you'll excuse the the yeah the ordering is not that great but yeah it's of course a probably good and it's not going to change and uh yeah so far we have over a hundred hours of content that exists uh on the platform you have about 60 quests that you can play they're all linked to each other there's a story that unfolds but I also understand that not everyone is into video games so if you want to abstract this if you want to skip the whole gaming side of things we always split the technical description from the story

a bit like when you skip a cutscene in in I don't know any game you're able to do that in node Guardians and just focus on the code that's totally possible uh it is also a Community Driven initiative so we have contributors from immunify the ethereum foundation and many other cool organizations within the web free space and if you're feeling inspired and want to bring your periodic office or your stone to what we're trying to build here you're more than welcome to do that and uh yeah so that a lot of people could benefit from your know-how we'll make sure that it fits with the with the whole node Guardian Vibe and environment that we're trying to to build here and um and yeah I think that's pretty much

it I would like to go straight and jump straight into a demo and introduce you to what's coming up next now right now node Guardians is not totally permissionless it is permission to some extent so we're looking to make to work towards a Sandbox where everyone can just upload the challenges and leverage the pipeline to do whatever they want instead of going through us so this is the the next thing that's coming up and as I said earlier we're only on solidity for now but wow this is changing today as we're launching our Cairo One or I should say Cairo 2 integration a bit like when World of Warcraft is shipping uh an expansion pack you'll have dozens of hours of content to really get to a

decent production level with Cairo and you should expect some other zero knowledge domain specific languages to be added on the platform but not only zkdsls but yeah some some domain specific languages I'll just say that if you have you know if you want to engage with us or if there's something you wanna you wanna share some some feedback positive negative every engineer at node Guardians is also a community manager and we really want your feedback to make this platform better and yeah I'm just going to show you very quickly the flow and if I have some time answer some questions um so yeah you just log in with your wallet you have like a campaign selector a little bit like in any role-playing game and you have these challenges so as you

can see the story part is segregated from the technical description um so here we want to do the cream Finance rect straight from your cozy home relief that notorious hack it's totally possible to do that you have some story that you can Skip and then you have some inputs all the information that you need to eventually be able to exploit this then you deploy that contract on girly and you're going to need to steal the money in it or you're going to need sometimes to manipulate the price of record and we just deploy a small contract called the verifier that is going to monitor the state of that contract you deployed to see if you've achieved the the objective on that given Quest and based on how you perform you're getting rewards that you can

spend at the forge to craft these proof of skills and soon these proof of skills are going to be mintable so you can imagine some kind of experiences that are gated by this proof of skills so if you want to make some kind of gathering for security researchers you can just say oh if you're level five on node guardians or if you have completed that very annoying challenge well you can I don't know get a ticket or do anything that you wish and uh yeah there's a there's a wide range of challenges that you can find gas optimization also some content on broader concept of distributed systems and defy that you might need before tackling some challenges like on stealth addresses or um yeah Randomness sometimes it is better to have some Theory before

tackling some problems and we're also trying to offer this in the in the funniest way let's put it this way and yeah we're also shipping Cairo tonight so you'll have some pretty spicy challenges to get on the right level with Cairo some spicy stuff like how to implement your own brain VM on top of Cairo how to to exploit L1 L2 messaging to to steal money from a contract and and all sorts of evil things that we would love you to try out on the platform and to each stack there are specific rewards that are tied and I really invite you to to take a look at it the experience is pretty simple there are no IDE or remix whatsoever we really want the hacking experience to be as

similar as possible to production like coding I'll call it this way so you just set up your own environment and your code and that's it then you have a visual interface of yes you can just see how um you know like you can just get your results verify if what you've done is right or wrong in a very seamless way I'll put it this way that's pretty much it I am happy to answer any questions that you might have and uh yeah [Applause] uh do you plan to migrate to like

sepulia or herschwitzer when it's out because girl is troublesome sorry I do plan to migrate to like uh sepulia desnet or Malaysia absolutely right now we're on girly but a sepulia migration will be needed at some point so yeah because we've got already there's the problem with the not enough like free if no we have a huge faucet we always give you girls and every time you complete a challenge you get again the amount of Eve to do another challenge so don't worry about it you don't need girly if we we got it started for you okay that's great yes any questions oh

um the congratulations like uh I don't know what you've done like it's really really thank you guys um I was uh wondering if at some point you think about like having a like a skill tree like where you do everything and you you can imagine like even like if you want to a job you just say okay this is my skill tree in uh solidity and things like that absolutely if the screen sharing does work I can actually uh World premiere the upcoming skill trip because note Guardians is still a beta and the V1 is coming in two months so I can give you a sneak peek about what kind of skill tree you can expect and why the new design is more meaningful that the status quo that what we have right now

uh yeah but I think it's not working because yeah the the thing is frozen so like yeah whatever I can show it to you like right after the talk if you want yeah any other questions yeah apps so matchmaking tab is something we're looking into but we just we want to keep the thing pure because if you design a platform for experienced developers or intermediate to senior developers they can get annoyed very fast and we just want to make sure that we do something that's efficient but that does not rely

on putting the developer by the neck and forcing him into a recruiter or foundation so a constant based system is being we're trying to make the specs for it and I hope that we can have it live by the end of the year so for now the way we imagine is very simple a bit like in Final Fantasy you have that board with some papers some monsters to slay and if you slay the monster you're able to get in touch with the foundation XYZ or job Creator XYZ and then get something that's meaningful to you get match made with the project Etc and that's pretty much it you would have some matchmaking Tab and you could use all that reputation that you've built to ensure and maximize your chances to do something if that makes sense I can show you how it looks like

also uh yeah any other questions all right again thank you very much and if yeah thank you very much [Applause]