Validator Privacy in Eth2.0
ETHCC 3 · March 2020 · 16:46
Mikerah Quintyne-Collins examines validator privacy in Ethereum’s planned proof-of-stake system.
Speakers
Topics
From ETHCC 3, hosted by Ethereum France.
Transcript
so hi I'm Akira and I work on East to mainly privacy related stuff today will be an introduction to validator privacy and the problems space originally was going to talk about like networking stuff but it turns out not many people are familiar with this so I'll just introduce a higher level description of what needs to be done and problems that you'll encounter so first I'll provide motivation it may not be immediate obviously obvious why one letter privacy after all transparency and being able to see everything and you know hold people
accountable and I mean that's true and for proof of stake you do need you know public systems to hold people accountable in order to /cam and whatnot however we've seen in the in the real world that this isn't all that realistic especially not only for users themselves on chain but you know the people who take the time to get the resources and knowledge to secure the network so to provide some real-world examples mainly in the context of proof of work so quick just you know what proof of work you have these machines and you mind so you know that this requires tons of energy
and there are like personal Costas right so now you have you have like outside expenditure but if you're in a hostile situation governments could easily use this information to track down whether you're mining cryptocurrency this can be an issue since if you have no other way to access crypto like you don't have a state exchange nobody around you has crypto to buy to sell your only your only way is to just you know mine so they're examples of countries like looking at energy usage levels and cities and towns and getting people that way since you have like physical hardware it's easy to raid all these issues arise in the real world
but in the context of proof of stake not everything is virtualized you don't you know when you get these like real-world problems where I know your equipment your equipment is used because I mean your computer is a general-purpose machine use it for whatever then I just gonna seize your computer unless they have a reason to and also you don't have this like extreme energy usage problem however you do get a new set of problems obviously you know you get like bribery since it's steak there's blackmailing we've seen this recently there's a proposed attack that was published and III searched I proposed a potential like blackmailing attacks on on valid leaders but then also since everything is virtual and
you're most likely doing this just over the regular Internet it's very easy to just track your activity for any anybody really a government or a hostile group maybe your friends if they want to play pranks on you so this becomes a potential problem especially if you know one of the goals of e 2 is to ensure fairness and accessibility and censorship resistant centers of resistance so these types of problems aren't easily solved with just you know mixes and tour which are like common approaches today for users in fact I don't even think
miners use and you don't really use like no Network global privacy they might use like unchain methods but yeah I hope like throughout the rest of the talk I'll be able to convey that this violated privacy is like way more complex in the world world than it is currently and that it's really like a full stack problem ranging from the network layer to like unchain layer as well so before I go into details I'll just like give a definition of all their privacy I guess like many people here have you know coral-like
intuitive definition which is like you want to stay private if your validator and you don't want like an adversary to know what you're doing which i think is a fair definition and I'll define it similarly like as a valid there you want to be able to control what information you convey to the world whether that be how much money you're earning being a validator or whether you're using your own personal network or whether you're using the cassette of sort of computers to validate yeah so before going into sort of requirements I'll try to present the idea of privacy notions and how do
you apply for validator privacy privacy notions let us define a set of privacy goals and properties that will enable us to compare different strategies and protocols for protecting privacy and in doing this you'll kind of get an intuition for you know how hard the problem space is for about their privacy so informally privacy notions are game-based definitions that are formalizations of privacy properties for
example we all know you know tor lets you browse the internet anonymously and what this really means is your ISP can see your IP address but it doesn't see what you're looking at so you're the sender and what's being you know unlinked is a message Jason thing which is traffic to a website and this notion is called cinder message only capability there's other concepts such as send their message observability which means you don't see who's sending a message and there are some cases in which you'd want to hide both the
message and the sender you might want to hide both the sender and the receiver but keep the messages public you might want to keep only this receiver private so privacy notions are like these theoretical building blocks that like help us sort of get a feel of what we're trying to actually solve and it gives us like a nice way to develop nice threat models and see whether like any improvements were trying to add to your protocol actually you know does what we want it to do so for validator privacy there's a whole
host of privacy notions that can really help in determining the requirements there are some that might come off as like contradictory to another considering you know the requirements were just used to in general if you're familiar with the protocol for example if if I'm a validator and my threat model is I don't want the government to know that I'm you know participating this kind of entails like multiple various notions for example you you want to send their message unlink ability the problem with this is that in East to you
you need to be able to actually Bute messages to validators in order to properly Ward them in slash them so this is kind of contradictory to sort of the goals of the protocol but at the same time you want to stay private another privacy notion that's relevant is sender receiver unlink ability this one isn't too bad since i mean ii ii ii uses it uses a gossip protocol however if you're dealing in the case where you have a global passive adversary you might just end up it's it's easy to track since they have a total view of
the network at least theoretically other privacy notions include you know repeated messages so in you you're expected to stay online and send messages at particular times in a timely manner however this can be used to you know easily track you down so say you're using like some fancy ACN that exists but just by looking at the metadata like how often you're sending messages the links of the messages like this could probably track you down to being about there and if to you know all of these
our public eye can be easily used to track you down so in discussing this it kind of leads us to what we want and with some properties that we might want for not only the networking layer but what we might want like on China as well so briefly at the networking layer considering these can like these properties that we might want you might want something that's like lowly tea you might want something that's like low bandwidth however there are impossibility theorems that say you can't really get decent privacy with
both at the networking layer so there's trade-offs they need to do at the network or not at that layer I'm considering East twos goals and then at the consensus layer where we can see everything there's there's similar trade-offs so there is it is possible to have fault attribution and a more anonymous fashion however that does increase you know it does decrease sorry diss your bolio system a little bit and can lead to you know a more complex protocol so in talking about these
trade-offs be thinking okay what needs to be changed I mean honestly a lot of it would need to be changed but that's not really possible since there are test nuts people wanted to launch like immediately you know we all want east to go 1k or whatever but the reality is like privacy needs to be designed from like the get-go and retrofitting in to you know any currently existing system is very hard because now you don't get like the best possible privacy that you possibly can for validators which leaves like a huge segment of a potential you know cryptocurrency user
sort of inaccessible they might have to go through other ways to acquire eath or become a validator so like the current status of validator pricing East - it's all public just like no guarantees I mean anything so sure I'm certain messages are directly associated with like an aunt an identity but if you listen to the network can easily map messages to IP addresses - on chain on identities so you can create this like panopticon of know all of the validators and see what they're working on see how much wealth they have own and especially if you've
used like ENS you could potentially map there like eath one identity to the e 2 identity and we already know that like if one is being tracked by like you know chain analysis elliptic and all those companies so they can easily see like all of your activity so I'll end the talk soon and just for like future work open questions for those of you who are more privacy oriented and want to participate in 8th - so some future work would be like prototyping and more implementation and discussion research around Hama we actually you know balance music and an immediate trade-offs at the
network level with you know the goals of the system another open question is people don't talk about this a lot but once you add like anonymity or privacy into a protocol you do end up changing some of the economics sure it's possible to actually be fault in this context but it's actually it's like a non-trivial problem and this you know has some issues with slashing and accountability so yeah there's quite a few things that's it [Applause] maybe Kara thanks that's great I was
wondering whether you had any direct inable items that implementers can potentially work on for the hopefully imminent launch of ETSU so personally I was planning on gathering some like a team of my own and just so let you guys know be implementers and actually you know work on stuff and then I would just like help out in terms of seeing you know what kind of solutions might work currently and get recommendations in terms of actual implementation details to how we might approach this problem so it's still kind of open yeah okay cool one of the things that we were sort of
discussing with a bunch of people with Peter I'm sure you know I'm not sure if everybody does but there's a volley better client that connects to a beacon node the beacon node is your gift parity and valued at a client that's what holds your keys so if we're able to basically shuffle the connections between your validator client and a multitude of different beacon nodes it makes it much harder for an adversary to dust you because they're basically would have to toss all the beacon nodes that you would be potentially connected to so that's one thing that we're currently thinking about it lighthouse yeah so for that what not so then you as a validator wouldn't you kind of be like a light client of we'd be more of a light client
than a full node I've heard like some discussions about whether there should be the like the case like whether as a vowel that you should definitely gonna be good note so I think that's something to take into account because it just changed like the real-world properties and security of the system if everybody should bow their client but no a few beacon nodes or centralized somewhere so any other questions No thank you we care for thank you very one for the listening [Applause]