Zero Knowledge Community Call #8 - near/dev/hub
Nothing is loaded from YouTube until you press play, and then without tracking cookies.
About this video
This month’s ZK community call was action-packed! We had lots of updates and a lot of discussion. You can find the recording on YouTube.
The ZK Light Client, built by Electron Labs, has completed their integration with NEAR DA. Find out more here: https://docs.google.com/presentation/...
Interesting discussion of Reclaim protocol’s proposal to DevHub that allows users to generate verifiable credentials using ZKP, feel free to give your thoughts on the proposal here: https://near.social/devhub.near/widge... You can find out more here https://acrobat.adobe.com/id/urn:aaid...
We had the ZKWASM Pagoda team join us to give more information on ZKWASM, share future plans and take questions. https://docs.google.com/presentation/...
We also heard updates from Opact (private transactions on NEAR) introducing open-source ZK ceremonies, an update about ZPoken’s ZK light client and a quick discussion on NDC and private voting.
Thank you to all who participated!
Other links shared: ZK Comunity Telegram t.me/NearZeroKnowledge ZK Comunity Page https://near.social/devhub.near/widge... DevHub Twitter x.com/NEARDevHub?s=20 Zulip for more info and how to contribute to ZKWASM https://near.zulipchat.com/#narrow/st... NDC Private Voting call to action https://near.social/neardigitalcollec...
Transcript
8,006 wordsCaptions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.
- 0:05
right there so welcome everyone and happy holidays uh so this is the eighth zero knowledge Community call um and I'll give a quick introduction on myself because I'm probably a new face to many of you uh so I'm Owen and I'm a developer relations contributor at devhub and I'll be moderating this course so next slide so if you haven't attended one of these Community calls before I'll just give a
- 0:38
rundown of the purpose of them so it's a spa it's a space to discuss um what's happening with CK on there um and to help sh shape ideas into becoming proposals uh ideas and proposals are normally first discussed in the Z DK telegram group chat which can be found here and then uh you should go ahead and post a formal um idea or solution to the ZK Community Feed which is here so then
- 1:18
once you post an idea or solution members of the community should give their thoughts on the proposal and the members of the work group will assess the proposal and give attestations whether the proposal should be funded or not so um how are these calls formatted they're mostly a free discussion uh but there's proposed topics to them and if you want to propose a topic for the next
- 1:47
call you should drop it in the telegram group chat or reply to one of the tweets um announcing the next call and we post all the announcements on our Twitter which is there I'm sharing all these links in the chat so participation everyone is welcomed and encouraged to participate if you have a question or a point you want to discuss please just speak up at the appropriate time or
- 2:19
leave a message in the chat if that's more comfortable to you so what is the role of myself in this call as the moderator so I'm just here to take notes encourage participation and make sure that everyone has an opportunity to speak what I won't be doing is making any decisions or assessments on ideas or proposals here um and in the future if you want to take the lead on these calls as a member of the community please just let me know um and yeah just a note that this
- 2:53
call is being recorded and it will be shared on YouTube afterwards so onto the topics so these have been the topics that have been proposed for this month's call we have some updates from electron labs and their integration with uh near data availability um we should have garit here I believe um some updates from OPAC and there's been a proposal made by reclaim protocol and I believe soes is on the call to talk a bit about that and answer some
- 3:34
questions then recently at naon we had the announcements of ZK wasum and starsight uh and I believe we have some people from the Pagoda team to answer questions on these then next up NDC private voting if you voted in the NDC elections you will have seen that I could see everyone's votes and everyone could see everyone else's votes so should a ZK proof um voting system be implemented I believe they have um some funding to give out to implement
- 4:11
this I see Garett just joined that's great and then um the topic of ZK Li client has also been uh proposed and then these are these are just suggestions if you have anything more you want to speak on um just just go ahead and start up the conversation are you um are you ready to talk about electron Bridge uh garit yeah I'm actually ready I can I can start great great do you have anything
- 4:46
you'd like to share yeah yeah yeah I'm just actually sharing my screen if you give me a second uh okay great you should have the per to share let me know if you don't yeah can you guys see my screen yes I can I can see it all right like if if anyone can't see let me know otherwise I'll just resume everyone can and I'll start the talk uh all right so yeah basically just to give you some background like uh
- 5:25
electron builds a lot of ZK stuff and uh what one of the key Innovations we have built is the electron ZK light client which is basically a ZK Prov for the near light consensus right so this is something we have talked about a lot in the past so I'll assume that everyone is kind of aware of that uh but what I wanted to talk about today is uh one of the applications or one of the first Integrations we've done with this technology and what we've done is
- 5:50
basically integrated the n z light Clan with near da which was recently launched and I'll just talk a bit about uh what this integration is all about and why it's useful so just to give you some context uh in fact let me try to zoom in here if possible Yeah so basically near has launched a DA solution and the we talk about the architecture of The Da solution the way it works is if any rollup wants to use the data availability Services of the near
- 6:20
protocol uh they can do that by posting data to near consensus uh just like how any D works and what's important here is that if the rollup is actually really interested in getting as much security possible from the ethereum uh protocol which is what these rups try to do a lot of times so what what they what they ideally should be doing what the ideal security model is that uh the rollup
- 6:46
should be able to prove to the ethereum rollup contracts so the rollup sequencer should be able to prove to the ethereum rollup contracts that the data has actually indeed been published on Nea protocol right so now what happen happens right now is that in order to check that data has indeed been published on near protocol uh the rollup sequencer is ideally required to run a near light client in order to track the near consensus uh yeah now this obviously
- 7:16
means that the role of sequencer is kind of becoming the uh the center of security here the rollup sequencer could fake inform the contracts on ethereum that the data has indeed been published on near but it actually hasn't been published right so the security is completely in the hands of the rollup sequencer here uh and the reason this is the case right now is because uh verifying near consensus on ethereum is extremely gas
- 7:48
expensive so you can't really do that so as some of you might know basically we've built the zalite CLI which allows you to track the consensus the near consensus on ethereum quite cheaply orders of magnitude cheaply so we are able to post these data inclusion proofs directly on ethereum uh you know completely trustless manner uh so that basically means that the rollup contracts on ethereum can directly pull
- 8:13
these inclusion proofs uh from the ZK lant on ethereum uh without having to rely on the sequencer to actually do this job so that essentially means that if you compare this with the older architecture that I just presented and if you compare these two uh the fishermen and the need for basically maintaining an offchain system to track near consensus is now gone you can directly put near consensus proofs on ethereum uh which basically removes the need to trust the role of sequencer you
- 8:44
only need to tou the near consensus now so you're transferring security from the sequencer to the near consensus so that's kind of you know what our solution is uh that you're basically removing the need to trust the rollup sequence so it's kind of a you know an additional security uh feature for near da and uh so this is like a with near da this is available as an additional security option so if you like a if
- 9:10
you're like a rollup uh which is planning to use near da uh you can integrate this today and start getting that additional security so we have already released the docs and the code for this like uh and this is already deplo deployed on mainnet beta as well uh pending AIT so which means that you know this is like ready to be tested out uh I'll just kind of uh open this uh yeah this one I hope I change the screen I hope everyone can continue to see that so this is a documentation
- 9:43
we've released uh which kind of talks about what I just mentioned that uh we've given you all the integration script so you can go through the code that is available on GitHub and start the integration process so yeah I mean that's that's something we've built and uh yep uh that's that's what I wanted to present about this integration happy to take any questions at this point does anyone have any questions on
- 10:22
that no looks like no questions okay thank you for sharing that uh and so next up do we have any do you want to say anything more on that garit yeah that's it like if any questions let me know I we'll be happy to take them okay thank you uh so do we want to go ahead and have the updates from Opa uh ped take that yeah yeah sure sounds good um we do not have uh a PowerPoint presentation ready because it's just a quick update but I feel like
- 10:59
it's nice to bring it to you guys uh so on our last call which was about a couple months ago I think it was previous J newon uh still uh we talked about two main things um so OPAC has we're finishing the deployment of of version in kadina which is similar to what we have on year but with a couple more flexibility on what you can transfer regarding tokens and everything and I don't think that is that much
- 11:30
relevant to our discussion but if you guys want to know more just reach out to us and we can talk more uh but we've started to develop a uh a system to do ZK ceremonies using fall Network on poka do and I think that might be interesting for each one of you guys that might be using graph 16 or struggle with doing ceremonies uh Jan could talk a bit more if he wants to about it but we're basically started the Prototype we've
- 12:01
worked with through the stages of the ceremonies already and probably in a couple of like a month or two considering that we have a small break now uh we'll be finishing it so we'll be able to generate ceremonies easily for OPAC and it's it any other protocols or anything that we might want to but that will also be open an open source to whomever wants to try it so if you have troubl trouble with ZK ceremonies or anything like that to have it readily
- 12:29
available for you to try it yeah on this anyone have questions I was just gonna add that you can do any ceremonies on that both for like kzg and what's known as phase one commitments and also for like circuits using graph 16 that's entirely decentralized and should be pretty simple to do it and it's also going to be to evolve into an autonomous proof Builder is going to be building proofs in a decentralized way and in a private way in the future so that's probably like three three and a half months from
- 13:08
now away and that's just a quick update does anyone have any questions on on the updates or about Opa generally okay so um Soh are you are you still here do you want to talk about your proposal so recently we had um this proposal to the ZK community and we just we just want to uh revive it a bit um and have a discussion around it I'll post the link to it here hey can you all see my
- 14:01
screen awesome y okay uh so let me take uh 5 to 7 Minutes uh to warm me up to the idea of like what we building uh and then I'll come to I'll briefly touch upon uh the proposal that we making for near uh and then I um maybe also if time permits we'll take some questions does it sound Gooden sounds great go ahead okay so uh reclaim protocol and so what we are trying to do here is uh making web2 data composable on web3 uh making the web3
- 14:34
user data available uh to any application on on web so and what kind of data are we talking about now it can be uh user data related to Identity uh user data related to their uh uh Financial Health and Al Bank balances credit scores uh uh their professional credentials uh their contributions uh even in private GitHub repos and all that not just that you know even their uh this the social uh behavioral data so all this data uh there is a lot of data
- 15:06
around a user that exist in web2 which web3 so far hasn't been able to access and and this is where reclaim comes in and so we have built the infrastructure that makes this possible right now um let me take your attention to this particular screen uh on my left now so you see uh the IRS uh screenshot you Al so IRS is the US uh tax uh Authority uh Internal Revenue Services Al so um if
- 15:36
you look at it now so I logged into the IRS portal and uh generated a proof of my name and my address technically this is 100% incorrigible proof or kyc of my name and my address compared to uh the the existing kyc that uh that that we are all familiar with you know where we flash our uh driver's license take a screenshot of it and do a liveliness check which has only 95% accuracy by the
- 16:08
way like know so there are it has 5% fraudulent rate whereas this one you know so here I am logging in to the portal and uh reclaim is doing an attestation that this is my name and this is uh my address so a couple of things uh that I would like to draw your attention to is one IRS uh doesn't know so I not use any IRS API you know if I have to get access to IRS API I have to make a special request and I have to wait for like two years before I can get any kind of approvals for that
- 16:42
um uh and then the the the second thing is uh now uh in that case so did reclaim uh make any uh changes or get any special access to the website no the the approach that we're taking is the user logs in into the website and uh reclaim infrastructure acts as a proxy and generates uh attestation for that which is one of the reasons so recently know so we announced that so we announced our integration with polygon ID polygon ID was facing this problem you know so uh
- 17:16
they were trying to onboard an issuer and typically it would take like you know so five to six months for them to onboard an issuer and like I said know for an issuer like IRS you know it would take like forever and this is where reclaim comes in so uh with us so now they can gener they can generate uh DS um uh the nfts or the attestations in less than 10 minutes so how does the technology work
- 17:46
um so what we're doing is uh we we're leveraging the typical uh TLS communication that happens between the user and the uh and the web server so whenever you log into any web page a less handshake happens uh between between the user and the web server and this is an encrypted line which is why you know so uh the https has been secure all throughout what we do is uh all this communication uh happens uh in in a
- 18:15
reclaim proxy which acts as an attester now this ATT attester is not looking at the actual data but only the encrypted data flow uh but what it does is it does like two things an attestation that the user has made the write request uh to IRS portal and that the response that's coming back is not spoofed so just it it establishes that uh this entire action is happening in a legit environment but then how does the reveal happen so this is where uh the zero knowledge proofs come into picture where
- 18:48
uh the the the circum circuit enables us to do a selective reveal of data uh the particular page on the IRS portal where uh my profile file page know where I uh I have my data that particular page which is encrypted is um sent to the circum circuit where the user shares the session keys of the data as a private input to to this particular uh session and this is where the data reveal happens and uh we also send uh we also do a regular expression match on
- 19:21
only those two Fields name and address rest of all the fields namely so my uh the tax years that I filed my taxes uh the amounts all the sensitive information that's all redacted only these two fields are revealed so that is how the the two revealed Fields plus the attestation that this happened in a legit environment establishes uh an attestation that this data belongs to the particular user and they were able to access the website and and uh generate appr Pro so uh that is a quick uh two-minute
- 19:53
explanation of how reclaim protocol works so we have an SD okay um uh so you you the wallet to throw the credentials is optional if you want in know the users if they're having a repeatable credentials we have a wallet that's been used otherwise uh uh the reclaim SDK exists that can integrate into any of the app you know so we have SDK support for flutter react react native node um you can possibly think of uh so where instance of reclaim uh pops up at time
- 20:27
you know where you need to generate a attestation the data the user logs into that particular website uh the data pull happens and shared with the third party app so that's uh uh that's that's a simple explanation to how reclaim protocol works so I just pause at this point of time and uh take any questions if you have I was want to know s is what are the TR assumptions on the tester uh say that again so by the way my co-founder Madan is also on the call um
- 21:05
uh he is the technical founder but yeah please can you repeat the question again yeah I just wanted to dive a little deeper into which trust assumptions the test are involved because as I understood it's like a a separate body like and how is it saf to ensured and like what are like the Milestones development further is it decentralized and how does it work in yeah good uh I can nice sure sure you can go ahead now yeah say so the trust assumption right now uh I'll break this into two
- 21:38
parts uh the first is in the current setup and in the setup that we are uh planning on launching next in the current setup there is a trust assumption on us that is we run the nodes we run the ATT ourselves um so you have to trust us that we are not colluding with the users so what can um what can we do if there's is a um what what's the malicious activity that the ATT can do it is that they can collude with the um end user and generate a proof for data that did not
- 22:11
come from a web server they can ask the attester to sign on something that uh actually did not come from the web server that's that's the only thing that the tester can um you know kind of um perform malicious activity on but they can never can never re the encrypted data they cannot leak the data from the uh encrypted data anyways because all of that is protected by tlss encryption so that that's the current um trust assumption you need to trust uh reclaim
- 22:42
protocol for or rather our entity to run these adders honestly and not collude with the users the second um part of the answer is in the decentralized setting in which uh today there is a trust assumption on us but we want to decentralize that and um have multiple attests who are attesting to the same kind of request and there's a consensus between these um know code and code committee members uh so that there is um
- 23:12
lower probability of colluding with the add directly sorry yeah I was going to ask how and when you mentioned the centralization like are you guys thinking about going in the NPC direction or do you have some other idea on how it would actually protect no no no we're not we're not doing the no we're not doing the MPC uh what we are uh planning to go down the rout of the committee so there's going
- 23:46
to be a bunch of randomly selected attest who are going to um generate this proofs like multiple times and then uh come to a consensus uh on the proof that have been generated like if let's say three out of five testers were randomly selected say hey yes this is the output that was expected um yeah we would accept that proof makes sense hey gar has a question yeah I just wanted to ask like uh is this is the ZK proof being generated on
- 24:17
the client side or the or somewhere else yes yeah it's on the mobile one okay so like then then why do you need like a committee to generate the proof you said like unless I understood it incorrectly like uh the the committee who said is that for generating the proof or is that uh what what is the committee supposed to be doing uh the the proof is generated on the clan side but the um the attestation that the encrypted data uh correctly came through
- 24:49
needs to uh come from the attester which which is not part of the ZK proof itself but it's part of the credential proof If I may uh okay I would probably bit deeper into the protocol because like if you're generating the ZK proof on the client side then uh like how can the committee sign off that the data was actually encrypted because then the it's an HTTP proy so um uh so so the user let's say opens
- 25:20
uber.com um and there is a response that came from uber.com now now this data uh without using reclaim protocol would directly come to the user's phone and there is no way to prove that this data actually came from uber.com it could have come from anywhere Now using our protocol what happens is this request goes through goes to uber.com and the response comes uh to the to the user via an attester now this attester is an HTTP proxy so it is uh looking at all the
- 25:53
encrypted data that is going in both the directions and it is attesting to the fact that that hey yes this is the encrypted response that came from the uh uber.com server and put on it so the tester is providing this attestation to the user or to somebody else uh it it it just Pro basically just providing uh an attestation that can be viewed by anybody right um no I'm just valuable for the I'm just trying to understand the
- 26:25
sort of uh purpose of having in a tester because uh if a user is logging into Uber from his phone and pulling that data then obviously I'm I'm getting uh you know since my phone is connecting to the Uber server I know that the data is actually coming from Uber right so I don't need an attestation there so you know it but the verifier does not like if I were to verify uh whether you generated a proof from uber.com I do not know that information you know it for sure when you are loging into Uber but I
- 26:56
do not know that you didn't log in into you know fake uber.com instead of uber.com go got it so the testation that the attester is providing an attester to some third party which is not the user right so that's the question actually had that's right yes yes it's it's providing an attestation that the user made a legit request right right right and uh so so the trust assumption is of course the
- 27:20
tester here right yes yes okay yeah which is what Madan explained right now so single right now versus uh consensus mechanism in future okay yeah all right and like I I like in the next I think you've also mentioned some performance numbers like if you can this one yeah is the code available for this like I'm very interested in client side moving in general so Z Gro 16 proofs in 10 seconds on Android device that's like uh that's amazing uh
- 27:56
is this like available just yeah um it is github.com reclaim protocol I don't know where drop the pro yeah it's so if you look at the proposal uh that that's shared uh I think you know so it has the code everything in it let me share the proposal here yeah that proposal has the dogs uh GitHub link everything in it you you use ccom to okay uh okay so what's the like uh you mentioned I think you use some sort of encryption scheme here so what scheme are you
- 28:48
using 20 sorry which one cha 20 okay uh 20 is the uh like AES and Tata 20 are the official uh encryption algorithms for TLS right we actually use as a while back like for one of the some something similar we built like more than a year ago we were using AES that that time so I was just curious what you've used yeah is a stream Cipher so it's more optimal fors uh I'm clicking on the link that you
- 29:29
given for circuit it's just opening an image for me uh no I can't find your company GitHub anywhere in the proposal uh okay let me it should be there but yeah in the uh in the meantime we had a question in the chat I'll go ahead and read it out can the aester be an AI that is op sourced that can check whether information is sent correctly uh so it can show that the attester is neutral and won't collude with the end user
- 30:26
um so the att's job is not to um verify the correctness of the information that is being sent uh because it does not have access to the information itself it can only see the encrypted data so the only thing it needs to sign off on is whether the um the right encrypted data was sent as a part of the request and the response but does not have any right to look into the data itself it can only see uh the encrypted data so I'm I'm I'm not
- 31:05
sure if I understand the question right Mar I think uh the question is instead of trusting a human attestor which is where we are seeing like is needed for cons so the question I I guess I'm assuming is using an AI attest there's no human attestor all of these are like uh all the attests are like aloric attest right right it's basically a node that's running um yeah hi I have another question actually I can't find the uh you know the gr 16 Prov on reclaim protocol I I
- 31:47
see something around Gina but uh is that something it's called ch20 ccom Okay so okay okay you mentioned something around AES which I think you've pulled from our repo yeah that's okay that's great uh but can you like run this on Android like have you tried running this on Android it's live right now it's you can actually download it on the App Store Play Store can you share the link reclaim wallet uh if you go to R protocol. org
- 32:28
you will see the install button on the top right no no like what I'm like the app is fine like I'm asking like the performance numbers that you've given like is the code for that available anywhere uh the app is not yet open sourced okay and the the 10c proving time you mentioned uh that is for the ccom repository you've shared yes uh when running on Android okay I'm surprised like I didn't
- 33:01
know people could run Socom and Android uh already yeah I would like to like personally I would have to like check out uh the S Depo yeah the the one that you're running on Android yeah we could also saying uh outside of this call and yeah you could probably look at our code if you want just that we not publicly open sour because uh we haven't gotten it audited yet so want to put out something that's
- 33:32
insecure out there but have to give you access okay any more questions or thoughts about the proposal so like how how does protocol fit into this like I mean at the end of the day that's what we discussing uh Hey so uh now now if these proofs are being generated um it needs to also be used on chain right now how do we uh make these proofs available for use uh for DBS on chain is uh what the proposal as for so if neod du want to use these
- 34:24
proofs in their uh flow uh how can they use it so we need to have those deployments on the near protocol itself okay okay uh anything more from anyone okay cool uh should we move on to we have I'll reshare my screen uh there we go should be able to see that uh so we have three more topics and well um more if people want to discuss else uh does anyone want to speak about ZK wasm and star sites um the NDC
- 35:21
private voting and uh ZK light client just uh speak up please um I can talk about DK ASM sure please do list how are we doing on time by the way uh plenty of time okay um I'll try to share my screen as well yeah that's cool yeah should be good uh yeah I'll try to go quickly through this preso maybe in like seven eight minutes and then I'll leave time for questions and I'll skip quite a few
- 35:56
slides because they're not very useful for this audience so uh hi everyone my name is Andre I'm working in pagota on uh near uh core protocol uh so pagota builds near blockchain we use web assembly extensively to program our smart contracts and uh the team that I'm working on is contract Trine team that is actually building the vasm execution environment for smart contracts within any your
- 36:25
blockchain now why are we looking at zero knowledge for vasm well we want to be able to Outsource provably uh the smart contract execution so that uh basically to scale the blockchain that's that's kind of the ultimate goal uh right now we are in this situation where validator needs to reexecute the same contract so we have hundreds of validators running the same codes to arrive to the same results uh this um linearly increases the number of
- 37:04
computation with the size of the network which is not great uh increases the cost of transactions uh in Ideal World where ZK Holy Grail is reached we only need to run the transactions once and generate the proof once and then every other validator will just check those proofs ideally not for a single contract but for a batch of contracts or even for a collection of blocks at a time and even
- 37:34
further we would have light clients that would be able to check the execution of vasm uh contract proofs that that uh prove the execution the correct execution of f uh smart contracts so um here's the endtoend architecture of the project uh so we've iterated on a few models on how exactly to take to go from vasm bite code all the way to proofs and this is what we settled on uh we are using uh the compiler project called cran lift uh
- 38:14
which is the tool uh built at Milla that is one of the most performance compilers for VB assembly uh called vasm time and uh along with that Valentine compiler there is a cran left project that allows to compile vasm to a variety of different platforms uh like x86 or arm or in our case ZK assembly uh so ZK assembly is a uh project introduced by polygon Hermes team uh that is a uh friendly virtual machine that is zero knowledge uh
- 39:05
compatible uh for which we could generate circuits and uh generate proofs for so I won't focus in this presentation about the later pieces here but ZK assembly is intermediate representation that's later converted into pill which is polinomial identity language which is what uh polygon Hermes proves uh proving systems are working with uh and these pill modules are later converted into Starks and proved by plony to but again I won't go
- 39:39
there so ZK ASM virtual machine is uh I guess similar to other virtual machines out there for ZK like miden VM or risk zero VM uh it is a a hand handd designed machine that is easy to generate ZK proofs for it is fully defined in software uh it is a register machine with memory um there are a lot of terms here that are compiler specific um I'll show some code examples to uh actually bring it bring it to life
- 40:22
so uh this is an example of web assembly code uh that's we encounter in the smart contracts uh this is a the simplest example you can imagine that is adding two integers two and three and comparing that this result the result of this computation is equal to five and the reason I'm showing you to this is because we we now can generate ZK ASM programs that represent the same computation and again this is a don't feel like you have to to parse
- 40:57
all of these instructions is just to give you a flavor of the Assembly Language that we're working with that we're compiling to from a web assembly uh again if youve ever seen the uh x86 assembly you'll see familiar uh pieces here there are labels and jumps and uh assignment operations and uh memory stores and memory loads um so yeah that's that's what we are generating So the plan for the project is uh three stage uh we're uh in stage
- 41:35
one now where we aim to be able to ZK proof vasm test suits so these are uh tests that cover the uh majority of web assembly instruction set these are all operations that web assembly can or supports um after this stage we'll be able to generate ZK proofs for simple web assembly programs or or smart contracts for individual smart contracts uh for example you can imagine smart contract that computes a miracle proof or uh does some hashing or maybe there some uh
- 42:14
encryption uh or digital signature uh so we'll be able to prove uh those smart contracts uh in in stage one stage two is uh a stage where we do ZK proof for a full vasm interpreter and and you can call it type one pro for vasm uh so we'll be able to prove uh the goal will be to uh be able to prove the execution of vasm interpreter on arbitrary smart contract passed as an input right the idea is that we'll have
- 42:56
have single circuit it will be Universal that will be able to consume a batch of uh vasm programs and proof produce a proof that um testifies to the execution of each of those to the results of execution of each of those contracts and this is necessary in order to batch those proofs across multiple contracts we don't really want in the stage one we we need a single circuit we need a circuit per smart contract and that is not really
- 43:29
scalable at least in the concept of the uh blockchain consensus for blockchain consensus we want to have a single circuit that can work with any web assembly contract and this is the goal of stage two uh stage three is uh further ahead uh which is NE protocol Prov and uh again the goal here is to have a circuit that takes as an input a State root of near blockchain along with transaction data that gets included into this block and proves that the result of
- 44:08
executing this block of transactions is the next state root right that's the ultimate scaling solution uh then if you can recursively aggregate those proofs you can basically say uh if we start at this state rot at the beginning of epoch and we execute all transactions within a day within the epoch this is the state root that we are going to end up with uh if you want to learn more details about each of those we have a road map and I should actually share the presentation I don't uh let me
- 44:44
share the presentation in the chat if you want to to click on any of the links um okay let's move on so where we are now right now stage one we're close close to completion we have more than 80% of i32 and I64 up codes passing vasm spec tests and so that you know vasm is majority of vasm instructions are i32 and I64 it doesn't have any strengths it doesn't have any advanced data types they are all built out of integers uh i32 and I64 operations so
- 45:20
this this covers majority of the vasm instruction set which is 130 instructions I guess an MVP version at least in MVP version we have support for vasm function call and vasm control flow so Loops F statements um recursion all of this works now and we have some basic support for vasm memory loads and memory stores there there are a few things to Arn out here but uh we can address up to four megabytes of memory uh within those smart contracts uh we have two
- 45:54
benchmarks uh that are actually compiled directly from rust so that's another cool feature that we are targeting I mean we want our smart contracts are in web assembly but people ideally would write code in higher level language that compiles to web assembly and uh just to to test uh to see how far we can go uh we try to keep all our benchmarks written in human readable rust so that you can take your program written in
- 46:23
Rust and then compile it to compact web assembly uh and then compile that to ZK ASM so this is an example of Fibonacci computation again just a simple Loop uh with additions and uh another one that's interesting is shat 56 uh which is actually using external Library here uh this is importing shatu crate um again hash is the simple string hello world uh yeah you'll notice some some weird here this is because have assembly supports only uh I 32 and I64
- 47:02
so we need to encode basically all all characters all hack characters as I 64s uh but yeah those are those are benchmarks that uh we have for stage one at least Fibonacci is working already Shadow 56 is close to be working and we'll be starting stage two in January so next month uh so here are some links uh if you want to follow along uh we have all the co all of the code is public on GitHub on under near uh
- 47:31
projects underne org vasm time repo uh we post weekly updates in on GitHub on the project and we also have some documentation about contributing but also architecture of the project and if you want to reach out uh to learn more you can find us on zulip on under contract runtime stream so uh feel free to drop by ask any questions there uh with that I'm going to hand it or well open up for questions and
- 48:07
feedb I was going to ask Andre uh is near act does near actually have in the road map to implement the the zuk was into main somewhere in the future or is this more of a like experimental thing we're doing right now um so the other uh the other topic on the discussion which is starsight is the plan to move to stateless validation and later move to the ZK proven uh stateless validation you can see Bowen's presentation at nearon for more details like an exact
- 48:39
plan and timeline uh I mean we know that ZK proofs are here they are moving really fast but they are still not yet there to be fast enough for example for uh block times that near is targeting which is one second so it's still there's still a lot of questions to be resolved uh on how to get how this how how to get it fast enough how do to get it audited and uh the code battle tested
- 49:09
enough uh but that is that is the plan uh at least in in the long in the long run uh we had a question question in the chat saying from Seth saying we're working on things around variable uh verifiable binary uh binaries and builds uh and they were wondering if they could help with some of this ZK wasm so I presume the best way uh through zulip is that yeah I would say reach out on zulip
- 49:45
to discuss this uh like in more detail uh I'll I'll drop a link in the chat as well so that you don't need to hunt for it in the presentation uh but yeah that that's our stream uh we have like some we weekly weekly meetings so we can also you can join on our weekly sync uh and we can discuss it there um but yeah I think the best the best way would be to write a post on on zulip like describing what what you are trying to achieve um and then we'll see if we can
- 50:22
align okay thank you for that any more questions okay perfect I see that we're coming up on time we only have about five minutes left but um there's still some topics up for discussion like um NDC private voting and the CK light client so I'm happy to hang around and others might be if anyone wants to discuss these these topics uh just speak up please yeah that's Mike from spoken team uh I
- 50:59
can give a small update regarding the zero knowledge light client that we're building so uh we the right point is fully ready on our s uh we still don't have a Sol dropper we're working on on it uh from our Benchmark currently uh it takes 22 minutes to prove one block uh so we're working on optimizations S S how much time did you say uh 22 minutes per block 22 minutes per block y that's what we have right
- 51:42
now and we have a plan how to do how to make a parallelization to make it is this code available to make sorry is this code available anywhere I think I on mute uh uh yes sorry so so currently we have 22 minutes per block that's what is uh working right now you can check our uh repon G uh so and uh we have a plan uh for the parallelization that we're working on right now uh and uh it's estimated that uh with the paralyzation
- 52:27
that we are implementing it will take three minutes per block would you mind like sharing the GitHub link to the repo yeah I can share it in our chat right now uh also what I'm working on right now or what we're working on right now is C uh is BL Toc and pl to g g yeah in case you want to use that we actually built this out uh uh we have a blong toover for gak uh something we shipped just a couple of days back and
- 53:11
uh we working on a lot of optimizations uh and of course like it will be free for anyone to use in the near ecosystem at least so yeah like please please like free to check it out like yeah okay uh anything more on that topic ah I see the L thank you thank you grai I will check youred to and I also just share the link to our GI GitHub okay cool thank you uh and any thoughts on NDC voting private
- 54:09
ZK uh it depends uh I think we discussed about it a bit on our last uh meeting uh but I'm I'm actually fairly curious to understand what is ndc's uh position on it because we actually studied a bit how to build an algorithm for private voting it is not as simple as we thought at first but there's not that much documentation by NDC side on like what would be an actual requisite for a software that does Private voting J do
- 54:43
you know more about it Owen oh good I'm not too familiar on the requirements but as you can see I shared a link and they um they have like a P3 um to implement private voting I think the best way to learn more would be to get in touch with like House of Merit um or post on the governance Forum asking what what are what are sort of the requirements and what there okay but that's great okay uh ah thank you for sharing
- 55:36
that link um there's there's a contact being put in the in the chat right uh does anyone have anything more they would like to discuss about ZK okay I think we will wrap it up there then exactly on time so thanks everyone for coming along today it's been quite full and action-packed a lot of updates and happy holidays uh hope to see you around in the new year thank you talking to you guys you very
- 56:26
bye thanks organizing byee bye bye