Governance Attack!?

16 Aug 2024 · 1:02:18

a16z crypto's Sonal Chokshi hosts CTO Eddy Lazzarin, head of network operations Ross Shuel, and Stanford political science professor Andrew Hall to unpack the recent Compound governance attack and what it reveals about DAO governance more broadly. They debate whether attack is even the right label for what happened, compare on-chain token-based voting to physical-world political systems, and discuss how to distinguish good-faith from bad-faith on-chain activity.

Speakers

Topics

Transcript

[Music] hi everyone welcome to this week's episode of web 3 with A6 andc this is sonal and today we're covering a recent so-called governance attack with compound as well as a broader topic of Dow governance voting and treasury attacks how to avoid them how to prevent them even how to respond to them and much more by the way Dao stands for decentralized autonomous organizations and they're important since decentralization is a key benefit of crypto and blockchains check out our show notes for links and other resources mentioned in this episode as a reminder none of the following should be taken as business investment legal or tax advice please see A6 z.com disclosures for more important information including a link to a list of our investments anyway what happens when in a system of governance

and this is also very common in political systems around the world when you have activity from actors that the majority doesn't necessarily agree with how do you distinguish between good faith and bad faith voting activity especially on chain and other such tricky questions to discuss all this our expert guests are a6z crypto's chief technology officer Eddie lazarin our head of network Ops Ros shul and a6c crypto research collaborator and Stanford professor of political science Andrew hall or Andy we spend the first few minutes quickly recapping the exact sequence of recent compound governance attack event a few weeks ago including discussing whether governance attack is a right label for it or not how it's different from other attacks and the broader trend of online versus offline

governance attacks in general before then going into specific Solutions as well as also digging into behind the scenes Tik Tok on what happened how people figured out things and more the first voice you'll hear after mine to recap what happened is Ross's followed by Eddie's then Andy's Ross can you do a recap of all the events go ahead and and kind of walk me through like the play byplay like what happened okay so starting back in May a pseudo Anonymous Persona named humpy put forward a series of proposals on compound Finance to transfer a material quantity of compound tokens to a multisig wallet controlled by an

unknown group of people named The Golden Boys so on May 6 the first proposal proposal 247 was created by the humpy Persona and this proposal would have sent 92,000 comp from the Dow treasury to the multi- controlled by The Golden Boys it was defeated by a vote of over 700,000 to 95,000 on July 15th the second proposal proposal 279 was put forward again that again was going to transfer 92,000 comp this vote was defeated by just shy of 600,000 votes to 120,000 votes so these are very similar proposals or were they the exact same proposals so proposal 279 slightly differed from the original

proposal in that the multi was allegedly constrained to a limited number of transaction types this could be seen as a response to the criticism that the community had uh to the first proposal and then on July 23rd the third proposal proposal 298 was created this proposal went live going into a weekend on July 25th and then ultimately passed on July 28th initial voting on that proposal suggested that it would fail however in the last hour the Persona named humpy voted with an additional previously unrevealed number of wallets for a total of 682,000 votes valued at roughly $31 million at the time tipping the balance

of the vote and causing proposal 289 to actually pass with 682,000 votes to 633 th000 votes wow got it and then just high level then remind me what was the proposal's stated purpose so the stated purpose of The Proposal was to create a staking Rewards program in which the comp transferred to the golden boys multisig would be deposited into a program called gold comp which would be fully managed by The Golden Boys my and earn yield on the deposited comp for the Dow Treasury and um that would make humy the largest comp delegate I think right yeah that's correct after this proposal

if it had been executed it would have moved 500,000 comp tokens over to The Golden Boys multi and this would have left the humpy Persona with a voting power of just shy of 1.2 million comp tokens you might say well that sounds pretty mild I don't know giving a little bit of additional power but the result would be a non-trivial amount of voting power it's not everything that was in the treasury it wasn't like coming along and draining the treasury or something but it radically expanded hum's existing voting power in such a way that the vast majority of delegates was concerned that it could give humpy total control over compound governance I don't even know what we call this event or incident well

the reason why I resist a little bit calling it an attack specifically because I think when people hear governance attack what they think of is analogous to maybe a 51% attack in proof of work or something like that where someone gets a you know an Epsilon majority a tiny majority control and then has total control over the system which they used to drain all of its assets and sort of bankrupt it entirely uh maybe in a single move which is not what happened and furthermore wasn't really uh an immediate consequence of The Proposal The Proposal could have drained the entire Treasury and just ransacked the whole thing but it didn't

it was intended to transfer a meaningful but in the grand scheme of things modest amount of power that could have spiraled out of control but it's within a space of plausible deniability that humpy and his team may have really wanted to support compound and uh make it better and improve it which we're still learning more about but in any case this was not a great way to do that and could have been extremely destructive to compound uh had it Advanced you know I'm skipping ahead a little bit but humpy did agree to cancel the execution of The Proposal so the compound tokens were ultimately not transferred and the only that I saw at least because I didn't

speak with with humpy directly but the only demand that he made was that a goodfaith conversation occur about some specific economic changes he wanted to make to compound what makes this illegitimate I think although there's Nuance here that we should recognize is just that in retrospect after the proposal was passed uh before it was enacted which we'll get to when we break apart the timeline after the proposal was passed everyone who participates in compound governance regretted it they didn't they real what what happened you know it was something that a clear vast majority of compounds governance participants did not want to happen so

an interesting question is how it came to happen how you can end up in a position where a majority of delegates are unhappy with something that literally just happened and and the details around that so that's what makes it a legitimate proposal maybe and I'll say about the proposal if you were to take a look at it yourself and you can of course all of this is public on compounds governance forum and compounds governance page and so on the proposal is not particularly well written uh it's pretty poorly implemented and uh the first time it failed the second time it failed but this third time that proposal passed we should have voted got it okay and before we go into more of the how it happened and how to avoid this can we

take a step back for a moment and also just talk about the broader category of just Dow governance attacks in general so you know for instance our partners panov Scott commoners and Tim Ruff Garden wrote a post a couple of years ago on Dow governance attacks and how to avoid them and they cite examples of steemit as one example in beanock a stable coin protocol a couple years ago as attacks that happened in the public eye but then there are governance attacks that can be conducted surreptitiously over a long period of time and I think that key word surreptitiously where things are not happening in the open and being discussed and intent and motives are not being shared in a good faith way probably broadly puts a lot of these things in that category of suspicious

not really great behavior for a doubt yeah and part of what made people very negative was just that this proposal had not been well socialized it was not socialized properly among compound delegates and the thing is although in any token voting system the vote itself the vote that actually enacts a change on on chain is of course the culminating moment right it's like the moment of that governance occurs of course like in any other Democratic inspired system there is a degree of consensus rough consensus and conversation and sharing dialogue around proposals where people who are participants in the governance

process agree that you know even if the consensus around the proposal isn't clear that it's been considered deep enough and publicly enough that a motivated voter can appreciate the consequences of the vote thoroughly right that's the offchain social layer prerequisite of legitimate governance and this didn't go through that process right and just to get very bottom line about this he was or he his entity was quietly amassing the amount of voting power nearly 500k in comp comp in order to get that type of voting power like that was a ctitious thing yeah so other facts that paint this whole process in a negative light was that humpy based on some quick onchain

forensics performed by various compound delegates had accumulated a very significant amount of votes which was spread across a variety of wallets and was obscured like he hadn't discussed his Holdings his intention to vote with those things and waited until the final hours of the proposal to trigger those votes so that's kind of a behavioral pattern that s suggests an intention to obscure as opposed to working with all the cards on the table in good faith which is what you'd expect from somebody who's a legitimate participant in governance right right this reminds me of a post that our friend Phil Diane wrote many years ago I think 2018 on the concept of dark Dows and onchain vote

buying we had a podcast actually that Ali and I recorded with Phil many years ago that's in our archives if anyone wants to check it out in a link in the show notes Andy can you help by just giving high level context on the big picture of vote voting and Dows and then we're going to go back to the Dow compound event and go into more specifics okay okay so I hear my high level thoughts and reactions to this and and this pertains a little bit to the question of whether this should count as an attack or not I think we know in Dow governance one of the biggest challenges is sustaining a high degree of participation among token holders MH and in principle like in like we see in voting and other forms of corporate governance there's nothing wrong and in

fact we should welcome if someone has strong beliefs about changes that should be made to a dow that they can come in and buy votes in order to do that just like you could buy into any company and and influence their votes that way where it becomes more like an attack is where as you're buying up those votes to use you are exploiting the fact that some other people aren't able to consistently pay attention and make sure to vote when you put forward this proposal and the two things I observed with this incident which are common issues we observe in Dows and are in fact historically total normal problems that legislators have

faced in the past is the combination of repeatedly bringing up the same proposal to waste people's time and take advantage of the fact that they can't always be paying attention 24 combined with timing the proposal to occur when you think people won't be paying attention and those two things together allow you to win a vote with fewer tokens than you should in some sense have to in order to really win it because you take advantage of not many token holders being around and being ready to vote and that is a classic classic trick played out in legislatures all over the world in the past where you

call a vote late on a Friday night you exploit if that legislature does not have rules that protect you from those dead of night votes as they're called in legislative history then you can have this problem where a small minority of the legislature is able to Ram something through while other people are at home sleeping and that's like the core problem right and just to be clear just because I want to make sure I pause and emphasize the two key related but different things you pointed out one is is the problem of the timing and the other is just a general voter fatigue both related but you're kind of combining those two things because in this case if we were to go back now to the specifics of the recent event the

person had proposed two times before the third time so that's a voter fatigue and then there's a timing window which kind of creates this situation just to be clear is that correct that's exactly right and then I think a sign expost as Eddie said a sign that this was a problem is when all the token holders realize what happened they wish they could go back in time and cast votes and that's a sign that there's a friction in the system that's not working the way it should I would just add when I think about what is an attack or what is a a hack at a very broad level is when people use a set of given rules without breaking them to achieve an outcome that

was not intended by the people that wrote the rules and when we see what we consider a a hard hack in crypto which somebody exploits code in a way that was not intended to be done that's very apparent to us as an attack and this is a much softer version of that in which acting as far as we know completely within the rules achieving as Andy was just mentioning an outcome that in totality a majority of token holders do not want and that was not intended by the original creators of that rule set that's really helpful Ross so I feel like we've covered the question then of what this was and it sounds like the answer is this was an event in a dow where the voting proposals are being

manipulated in a way to get an outcome that someone wants but that's not necessarily the goal of the majority of the delegates and whether or not to call it an attack is a much more nuanced label yeah and in the end I think it's okay to call it an attack but it should be clear what that means okay so then for the sake of short hand I'm going to go ahead and just call it a dow attack just because of the broader category and also because at the end of the day whether it's uh you know legitimately conducted and lawfully done and or if it goes against what the majority of proposers want and the delegates want and they would have vetoed then I think we can just say it was like the system was being manipulated against an end

that wasn't desired so that's what happened so after the vote passed what happened at the governance level so in the immediate aftermath of the proposal passing all of the active delegates on compound gathered both in the forums and a variety of telegram channels to coordinate for a response the initial defensive proposal that was generated was proposal 290 which was intended to effectively dissolve the current state of governance and return a significant control of governance to a community multisig and this was intended to be immediately executed so that the community multisig would have control of

governance before humpy obtained 1.2 million compound of voting power because the concern was with that significant quantity of voting power he would be able to continuously attack the Dow Treasury and potentially drain it simultaneously to that proposal being created a number of key delegates started to directly engage with humpy to understand what exactly he wanted from putting this proposal forward he made some demands related to installing an economic model uh particularly a staking model for compound that would connect the revenue the cash flows of the underlying business to the actual

compound token so there was some back and forth between some key delegates in compound and the humpy Persona ultimately satisfying the demands that humpy had about having some good faith discussions around installing a new economic model yeah when humpy was talking with the compound delegates that he wanted to talk with he explicitly stated as a prerequisite of his cancelling his proposal 289 he wanted there to be a governance Forum post that outlined not just his plan but the delegates promise to debate it in good faith with him should he cancel the

proposal and that was a requirement and so did they do that they did that and you can see that on the Forum yeah yep so by 5:55 p.m. eastern time on July 29th one of the appointed compound governance security representatives and a core delegate had posted the requested promise on the governance forum and other delegates replied shortly thereafter humpy then cancelled proposal 289 early morning Eastern Time on July 30th after humpy cancelled proposal 289 the community no longer needed to pass proposal 290 and so we canell proposal 290 shortly thereafter got it what is the next step with humpy so like is that enough like

okay I got what I wanted which is I want you guys to engage in good faith show that you're going to consider this discuss this engage with me about it it's on the forums is that is that it like is this going to be continue to be discussed like what what do we think happens next yeah a couple things so first people are discussing that and it's and and for you know I'll say very explicitly it's totally reasonable to discuss in fact was it actually always on the table absolutely no it was it's been an interesting and debated topic for some time I think it's actually a very just by pure coincidence I don't think humpy knew this it's actually a very good time to begin to discuss just because more things have developed in the crypto regulatory landscape and in the legal landscape around Dows like the Duna for

example uh some things have happened that have changed things and it's time to renew that discussion in parallel independent of that compound governance will discuss a variety of improvements and upgrades to help mitigate the risks you know compound was probably one of the first uh maybe the earliest major dii protocol with governance uh after maker you know it launched in summer 2020 although it has undergone a series of upgrades there's a long way to go and we've learned a lot so it's it's a great time to consider refreshing all of that that's fantastic and just to be clear on what the Duna that you referenced is is that it stands decentralized

unincorporated nonprofit Association thank you and it's been pioneered by Wyoming which passed the new law to recognize Dows as legal entities you know essentially enabling them to operate within applicable laws without compromising their decentralization so when you alluded to that advancement that just happened actually earlier this year in March yep definitely and we think it's really important in fact um our general counsel miles Jenning and his collaborator David care wrote a paper which a lot of the Duna framework actually includes a lot of those recommendations but basically it provides Dows with the much needed protections to really help them keep blockchain networks open and you can find the link about that in our show notes okay so now let's talk a little bit before we talk about how like this

was navigated we're going to jump ahead a bit and talk about Immediate Solutions it sounds that based on what you guys are saying there are some we've talked and written a lot about potential solutions for Dows I'd love to hear before we outline what what the solutions that have been discussed by the community the delegates our own experts researchers Engineers everyone in general and this was a very Hot Topic at our research programs governance week which you curated under Tim Ruff Garden's request for his um research program series and so this kind of occurred like right before then and it was a very hot topic would you mind summarizing some of the discussions and things were kind of both eye opening for the classic non-web 3 governance researchers and then things that

everyone kind of was like oh yeah this is so common I'm curious for what surprised people and what didn't surprise people yeah I would love to we had a great and wide ranging conversation and I would say a few themes and reactions that came out one was gosh this looks a lot like governance attacks we've seen constantly in the course of history and then a realization that that that point needs to a key set of solutions by looking at what is different in Old mature voting systems versus in what we saw in compound and I would say the very first thing that came out was in a legislature you really can't bring the same bill to a vote over and over again you kind of

you usually get about one chance you might get more than one chance depending but you don't just get to bring it up as much as you want and one reason for that which is a little different from Dow governance is that in a legislature there's what we call scarce plenary time you have a lot of things you want to get done and you don't have enough time to debate mark up and vote on all the things you might like to get done and so you have to prioritize and so legislators have developed extremely complex and important processes for deciding what gets on to the calendar and what doesn't and a key value that that has in addition to prioritizing is preventing these sort of you might call them spam attacks where someone tries to

take up all of your plenary time on something that is of value to them but not of value to you and you have to waste immense amount of time beating that proposal back over and over again so that's just not allowed that's not allowed in legislatures and we had an interesting conversation about how could you try to prevent that in a DA without violating the really really important commitment to decentralization into an open process and you can see how it sounds a little paradoxical we want to take this Democratic process and then somehow use it to forbid certain proposals from getting votes that's difficult to do well and what we settled on as something worth exploring there's

a lot more to hammer out here before you know being sure it's the right path is what if you had an elected grp group of people and that election was at the will of all token holders that would then decide whether something was ready for the agenda or maybe would decide when something was clearly malicious and they would have the power to say that thing doesn't go to a vote in the Dow and they would be held accountable by the fact that they are themselves subject to election by the token holders and that would look a little bit like this works um in modern legislatures today so that was one idea we came up with in crypto

we try very hard to preserve the permissionless of these systems right that's a critical part of their being decentralized the fact that anyone can come along and acquire some tokens or uh become a delegate and so on entitles them to all the powers and privileges of the governance system afforded to the Token holders that's really really attractive but some very crypto people would have considered in hearing Andy's description there oh well those systems those intricate complex systems to to prioritize plenary time that sounds like a way that someone could reintroduce centralization and compromise the

trustless and permissionless of the system you could imagine someone taking advantage of these intricate rules in order to create a different kind of exploit where they seize control of the governance system so you have to be very very very careful in terms of re-engineering things to simultaneously avoid some of the attacks that are made possible in the permissionless setting without compromising the permissionless setting Eddie you just answered the question I was about to ask right after Andy's question which was like how does that avoid becoming centralized like because the whole point of decentralization is to be decentralized totally so an example just to kind of unpack one way this uh this council

could work that Andy was just describing so a disadvantage of the permissionless setting is you could have Cil attacks right imagine that you the council says every distinct address is allowed to propose one proposal per month well that would be totally trivial to circumvent because you can make as many addresses as you want and that's a inherent property of the system what if On The Other Extreme the council says every single proposal must be permitted by us so you can make as many proposals as you want but will never come to a vote unless we agree then you might say oh well they can that therefore block proposals to replace

them right they can seize control by simply vetoing any Democratic attempt to replace the committee uh but one of the interesting properties of blockchains is that you can allow the blockchain through its programmability to be a trustless intermediary for example you could make a special exception in the governance contract code that any election to replace or any proposal to perform an election and replace the committee could itself be Uno by that committee and that that proposal could happen at most you know once a quarter once a year some appropriate time so you can hard wire into the system system controls that

actually wouldn't even be possible in a traditional governance setting you could imagine like in a contemporary governance you know State Legislature you could imagine someone you know completely running rough shot over the rules and requiring the intervention of Courts and so on and of course there's checks and balances But ultimately each of those parties have to be trusted and that's what makes the whole thing a trustworthy system what's interesting in the crypto setting is you can have a smart contract recognize that this is specifically a veto Council election and therefore no one can stop it so you you have some additional tools at your

disposal to consider designs that maybe wouldn't be viable in the real world at the same time that certain uh risks like civil attacks which are harder to pull off in a governance in a state setting are risks right I mean another way to think about it just based on what you're saying because I I was actually thinking the United States government's checks and balances system is like could a president just vote themselves into like unlist terms like we'll have no term limits and you can just be president forever but there are obviously checks and balances that exist to prevent that happening the other way to think about it is that by card wiring the checks and balances into the code in the smart contract specifically you kind of also make that type of system much more efficient versus like very drawn out and having to be like endlessly debated the

act of even being able to do that like all that has already happen front loaded so that when it's hardwired into like that smart contract like this is a special exception that you mentioned it's another way to keep that kind of thing very efficient tell me if I'm wrong but that seems like another distinct advantage over a real world system versus in this setting I would say in terms of things that were surprising for the governance visitors this was really high up there like this is something very special that you really can't do in the real world and and I agree on it could be more efficient it also might reduce uncertainty I think a great example from the US government that's so different when we look at legislator we tend to think they really can't commit to a special rule like this special rule that

the committee's election is not subject to this veto because at the end of the day the majority of the legislature can always vote to change anything they want like when you go all the way down the turtles the deepest Turtle down is majority rules and if you look for example at the filibuster in the Senate it hangs on in this very fragile way and there are certain types of bills already carved out from the filibuster so for those bills that are carved out they're not subject to the 60th senator's you know sort of implicit veto and who decides whether a particular Bill qualifies for these car voutes or not it's technically the Senate

parliamentarian who is an individual who's expert in the Parliamentary rules of the Senate gets to decide is this bill clean enough to count as one of the things that doesn't go towards the filibuster and then of course in reality the majority party is always tempted to Simply overrule the parliamentarian by a majority vote and so it's not sticky in the way that the procedure for the blockchain that Eddie described is and it causes huge huge challenges and and tremendous uncertainty about when and and why the filibuster will be violated or honored and so I think for people who study those kinds of issues in legislators it's extremely exciting and

interesting to discover that there's actually a digital system where you can commit to a rule and it can't be gamed because you can't fundamentally you can't really lie about which smart contract the vote is going to touch as a subset perhaps of idea one is you can protect the agenda in a manner that doesn't require a committee by requiring individuals that want to bring for a proposal to stake some of the Dow tokens in order to do so this introduces another form of complexity though because now you need a mechanism by which you could slash that individual if it is malicious and then it becomes a situation where you maybe face kind of turtles all the way down but there are a number of dows that are trying to

experiment with this rather than having a committee of actual humans that are permitting proposals to move on chain in that scenario if I wanted to bring a proposal on chain in compound for example I would have to stake some material quantity of comp tokens to that proposal so let's say 10,000 comp tokens are required to be staked and that allows me to actually put the proposal on chain those tokens remain unavailable to me so long as the proposal is going through its life cycle once the proposal's ended I receive those tokens back so this prevents me from being able to to spam the Dow with with an endless number of proposals right but then you need some kind of mechanism to potentially slash that Staker if they

are continuously bringing forward malicious or spam proposals right right right this is actually kind of the fine balance between having skin in the game and then not having too much skin in the game agreed yeah yeah and and and that's that's an interesting design path and we've been debating a little bit that it does introduce a risk as well because you could end up in a setting where a governance attacker could use their majority to slash their honest opposition and thereby compound the advantage that they've accumulated so that lends down a rabbit hole but of course it does have some advantages because you can impose costs on bad behavior which is a useful tool that's super interesting I mean it's a it's a really interesting design space that we

just haven't seen all the experiments play out yeah it's early yeah and then going back to this committee idea one more time something else you guys noted which I thought was super interesting so on this podcast I did an episode with Michael Rogers and Nadia Ben ibal on General open source behaviors and how open- Source very distributed large systems that are coordinating around code in a decentralized manner can get things done and it was very interesting because one of the things that Michael Roger said on that episode is that in no. JS Community they had this default kind of open- source governance model that they would by default allow commits and things in so that they didn't have to do a lot of overhead approving things and it's really interesting because you talk about how to keep the committee agile and that if one thing you guys

could do is if the committee's job is too hard it could slow down governance and make the project less agile so to guard against it you guys suggested the default assumption could be that proposals pass the committee and the committee only has to act if it wants to block to make the committee's job easier I do think there's of course trade-offs it sort of depends on what you think the state of nature is in terms of proposals you're getting in so as a contrast such an idea would not work in a modern legislature where there are thousands of bills always ready to be introduced and voted on so there you would need to you need to prioritize much more aggressively but in Dow governance we don't tend to see large amounts of

proposals and so long as that remains the case it seems viable to say since we don't get a lot of proposals when we get one the default assumption can be an optimistic one that this is a meaningful proposal that should be voted on and the reason to ever block is the risk of these attacks or the risk of a Spam attack where suddenly many many more proposals than usual come in uh and you can balance it that way it could be that that rule needs to be adjusted as the world changes and if you do get to a point where there are many many more proposals coming in you might need to adjust it so Andy was there anything else that came up that was like the top of Mind discussion like wow I didn't

know this is even possible another big difference between traditional and web 3 related governance systems yeah so let me let me lay out the other big category of potential Solutions we identified and actually there was one part of it that is special to web 3 so the second bucket was can we directly fix the problem that people miss these votes because they occur at unexpected times when they're not paying attention and that is again a very classic problem in voting systems and legislators address this by defining specific Windows of time when you can introduce new legislation and ruling out other periods of time as not times when

you can introduce new legislation so that you have common expectations these are the days or the weeks when I and my team need to be paying attention I know that at midnight on Sunday absent an emergency session there's not going to be a bill introduc and I don't need to be as you know wary uh and so we explored a number of ways you could Implement voting Windows like that for Dows again thinking back to Eddie's really important caution from before we want to do that in a way that maintains flexibility and allow us for the open permissionless submitting of proposals say there's an emergency and you need to get something voted on rapidly you wouldn't want to completely rule that

out so how could you do that and one idea we came up with which I do think is special to web 3 in some sense is what if when there is an urgent or important vote that comes up there is a second voting period And so you hear okay this this proposal has so far been passed do you really want to pass this or not and during the second period of time everyone could be reminded like you better come and check on this vote and the particular tweak on that that I think is important and where web 3 can help is if that second window of voting is just like the first window it just is

like a repetition then the attacker is going to wait until the end of the second window to deploy their votes just like in the compound attack they waited until the end of the voting period to reveal their voting power if you know there's going to be two periods of voting you're not going to reveal your secret voting power at the end of the first period you'll wait till the second so you have to make the second period different from the first so that the attacker has no choice really but to reveal their voting power in the first window and then the second window gives you that chance to correct your mistake and make sure that you don't have that sense of regret among a large majority of the token holders and so our idea we were explore it as a group and again I

don't think this is completely fleshed out the idea was what if you make it harder more expensive to vote in the second window so your your token doesn't count as much as it did in the first window and that that way if a large majority wants to block something they can pull all their tokens in that second window and block it but the attacker will still want to have deployed their tokens in the first window when their votes counted for more and so that's kind of a fascinating design space that in principle you could try to use in sort of you know physical world uh legislator other voting systems but is much more plausible to experiment with in a token-based digital voting system

and specifically what makes that very web 3 very crypto is that you can have the mechanism through which this voting occurs something that is extremely difficult to change and is transparent whereas the concern in the traditional setting is that you can sort of circumvent or make opaque or undermine the way these mechanisms work in the smart contract setting you'd need to undermine the smart contract platform itself in order to circumvent this and that that gives it a degree of reassurance and a degree of trustless because you're not relying on the due diligence and adherence to procedure of a trusted intermediary you're handing

this off to a computer program that no one can interfere with it's a super good point and the same as the the first idea I think that's something very special that if you tried to implement something like that in a legislature and then you had a majority that wanted to do this malicious thing they could absolutely by majority rules overturn the rule that in the second period the voting rules were different you could never commit to that second group of voting rules again because the bottom turtle is always majority rules voting so I think that yeah definitely very special possible um piece of the web 3 governance system that's super interesting anything more to say on time delay yeah I I mean I can just just say about the timing games

these are pretty well appreciated and I I've seen more contemporary governance modules like smart contracts that manage governance are beginning to take these into consideration already independent of this event that occurred with compound the the summary of it is just that of course what an attacker will do is wait until the absolute end of the voting period in order to reveal their their full voting power which means that reasoning about the tally as it proceeds is useless right like like of course in the naive or optimistic setting you know people are coming in and voting over a few days and you're kind of observing

the tally and potentially learning from that and deciding how to vote but in the attack setting the tally is useless until the exact last second right and that's just very counterintuitive and I think it should be obvious to people even people who aren't experts on contemporary state legislatures that that's not really a viable attack in a state legislature you know that's why like English auctions at Christies and stuff they'll say you know uh you know going going going gone they'll kind of like continue to delay the end because you know you may need to react to information that comes in right at the end so more contemporary designs introduce either the two stages that

Andy described earlier or might extend the voting period should the outcome change because of new votes that came in or uh you know other things like that you could also imagine some of the private voting systems that we've implemented actually obscure the tally as it's proceeding right like this is uh cicada that's one of our open source projects obscures the tally Until the End using a variety of cryptographic Tricks so that that might motivate people to vote no matter what whether it's early late congestion doesn't matter you should just vote because you should indicate your outcome as opposed to potentially not voting because it looks like it's going to end up one way

right so it avoids the risk where the tally is misleading to people who don't appreciate the game theoretic consequences of the timing games this is kind of is the idea that you alluded to in cicada which was the time lock puzzle yeah the time lock puzzle is the mechanism that avoids revealing the tally until we know the tally is complete right exactly this is definitely a surprise to the governance week visitors was oh the votes are revealed publicly as they go that's kind of weird and like Eddie was saying the tally can affect people's beliefs and affect behavior in kind of suboptimal ways and and many countries uh across the world have laws specifically aimed

at keeping the anticipated results of the vote tally secret on the day of the election for exactly this reason one of the things you guys all talked about was a voter fatigue and how this went through two times and then the third time it passed but that you know I just want to make sure this is not hidden behind the phrase voter fatigue which is such an innocuous phrase It's actually quite interesting because what we were just talking about the time lock puzzles that a competent attacker would wait until the last second to vote and to reveal their full power and so it's natural for delegates to assume that because the previous attempts at a bad proposal fail that the next one would also fail actually let me tease that apart so a couple a couple things to split up is that the time lock puzzle is

a cryptographic mechanism to avoid revealing a piece of data until a lot of work has been done this time timing game is a totally separate thing that's this property that the vote encourages an attacker to wait until the last second to reveal their power those are those are separate things thank you for clarifying that yeah and then the game theoretic thing that we were talking about is was that is that you have to wait until the very very end fatigue is different fatigue is where there's a lot of votes you don't have time or energy to consider them I would say that that's separate from taking for granted because of the previous votes that this one will

also fail got it and another quick thing I want to just point out you should always vote against proposals that are indistinguishable from attacks isn't the entire point that these things are always going to be indistinguishable from attacks because this goes to that indistinguishability point that pronav and Scott and Tim talked about in their previous Dow governance attacks post one of the classic things that happens in Dow governance attacks in general is that you often can't distinguish between the motives of users who want to make valuable contributions and those that are just trying to disrupt or control or do things for nefarious means that was not true in this case based on what you're saying because this proposal was attempted two times before like how do delegates even know what is an attack or not oh yeah that that's a great question

that's some that's a actually a huge Rabbit Hole in certain cases in well in many cases modifying some parameters of a governance system like you know adjusting a collateral factor or changing in a a interest rate or something those are well constrained like very well bounded changes that it can be pretty clear to anybody analyzing them that they're not an attack now of course it could be part of a huge convoluted dstage attack in some subtle way right right but but that's it's just a little clearer that it's not whereas at The Other Extreme a complicated multicomponent upgrade of a bunch of

code at once is something that it may genuinely be extremely difficult to tell whether it's an attack or not that like it's it's hard to say in this case this compound governance incident what made it ambiguous was more that a naive but well-meaning governance participant could have believed that this may may be well-intentioned like maybe if they've ignored all the facts and didn't didn't consider it in its totality so that's what I mean when I say indistinguishable from an attack like if someone was attacking it could look like this right exactly right that's not that that doesn't mean it's an attack but it just means that it's consistent with an

attack it's like you know someone barging into your house right like is that an attack well could be a firefighter there to save it from burning down it could be um you know a family member of yours uh just checking in or you know picking up something or you know whatever it could also be a burglar and how do you distinguish that well with more detail and more investigation and Analysis and considering all the facts so in the absence of the ability to do that if there's not much time left you know something has happened and you need to react you should treat it like an attack until proven otherwise yeah this is actually the perfect segue to then talk about what we know and what we've heard what we know from delegates and

participants in this in terms of engaging with humpy and in terms of figuring out whether because the key point to make here is that an online onchain system it's like that classic phrase about on the internet you don't know if it's a dog or whatever that phrase is like you really don't know who that person is necessarily you can have other proxies to know who they are their record of you know activities on chain their karma points their their identity in other ways of course it's not like complete strangers here but at the same time to your analogy just now Eddie is the person a firefighter is it a burglar is it a relative who's coming to visit after a long time is it an attack you could only find that out by engaging and finding out more information about the person behind that pseudonymous handle

or identity so let's talk a little bit about the Tik Tok and what happened behind the scenes in the remaining time you know you guys talked about that this person was willing to cancel their governance proposal that alone is is a win and a feat and that there was some engaging that happened and this is a classic rule of many online systems including open source projects which I've studied for decades where oftentimes I used I asked my friend who works very closely at the Linux foundation with Torvalds like how do you generally manage uh people in these online you know distributed communities and at the end of the day it often involves just picking up the phone and calling someone instead of like going back and forth in a forum so that's just kind of a classic thing of any online community which is you can actually talk

to a human being did that happen here yeah just in brief there's the compound governance Forum there's a Discord there's a bunch of group chats there's tons of settings where people are connected with each other and in addition there are are security response specific chats not unique to compound but you know for various incidents occurring in crypto where people can share you know situations that are developing and uh organized people to respond uh basically within a pretty brief amount of time there were War rooms assembled to analyze and discuss the situation between compound delegates so anybody who was a compound delegate was was entitled to join and

was invited and yeah okay so how did you guys actually engage humpy can you say more about that we did not directly talk with humpy so a number of delegates uh lead lead delegates within the compound Community had Direct contact with the humpy Persona and that conversation went back and forth for roughly 24 hours from our perspective it seemed very unclear if he was engaging in good faith about demands he he had around a conversation on uh installing a economic model for the token or if he was just buying time until the proposal would would conclude and the token transfer would execute

right right kind of like the way like heers keep you on the phone and they're like draining your bank account but you don't know you don't know until it happens yeah yeah exactly precisely yeah and in in the the language that he was using and the the statements he was making were suggestive that he was you know not engaging in good faith that he would appeared to be acting in a manner of somebody that was in fact stringing us along so uh I think we were surprised to see that overnight he ended up actually canceling the The Proposal right and by us you mean the compound delegates yeah know humpy knew and was particularly interested in having conversations with a few compound delegates a few of the most well-known ones that doesn't include us and so they

were leading the conversations and other delegates a large number of delegates including us were just kind of weighing in and talking and trying to figure out what he wanted and his requests were very benign I said a little bit earlier but all all he was saying was that he wanted to have a conversation about a specific economic model for the comp token which is such a normal totally it's just a totally reasonable thing to want to talk about that I I'll admit part of the reason I didn't really believe it is because I felt that he didn't really need to ask for that you know that's just like a thing you can just go do and post on the Forum and have a great conversation reach out to delegates and they're very responsive and I've I've seen that uh so I kind of

didn't believe it for that reason it's like why would you need to do this to get access to this like very available thing yeah it actually reminds me of how in a lot of social systems the people who feel they have the least power feel they have to act in a way to to gather power I.E in this case more voting tokens because they don't have the social skills to do that well you know it's kind of interesting yeah totally yeah maybe and maybe that's what happened so at the same time that the delegates were discussing in uh you know in good faith with humpy his economic proposals and how we could talk about it and fig figure out some details about how it might work we were also preparing a series of Defense Maneuvers to make alterations uh through subsequent governance proposals to compound

governance in order to minimize the risk that if humpy and his group had amassed a very large portion of new governance power the rest of us and the rest of token holders uh who still constituted a very meaningful majority obviously yeah would be able to uh ensure that those proposals went slowly step by step and had broad agreement so there were a bunch of defensive measures being considered but uh as Ross said none of them were needed because humpy canceled the The Proposal before it executed so which to me of course I consider a sign of integrity and well meaning I mean of course the other facts I highlighted are pretty negative and you can kind of see

in uh look look a bit adversarial but if you're going to go out of your way and cancel and you know you're happy just to see people arguing about the thing that you wanted them to argue about then that seems totally fair to me I wish it had happened in a different way but that's a FAL result yeah well and a game does not all have to be people happy playing happy families with each other a game has to have adversaries in it to some extent and this ties in well to we just released a paper on introducing cash flows application tokens so historically application layer tokens like compound have not been able to connect the cash flows of the underlying business with the token itself and so we released a paper that proposes some solutions that

will enable Dows to actually connect cash flows to the tokens this is probably a trend that's going to continue into the future which makes uh all of the kind of solutions that we've talked about today important for for Dows out there to consider I'd say the thing that humpy wanted was he wanted which I'm just restating part of what Ross said here but the thing that humpy wanted was for there to be connection between the uh yields of compound of the protocol you know compound accumulates fees that it holds for a variety of purposes including the safety of the system but it collects these fees and it doesn't distribute them to token holders and for a variety of reasons it has not

been feasible to do that he wanted to do that and there're you know ensues a debate about how to do that this is the proposal about staking rewards for the comp taken holder token holders that's right okay last question I want to ask can you guys explain the multisig so one thing that was very interesting to me is that you know Golden Boys the group that you guys said is the group that humphy is part of is that they were moving the tokens to compounds treasury to a multisig that was under the control of golden boys and that one of the things that happened after the vote passed is that the delegates agreed that the simplest and strongest thing to avoid a permanent government takeover because again it didn't happen but if it had would be to transfer compound's

governance control to a multisig before humpy's voting power became available for the next proposal so the delegates submitted a defensive proposal prop 290 and um all the compound delegates supported that can you guys explain a little bit of multisig because my understanding by multisig is it's actually a check and balance itself in terms of holding who can make actions and deter and act on behalf behalf of of of stakeholders so talk to me about the multisig guys and the and can someone actually also quickly define and explain very briefly what a multisig is well it it means like a wallet or a smart contract that requires multiple signatures hence multisig in order to execute itself in order to do a thing

yeah that's all the analogy when I think of multisig is like when you have like Mission Impossible movies and you need like five different people to put their hands their eyes their key turn the lock on a nuclear code that's what I think of when I think of a multisig yeah it's exactly like that of and of course it's programmable which means it can be very nuanced it could be like three of seven or like five of 11 but like one person is required whatever right like it can be arbitrary in its in its design but uh so there's two multisig in this story one is The Golden Boys multisig which had a variety of people selected by humpy I don't really know who was on that and some compound delegates reached

out to various known members of of that multisig but I think in the adversarial setting the assumption is that the members of the multisig could have even been fictional non- people selected by humpy or just civils of humpy like that is to say just multiple of humpy's wallets in order to create the illusion that the compound tokens were being transferred to a trusted group as opposed to his unilateral control right like why did he have this Golden Boys multisig well so it looked like he was transferring it to a diverse group of interested compound stakeholders as

opposed to having it look like they're just going to his wallet so that's humpy's Golden Boy multisig I I don't know and again I didn't investigate so that's just the worst case assumption so that's one of the two multi sigs and the other multisig the other multisig was a this is a little Nuance but basically a uh moving the control over compounds governance to a council so that the votes themselves wouldn't trigger outcomes in other words sort of it's like uh imagine dissolving Parliament or something or maybe more precisely transferring control to this multisig would mean that the multisig is what

controls upgrades and changes to compounds governance and not the token holders which is a dra itic and extreme defensive measure but may have been necessary should things gotten out of control it's a way of just quickly temporarily creating an extra efficient layer to avoid uh something filing out of control yeah and of course P passing that and making that change itself required a vote of a majority of token holders and the Hope was that we would be able to pass that vote before humpy's additional voting power was achieved great very helpful I would add that the original proposals put forward by humpy

one of the glaring markers that they were likely illegitimate is that the signers on the multisig so the other members that controlled the multisig were not clearly and explicitly put forward to the community on a legitimate proposal that moves tokens to a multisig this is always a standard that you'll see is that everybody that's going to sign on that multisig is made known to the members of the community that is super interesting I had no idea that's so interesting it's such a fascinating discussion because there's such a there's this is always the case and this is what always fascinates me about all things crypto onchain and offchain is that there's always a combination of a social and Technical layer at play and this is just such a great example of

that I agree that's super super interesting yeah I agree okay so let's take a step back now for sure on the optimistic part of this I would point out like if we look at those previous governance attacks you referenced like the beanock attack for example we know how to prevent those and perhaps because Dallas have taken the right steps to prevent those the things we're seeing crop up now like this compound one are more in this gray area they're not the like the beant sock one was like a clear vulnerability this is like a more complicated more complex grayer one perhaps because we've made a lot of progress on fixing the low hanging fruit that's so great of a point Andy I'm so

glad you brought that up I'm again going back to 2018 and Phil Dion's work on dark Dows and it's just so fascinating because we've come a long way from the days of obvious I mean I think those will continue to happen but it's just that as people get smarter these things become more sophisticated and as Eddie has clearly pointed out in this episode too very nuanced in this case like what the intents and motives are is there anything else to add on this front like a high level takeaway alls well that ends well that's a great way to and the episode I'm going to let you have the last word on that awesome guys thanks for taking the time thank you so much you guys of course thanks s thanks everyone well so one one clarifying note also his name is humpy like a whale oh

humpy do I keep saying Humphrey yeah hump I think you're saying humpy oh gosh but it's it's all good it's all good it's humpy it's humpy like a whale like a humpback whale cuz whales and crypto has a lot of tokens oh oh my God I can't believe yeah yeah very funny okay there we go thank you for listening to web 3 with A6 and Z you can find show notes with links to resources books or papers discussed transcripts and more at as6 Inc crypto.com this episode was produced and edited by sonal troxy that's me this episode was technically edited by our audio editor s Morris credit also to moonshot design for the art and all thanks to support from as6 andz crypto

to follow more of our work and get updates resources from us and from others be sure to subscribe to our web 3 Weekly Newsletter you can find it on our website at a6c crypto.com thank you for listening and for subscribing let's go [Music]