ZK HACK III - Introduction to ZK Badges and ZK Attesters - Sismo
28 Nov 2022 · 57:24
Leopold Sayous of Sismo presents ZK Badges and ZK Attesters at ZK HACK III, explaining how smart contracts called attesters verify zero-knowledge proofs of eligibility before minting tokenized attestations. The session covers how developers can issue new badges by reusing existing attesters or build custom attesters with their own eligibility rules.
Speakers
Topics
Transcript
foreign [Music] this workshop on on zika Badges and zkr testers so first vertices mode so sismo is a modular adaptations protocol that issue ZK badges which are solvent token and it's super modular that everyone can create new ZK Badges and even you can create new smart contracts we will see the adapter that can change the rules to mean these ZK badges so first what is a ZK badge a ZK badge
is a tokenized attestation that means that someone a wallet that has this attestation proves something about his identity for instance imagine a wallet that has a proof of humanity ZK badge it proved that he is part of the proof of humanity registry without revealing exactly who he is inside this registry so it's a cell bomb token which is a so a non transferable 1155 contract it's a deployment on chain and it's minted by a ZK testers which is also a smart contract deployed on chain and we are our goal is to be compatible on all evm chain and to be deployed on all evm
chains so how is this badge meeting process works so you have a source account you generate SDK proof in your browser for privacy preserving reason you will send this to sdki tester which is a smart construct and the zkr tester will Design verify the request to the ZK proof and will mint the SDK badge on the destination so there is no link between the source accounts and the destination accounts so the first Decay address we have created is called the Hydra S1 it's um it's an editor that works around so it's a ZK address and that's work around
group membership so you prove that you are part of a group and uh to have your ZK badge so what exactly is uh this uh 1155 it's a collection of token ID so you have a token id1 token id2 token ad3 Etc and all this token ID is a ZK badge where all the owners of this EK badge is inside so it's a little bit like a yes E20 with a total Supply and each owner of this token has also a balance so you can imagine that you can have a summer I will explain this later but you can have some different balance between the owner something like level level one level two
level three um so what is uh very modular here is that our first Decay address on the right it has the right to write into these badges construct to for instance collection ID 1 to 1 million and you can have other eye testers with some different rules that can write to another range so for instance here we could imagine an accessor that just verify uh uh and so this SSR can be not Decay functions you can have a centralized assessor that just a verify signature or you could have an accessor that will just verify a Markle proof and
chain so it's a public adjuster and and all is here so yeah I want to to make a demo of our app and then you will understand more what we are doing so here we are on the system app so first you can see our curated badge I will explain this later so here is the proof of humanity I tell you about so we can click on it and see that it's uh see all the eligible accounts so it's a it's a group of eligible accounts we can see the the contents so basically a design and uh we see how when it's uh it was
generated the last time like a snapshot and when it will be uh will be the new generation so to start with we need to sign in and this signing will be used to decryption Vault because we have the system of World products when you when you can import all your Source account and your destination account to avoid to sign for each um when each time you want to prove that you have a source account in a group of eligible accounts so I'm going to do it right now so now I'm signing so in the Border directly I decrypted My Vault and then I
can see that it's a little bit like a password manager so I can see my sources account that I have already imported I also so I have a addresses and I also have a Twitter account and a GitHub account that is imported I can see that I am eligible for different badges and they have made this nation account where I minted ZK badges so the other ziki badge I want to show you is this one it's um ZK badge we actually just need to refresh it's a a ZK badge we use for our devil because we have a governance to create the GK patch so we have a more
permissionless environment where everyone can create music image very easily and they can for instance for experimentation and then we we try to create this ZK badge thanks to our with some button so here in the system contributors it's owned by System contributors and we can see that we have a 21 000 to editable icons and if we inspect it we can see that we have different value here and those value will give different balances on the ZK badge so I'm going to show you an openc so here it's all the owners that minted
the zika badge and we can see here that for instance we have three items it means that you are level 3. and if I scroll here I can see that I have a level 2 on the ETC so this will then be very helpful if for instance for our dough we use snapshots and we can give different voting power depending on the the balance of your zika batch for instance we can see here that we have 500 voting power for some word here so we see Adrian again and some other just 50
virgin power so yes um now let me show you I created a SDK badge for this Workshop and the we have only a three accounts for now but if you want to send your address or your GitHub account or whatever and the chats we will be able to uh to put them after and to regenerate the group so it can be really nice so I'm eligible because my source account here is inside the group I can then choose a destination another one
and means maybe so what happened here we are downloading all uh the group of eligible account we have generated zero knowledge proof directly in the browser for privacy present between reason and when the ZK proof is generated it's sent directly to every layer so let's go back here to the presentation so what we have created is a map knocker the tool to let everyone create new ZK
badge so again I will show you that so here is a factory that sismo.io I've just filled uh already all the description name and so here you have all the metadata you want to fill for your ZK badge for the openc part and and the for the visualization here and you can also create here your number so for instance we will do the GK batch again so let's do this like that we can also change the ZK drawing yep and here we
here we go so we need a batch creator for public contacts for maintenance we can have some links so here we can see that we have links to the ZK hack and what is interesting here is to add the group of eligible icons we have different weighted with them so uh we can use groups from existing badges for instance we could use the proof of humanity ZK badge so let's add it we can also use a union operator to add another group for instance by uploading
approaching directly a list of accounts so here I could uh foreign this is my address here and I can also use what we call data providers so data providers are some apis that will query some data from from outside so for now we only have a GitHub and pull up so in the web data provider you can select a specific event ID and then the git data provider you can for instance get all the contributor of a repository for instance here I can get all the
contributor for our system protocol and yeah all the the quips that will be generated will be constituted of all these group of eligible accounts so now I want to show you so this is really a no code tool for everyone but we will have also another version which is a repository which is called The sismo Help where you can directly code how you are going to generate
the the group so it's a typescript code where you you can call different data everywhere and do operation around it so there is a tutorial and in this tutorial we will we will launch everything for you all the infrastructure with something like with a Docker and and you will be able to totally generate all your group and all the infrastructure in local then you just have to create a pair to send this for request and it will be merged deployed on our permissionless environment so in the tutorial you will see so I will just show you some interesting part of the tutor so the the purpose of this
tutorial is to um to create a ZK badge uh for all ens contributor functions uh we will we are going to get all the voters uh on ens snapshots space and also of all the contributor to the repository so we have the ens domain and ens and ens contracts so um this is in this part we are reusing our Hydra s1z to have all the parts that we are needing we need to to to cut the group generators how we are going to generate
our group which update frequency we are going to give them and we also need to put the batch metadata we want to name the descriptions the image so let's start with the group generators the group generators it's a an object with a generation frequency and a generate function so here it's really really easy group generator you just have a so it will be generated just once and you have directly your data that are right uh hard written so it's not probably interesting one we can see here that we have the value it's the value that will be including in
the balance so for instance if I have put it here too when I meet my badge I will have a balance of two so this is how you can anchor different level on your ZK batch uh so here we see that we are we have hard coded the data but what we want to do is to use a lot of data providers to query our data so we have bigquery provider GitHub graphql design we can also have all our followers in lens in our web all the attendees of events we also have a subgraph providers and snapshot to get
all the voters after we have closed this data we can also Union them or make some intersection so here is a more complex group and um we have so a generation frequency of weekly that means that the generate function will be executed each week and we see that we first get all the photos from the snapshot provider we get all the contributor for the from the GitHub ens domain repository and then we made the union of these two groups
so in digital tutorial also you will see that you can generate your group in local you can send the group to your local chain so it's not really some of the group because it's a huge group but you will we will see after it's a medical tree and you will send the root of the macro tree and chain you can also visual your your data with the API so for the batch metadata you just have a Json and you have 2000 names the description and the image that you can put also on your requests so at the end you have something like this this once deployed an open c for instance
and maybe you have some question for this first part Leo just a quick thing I don't know if you see the Q a uh under the chat there's chat and then q a okay do that if you click on that there's actually four great quotes great questions just be sure to read them out for the video after yes so what are the badges used for program you are trying to solve so what we are trying to do is to let people import their reputation without making a link between the wallet functions you have a lot of data
you have a lot of data that you have made from your private wallet and now we have ens so we can have public wallet and you don't want to make a link directly between your private web where you have all your bank accounts and your public wallet that is facing wallet so with your own Edge proof you can import directly your reputation from your private way to your public wallet you can also import the reputation from web to web to provider functions from your Twitter followers for for your for your from your GitHub reputation and all of this with privacy preserving way so
so could you explain the login process a bit more is it done through a Chrome app so the login process is just you are going to you sign um with your metamask for instance a message and this will be used as a a way to decrypt your word so it's a little bit like a password manager and so all is decrypted directly in your browser for privacy reason so what is an adding store a net store is a smart contract that is deployed on
chain and that will have the right to write to the ZK badges sorry to the badges construct and depending on its own own rules okay so let's go for next the next next part so in the next part it will be more technical we will dig a little more into what happened directly so I told you that sismo is a modular attestation protocol so what exactly is an attestation
an attestation so here you can see the difference between a ZK badge and an attestation the ZK badge lives in the budgies console contract it's an 1155 and the attestation live in the attestation registry that Soul contracts its two different artworks in fact the badges contract is totally stateless it reads directly on the attestation Registries estate and so you can have more data in the attestation never registry for instance you can have the issue so which Suzuki accessor issued this attestation you can have also a timestamp if we take here the proof of
humanity the K badge um is the the proof of humanity it's a registry and uh after one year I think you you are expired so you need to renew your your proof of humanity uh registry uh profile and so we can ask for the ZK badge to have attention for of less than six months for instance and to ask for the user to renew his zika badge you also have some extra data that you can use in the future to Anchor with ezekia tester more data so uh here it is so here we have the
system contributor the Cabbage I show you at the beginning when in the app demo that we are using for our Dao and um we can see that we have another value so a value of 2 and the balance will be two so it's that's how we we are doing the this so we read directly the state on the attestation registry so if we take our core contracts we have the adjusters that record attestations into the attestation registry and we have the badges contract which is stateless and read directly the the data on the attestation registry foreign it's an abstract fact which will be
implemented by each other so for instance the Hydra S1 Decay at the so I told you about which is the first one we have developed inherits from this Addison and what is the why we did that to just only let you um to in order to have only two functions to to to write so it's really easy to do you have the build attestations function where you have your request and the proof you can directly just decode the data depending on the proof you are using so is it a zero knowledge proof or another type of proof and uh you have the verify request where you are going
to verify that a request from a user is valid so is a request from the user well um backed by your proof and is this proof valid and this is where we can see that we have different type of functions uh I told you about the ZK address one it's a ZK proof but we can have a Netter which is a which is which works with a centralized paths uh something like for instance citizens calls I just sign some some digital score for you and it's not privacy preserving but you will have uh just a signature here to ACL recover uh we can do also some miracle proof
so this generate attestation it is in the abstract contract and we can see that we first verify the request we build the attestation and we then record the attestation we have some hook before where we can do some stuff I will show you after so okay now we are going to dig a lot more into the hydro S1 ZK accessor on how it works so just I'm going to take a look at the questions so so I have one beside besides Twitter and GitHub sources can we also use Facebook
Instagram accounts as sources um and yes we could so we can I will show you how it works in the zero knowledge part so it's a circuit we will see that after but um we can we we we can import like or what uh providers so like web 2 providers uh compatible so yes it's possible so there is another question from Luis what stack are you using for generating and verifying proof so I will show you after but it's a circum and I will show you how how we implementing this
so another question from Julian can we also use conditional logic when we build a ziki badge based on other zika badges for example for example I have at least two out of the following five zika badges yes exactly that's why we we want to have all these keyboards in the same place because you can reuse them and have some logic like in the future we can imagine to have some civil resistance budgies some Define more reputations badges Etc and we could combine them to do some other stuff like the idea is really to have a cryptographic primitive which is a zika badge and everyone can build on top of
it so okay now let's uh I have another one uh this one do you have some cool the apps here do you have some cool devs which are using ZK badge to do something so we released our protocol uh in June and uh we we don't have um depths which are using it already it's more useful to show on some profile for now but we are integrated with um with Guild and yeah if you have idea of the apps we are we
are going to launch some cool stuff in next month's of the apps that integrates DK badges but we could imagine for instance switzerlands it's really easy to integrate because it's an 1155 and for instance in the lens protocol you have the the lens module the following module and you could directly ask I don't know for for someone to follow you to have this type of zika badge or for someone to post on your to comment on your post to add the ziki batch functions uh to have a professionality or another another one from so yes let's continue uh with our
Hydraulics one decades also we will dig more into the ZK part here thank you so uh ziki ZK sorry proving scheme we have approver and a verifier so the program makes the proof sends this proof to the verifier this is DK proof and the verifier will just know if the proof is true or false so it will send back yes or no so to be constants imagine I have a secret and I want to prove to a verifier that I know the secret I use to generate the hash of
Secrets so without your knowledge I will need to give him the secrets that he can compute the hash of secret and well verify that it's good with even red proof I can compute this hash of Secrets inside the proven part send the ZK proof and the verifier will just have to to verify the ZK proof along with the hash of the secret and we it will tell you if it's yes or no that means if my secret was valid or no but I will keep my secret safe and what is really interesting here is that the proven part is can run on the browser and the verifier part can
run directly on a smart contract so at solidity and to do that we can use circum and snap.js that's really really interesting uh tools for for xeron Edge and lets you develop all of that because that's what we used so now I'm going to explain you what happened exactly into our Hydra S1 ZK accessor and into the ZK circuits so we can imagine imagine this ZK circuit as a very safe environment like a program where we'll we will do a lot of different operation inside it
and the the when we run this program all the inputs the content will be private and um we will be sure that we well executed each part of the program so for instance this is really the that we we will run into the browser of the user and we will be sure that he will verify each step so what we want to verify here for the address one we want first to verify that our source account is inside a group of accounts we want also to to verify that uh he owned the user on the source account and
the destination account so why is the destination account because we don't want a user to send his ZK badge to another user but it's just the rule we have decided for our first ckr tester and you could very easily create a new easy editor that does not have this rule and finally we want to nullify the two seconds so what does it mean exactly um once you once you have generated a ZK badge from Source accounts in this in this headrest one Decay at the store we want to compute something which is called a nullifier so you may you may
have heard about that in tornado cache or in in Z cash it will avoid to let you create a lot of different DK badges on a lot of different destinations and this is very useful because for instance if you want to make a nail drop or whatever it will be severe resistance so the nullifier will nullify the use of your Source accounts for this ZK badge so now we will dig a little bit into each part so here you can see what is a group of accounts we will see it a lot of time during the presentation
this Social account to prove that we are part of a group we can make a miracle tree and having a proof of inclusion a market proof of inclusion to know if we are part of the group of the the set so here we will just transform this group into a Merkel tree and we will send the root Unchained so the verifier that run with the approver will be able to verify that it's through the good medical tree that was used inside the prover and inside the circuit the other part is to verify the ownership of a source icons and or under
the destination account so in general when you want to verify the ownership of an account you just make a signature so it's an easy ecdsa signature and the the problem is the cdsi network is very hard to run inside zero Android circuits and it's even more harder to run inside the browser because uh a Zealander circuit can be really costly in time of CP CPU and time consuming so what we have made for that we have created what we call subcommit on mapper and an off-chain commitment system where we will so the user will generate a secret that
will stay in his browser and he will he will just save this this Secret in his system Awards the encrypted encrypted system holds that he owns and he will generate the hash of a secret so it will be like a commitment this hash of a secret and the Insidious signature will be sent to the option service that will be kept you that will be uh verify the cdsc signature and will send back a needy DSA signature and keep to the hash of the secrets and the account together so you can only have one secret for one account we will map the commitment which is a hash of a secret
with an account and then with the edgsa signature and the commitment and your secret you and only you will be able to verify the ownership on your own red circuit and so that's why we can also have GitHub and alert providers and all of that because um we can just map your GitHub account with another hash of a secret and again for Twitter and for all or two type of identity provider so for the nullifier part we want to generate uh something like a number but
it can't be the hash of your account because it can be Brute Force so we want to have something like which is linked to your account but that no one can guess so if you we hash the secret the secret with another value for instance one we will have this newly file because each time you use your account you will be you will need to use also your secrets and so it will be the same the the same secret we use in the ownership and in the nullifier part so all of this is done in the same circuit so that means that we are sure that we verify all these State step inside the same proof so now that we have our zero Inlet
circuits we will split it in two parts so we will have our approval parts that will run uh in the Navigator and we will have the very final part that will be deployed and chain so maybe before next I will just answer some question uh so can we use it as open API I don't really understand this one to the
so will I be able to import wallets of such blockchains for example aptos.net to my account which so now we we can import ecdsa signature so Instagram account for instance we can import a web 2 providers so we have Twitter and GitHub and yeah so adapters and I'm not sure if it's not ecdsa signature I really like the Dimitri questions so where do you store the seismo world
so the seismo volts is it's a nail being tool for ux reason because otherwise you you will need to import your source and to sign each time you want to regenerate your ZK badges so what we did is is that just to import all your source so you have all your so that is inside this Vault and it's encrypted with your signature you made and this is the the result of the signature is the thing that will increase the content of the world and it's then save into your local storage and it's saved into uh a server of chain to help you recover
your system world if you just change if you lose your computer or if you just want to open it in another one but all is totally encrypted with your signature so so so yes let's continue um so in the Hydra S1 zkr tester you have uh so here we saw that we have our secrets that was splitted in two parts we have the prover part and the verifier part so here we see the system of front end
where the user can execute some program and we we saw on chain which are the smart contracts so you have the Zero Energy tester Hydro S1 and the verifier that is deployed so when you want to prove that your part of the proof of humanity group and to have your proof of humanity ZK badge you will download on your browser all the group so all the knuckle tree of the proof of humanity you will generate the GK proof with approver we we saw before we will this ziga proof is is really a height rise from ZK proof and you will send it on chain uh to a SDK altester which is a
hydro-respondicator so this character will verify the ZK proof to the verifier and then we'd also ensure that the root of the Merkel tree corresponds to so we use in the approval the good group also we will have this new level that we can put it in the in the Hydra S1 ZK circuit and we can save it on chain so if we reuse as if I reuse my address to generate another uh badge I can the nullifier will just plug because I've already used my Leo 21.30s and it will
be exactly the same nullifier but when we saw this nullifier we just can't guess that it was the u21 that is at Wet that was used so you can directly dig into our headways when separate here all these open tools um you have also a documentation and the repository that so maybe we'll take a look at the question so I'm here I think I exactly which data related to this process is placed on the blockchain database so I think I so here we can see that it's only the GK badge
which is an element 1155 token when you had to consumer okay so very interesting question direct um Can smart contract wallets be the source account and destination accounts so right now we are not compatible with smartphone for it but we are working actively to be compatible the program we have here is that we need
um we we need an easy DSA Network to verify the ownership and in the case of the smartphone wallet we we can't do that so yeah uh we will be in the future so another interesting question from Adam can the user revoke a ZK badge from the destination accounts so here I will show you in after in the next slide that we can create so in these headrest one ticket so the first one we have deployed we can't revoke the ZK batch from the destination account but I will show you after that we can very easily revoke and we are going to
upgrade our contract to be relocable so it's what we call the an account bound CK adjuster I will show you after so okay let's continue so now um I'm going to show you uh the contracts it will be really fast so um we see that we have a verified request and uh the the build application so in the verify request we are going to verify our zero knowledge request so here you can see that our approved data is just bytes so we just have to decode our bytes depending on on our proof and then to validate our input by verifying the root and chain that is Unchained the
root of the metal tree and we need to verify the proof which is a snap proof so we will call our verify verify our contract to verify this snap proof also we have some hook around our record attestation and with this hook uh we are going to use a before record attestation to save our newly fire so here we can see it so we are just going to take our older nullifier to see if it's already Associated to a destination and if we want to change our destination so to meet again another badge in another destination it will revert because the nullifier is already used then after
that we can just set the destination for newly file so it's mapping while the key is a nullifier and the the value is the destination so now I'm going to talk to you about our Hydra S1 a compound ZK ataso so this account bound Orchestra the idea is that so here we want we were we use the first one so the idea is that you will be able to burn as the keyboard that is already in the destination and to Mint it again in another destination but when we do
this we will have a link so it's not privacy preserving this operation is not privacy preserving because all these Unchained so we know that the burn and the mint um happen in the same transaction it's very easy to to to know and uh but it's really interesting if you want just to to switch your ZK badges because you have a security issues or stuff like that so the other thing we are we are going to implement is what we call a cooldown the idea is that uh to avoid to just mint burn mint again burn again Etc you can do just once for some uh some time
and after that your nullifier will go in the cool down duration and each DK bed you can customize the what cooldown duration you want so here again we see our uh before recordization and we see that we can only modified it to um to first check how we trying to change the destination if we are trying to change this destination are we already on cooldown yes or no and if we are not in cooldown we just delete our previous attestation we set our nullifier on cooldown and we can just uh continue our process and to record the new Association so we just
moved our ZK badge from one address to another one thanks to our proof that's why we call it a compound because from our CK proof which is made thanks to our source account we can change our destination account and only the owner of the source account can choose which destination is the zika badge so you can build on system or with open source we have put a lot of efforts in our documentation so yeah you have also hear all our link and I will go to the question
so you can smart contract with this also are already answered this one can the user revoke the keyboard from the destination account so the account down the tester I think that answers this question does sismo have a business model so not already yet but we will we will we will have it in the future um do you have any other question Maybe so thank you for your time
I'm just waiting for other questions hey hey yeah if anyone has further questions just remember to put them into the Q a foreign also Leo just a quick aside like did you are you giving people badges because I've seen a lot of addresses being put in there but I don't know if if I missed something at the beginning yes yes yes demo where you have a group of users and I am only eligible for myself so I I ask
them to to just send their address and I will update the group of eligible user after afterwards so okay so if there's any listeners out there you might want to add your eat dress in the chat we'll have to grab that somehow from hoppin afterwards um for you some people are putting their GitHub as well is that also okay yeah yeah you can directly edit uh or make a pull request and uh and ah sorry I don't understand so well the question yeah you can send a GitHub account directly or Twitter account too okay oh yeah cool so another question from Luis uh ens address 2
so yes sure because we when we generate the group we just uh results in ens address to the the full address foreign did you see the latest yeah I'm can you spin so can you spin spontaneously neither I want educational udmi skillshare with seismo help so yeah now we it's really easy to to create new um SDK badges so we could imagine like
like when you for instance with this uh ZK hack we could imagine that when you uh resolve the puzzle or where you we could have all the results are leaderboard and we could use a leaderboard to directly uh generate a group of eligible users for ZK batch and it will be privacy fully privacy preserving uh so you could uh then use this uh everywhere you want so I think for educational and it's really interesting to to just show that you have made some some stuff so another question from Alexander could
you do an unlinkable revocable badge by having a secret that verify that the last badge was burned perhaps it would have to use East State fruit in the proof so divided to the last batch was burned so yeah so what we can do so verifying the ethereum stage 3 the battery set three is very very complicated in in zero knowledge so uh maybe you will see that with the ziki evm but it's very very complicated to verify this in the zero match proof so uh what we can do is just
we have a subgraph on top of our uh our attestation registry so we can just create another group and do like ritual civil like that so foreign so another question from Ivan that is interesting for Don and meaning can you batch them up to preserve privacy uh 20 users burn and mint at the same time yeah it could be interesting but uh yeah it's uh I like the idea we need to investigate in this so badges represents proof of membership
and proof of ownership so so it's a proof of membership of a group of accounts and so inside to make a proof of membership you need to do two operations a proof of inclusion inside this group and a proof of ownership of this the element you want uh that you own that is inside so it's a proof of membership basically yeah
so yes question from Alejandro what do you envision will cisma be able to unlock with his novel privacy tools it will there will be breakthrough related to this technology so yeah we can imagine a lot of different applications so now we are we are just giving the you know the Primitive to let everyone build on top of this so we are trying to to create a very powerful infrastructure on some of this I show you the the um the the factory and all of that um yeah the idea is that you you can direct leverage your identity like with self Sovereign identities and stuff
like that you can directly have your your own data and just share what you want when you want like you can share the data you want and really select what you want to reveal and not to reveal everything currently you just you you can't do that actually so that's that's what we are doing we are trying to to solve foreign Authority right so uh all is made uh on our GitHub repository so you can check all what happened and
it's public the data is publicly verifiable so everyone can just verify the group of accounts the roots and check if it's uh valid or no so this is the idea are there any more questions
did you get that last one no sorry I was uh it's so is it possible to export our chat to to have all the yes yeah so I'm gonna I'm gonna look for that after but somebody asked I don't know if you already answered this but where does the name sismo come from have you answered that one uh yeah where does the where does the name sismo come from so it was around seismograph on the stuff like that so it was a a really uh the brainstorm session like so you know that like Suzuki they have some antenna and they are you know the keys is here so we have a you can see this one it's two different
zikis and the idea that you have a little bit like sinus so you have different sources and different destination and you just aggregate your the data you want from the your sources and you put them others so it's like yeah this was the idea nice cool um I don't know if are there any other unanswered questions there if not I mean I think we are okay cool so um I want to let folks know that we've
turned on the the networking function over on the side um maybe first though a big thank you Leo for this fantastic workshop and sharing with everyone how to use sismo what they can do with it I know people are very excited in the chat there's a lot of addresses in there um uh I guess yeah where can people find you after if they have more questions there's Twitter yeah we have a we have a Discord we have a so you can come to our disco so and maybe I'm going to send a link sorry
oh all right cool um but yeah thanks so much for this great presentation and thank you yeah it was really fun to get to do that with with you guys okay so we're trying something out there's this networking button over on the I don't know if I'm pointing the right way for you but over on the left of the page it's like a three minute um speed networking kind of tool so you'll just get matched with someone random who's here if you don't like it or want to jump out I think you can like quickly leave and come back but maybe you can meet some cool people that way
uh obviously be respectful but uh yeah if you want to check it out for a little while we're going to be back here uh in I guess like 10 15 minutes with the team from scroll for our second Workshop but thanks again Leo thanks bye [Music]