New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

UMA 🛠️ Multisigs are your last resort -Community executed treasury payments with oSnap - Alex Gaines

ETHGlobalMon, Oct 9, 2023, 12:00 AM

Join Alex Gaines from UMA for a workshop titled "Multisigs are your last resort -Community executed treasury payments with oSnap". Imagine a DAO where core teams didn't have to execute transactions from a centralized multisig, but the community did it for them. oSnap takes gas free governance votes made in Snapshot and validates them onchain as transactions for your Safe smart contract wallet using UMA's oracle. Then it allows anyone to trustlessly initiate those transactions onchain. In the past if a DAO wanted to move funds or deploy a contract, they had to sign transactions from a centralised multisig. With oSnap you can let your community execute these transactions directly. Core teams can monitor everything onchain through UMA, while retaining the power to veto proposals and intervene in emergencies. Thank you to everyone who joined us for ETHGlobal Paris 2023! Paris is the city of light and birthplace of many revolutions. Therefore we were thrilled to be back in one of the most buzzing and free-spirited cities in Europe for ETHGlobal Paris 2023. A lot has changed in the European ecosystem since the last time we hosted a hackathon in 2019. ----------------- Follow us: https://twitter.com/ETHGlobal​ Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com

Transcript

foreign [Music] for the past few years I've had the privilege of working with a bunch of Integrations uh prediction markets Insurance protocols and recently with Dows um helping them with optimistic governance uh really the focus today I'm going to talk about using osnap to to centralize your Dow but I really just want to make sure that everyone understands kind of how Uma works and how you can use it in your projects this weekend so what does uma actually do Uma is an optimistic Oracle that records truths about the world under blockchains so what does that mean you can pretty much make any statement you can use uh which team one team out of Team a or Team B uh you can say is this a valid snapshot proposal and then essentially you can propose a propose a transaction and attach a bond to that transaction that essentially enters into a challenge window and during that challenge window if anyone disputes uh it says escalated the token holders to resolve and if nobody's disputes at the end of that challenge period it is deemed as valid and can be used in your smart contracts so like I said if the statements are false uh while uma's Oracle assumes a statement is true but allows anyone to dispute If it's incorrect um during that challenge window disputes are really rare we've seen maybe one dispute out of every few hundred markets and that's because disputes are financially incentivized so when you're posting uh or when you're making an assertion you have to post a bond and if you're wrong when someone challenges that uh you lose your bond so it's very costly to make inaccurate or um yeah uh bad data in your assertion and that's because uh uma's resolution process is essentially the token holders vote when there are disputes it's a two-phase process that first phase is the commit process and during that commit phase they nobody no token orders can actually see other people's votes and they vote based on their belief and then in the second phase each are 24 hours people reveal their votes and at the end the majority of the votes are essentially used to resolve and essentially resolve that market so now I just kind of want to talk through briefly some of the current Integrations that we have and it might help to kind of click on what kind of assertions we're seeing every day this is one that I just pulled from poly Market it's a prediction market and it's basically asking if Oppenheimer grossed over 50 million dollars domestically on its opening weekend and I think that um this is a good example because polymarket could have stopped there and that's all they asked and they probably would have gotten the right answer but when you're making statements to Uma I think it's really important to include a data source and really think it through any edge cases so if you go to this Box Office Mojo and you uh there are estimates and that could cause some confusion when people go to resolve this or make an assertion that this is resolved and um and doing that uh so Poland Market predicts um they actually specify use the final not estimates even though it seems obvious it can cause confusion and cause disputes and another example is our we have cozy and Sherlock they're both prediction markets and this is just basically was there a hack bug user error malfeasance like and again it's it's basically just asking um 50 of the user funds and curve was hacked uh before or after a specific block number on ethereum and again I think these these details that they they're providing a specific block and a specific value of 50 or more so there's not going to be any confusion in terms of like if there's a small bug in the UI or something like that it causes a couple thousand dollars that's not disputable or that's not something that you can actually claim as a hack it has to be 50 of those user funds so I think that's an important distinction when you're kind of thinking about what you can what you should be asserting to the oracle and here are some other examples of our Integrations across is our Crosstown bridge and basically how it works is it would be really capital and efficient to make a proposal every single time someone went from one chain to the next so all of the transactions are bundled and basically a few hour period and that's what's proposed to the chain um another example is uh decentralist and essentially asks do all I mean it's essentially verifying addresses on a list so like I could verify um blacklisted wallets or or wallets involved in the hack um I think one of their first lists asking like what addresses uh what Uma addresses voted correctly 80 of the time so you can kind of think of how you can use this to use Uma to verify um yeah these address lists and then the last one is uh polymarket is just um asking TV on a certain date but I think it's kind of cool to see like these three different uh use cases and one is a very bot driven cross hand Bridge one is a manual manually proposing addresses to a list and then this pull together one for tvl is just using Deep by llamas API so it really shows just like how flexible all this can be when you're when you're using data with Uma and I guess like yeah how does all these uh apply to to governance um yeah I mean this is the typical the typical governance flow um and there's on chain uh there's you know you forking compounds governance contract but this is what we're kind of seeing uh on a typical um governance flow you first have a forum discussion and that's basically a period where anyone can propose an idea and typically Dow stewards or could the community come in and make comments and make sure that the proposal is aligned uh with the actual Dao um like what the dial actually wants to do and then when everyone kind of gives it the green light it usually goes to a snapshot vote and snapshot is actually really good in a lot of ways even though it is off chain it gives a lot of control such as the Quorum the voting period you have a lot of flexibility with like your voting strategies and like yeah if you're it's like if there's LP tokens doings giving them that voting power on chain would be really difficult but with snapshot yeah it's no problem you can just add it as an erc20 balance strategy so there are some advantages of using snapshot the problem is uh the multi-sig implementation uh you're essentially just signaling on Snapshot snapshot and the votes aren't really binding so um what we really wanted to create with osnap is a way to enforce the votes of snapshot and yeah that's what we're really pushing is reducing the Reliance on the multi-cigs because Dow coordination efforts just don't mean anything if it's just signaling support and it has no actual execution on chain um I'm sure you've seen a lot of these multi-zig problems uh I think yeah the first one multi designers can act against the will of their community for the most part the Dallin Senate the Dow and the community and the multi-sig is usually aligned however um if you're asking the multi-sig to remove themselves as a signer or pay themselves less that could be delayed or not executed at all the other issue is just yeah the regulation um dowels are not resilient at all if you're essentially relying on a few individuals that you can go into a Discord and find these find these people oftentimes have ens aims attached to their wallets uh or their KY seeds so yeah I mean it's like how how decentralized and resilient as a Dao if um all you have to do is go after the the multi-sig signers as uh as Regulators so they're real they really are a Target um and the last thing is just the burden of signing multi-sake transactions uh it's not fun like I don't think I mean I always ask kind of what's the process of multi-stick signers uh when how they review transactions and uh it's kind of they kind of laughed at me because I don't think the review process is there's a lot of trust involved and they typically just trust uh whoever is asking them to sign that transaction and the problem with that is the community depends on these signers to always be accurate I mean it only takes one transaction signed uh wrong with the multi-sig for essentially the Dow to go down so that's really why we created osnap it allows the Dow to be the multi-sig so now anybody can initiate a transaction and that can be proposed so by by the um you know the community it can be proposed by the multi-sig any my modific holders or it can be posed by anyone that's not even involved in the Dow um and that's powerful because um you're essentially not only allowing anyone to initiate a transaction you're also allowing anyone to dispute and this works the same way as as polymarket did with the prediction Market or cosita with the insurance and the truth is economically incentivized because uh you're posting a bond when you initiate these transactions and the challenge windows can be two or three days and so if you have to post 10 width and someone comes in and disputes you you're essentially losing that that 10 width so it's very costly and people are very careful when when they're proposing these transactions and I think the the most underrated feature of this is transactions um are transparent when voting so they're actually included in the snapshot proposal and I think that's a huge step forward you can actually look at the transactions when you're voting on Snapshot and um it's just so much more transparent so if something is wrong with the transaction payloads you're noticing it while you're voting and you're not waiting essentially for that multi-six signers to then execute those transactions so this is just a quick overview of the flow you have your safe deployed the osnap module um you can then set some custom parameters or keep the default and then the rest of the flow is pretty much the same all the way through creating a snapper a snapshot proposal except you have a transaction builder at the last step where you're able to input transaction payloads and if the snapshot proposal passes you can then propose and execute those transactions and if it if someone does dispute it goes to the Token holders to vote on I think an important distinction though is that the resolution value that the token holders are resolving is not actually executed by the safe so they have no control of like the transaction payloads that are being executed um they just so if there's a dispute that actual proposal is deleted and then it needs to be reposed so Uma token orders actually have no control over uh what's being what's being executed or not and these are the so I kind of looked at like the rules of or sorry that that the assertion of prediction markets and insurance and this is kind of what's proposed for um ostap where you're really validating if the proposal was approved on Snapshot the snapshot space um you're looking at the Quorum and the voting period which are actually uh these are just example values but these are what's what are usually set by the team and snapshot and to make basically confirm that snapshot voting system is not being exploited or otherwise unavailable so it's a very straightforward validation process and you can kind of see what these transactions looks like transactions look like in snapshot and I just I created a proposal before this and it's basically asking um yeah is this transaction proposed during the global demo so this voting period has already been completed so I can just go in here and actually just request this and when I'm requesting it alerts me what is the required bond to post I made it zero because this is on test net but in the challenge period is two minutes and and production this is um two or three days with a bond of typically five to ten thousand dollars so yeah I signed that and you can kind of see it'll alert you when these transactions are are able to be executed we won't wait the two minutes but after this period is over you will then be able to go to the same process to actually execute the transactions which will send uh this eth to this address so we have some bounties uh we'd love if anyone for everyone to build as much as they can on Uma using pretty much any use case that makes sense to you our first place is five thousand dollars our second place is two thousand and then we have a pool price pool prize for anyone that uses Uma for three thousand dollars and also we're always hiring so if you are someone that's interested in working with us or know anyone that is interested uh come to our booth or feel free to go to this link or just come find us you're not gonna remember this link all right thank you and any questions uh that was the snapshot space so um essentially the safe how you'd you would deploy the safe you would sorry you would deploy um the ostap module with that safe and then you could go into the snapshot settings and add the osnap module into that into that space and then the rules of the ostap space you'd want to include that space that you're governing over so um so yeah so like you would have so when you went into gnosis in the Zodiac module you would specify that outcome Finance space and then you would add it to the space in snapshot it's typically the team so yeah so you'd have like um like most styles that we talk to they have core members of the team that are the designers um and so what this would allow anyone to actually propose the transactions and it can still be um the core members I think uh we've probably seen that several times but what is what it still does is allows it to be a much more transparent process and I think the big win is like those transactions are in that snapshot space they're transparent what's actually being signed and uh yeah if something if they're signing something that is not actually valid it can be disputed okay yeah um you can build anything using the uma's Oracle or you could also use across or Crosstown Bridge so if you have any type of Crash chain use cases you could absolutely use uh across for that um I think that like it's really open-ended so if you have any type of beta off-chain calculations or anything like that that you want to that you want to use in your contracts I think uma's a great use case and um yeah it's very open and in terms of like what you want to build any questions yeah that's a good question so um really it would only be malicious if it didn't follow these rules so if there was a snapshot vote but the Quorum didn't actually uh like of the vote didn't actually meet the minimum of the rules or if the voting period set and that proposal wasn't long enough like that that was specified on the o-stat module so um the other would be like yeah if someone proposed transactions that didn't actually pass so if you go into um I think it'll help to see kind of well actually this might be difficult like if you go into the ostap module you'll see the rules um specified in that module that like essentially govern over that space so um yeah and you can change these rules in these parameters um but yeah this is what really is holding those snapshot proposals um as valid or invalid any other questions all right thanks thanks for coming foreign

Automatic transcript — names and jargon may be misspelled.