Oskar Thoren | Vac, Waku v2 and Ethereum Messaging
Taipei Ethereum Meetup·Sat, Oct 9, 2021, 12:00 AM
===== 加入 Meetup 以得知下次聚會時間地點: http://www.meetup.com/Taipei-Ethereum-Meetup/ slack 討論:https://ethertw.slack.com 。請先從網站取得邀請信: http://bit.ly/252hNY0 通關密語:decentralized 臉書社團: https://www.facebook.com/groups/443751072484739 歷次講座投影片、程式碼整理: https://github.com/EtherTW/Taipei-Ethereum-Wiki/wiki
Transcript
um thank you um so hi everyone i'm talking um today i'm going to talk about back uh v2 and ethereum i'll split it off into two parts so the first part i'll talk about about our journey from whisper to back b1 throughout v2 uh and the second part of uh curiously and how that makes you confused of that and also is 12 you should have understanding of both back view to this that problems starting to solve as well as how it can be useful for here um cool so first of all what is that so back throughout out of our efforts at field status window one criterium solid secure messenger um and that is essentially a modular protocol stack for click gets combustion with an emphasis on privacy sensor persistence as well as running on set resources with devices so that's things like smartphones as well today i'm going to focus on factory 2 which is going to transport privacy layer and it's running on top of uh particularly all they talking about which is with connections and passwords and then on top uh you would have a layer like a conversational script layer which would deal with actual uh payloads uh yes so in the beginning uh there was this called whisper and it was part of this thing that is because of the whole trinity about the barrier back when in terms of solid and nds perhaps the preparing for consensus and here soon profile stories and withdraw messaging and this sort of part of where creativity comes from and this low computer and meeting more components uh unfortunately for various reasons development of whisper kind of dwindled and it also had a lot of fundamental issues um kind of promised a bit too much and so it's like a routine and these things makes it so it's impossible to actually use uh individual scale it also does work very well for smartphones uh has problems with spam and so on so despite this uh status actually use it in production in the tab from people to 17 19 and as far as i know it's one of the few it's not the only production so in order for an effort to absorb immediate problems that we encountered we tried to focus uh and that's what we addressed some problems when it comes to apps bandwidth usage so on smartphones so you don't need that your data plan as well as introducing some basic weight limiting um um providing responsible message support and so on as well as repeating this in a more formless specification um we didn't see the journey there's probably not gave at this conference fcc in paris this year so with that like we were still parking down because we kind of did these incremental improvements just to solve immediate issues there was some sort of very fundamental issues with twister that means that the contact would be used for the robust network um and like these issues are things like full node routing and traffic around that it's capability on that as well as running on uh vptp with more transport so you can run it in browsers with your mixer management and so on that style protection expectation and this kind of thing solid development effort i would suggest in our focus in survive uh where something means moving as well as providing very roughly which of the wrapper does itself which is also best protocol that's powering the country uh as well as the company who surround nodes just so creating this kind of service upon me where you have full builds and lighting software big provision services uh we also did a scalability job study where we went through sort of how the actual topology and network arguments brought the investments on how it works at what point so the network would break down taking a step back what problems does that feature solve and what kind of applications one thing is an exciting thing right so um yeah so what are the design goals like what application is useful for so you might think that that girl is mostly for human human location because that's also what it's used for right today today in status up but then it is useful for sort of generalized messaging that includes machine learning messaging as well as a mix machine routine and so on it's also useful for applications that have sort of a requirement for various reasons maybe sensor distance or maybe they don't want to launch their own infrastructure or what have you uh also applications that are running addicted or constrained environment and this applies to many dimensions so it could be things like um bandwidth cpu memory uh battery whatever but it can also be things like nothing publicly surrounding by the map uh as well as being intimate intermittently connected uh intermittently connected so being mostly appliances where your phone is administered in the background so you need some way of getting resolved and another part of this is also doing this in a um modular pattern because applications have slightly different tradeoffs and so on and also specific nodes and clients have been paid off so for example uh to get certain metadata sorry uh privacy files so it's a privacy as well in terms of student limiting uh we don't need to register with a phone number or email as well as um some forms of methylated protection and here it is in kind of moderate fashion because some of these things are sometimes not for each other so in order to get methylated protection you often have to sacrifice some bandwidth and and so and vice versa uh and doing this in a modern fashion as well as this research three secrets of idea um leads to this concept of adaptive notes where instead of just having full notes and light notes and ethera whatever you have certainly more opinion between full notes and lightness let's say you have your mobile phone um it's running on a limited data plan but then you can mine wi-fi you can you charge it with charging it then you can be a more useful node we can provide more bandwidth and so on um next one so where's that community right now what's in the state things um so it's running on top of it's running on only uh the main implication is it's written in and it's running on our implementation of people immediately and that's also what's used by nimbus which is inherent to lifeline uh we had they had two mental tests um last one was a few weeks ago uh and they also signed up in the name of type day summer stations i'll see what they're all doing people and there's also a very basic group concept for running backwards in web browsers it takes a lot of time but it kind of works still for deposit um in terms of how sort of it's structured um components and so on you have these some separate scripts you've got an identification which the past which overview explains how the different parts of how which is sort of for uh edge notes so if you have if you only want to get the subset of messages um because the families can change whatever you can do so and then we have a message sort of payload a specification as well there that's what i was laid out and why um and then finally we have a brief certification which just sort of explains all of these are in draft mode which simply means that they respond to the implementation which in this case it's international uh they are not yet stable uh so which means that no one is really relying on them in fact again and it's important to the breakdown and how constructive yeah so yeah what's coming up next so for status to use it in production it needs to be integrated with that and this is sort of using the new node character and the bridge also needs to be implemented and tested for credibility um we also hold links of the other api with certain non-main users um it deserves a lot of things like class features and so on and there's a few pieces that's needed for that in terms of infrastructure and so on player so i'm doing it step-by-step now we need to provide a more secure server another thing is website export and then finally webrtc support so then using the api that's basic guide following the different view at least but then also moving towards having a naked native implementation details there are some changes that we made to how some content encryption happens we've got google's from back v1 where it may make it easier and more detailed uh previously what this made sense is that you can run a node without giving them your keys um which was not the case previously with whisper and then you wanted to just keep helping those weeks but then there's a little more general things so there's lots of influence being done or a little bit failing because it doesn't stop and how do you do that but there's some more piece we can do there when it comes to things like topic sorting so we split up the method multiple pieces uh while still being careful about net data protection as well as connectivity to people uh and so sort of accounting for the resources and things of service funny thing where where incentivized full nodes to exist and then quite observes light notes and inspired by some of the rings itself done also most of rigorous types against these um a lot of this comes down to standing studying the underlying protocol so something like gossip and understanding uh exact properties that are provided and other blood threat models just so we know exactly what they're providing and not for what we're processing that tends to be very clear about that uh and then rlm stands for great limited nullifier which is uh essentially called privacy conserving spam picture mechanism which is really interesting uh which is something very wi-fi and a lot of people have been working on and uh and then finally their message so a lot of this is based on uh exploratory work that only ourselves have done previously we have a huge architecture so yes apparently since that's how your back which is right now but the goal is to use for generalized messaging as i mentioned earlier um and this looked back took the idea of the holy trinity with the theorem was transformed where the messaging which i've seen is something that facilitates a message between dapps and and users and gives us maps and access to building blocks and this can help with things like launching protections uh decentralized centrally coordinated services including ux broadcast live information for that that's a message player for safe now and uh next slide the more specific examples um so we talked about the same protection for contact uh transfer function section you know votes in one protection you have gaps they should provide push through the cases to users you can allow users to directly sort of respond to uh various app requests and you page with a decent device connect also connects wallets and labs uh right now that's it's a great huge experience but it's built onto the centralized services right now one simple central problem and the passwords mix so so what they need to do with this uh it's quite a lot and you can also break this out into four accurate so on the one hand you have to decentralize your simplest when you have eight wallets like on my masking cells and many others and we have some apps that benefit from from this messaging or otherwise uh in a near direction users with problems are involved uh and for some of these applications the needs of scenarios um requirements are kind of might be others so maybe just for strict requirements and reliability or latency or sensor persistence and so on um that's not true for all of them um and it's also this kind of thing where uh gets battle tested for more and more optics things uh there's also attached to with all of these things uh so for example for the wallets to have this and it doesn't make sense to provide it right uh and likewise the dams just sort of intuit this wallet seem to actually uh provide us uh so how do we get around that and like whatever yeah so i mean we can start school more and we don't need to use something to be more hybrid approached so nice to have things first and take it from there so we will talk about the first part of opening whisper and solving fundamental issues with it and so on about um investing it there for depth developers we talked very briefly about that but this is also something where a lot of apps and wallets are in browsers nice starting ppi highlight description um decentralized one thing which we've been talking to pedro and this seems probably doable right now essentially have a central server and it would be really cool to place that but message and say hey sign this transaction and then go from there so it can be a hybrid thing where not everyone needs to implement it but you can get something without it and also go from there and take that and uh then depth usually about 10 pounds yes as mentioned a lot of these things happen since of target and they're hiring a individually package push it off this photo uh if you don't look after this or right here yeah and that's it uh we're on status program um so so one thing that we have a problem so there's a few positives but for example we have a bunch of multiple status and um often it's hard to know when note 6 should be so defined and you need you might have multiple people but there's sort of no natural place where you fall so you demand that you get to specifications when it's time to design perfection um so that's one part of it the other part is with relating uh signatures and then so if you don't have a lot of gas with the actual transactions of them so it's too impossible so there's some exactly like like in general the goal right is to put both something like building well obviously the goal is to get a group of people which comes from like maybe three to one people the goal is to get them to do something first of all they need to know they're going to do this it has to be some natural form and by introducing um wallet derived keys you can sort of send applications to those users and have them simple that's one thing just getting them to where the other part of that which is related to planating signatures and then submitting them as one percent so you don't need to pay like 20 bucks or whatever and this can be a hybrid book for us so you because that's the question where not all wallets will implement this immediately so you want to find a solution where it's it provides some benefit just a few um apps so maybe like two three out of ten people have this and then they can get being notification that's fine so you've got to need to oh yeah there's the thing this lab is like um yeah do you talk about papers like uh computer science and related papers and overview of some people so yeah let me check it out and yeah let me know if you want to see something um it's a so it's not uh you might get more of a steady flow of messes and you want to make sure that you can automatically do certain actions but there's some other things we're exploring as well i think it's more in terms of thinking of these scenarios of that's what they actually want something to happen with that so that might serve something question so it's a question but and then what is the what is it yeah that's the thing that it is a tricky problem uh especially on on mobile phones so we have some solutions that work with mobile apps both for android and rs um in android what you can do is you have a background service so that way you can actually send messages specifications that are local and then they just show up without any kind of service uh on apple uh bit trickier because what you do is they um you can't have your app on your background and it's random and wake up so that's harder but what you can do to some extent which you can have uh it can be kind of a service thing where you register with the list of apple provider thingy and then you send an access to one of many nodes that provided for quick service and then basic trigger but it is a bit tricky um if you're interested i can send you the link respect for how it works for apple specifically specifically but it's easier on android and web um yeah okay um can you explain again um are your information come from fiction yeah can you explain again uh the problem is trying to solve them yeah yeah so uh so they have different problems to some to some extent where um one is sort of encrypting the payload so nowhere on top of it and that is your browsing with messages and and the way the whisper api works it's that you get messages and then you essentially have to try to decrypt all of them and that means that you can't really have this you have to give the node repeats so you can't just get messages from screen here and then later so a lot of that is about um api uh what we have done with the battery 2 is that we have split up so we've made it more optional so you can have different types of encryption schemes because for example in the status protocol we already implement um sort of double ratchet and all these things together for the secret so we could just use that directly in the in the payload and that will take care of the description of that later we're not going to go that route because of that build reasons so we're gonna we're gonna have the version that we have right now it's still using the same encryption that that's what which impact was using for content uh because it's needed for the bridging but you don't have to you can use your own thing with something cleaner he has the player between tears and then you do with the end of that two and then you can turn again for the layer so there's like two too many layers and there are also some technical things there has to do with double branches of headers in the initial implication of our conversations with their those encrypted so we rely the status protocol currently relies on that's something that could change yeah yeah um and next week if you want to come you can join us and yours you're also okay yeah i'm organizing a lot of things but um yeah um i'm like i i see like a new like three new friends here and i'm pretty interested to immediately yeah um
Automatic transcript — names and jargon may be misspelled.