Gnosis Safe Beyond Multisig

LisCon 2021 · 20 Oct 2021 · 19:49

Richard Meissner of Gnosis Safe presents a talk on what Gnosis Safe offers beyond multisig at LisCon 2021 in Lisbon. Meissner is a co-founder of Safe, the smart-account platform that began as Gnosis Safe.

Speakers

Topics

From LisCon 2021, hosted by LisCon.

Transcript

hello everyone thanks for joining us today and listening to our talk today lucas and i want to present a little bit our vision of the gnosis safe beyond the use case of multithick and where we want to go in the future and what problems we want to solve and but before we look into the future we want to look a little bit like why did we start with gnosis and which issues did we try to solve and for this let's take a look at some of our web 3 issues that we i think most of us are aware of and the other four that we want to outline are that for one the private keys are currently the predominant way to manage your funds

but actually they are a single point of failure so if you if your private key is exposed everybody can have access to your funds and they can basically make use of your funds in any way the same as if you lose your private key you can lose complete access to your funds and there's mostly no way to recover them also in many cases there's a lack of guarantee of safety guarantees what is what are you trying to perform on the chain so there was a very nice case of a hack where actually metamask was compromised and since it's a single like you have your single private key and then it was connected to a ledger they had to trust metamask and there was no secondary authentic like guarantee that allowed

you to check what are you actually performing also this single private key approach is very much the core of the current protocol so we can see that there have been a lot of discussions for a long time also by vitalik about how can we bring account abstraction and more flexible account logic to the ethereum smart chain but in a lot of cases currently it's still that private keys are the current predominant way and there's even endeavors to further empower these and keep keep it to the private key approach and even so there's a lot of works it's there's no real progress in the past years and it's still a lot of work to be done also most of the private keys are

limited to a single user like there are some mechanisms like blc keys or show me a secret where you can split up your keys but it's very inflexible and you have no way of like changing your key afterwards or changing your structure afterwards so to tackle these issues we believe that smart contracts accounts or programmer accounts are the solution because we feel that to bring like to use smart contractor accounts will enable us to bring mass adoption to the ethereum blockchain because a lot of users of the current web 2 world expect certain features to be present on the blockchain or to be present when they start managing their funds and smart contracts allow us to bring

a couple of these core features back to the blockchain or bring them to the blockchain not back and one of them is that we can have extendable access control which allows us to do a lot of things also a lot of ux benefits that users are used to and one advantage that is often disregarded is upgradability which allows us to be very flexible also for the future and to adapt to the future so let's take a look at each of these and first extendable access control actually this is my a very core feature and it's very important when we look at smart contracts and a lot of wallets and smart contracts make udoc's use of this so one part is that we can use automation to really make it easier for the user how the interactions there are

a couple projects out there one of them is for example gelato which allows you to automatically execute transaction at certain points but it also allows you to set things like allow list where certain contracts behave differently and they are like you can automatically interact with certain contracts or that you have certain limits that when you're within these limits that there is no need for additional checks or that there are different checks for these a secondary or a second feature is that you can have recovery mechanisms i think as mentioned before private keys if you lose your private keys you normally lose funds to all of your lose access to all of your funds this happens in the past quite often right like you just have to look at

twitter or any other social media platform users are complaining and they're used to that they can go to a centralized entity and ask hey please recover my funds i want to have them all back this is not really in the sense of a decentralized self-governed or self-custodial approach but there are good alternatives and we have seen them in the past used by many different companies we have social recovery where you can basically define a list of friends that cover your funds there's a deadman switch which basically means if you have not performed any interaction for the last one or two years whatever time frame you defined that then somebody else can claim your account and we have even had prototypes which use location-based

recovery where you could basically define certain new locations and we're using that to recover your funds another aspect last but not least is that we can enhance the security with smart contracts you can have certain mechanisms that deny certain interactions or even allow you to say you need approval from external parties like auditors that guarantee that your transaction is performing what you're expecting and there this also is very important because with smart contracts this is not only happening off chain you can even bring this logic completely on chain and perform for each transaction but not only this but even more general ux benefits are

very important so currently when you look at private keys the most important interaction when you perform a transaction is that you have to have ease to perform your transactions there are a couple projects that try to work around this which for example are open gsn you also have projects like relaying projects from infura and also from open zeppelin that tried to um tackle this problem but most of them are still like have the base as like you have to own east to pay the transaction in one hour form or another but with smart contracts you actually can define your completely alternative payment method when we look at opengs and they have a nice example of this way with some overhead you can already achieve some of

this logic also it's possible that you can perform transaction batching so normally private keys can only perform one transaction at a time it's not possible that you within one transaction call multiple perform multiple calls from one address but with smart contracts you can basically batch multiple calls multiple interaction together even so there's a lot of research going on in empowering this on the private keys account in general the sentiment of the community is that smart contracts should be at the core and that we should have some form of account abstraction that empowers all these use cases this transaction batching is just a very simple example right like if we look at apps like instagram and also the ds

proxy similar also the notes are safe we can even go more even more specific for the for different use cases for d5 for example if you look at maker and opening a cdp there is quite a lot of interaction happenings where just simple batching is not enough but for these it's even possible that you have specific logic that then can be executed from within your smart contract that performs these actions and as mentioned before last but not least we have this upgradability which is very important because it allows us to be future proof basically and there will be new signature formats we want to have new features to improve the security and be prepared what for anything that comes in the future there has been a lot of discussions also about quantum security how do we behave in the

future when suddenly ecdsa keys are not secure anymore it has been pointed out multiple times by different players of the community that with account abstraction and with smart contractor accounts it would be easy to progressively shift over to more secure signature formats but not only having new features is important it's also important to be able to adjust to the protocol changes the serum is constantly evolving there are many changes coming just this year we had eap 1559 which was fundamentally changing how do we pay for transactions how is the gas price determined and what is the gas price it was now it's consists out of two parts basically and if smart contracts are based on this logic it's obviously important that they

can adapt to these changes also storage costs are very important or in general gas costs are very important for smart contracts because as these are ever changing it's important that we can adjust add new features we in the future there will be probably more changes to the protocol that are important one of the examples listed here is the set indestructible which was proposed by vitalik it will bring us more security allow you to make sure that your smart contract cannot just disappear suddenly which is currently still the case because of all these reasons we believe that smart contracts account are really smart contracts in general are really the driver to mass adoption and therefore we made it our mission as a safe project to advance the transition

to smart contracts accounts really bringing forward account abstraction with smart contracts as this will be the critical driver for us to further adopt web 3 and bring web 3 to everybody like to the broad masses um yeah so after richard uh explained a little bit why we think smart contract accounts are so critical for kind of like reaching mass adoption in web3 and kind of explained our vision uh to make this happen i'm going to just tell a little bit how we're going to do that so obviously we knew from the beginning that we cannot just deploy the safe smart contracts and just hope that everyone is kind of like building on top

of them so we built our own interface which is the safe web interface which is a way to easily create new saves to manage assets on these saves to interact with our free applications and it is built in a very generic way intentionally so that it's flexible it can be used for different kinds of use cases and it's quite amazing like how it is being used nowadays so we did this ranges from like companies using the safe for like payroll there's uh doubt treasuries being managed through safe there's even like families setting up uh kind of like joined accounts yeah sorry for the interruption and that

a couple of you stick around yeah i guess the other ones that left are not going to make it but what kind of to summarize what richard told we're really passionate about programmable accounts with smart contract accounts and the mission of nosy safe is to bring all web-free interactions to smart contract accounts and what we've done is building this generic interface which is suitable for many use cases for companies to individuals from nft collectors to treasury management from families storing money together to social investing experiments and yeah it's just amazing seeing these use cases emerge over time and we did

also build a mobile app that serves as kind of like a safe optimized signer obviously you don't want to manage your keys via browser extension so the mobile app allows you to store keys encrypted on your phone but also connect ledger wallets via bluetooth to keep keys securely stored on hardware wallets and we did quite some progress towards our mission of bringing all web free interaction to to smart contract accounts there's no more than 50 000 saves created on layer 1 alone and a couple of tens of thousands on on layer 2s on the side chains and there's already multiple hundred thousands of safe transactions made uh so far and

actually just tonight we reached quite a big milestone where we now have more than 100 billion uh us dollar worth of digital assets stored using uh nosy safe and that just shows that we are already in this transition towards smart contract accounts becoming the standard but there are many challenges ahead for example kind of how the safe system our interface works today that it runs on on different networks from ethereum layer 1 2 to arbitram and polygon a couple of more but we need this this safe indexer this transaction index that kind of keeps track of the saves created the transactions that are made that is also used to

exchange off-chain signatures uh just for some gas optimization um but this is quite a like a centralized point of failure especially as like more and more users are kind of relying uh on on this indexer and also we where it's like we're hosting an interface uh even though it is uh quite straightforward to like download the desktop app and not rely on like the hosted interface or to host the interface yourself still most users kind of go through this gnosis hosted client and this just create single points of failure which we don't want to have when we bring kind of any everyone to nosy safe

that's one thing but also because we're building this very flexible interfaces that are suitable for many use cases this also means that they're not optimized for the individual use cases meaning that they work quite well for for a lot of use cases but still we we don't don't want to just optimize for dials or just nice for companies or individuals so yeah that's definitely a challenge to come and thankfully there are already quite a couple of uh like third-party interfaces built on top of nosy safe such as rugged radical orgs which is used for uh collective code collaboration parcel which is a dow treasury

tool but also more tools for individuals such as linen staker app or circles ubi and quite some developer tooling is being built in this ecosystem such as third-party modules or safevape or also safe apps that are kind of plug-ins into our ui and that's kind of the the progression that we want to to continue that we want to make safe not just a solution but rather an ecosystem which is owned by the community and run by the community uh that consists of kind of the protocol level which is responsible for securing uh the assets but also the infrastructure level

which then is used by developers to build experiences on top and we also have kind of like what we're currently building as the interface should become kind of more community governed and then we we want to incentivize more more projects to build their own optimized experiences on the safe that can be just dabs that kind of plug into our interface but that can also be full-fledged interfaces that specialize in certain use cases that still leverage maybe the the infrastructure the community-owned infrastructure or even go directly interacting with the protocol and that's just some of the kind of the

components in in this like in the core of this ecosystem so for the interfaces we want to make kind of the the gnosis build interface more towards the community interface which is important as even though there's going to be like many third-party clients there needs to be one kind of like community owned client that serves as a backbone in case like other clients are like not available or um just to to kind of have like this this backup that's not dependent on like one central entity uh like running it um even also for the safe mobile apps we want to kind of give more ownership there to the community and also we're building like a command line interface

which is also uh goes towards more community participation um and same thing for infrastructure that's what i mentioned before that's like a very centralized point of failure we need to find better ways to kind of incentivize contributors to this ecosystem to kind of build uh fallback systems and like can give more optionality there and we this goes from indexes that kind of provides the data for interfaces to run on but it's also relaying networks that we imagine that kind of provide better gas abstraction which was also mentioned by richard before as one of the key benefits of save and yeah also the protocol which is still very much pushed forward by by

gnosis there we want to kind of give more ownership and also more involvement towards the community and yeah we're just internally calling this save for us as not as an operating system but as an open system because it's an ecosystem that's kind of owned and run and yeah governed by the community um and yeah just one way how we can then also bring more community participation in that what we're currently exploring is uh kind of like a safe doubt that's controlling um aspects of the operating of the ecosystem such as the interfaces or have the the infrastructure networks um and yeah that's

still early stages on kind of like how we envision this but we are currently like writing down like our idea of kind of the future of the safe as part of a of a white paper and there it's it's quite important that we that this is not just coming out of gnosis but this is actually kind of a community effort to define how we want to transition towards uh smart contract accounts as being the the account standard on ethereum and generally web free so we will open up the discussion quite early to the community so we would just provide kind of like a draft but we all right we want everyone to kind of contribute

so expect next month to kind of see an early version there where you kind of give can give feedback and where we want to yeah have everyone involved so the best way how you can kind of keep updated on the developments there is by our twitter uh by the noses safe twitter where just like these announcements will be made but you can also then participate in discussions either on our on the discord uh via chat gnosis.io or via the forum forum.gnosis.io yeah and last thing we are also going to be part of the eve listen hackathon this weekend

so if you want to kind of get started contributing to the safe ecosystem make sure to like participate in in our bounty there everyone that builds on the safe will get one of uh four nfts um and then we have a price money pot of two thousand dollars uh which will distribute across the participants and yeah thanks everyone for sticking around and yeah if anyone has questions