WalletConnect multi-protocol messaging network

ETHCC 5 · July 2022 · 15:54

Pedro Gomes introduces WalletConnect's multiprotocol messaging architecture. The speaker explains how authentication, messaging and notifications extend the original wallet-to-application connection model.

Speakers

Topics

From ETHCC 5, hosted by Ethereum France.

Transcript

so thank you everyone for joining i'm really glad to be here again at dcc like last year we were able to present what would look like for wall connect v2 as we started our beta and i'm super glad to be sharing what we've worked on for the last 12 months and today i'm presenting about the wall connect multi-protocol messaging network and how we're going to empower a new era of web 3 connections for those that don't know me my name is pedro gomes i'm the ceo co-founder of wall wallaceneck i've been working on wall connect since 2018 and it all started with solving a very simple problem of connecting your wallet from your mobile and exposing the

account so that you can sign transactions on any device with any application anywhere while connect has evolved a lot and while connect v1 is now widely adopted and now with 2022 we're expanding the scope with a brand new mission where we broaden the offerings that we have as a product a suit of apis to empower web3 connections we have wallet connect sign the one that you know and you love that allows you to sign transactions remotely securely wallet connect off that allows you to authenticate into any website whether that's web 2 or web 3 to log in with a one click passwordless login

wallet connect chat direct messaging between wallet users and wallet connect push so that you can receive notifications from your favorite apps directly into your wallet today i'll be talking about dual connect chat and how that's going to change web3 and we're going to be able to directly message wallet users from any wallet chat is the next frontier for web3 web3 has evolved from d5 to daos dexes nft stable coins we've built so much in the last six years we still yet to build chat web 2 has had many platforms for chat chat that you use for teams

chat that you use to video call your family chat that you use for instagram but what about web3 how can we chat with each other in a web3 context it's a completely new paradigm on webtree because you always have to put users first self-sovereignty is extremely important and we made sure that wallet connect chat preserve those qualities you chat on your terms while connect has always been neutral interoperable and built the platform that enabled developers both apps and wallets to build the best experience for the users so with well connect chat you can message any address on any wallet

on any chain it's fully chain agnostic and multi-chain meaning that you can message from metamask to i'm token trust to rainbow and even to wallets that are not even on evm sending dms and transactions side by side is an amazing feature because with that we have a completely different context before we had platforms where you had like social media and you direct message with your peers about those platforms and now you can transact messages and transactions in the same place directly from your wallets but self-sovereignty also means that users need to own their data and that was very core to the development of wall

connect chats so users are able to back up wherever they want whenever they want and they're able to decide how their message history is encrypted and decrypted all of the chats inherits the same properties as wall connect sign that means end-to-end encryption so only you can read the messages that you have and obviously security there's no such thing as a good wallet if it's not secure we made sure that the key management for chat was decoupled from the blockchain keys you don't want to be chatting and then having a key compromise because you then had your blockchain account associated with

the same key so wall connect chat keys get their own set of keys on a completely different algorithm than you're used to in ethereum but that also doesn't mean that you can't recover them from the same seed phrase it just means that they get derived for a very specific purpose but this also gives a nice property where just like telephone numbers you can create new ones and revoke and still maintain the same address list that you had and update everyone with your new keys but let's not talk just about technical stuff wall connect chat say hello to webtree messaging what does this look like from the user's perspective what is it going to look like for a wallet to have chat

let's get started so we are likely to find this in every wallets eventually and this would be present as a tab or as a new screen where you can add a new conversation and share your profile that enabled you to chat with another peer you can find friends in two ways you can use their blockchain address like ethereum or you could even have your ens domain resolve the address that you want but this is only for publicly discoverable contacts you do not you don't have to be public to use wall connect chat we need to be privacy preserving that means that public users and private users can still message each other without having to

compromise on each privacy settings for private users you can just generate the qr code and share it in real life when you go to these conferences you can just onboard someone and say hey here's my wallet connect chat contact let's message there this would be great for us to decouple from telegram it would be a new way for us to actually have a contextual chat that is about web3 so with this you grow your contacts you have your public contacts you have your private contacts and you have this address book that continuously grow and you create new chats how do you create a new chat you request an invite with an opening message it's very important that this message is

clear to the other user to understand why are you inviting me to chat in the first place and then using cryptography we make sure that this chat is locked until the other user has actually accepted there's no way for you to start bombarding another user with a lot of messages because they need to consent into this chat in order to be started and once it starts how does it look like you just chat like you used to it's familiar it's user-friendly it's what you would expect from a chat application well let's like stop talking and actually go to a demo this demo is walla connect chats in ios and web application live today

[Music] [Music] [Music] and that was wallet connect chat we will be releasing the sdk by the end of this quarter so that you can start already developing with wall connect

chat this builds on top of the development of wall connect version 2 meaning that every time you integrate wall connect version 2 you become instantly compatible using a simple plugin that will make your wallet wallet connect chat compatible while connect v2 is a completely new era for wallet technology we basically modularize all of the infrastructure that we built to empower not just signing transactions but having multiple apis this means that we are very mobile friendly having reduced the network bandwidth that it requires to connect to all of these apis and having a wall connect core that is shared building on top of the large adoption that we built on wall connect v1 we have

a massive relay network messaging between every single wallet that can now take advantage of a broader scope of apis and wallet connect v2 beta is over you can now find the release candidates for wall connect v2 published for javascript swift and kotlin this means that every platform web android and ios can use wall connect v2 today wallet connect sign is the the one you know and love but is much better it's not just more performing reliable but it also allows you to have multi-chain with both evm and non-evm chains connecting to multiple chains in a single session you also only have to scan the qr code or do a deep link pairing once that

means you have multiple sessions sharing the same pairing so you don't have to agree on the key agreements all the time and we also added a new feature called wallet api permission systems that allows you to firewall essentially a scope where the dap can actually request from you so you don't actually have to manage if the dap is actually misbehaving so this is wallet connect v2 we have a much more performant and reliable relay network that has multiple protocols building new apis that developers can take advantage of what is going to look like the future of weight tree signing transactions authenticating into websites chatting with peers and receiving push notifications

we are working on all of these things and we have what often chat being released by the end of this quarter and we hope to show you guys push in the next year we still maintain our mission to work with any wallets any app and any chain that's core to wallet connect not just for technical reasons but also for philosophical reasons what people believe is a public goods that needs to be built for a good wallet experience we're basically a gateway into webtree and we need to step into a new era where webster connections go broader than just signing transactions we're not just signing transactions and connecting walls and dabs we're essentially connecting people

thank you very much and thanks a lot for the team that made this possible this is wall connect v2 check out our website [Music] [Applause] so i have a couple minutes can i take questions yeah this is super exciting i'm wanted to ask like how do you plan to get people to use wallet internet chat like if they already have like a network on telegram or instagram or like any other like web to messaging platform so one of the things that i believe wall connect chat has is that it's focused on one-on-one messaging within a context of

web3 just like you do not share the context between instagram and twitter and telegram they have very different contexts so it's likely that you have different social circles that you're actually chatting with and it's very clear it's very important to make it clear that it's made for one-on-one chat so i actually believe we actually will see experiences being built on wallets like sport chats and bot chats that would actually enable onboarding new users so you're not just talking to your peers you might even be talking to your own wallet that's helping you out i uh thank you for the presentation i

was wondering are you using a public key encryption for the messaging and if not why so we're not using the same public keys as ethereum because ethereum was developed with cesp256k1 algorithm which was designed for signing and not encryption so what we used instead was curve25519 which is a specific curve that is much much more specialized for this use case and what you actually end up doing is registering a different public key for each address this could look like as a key server that we maintain or even in your ens domain you can have a record that says wala connect chat and which public key to encrypt that it's

different from your blockchain public key thanks will cache the messages that are undelivered so they while the users offline they will be encrypted while until you actually go online again but once they're actually delivered they're stored locally in the wallet okay okay so you're not planning on using any peer-to-peer storage network to have for people to store maybe files that they want to have as publicly accessible or something like that so

right now it's not within the scope we're just trying to enable messaging to happen between wallets since wala connect is already adopted by more than 100 wallets these wallets are connected within the same messaging network we're just opening up that to the wallet users to message each other in the future we could explore how you can do like chat recovery and just have a backup for recovering encrypted messages but for right now we leave that for wallet implementers okay so data portability is not yet on the roadmap it's not yet on the runway okay cool thanks a lot hi uh very exciting and i love well at connect 2. um my question was do you intend to keep wallet connect as a

public good or would you like at some point to to monetize what you're building so one of the things that we learned is that uh we explored multiple peer-to-peer networks uh as you know wall connect v1 is essentially a cluster of like centralized servers and while connect v2 is built in a way that it's a internal peer-to-peer network where we will on board new partners to actually operate nodes and make it decentralized it's different than what you would find for example with lip b2p because lipid2p uses gossip and gossip actually reduces the performance and in this case wala connect has a very specific use case of one into one messaging so we're building

our own messaging network that optimizes for that and that will look like as a wallet connect network so while connect cloud is just an intermediate step into the wall connect network so while connect cloud would be the first node operator and then we would see other node operators coming along okay i think that's all thanks a lot for your questions and thanks for coming and enjoy wallo connect