Protocol Berg Workshop: Steffen Kux - Utilizing dm3 protocol as layer 0 of messaging
ETHBerlin·Wed, Oct 9, 2024, 12:00 AM
Speaker
The dm3 protocol is the web3 messaging protocol focusing on encryption, decentralization, scalability, and in particular interoperability. It utilizes the essential features for a lean messaging base protocol: a registry for public keys and decentralized delivery service nodes. As an applied mathematician, Steffen started his career in 2000 in the automotive industry as a method- and software developer for mathematical and simulation software, with a particular focus on applications using mathematical optimization, numerical simulation, and artificial intelligence. https://protocol.berlin
Transcript
so it's great here if not too much so that means if we have questions then it might be also that we can get discuss questions in between so what we going going to do today so after a short introduction and motivation what where three messaging is and how we can use it for our work I want to go into D protocol to show you how this decentralized protocol is working so this is a open source full public protocol so everyone can use it everyone can use it in in applications or to connect other protocols to it then we want to go a little bit about eved this is a part of the protocol which is the easy way to integrate simple Ming fully intered fully secured into applications then I will show you how we can do this with one sing line of re code so that you have full messaging in your application yeah we do some programming test it by ourselves so everyone can test it and then iiz what we talk about so when we talk about messaging we we have to go back to the very early days of Internet so the beginning of the 1970s when the internet started open as a communication n work the first email was sent so this was kind of reolution so it was possible to send messages across the Earth without anybody in between it's only on while so it was a kind of deiz it was deiz we had this different servers for submitting the messages it was fully unencrypted because at this time encryption was kind of a military was not available for normal people so yeah and yeah you can see EMA was the first real application of so now everyone knows email we will talk about the advention and this advention so then now about 15 almost 20 years ago the area of the messenger started a little bit earlier we had these messagers based on internet so like IQ messenger and so and then we uh we had his messager based on the smartphone which started to replace the SMS communication so and these are nice messeng so in the beginning also most of the compation was unencrypted now nowadays it's almost all big man have ENC messaging but we also see that in a lot of applications we have messaging components almost every important website has some messaging like the social medias like Twitter whatsa or Facebook and so on they have M but also company sites have chance that you can contact the company and so on and even now if encryption is more common you have a lot of these internal messenges which are still uned even even uh Twitter now X some months ago it was UN encrypted me I don't know if they already have fully encrypted me but it was also in this time that it was not is not not coming for all these mag components and one thing we have with all these manag Solutions we are using now they are centralized services are Services operated by one big company in the most cases the data are completely signed and controlled by this company and there's absolutely noil if you are using one manager you cannot send a message to another one so now we are starting into a new area of messaging we call R three messaging which is able to deliver full secure messaging for all but when we look into the web three messaging world today we see you are not yet at the point where it works how it should work one reason is that most of these Solutions we have now have three space are still Sil Solutions and they they have different protocols they have brand Services behind it even if they are using web3 technology for security they are not yet connected and to have a real working we three messaging world we need is absolutely essential right we have small communities with nice messaging Solutions but to become really successful we need our rou so what are now the problem I I have mentioned most of them encryption email no encryption at all I don't know who of you tried to receive encrypted emails so I did send my public key with my emails for years you can guess how many encrypted messages I received you don't need one hand no fingers not a single email I receive as an even if I published my my public privacy is also a very important topic if it's not ined of course there no privacy sending something is I putting someone something on a wall theoretically everyone could read it but even if you look in the messaging world where we have end to end encryption privacy is not given there the Privacy from the yes but not for the for the transition or medum the the provider knows who is messaging whom at which time so here we need an improvement as well say here if you have a messaging service and you want to move your message to another you will have some problems because like you are not the one who control mes it's the provider in most cases yeah you know proberbly I already mentioned you cannot send message from WhatsApp to telegram it's not possible for now and cannot do this actually in some of the new messaging services as well so that's a real topic we have to discuss centralization and single points of failure we see these big me service sometimes they fail in Germany even the biggest ones in the last 12 months there was some hours down time new message and if I'm blocked for one reason ever from such a service they control my identity if they block me I'm disconnected to all my communications yeah and last but not least spam all of us know what spam is in email world it's the the most messages are spamming fortunately there are some fil mechanisms now which select and unselect some messages this works good or not good depends on the provider depends on the type of mess message so my my inbox is even if I use a lot of St fers full of scaming messages and sometimes good messages are for and it's a it's a real topic which is really hard to Sol technology with technology we can do a lot to make it easy to prevent SP stand yeah so what can web three can do better and we have to so first of all anything we are doing is this so I have keys and I can dve from these Keys encryption keys so it's it's nothing I have to reent we have it in and we can use it s is something we have in our e want to have people having the control over their data what the same which is valid for Co not your keys not your coins is very for messages not your keys not your communication decentralization one important part of this conference is absolutely essential the user has to decide which infrastructure we wants to connect there must be no M which controls it so that we don't have anything about the failes and privacy I don't need to mention it this is something which is common standard it must be implemented must be available one point we learn in the world is that diversity is something really good we learn it from from the client blockchain to have different implementations different it is good for stability and when we look to meing we also we have a lot of different communities we can build meth Solutions focus on these communities and yeah I don't need for if I'm not an nft guy I don't need a messeng with focuses on nfts but I want maybe to communicate with someone who is in and so myart phone contains a lot of message informtion at the same time to be able to connect to these to other people so this is something that need to change everyone should be able to select what messaging solution is best for him or her and then be able to communicate with others yeah in spam protection I mentioned we have good ways in to to prevent people from standing SP so what is really essential from all of these points first we need a registry for the information we need for a secure communication is our private priv public here for the for the encryption and also for signatures these are information how to Li messages and we need a decentralized network where we can send messages to so that we don't have cized service in between and need and with this three points these are essential for meing so what is the dm3 protocol we we started with dm3 protocol about 1 and half year before it was initiative to build a solution to send encrypted messages to ens names or to addresses in the network after providing MP we started to focus on the protocol the protocol is now Focus as a community protocol it's completely open source it's free for all and we invite a lot of protocols and solutions to integrated it and also to to form that we can put together Community protocol which can act as a layer zero and layer one protocol for me why both not layer one we can use the protocol to directly build your me solution of it and they that we can have if we have an existing can integrate we are using ens as reg for so that we have in enss the information how to connect and how to messages beside we Al are able to integrate any other registry made on other chain on Layer Two or even on C service if CCI cross into aity protocol we can integrate it into very easily and we have thisiz Network ofs which a as three layers between the sender and receiver yeah this every can run such a no or use existing nodes so that's why we have a good network of already as I mentioned we are usings as the registry why we are using enss it is a commonly used deck it's easy as I mentioned to integrate other sources using CP and why do we need such a decenter application because we need a central registry it sounds a bit strange that we need a central registry and that's why we need application so that everyone can use it without permission and without control of others so how does it work we have this network of delivery service noes and if a sender wants to send a message to someone here we go to the registry get information how to encrypt and how to deliver Mage then selects one or another deliver service node sends the message the message is I I I will show you in detail in few seconds and then the receiver can get the can can get the message from this relay delivery service and also these delivery service can act as gateway to other networks so that the user can send it to the deliver service and other deliver servic in check message into another Network how isation working so everyone as I said can run his own or her own delivery service no or can connect to existing noes Maybe by taking service or because it's connected to this network and so on and with this if some of these noes are not available I just take another one that's potentially possible you have a good decentralized Network which skilles by Design and if we need more more capacity Network we just can run more Del services and by this making the yeah growing marks yeah as I said before it's also very easy to use protocol which means you can use if you have a own protocol or own service made or even service you can plug in in D by having a deliver service which injects their received messages in the automatic mod and if you you need also a registry for your information and whatever you have organized this registry you can integrated in the ens on the sub domain using C IP and with this it's available for all to have this connected communication and in the other direction it works in the same way you send the message out your network over layer and then it's injected in the as well this I will show only very short today we will only work on a very small portion of it because it's we don't have too much time so we have this blockchain now which is the r is used for reg in enss or others using ccip to integrate as I mentioned then we have this SP where the message transport protocol is the essential part to make the transfer from A to B for me and then there are a lot of different protol extensions for use cases messaging as you need it not not all of them are already implemented so L of them are as well in the production or in discussion with the community how it is needed how use and then we have application there where we have interfaces to exist the networks this is in they now we we have everything is published and we are discussion with a lot of protocols and that they start now to integrate and we have on the other side these dm3 Messer components so Our intention at the moment even if we have a reference information is not to provide messenger we are protol we are providing these components so that you can use it in your applications and today we want to talk about these adved buets so and and see how it is possible to use such a wi in a app with one code have fully secure features messaging in your application yeah let me show how the RO for this I to time if we don't go the time I only show it very quickly and but it should show how this work if wants to send a message to she starts I look into the registry what are the what are the keys and the delivery service of op and also what are the information from the delivery service then the message is encrypted and and sent to the delivery service of w here it is stored for the time until W gets the message but might be B might be offline at this time and so that's why the message is is stored in the cat fully encrypted the deliver is not able to decrypt it can only decry the envelope to see who is the message address to and what met data but nothing more so this already mentioned so and then if B wants to um to receive the message he ask is there any message for me and if so he receives the encrypted envelope with all the information still fully encrypted then again also B goes to the Reg gets the information what are the keys from delivery service what are the keys from the Zender then he can DP the message and after for store the message in his head whever this is it might be local or cloud service or dis IPS it depends on the application the the us informed so that the message can be dig so nothing is left in the network from communication and we have a direct communication from LS to very easy and completely and bu it complet cure privacy we have the Privacy now for the content to have privacy also in the metad data there are protol extensions that we don't send it directly but today this is not out yeah now let's go to a part where we can do something together to build an application to integrate the three components so that we can use this protocol for messaging so we have these embeded BRS the version I present now is the better version there will be a new version given later so that is it is completely wide so you can configure it how you want and often there ask a question why are we offera these components is this something we want to have them in our service no not at all so these components have the intention to enable fully decentralized and fully interoperable messaging so if you have a website for instance let's say it's a website of a business and you have you want to have a component where people can write messages to some colleagues then you can use such component which is connected to they can directly Lo in your site look in with with their signature and send a message right away so this is how other Messengers are working as well but I don't know if you have used these in embedded Messengers from other sides so I use it sometimes and if I don't receive the answer right now I will get because I often there's no notifications so only if I go back to the side and hopefully my bow remembers that this is I then I see answers with the three can do much better we also we start with this anous keys so you can directly sign in with your wallet and send a message but at this time it's anous you have to go back to this time but you also we call this limited scope profiles you can have this limited scope profile and connect to your M INX whatever application you're using maybe the or any other fre comp messenger you can connect this messaging window to your to your home Messer which means you have all the information all the communications from one place and if you are if this this important message for instance I contacted my solo provider because with the the think what something was not working and after 3 months of waiting I didn't look at it anymore and after while I just they send a message it would would be helpful but I was not in this communication so team three I would connect it to my inbox and if they are answering I have message directly my and I I have it connected to my communication Communication Center so today we want I want to show you how to build an take any object and inate gamry in this app so if you want to follow it so I have a guft you can scan sode and directly get to the to this informations otherwise I will do it now on screen so that we also can do it together but some data are have to be copied so that's why it's easier if you have this this G page directly so I think these slides will also be published later so that everyone can can then do it by okay let let me let me stop here so first we so what we want to do to see how I put it on [Music] screen St [Music] the here yeah so so first let's create a new a new react app here I'm using Y let's give the [Music] name work stop so now the react app is created this is some magic done by [Music] I hope the internet is quick enough that we get all of these information so what we have to do next the next we have to the package so you can [Music] use as well D 3 is freely available everyone can download Fork do whatever you want you also can of course because on those right if you have some things you want to add to it yeah so after we have finished the building re it takes some seconds then we will import the the NM package okay why is this I I may give some information to this component so right now this component is in early version we will provide new version data which is completely configurable to your Dem then you can put it on your site as messenger you can messenger out of it but you also can have only single messaging Windows added to your side so some all almost finished so now we are finished we [Music] go so we go into the RO but now and now I install the the end package by Vi atus 3x now we have the the package whe so that we can start using these components good so I hope you are you he well have three [Music] hands so after we have added the the package we have to environment so what we are not doing today is setting up a deliver service of course everyone can do this by you can run your own delivery service and configure it as as the as your communication really to make it easy today we we just are using the existing wanted existing deliver service from uh from dm3 so this is this the deliver service of the the better version so I just copy this in your GI you have the same information as well it's the running to while this is running I can open the [Music] fold I go into Roop now I trust this called and and now I add new file the end file where I have and this [Music] information so see [Music] so now now it it should be finished so now we we have a r existing the if we started [Music] start then it starts of course this default app nothing is on it until now so now let's go back to uh to our application and first we have to import the ent3 package we have [Music] to3 just [Music] so we we are we are adding now D3 to this package and now we can uh we can add the dm3 Richard so as I said One S L of course we have now this dm3 package we so I I just put it on the end of this application [Music] so what we have inide now is we have a default service Ro as I said you can run your own bm3 services in the background here I connect to an existing one so because beside the meage transport protocol we have also those for the message storage which this at is connected to but this can be done in any other location as well but in this case I use this so now it's again compiling when we now go to the site we we have the dm3 component in it so what do I need to connect so I I need to connect let's go to another browser because I don't want this is browser for other user so what I I need to do to connect to DM yes I I have to uh select my wallet and and to to sign a message yeah then let's take I can take a a new account so now I have created in your address so and now I can so I I have to connect it created it's not connected so now it's connected and now I can sign in so this is the what happens normally when I connect with D3 I have this message which show that now I am connecting and this is only one time manage to connect to the dm3 message story service because we we are connected to quty Serv right now and after I did this I in inside applications you see some of the pictures are not yet loaded I could copy it into the direct then [Music] is as well so and and now I'm finished I have a fully looking message inte creation fully encrypted inside my application so I want to send a message maybe to myself so I can give the the name of the receiver so now it's evaluated so what happened in the back is now we connected to the D Network we connected to NS receive the information how to encrypt the message and you also have the information how to um how to deliver the message so now I can send a message and if I go to my other browser so here is my yeah here I logged in with S hooks e with my account and now the meure is processed in background and after why it will appear here and if you have done it on your computer you also can directly send the message to this it's completely integrated in this this application as well okay I think time is running let's let's keep some so so what can do as well there are some you can have as embeded so like it is now or as overlay this is something you can disc by [Music] yourself let's let's wrap up a little bit how this gos so with them stre oh here we also have will have in the judment size they have not of references so all the resources are free available as I said before we invite everyone to take it for it to use it or to contribute and especially also that it's an open a community protocol we are very open for communication if you see some points which should be added or changed yeah nothing is in stone let discuss it let's build it together yeah what we have discuss today and we three messaging we can solve a lot of these problems which we have now in the web one and web two messaging in the we three me world we need to do better than it is start the web world where we should not start to have sty together and have different applications which are not interactive and we should focus oner in the very beginning now all the US are small now is the time to start with our and then yeah build this connected ecosystem I also talking about that the3 can use as layer one and you can use it in your application as we did today you can use it also as lay zero protocol to use it as gateway to your protocol your service so that we can build this connect system and these embedded components are also available for all applications and that give applications without any appr secure encrypted meage ing in this connected ecosystem and as I mentioned I think this is very important for the future that these comments support the in the future these limited scope profiles so that you can have messaging on your website and the user can decide to connect it to his or her inbox and by a simply service message okay my time is always over are any question we came should this [Music] is this only for no it's not so we are using we are starting with the community yes but we also support other registries so the the best way is to integrate the any other registry using CC sh into DS but in future we will also support other reg or other chains which might be connected might not if you need and b e system in your in Bitcoin world or in any other chain and then you can do it it simply needs to change the how to access the profiles but if you want to be connected with the whole world needs to be need one place and yeah we prefer to have at least TOS but maybe you also think about having a super we also other reg so we have conected other question okay yeah so for those it will be like like this SC I'm con to some SE and then then I can communicate the committee in this server and if I will with others other servers I connect would something like [Music] this so so your question was if I have to connect to other service or so so that's why we say there must be one central registry and to have a connected Network we need one registry and with enss we have to pracy where can connect otheres too for if you have reg running on optimism just can have a sub domain in where you using CP connect your optimism registry to the supplement all users have supplements there or if you're running it on ed Service you also can use ccip to integrate to centralized reg into the in registry so and this is how it works now as I mentioned we are thinking about having a super registry where it says okay here you have an interface but you can have the registry on which is the main reg but there might be other sub registries you can access also but right now we think it's the best approach for the event to grow if we have one players and that's why connecting it to Subs might be the the easiest approach also for any servers to Connected thank you thank you any other questions if this is not the case then thank you very much yeah let's bu together the communication of the future let built on top of dm3 and all the other nice messages going possibly have in the three space and connect each other and yeah do something what is at a moment in the world not possible that we can be connected over all the bodies of our applications and then yeah also go to the web world it's also easy for them to integrate in this network so that we hopefully in the near future get the connected Network where the user decides what is the best app for my application or for my usage and I don't care what the other one is using I can send a message and thank you much
Automatic transcript — names and jargon may be misspelled.