Lit Protocol Workshop - ETHGlobal San Francisco 2024
ETHGlobal·Thu, Oct 9, 2025, 12:00 AM
Join us for a Lit Protocol workshop with David Sneider and Wyatt Barnes. from Lit Protocol. Join the workshop to learn about Lit Protocol, what can be built with this network, and for answers to any questions you have! This workshop took place at ETHGlobal San Francisco, a 3-day hackathon held from October 18 to 20, 2024, which brought together web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com
Transcript
[Music] and out there on the web I'm David that's Wyatt and uh in the next 20 minutes we're going to do a brief introduction to LIT protocol um some of the prizes that are available here at eth Global San Francisco and how to get started with the SDK uh so first just to do a little bit of context setting basically when we to think about the problem that is solved with distributed and programmable Keys which is fundamentally what lit offers is addressing the issue of fragmentation we live in a fragmented world everybody knows this even if they're not technologists and so the thing that unifies all systems networks platforms devices is that they all use secrets for authentication and so the big Insight if you take away one thing here is that you can make applications agents and protocols that interoperate across multiple blockchains multiple networks multiple Services by using lit which is a system for managing secrets that are distributed and then creating applications that dictate how those secrets are used like signing a transaction decrypting some data hitting some endpoint and so uh we had the main beta up since February of this year the network has done 20 million requests uh to date just about and now I'll tell you a little bit about the security and then pass it off then a little bit about the prizes and then pass it off to Wyatt into the getting started and we should have plenty of time for Q&A so uh looking from left to right here this is kind of an order of scale I we'll tell you very briefly about what these nodes consist of that enable this notion of creating a programmable secret you can see there's four components there's sealed Hardware which is uh encrypted VM a type of trusted execution environment and within that sealed Hardware uh component there's a networking module a threshold key share and an execution module and so then moving to the right this is functionally what's live today these green circles indicate the threshold key so the key share that is managed by each of these nodes is a different part of an underlying shared secret and through the execution module can write actions and we'll get into that in a minute that dictate how this distributed secret management system will sign and decrypt things and then a little bit to the right is kind of where we're headed in terms of how this continues to scale one of these networks today can handle about 4 to 600 concurrent requests a second which is pretty awesome but certainly uh in order to have this network work at an internet scale there's still some scalability aventures ahead and so the execution uh method is called a lit action that's the JavaScript code that runs in this execution environment um and so you can basically say hey lit nodes I want to decrypt some data or I want to broadcast the transaction and this is how uh this has worked for some time and then recently within the past several months we've added a new feature which is enabling one of the nodes to collect these authorizations from all of these shares so that data can be decrypted in a single node and then used in whatever the next step in the program is or uh can collect the authorizations to generate a signature and broadcast that to a blockchain being able to decrypt data broadcast signatures to chain without a human in the loop uh really for the purpose of some pretty sophisticated Automation and then like Fox uses this for example for doing their access control on their on their licensing uh Network that's called verify we've seen some life insurance teams use lit as a way to take uh private user data like personal identifiable information in the context of life insurance like pre-existing conditions is somebody a smoker things like that and run a model against that inside of lit inside of this private environment and then the output is something like a risk score and then so an insurance provider can underwrite Alice based on her risk score without knowing personal information about Alice and then finally um this also applies to interconnecting blockchains and so what you're seeing in a short demo this is an application called genius going from usdc on bass to a mem coin on salana and what we'll see in a second is I hit the swap button this is a pre-recorded video but this is actual transaction it's now simulating the transaction and then upon hitting submit order you could see that that clears in less than 2 seconds and that is made possible because for this system for example the way the architecture works is there actually Four four programmable keys in play there's the user wallet on base which is holding that usdc there's the protocol or orchestrator wallet from genius on base there's a protocol and orchestrator wallet on salana and a user wallet on salana so that simulation happens ahead of time and then upon hitting the swap button the funds go from the user wallet to the orchestrator wallet on base and at the same time the orchestrator wallet on salana is buying that Meme coin on a local salana Dex and sending it to the user wallet and because all of those all that key material is using a lit key a programmable key pair um the user can't rug right there those resources are locked that is essentially going to be completed as an atomic transaction and they do some other sophisticated things like login with Apple and Google and direct funding uh through uh Banks and and coinbase for the onboarding and so this weekend um there are three core prices uh there is and these can also be combined so Computing over private data this means like decrypting some information inside of lit and using it for some purpose you could decrypt an API key for creating an uh Marketplace for inference data so agents can use it for microtransactions it's just a concept or we talked about that insurance model earlier also uh the programmable signing which is essentially broadcasting a transaction directly from l you could also use this for things like verifiable credentials use this to uh call things like sign protocol and then uh this is something that we've never done before but having a prize for a programmable Bitcoin application so the way that this works and we can go into some of the specific docs and it's also listed on the prize page um but you can think about using lit to program Bitcoin because you can program an account externally owned account in EA and because you with split can create a an immutable but upgradable program where the output is a signature you can essentially write a dii primitive for example that is mutating State on bitcoin based on some other state perhaps State on ethereum or an L2 or Salo or in web 2 whatever it might be and then yeah if you take your best shot at this but but somebody else gets selected then there's some uh some runner up prizes as well and so with that I will one see if there's any immediate questions and then two pass it along to Wyatt who will go into all the getting started details awesome oops let's bring that back up all righty yeah hi everybody um I'm on the devil team for late so I'm here to support yall while you're building on the hackathon and and afterwards going for uh on our documentation uh the website is just lppr call.com and then we have a link to our docs uh under the GED started section we have a making your first request this will guide you through all the prerequisites including you know getting test tokens for our Network um instantiating a client with their SDK to be able to connect to the network and make your requests um generating session signatures is how you authenticate with the let Network so we can identify who you are who you have access to what pkps and um other assets that you have access to uh and then of course installing the SDK and these two are really good uh to learn um yeah making your first decryption request it just walks you through all the steps gives you um the code Snippets that you can just copy paste uh and get up and running with that and secondly uh making your first signing requests using a pkp uh this is like the decentralized key pair um yeah where no one actually owns the underlying private key um aside from that for our Bitcoin uh example if you go under guides user wallets and then pkps uh under Advanced topics we have signing with Bitcoin transactions and this will walk you through signal signal signatures multi- sigs um all of the Bitcoin stuff to get you started with that um and yeah we have additional documentation covering various topics of course feel free to reach out to us on our Discord e Global one or the lit protocol Discord uh or stop by our booth and we'll be happy to help you with any debugging or answering any questions for integration and yeah if there's any questions yeah um so like uh the question to repeat it back was what would be the point of encrypting an API key so like a very basic way to think about it would be um to resell it so let's say you have a smart contract that needs access to some data like there's all kinds of systems that do this you know oracles chain link Etc but let's say this like premium exclusive private priced data that isn't just necessarily freely available you have access to an API maybe you pay for that data you now want to take that API key uh because you've set up this whole web 2 construct and you want to sell it on chain for 50 cents per request when somebody pays on chain and says oh I'm paying for one request you're not generating a new API key for that person because it's a smart contract it doesn't really have a method to call an API but inside of lit it can decrypt that key and use it to pull that one request with whatever specifications uh came with the request that the order functionally um to pull that data from that API is that helpful in terms of like essentially commercializing it on chain is a short way to put it okay and then yeah the example mentioned earlier is something that I personally am really excited about which is um there's you know all a bunch of like API Market places that are out there rapid API is the biggest one to me it feels just like a pretty significant and exciting opportunity for uh a a team to tackle that truly in like a web 3 context where make all apis available through microtransactions where the data providers can either be networks like chain link or existing providers of web 2 apis that can hook up to such a system to then make them commercializable via web 3 great question thank you anybody else have any questions we can cover specific implementation details if somebody wants to share what they're working on and be brave that would be cool no pressure though um we could we could deconstruct that um yeah we talk about ideas implementations uh the security of the system yeah absolutely great stuff so the compute method um let me go back to my the question is around how does compute work with lit um and so the compute method is what we call a lit action and so this execution environment that's running in the secure Hardware environment is actually um a a JS execution environment called Deno so Deno is just running inside of the lit node and so let's say you have uh a function um to determine if a number is prime or not and you write that up in JavaScript and you say lit hey here's a number is this number Prime um that execution will happen here in the te and then you could have the signed result delivered with the the threshold key and then one thing that's really cool here is that you can pass that JavaScript directly to the node but to the node set but what a lot of teams do and the system is set up this way is actually to upload that JavaScript to a specific content ID or CID on ipfs thus making that function for automating the signing immutable in the same way that once you have that CID address you can't change the contents that's on there but but then just at another interesting level of detail there's also teams that want to have the same property of smart contracts for these signing applications so they will Point lit at a specific smart contract the smart contract will contain the CID which is the JavaScript for the system to run and then if somebody wants to upgrade their system they do a function call to the smart contract and they remove cida add cidb and so the next time the network is called and says oh what is the JavaScript that I need need to run here for is this number prime or whatever the uh use case is it'll go to that new CID and grab that new updated JavaScript for that immutable but also upgradable uh property excellent question are there anyit for the decentralized computer like AP yeah why do you have the the limits top of mind um yeah it's like a 30 second execution yeah uh sorry the question was um any restrictions on the execution environment uh I believe see if I can find that real quick if not it's okay uh yeah it's like it's it's like 30 second execution time um I believe 2 56 megabytes uh is like the total file size that will run um I think that's correct uh if you have a longer running compute job uh yeah if you have a longer running compute job like that's basically the direction we're kind of heading in so I'd love to kind of hear about those use cases you know I think right so right now these tees that are running like they're um just encrypted VMS where we would want to go in the future is having gpus on the lit nodes and things like that um so we're still in this main beta phase but if you have like a use case that requires a longer running job and you're running into those limits that's a great reason for us to talk to us talk to us like that's very much the direction we're heading in is supporting longer running jobs good stuff question this as understand IPS is not ened right dat can we use to you explain the worklow how wece absolutely very application yeah so we can look at an example um so like lens protocol uh has the notion of um gated content uh and so this is they're using ipfs and basically the way that this works in the Box example I mentioned earlier works in the same way but we can talk about in the context of lens where Alice has a song Alice uh wants to upload this as gated content into lens for example uh that content is encrypted to the lit public key now Alex has the cipher text the encrypted data Alice then uh stores that Cipher text on ipfs um and sets a rule around who can decrypt it and so let's say the rule for the sake of example is you must own one Alice token in order to decrypt this data Bob is a fan Bob has an ALICE token Bob shows up later on and when he's going to decrypt the data Bob basically signs a message and makes a one to connection to all of these nodes and says I'm Bob here's my Alice token that I can prove with my signature each of the nodes then checks to see does Bob meet the rules for decryption and then each of the nodes now in a many to one operation send those authorizations back to Bob who now has a signature client side and the cipher text and then can decrypt that Cipher text client side awesome yeah and then so just to kind of jump back to one other detail that's basically like in that example this purple square is Bob um and then the the what some of the the prizes are focused on is this notion of decrypting within lit that's where Bob is replaced by a lit node where that data actually is decrypted inside of lit and then use as input for uh for for for for yeah the next step in the program um but both of these methods are are available just the you know hackathon is a little more focused on these this newer use case of decrypting in the action yeah in terms of content exles obviously but I think there also that's a great question um so there are uh like basic examples you know hold an nft uh hold an nft in a collection things like that um but you can also use any contract on uh any chain um and then these things can be combined with Boolean logic so you can do and and or operators amongst these time lock is also available based on block count and then uh you can also use the the uh the networking module the data input output module inside of lit to then fetch external data and use that as the access control and this could all be combined uh as well with the with the Boolean logic yeah so like um you know just looping in some other kind of folks that are here I know the team at story protocol I believe they have a repo where they have already connected uh uh lit to the story contracts using their custom contract so it's like you purchase the license on story you can decrypt the content type of thing and that uses this methodology of the custom contracts does that answer the question yeah I mean I guess I'm I'm specifically curious about sort of something yeah that would be through this what we call a lit action condition where you would do that verification here in the JavaScript maybe you have to reach out to Google's server to confirm the validity of that ooth token uh and then do the access Grant yeah come by the booth later I think we could dig through and see what would the most relevant example would be yeah awesome anybody have any thoughts we have the booth uh it's kind of in like the you know when you came in the entrance there's a green wall on your left we're just on the other side of that green wall um you know if you're a a fan of word play we have some matches lit yeah great love that uh so yeah you can come grab one of those right now too I know we're we're about to wrap up it it looks like um but yeah we'll be around we can we'll just saunter back over to the booth if you want to pick up any aspects of this conversation and uh will'll be here all weekend thank you all so much [Music]
Automatic transcript — names and jargon may be misspelled.