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

Loading player…

EthCC 2: Lucas Vogelsang

Ethereum ParisWed, Oct 9, 2019, 12:00 AM

Speaker

Lucas Vogelsang

EthCC 2 The Ethereum Community Conference is created by the community, for the community. It brings together great minds and forethinkers, and allows the community to grow. follow us : @AssethFR https://ethcc.io

Transcript

all right good morning everybody thanks for making it out of bed so early I know I was struggling with it so happy to have you here I'll talk about privacy and I want to talk about why matters a little bit and also like what you can do to make sure you build with privacy I'm gonna highlight some of the things we do at centrifuge and I think why it's important to like sort of start thinking with that and if we have time in the end for a little bit disgusting discussion about it question sharing ideas I think there would be a wonderful idea to do a little bit about myself I'm the co-founder at centrifuge I've focused mostly on that protocol on our tech I've always been working on different web products like basically since I left high school I was building some something that was connecting people businesses in one way or another what what is centrifuge centrifuge is a young project small were in Berlin um oh I don't know one and a half years ago we started looking into how to build a decentralized protocol that helps connect businesses and sort of settle their transactions work on are sort of we work on bringing companies together in a way that doesn't require any intermediaries any trusted third parties but that they can transact beer to appear so we're building we're building a product for a cerium it's it is it is completely open open source for free for anyone to join and nothing that we control but the problem for us is once you start talking about real world transactions for a company if you're gonna tell them that everything that they do is going to be open on a public ledger that means that their that your competitors can see what your profit margin is your customer will see that too and they'll say hey like I'm gonna pay not a not a cent more than what your margin is because I know I can I can negotiate down to that you have your your your your competitors look at where you buy your goods what you do and sort of try to copy you for example I there's all these problems that we we somehow need to solve so this is this is where I'm coming from or what I what I do with privacy in my job but it's also I think just something in general like as technologists we should think of the impact that we have building building these things and and making sure that we build build technology that works towards privacy towards freedom in the society that easily gets lost in the interests of corporates and individual projects so I'll just try very briefly to summarize centrifuge because I'll talk a little bit about some of the concepts but I don't want to spend too much time on it centrifuge itself is I said it's a protocol what we actually do is we define a way that companies can for example settle on order purchase goods so if you think of just buying something as an individual it's you go to store you give you hand the person a dollar and you get your coke as a company you have a purchase order you have you have to settle on a price you're gonna ask for a quote you're going to approve it internally you're gonna ask for a delivery receipt you're gonna get an invoice you're gonna pay that invoice and then you're done so back and forth back and forth we're we're building a we're building processes to do this in a decentralized way I mentioned on chain we use we usually live p2p to do those of the heavy lifting like all of the often communication and then it in a theorem for first sort of our network security for um for as this immutable ledger that we need but going to back to privacy the definition of privacy is the state or condition of being free from being observed or disturbed by other people so if I translate that to what we do I think it it translates to if if you build a product that enables privacy or if you want to give users privacy you build a product that requires the least amount of information necessary from the user to achieve the users goal and you give the user control as much control as possible over who they want to share this data with as possible so Matt Matt Greene one of the inventors of Z cache actually came up with this I think it's a great it's a great analogy right like VidCon is like Twitter for your bank account and the first he's making his case for privacy enabled um transaction transaction so Z cash but if we apply this to the theorem world is the theorem Twitter for everything else right like everything you do in the world every every single thing is um is public eye let's hope we we don't end up building this world just I could rant about why privacy matters give you the examples like talk about Oh like my privacy I've got nothing to hide etcetera etcetera I'm gonna skip I just want to give like three like small small stories to to make this a little bit more colorful I have three personas so let's start with Joe Joe use his coinbase funds his coinbase to fund his a theorem wallet he by script recoletta collectables kiddies whatever he participates in some content content creation and social network as using some of these some of his aetherium funds to tip people he's a bit of a political activist he's maybe Pro Union Pro unionizing or doesn't apply doesn't agree with his employer on some of the things that his employer does voices these things publicly unfortunately for him while he does so publicly but thinking he's doing this privately but well at some point corn base gets hacked their account database gets leaked and this if you're a mattress that he was using that he thought was private and not really linked to his identity is now for a real inked and the same way that your employer can now look at everything he posts on Facebook well with with all of these interactions on a theorem he's he's gonna have a much harder harder time looking for a job with with something like that out in the open another different example and these are just made-up examples but I think very sort of show what can happen let's talk about Karla she spur jizz on a five-star hotel room because she's been working really hard and wanted to treat herself with something and like this this once she said okay well this is this is an amazing place I'm gonna I'm gonna splurge on this luxury problem is she hasn't she she did this on booking on booking on DAP hotel or whatever decentralized booking calm but she hasn't booked her flight yet so now she goes back to this side or if she goes to an airline company and tries to book the flight the airline company sees well she just paid $400 a night for a hotel room there's no reason why I would offer her a flight to 100 for $100 if I no she can probably afford a flight for $300 so now because she made this transaction in the public if the airline company is going to to charge them and this is monisha Lee with Airlines actually like if you look at their pricing it's one of the least and least transparent ones and they're trying to do this already as much as possible right like you pay you pay $100 today you pay $500 tomorrow like think of think of the information you get if you have just everything out in the open like this is not really something you want like another thing like if you think of health insurance right if you would buy your health insurance on the public marketplace that is a peer-to-peer insurance and then suddenly you you have to go to an oncologist oncologist for treating you for cancer well like if you pay that that doctor with your same with your in wallets that you pay your insurance the insurance company even if they don't know anything about the doctor or about this this this health issue they might start to try to deny you service or like for hike your prices hike up your prices or whatever right so all of these things if we build if we build these systems in a way that we enable this they're going to end up with people wanting to do it because it's clearly in the interest of of the individual actors to to optimize for this right so I want to quote this is the wall of text but I had to put it in a slide so I can read it out loud for you this is a this is a second introductory section of a paper that was published by Jerry Brito I think it captures it captures the privacy topic quite well there Cohen Center is I guess if they think tank um and and the audiences are legislators politicians etc so in a world without cash a bearer and peer-to-peer form of money all transactions must be necessarily intermediated by financial institutions intermediated transactions are by their nature subject to surveillance and control if third-party financial institutions must be part of all transactions then they will be privy into the intimate details of everyone's financial life they can also choose to disallow certain transactions and potentially even certain persons from transacting intermediation as many benefits including efficiency and convenience use responsibly the information gleaned from the privileged position of financial intermediary can also allow one to better extend credit to prevent fraud and help the authorities to fight crime but it can also be abused spectacularly by corporations and governments so if there's no way to avoid intermediary then individuals will have no way to preserve their privacy or their autonomy and so in the blockchain context there is no act no intermediary in the traditional sense of having a corporation here sitting in between everything but there is this public ledger that sort of acts as this thing that takes away the privacy and sort of and and can expose you to the same problems so if I look at the theorem ecosystem and this is very early we're sort of all still at the at the beginning where we we think that this can grow a thousand times in every direction in in size everywhere so privacy is maybe not like the most important I'm so looking at this this graph of not important important and burning and not so burning well like yeah like selling cats cryptic it is maybe not important but it's fun so it happens already today the value of youth is something that's greatly discussed but it's actually also not really important to what we do within reason I say for smart contacts definitely super important we need to figure this out it's a hard problem and it'll it's not something that we need to address soon right scalability is high up there both on the importance and the urgency like we need to act on this we need to be salt solve it because otherwise if people can't sell their cats and buy conference tickets or whatever at the same time we're gonna we're gonna have problems right but I think and this is this is not where this is unfortunately at the bottom right and that's why I'm talking about this because it's it is a very important privacy is a very important topic but unfortunately not something that's burning it doesn't cost us a lot of pain until it's already too late we've all been using Facebook very happily until cambrie analytics and everyone had this wake-up call right this is this unfortunately tends to happen with with this topic so nevertheless it's something that is important then we should um we should talk about this so just in a few minutes very briefly I want to talk about what we do at centrifuge and sort of as a way to give you ideas how you can actually address this stuff already I mentioned that we use the p2p and aetherium and this is for for a few reasons right there's actually two main two main reasons there's some scalability and privacy we use aetherium to to store sort of our identities like these are public keys that are being used we use it for interacting with on chain like with Sanders like NFTE zrc 20s etc and we use it too for these like commitments like we call these anchors so a theorem gives us this public global consensus that gets extremely secure but it's slow and costly in public so let p2p we use for sort of doing the transacting most of this stuff meaning all of the the actual data that we send back and forth we exchange on on on the p2p in a network that is fully private and you only communicate directly with the counterparty that you find using a non chain identity so I mentioned right blockchain consensus is extremely extremely secure because I have everyone in the network validating it it also means everyone pays you pay for everyone validating it and you have everyone validating your transaction therefore also reading your transaction so that's the model that we have is we actually we're saying it's more it's more of a state channel so you stop using the blockchain for validating every transaction you only use it to settle disputes right so Alice and Bob can transact in private without everyone being privy to it only if they can't can't agree they will actually go on chain and because you have this on chain arbitration it's very likely that they will ever disagree because they know they can always go - they always can go on chain to actually settle to settle that dispute I'll skip over this I'll skip over this right so I want to talk a little bit about Merkle trees everyone knows him right they're used all over one of greatest things we make allows us to do things like actually building a blockchain we use them actually for something that's a little bit more than just making sure that a transaction is in a certain block or a I don't know you're a member of a certain group of people or whatever if we if you look sorry if you look at this tree you have the leaves and you have to root - I talked about and in this example right centrifuge is dealing with invoices and purchase orders so I'm in this example I'm using an invoice actually what we do is we take we take the invoice we take each individual field we we encode this in a leaf which gives us the ability to actually use a Merkel proof to then say that I have an invoice with Merkel roots X and the amount is actually thousand five hundred dollars without telling you who Mike who my who the supplier is or where it's going to be shipped to or what the due date is all right so this allows us to give you deal with large large parts of data off chain give you sort of control over what kind of statements you want to make about this data on chain and how your how your we're going to interact with it it's also great for scaling things right because in thinking of an invoice it can be potentially like 10 kilobytes in size hundreds of fields you rarely need to talk about everything at the same time so you can actually use Merkel proofs for for sort of showing what you're doing this we published this we call this library precise proofs this is actually just that just dust this encoding we we allow you to take protobuf messages which is a schema that Google came up with and and and sort of encode that in a tree I encourage you to check it out take a look at it and sort of like maybe maybe use it find find some ways to do cool stuff with it no we actually do with these miracle tree merkel roots is we commit to the Routan chain so that allows that allows actually for any document that is sort of transacted off chain to make thence to later on make statements about it and sort of validate by a smart contract what what you it excuse me how much time do we have to have left okay fifteen okay good yeah so it allows you to so with with committing to this route on chain that we then can interact with other smart contracts you can make statements about these these documents too they can be validated right so with with all this privacy every service with with this need for privacy you have to start thinking about building bridges because now you've moved all this all this information off chain there's no way that a smart contract can just read the value from your smart from from Europe from your contract or can interact with it directly so what we end up doing is we end up building bridges and one of those bridges that we build and and so for for centrifuge like one of a big use cases as a business I have I have invoices i invoice my customers they're gonna pay me in 60 days maybe even 90 days 120 days but I need to pay my employees now I need to like pay the suppliers that are giving me the stuff that I need so I have I need this cash immediately this is in the traditional world we call this is called factoring you go to a bank you tell them I have this invoice I'm gonna get paid in 60 days are you willing to give me the money now and I'll give it all I'll give you I'll pay you back whenever my customer pays for of course for a small fee and and we want to we want to allow our users to do invoice fine and saying factoring without a counterparty without having to go to this bank right and we want them to be able to make to do this by by saying hey I have this transaction that I have this invoice that I sent to my counterparty they've signed they've they've countersign did write this this is the Merkel route that exists on chain right so the this anchor registry that has that has this the the route ash of the document that is this invoice so so what we can do is we can actually enable you to mint and NFT so we have this NFT registry this NFT registry basically says if you can provide to me approve that you are the supplier of a valid document meaning you tell me how much the amount on the invoices you tell me and tell me you that you should prove to me that you are the supplier meaning that the signature on the document that you are that your user is on the document that you and your buyer go signed it etc like you provide all of these merkel proofs i don't need to know anything about what the goods are that you sold where you shipped into what the prices were of the individual items i just care about the total amount then this contract is going to issue an NFT with this metadata attached so now you have an NFT that says there exists an invoice off chain somewhere that has an amount of $1,500 and is due in 60 days and now you can take this nft you've revealed a little bit about it meaning how much and and the date but you have maybe not revealed anything else and now you can go to something like Dharma or maker Dao and use that as collateral and to interact with with this defy ecosystem another another like use case that we're thinking of like if you think of a hypothetical insurance company that is actually a smart contract I would I could say I want to ensure that the delivery that my delivery is actually I want to ensure that the safe delivery of my goods I go to this insurance contract and I say please please make I'm going to pay you a fee please ensure that my goods will be delivered if the shipment gets lost and I can I can claim this money well today I would send a copy of the invoice and say okay like I'm delivering a thousand shares they're gonna be shipped to to Brazil we container and I need insurance for this right and then the insurance broker is gonna give me a quote he's gonna have all of the information and now the broker has has all has all these details gets paid and will insure you you could do the same thing actually the this insurance broker has just a very they have a very simple maybe table right like there's a factory by country there's like depending on the goods depending on how it's how it's shipped you come up with some sort of number and in the end you say okay insurance and my insurance cost is one percent of the goods sold if it's fry if it's if it goes to two let's say the US instead of Brazil it's maybe like 0.75 percent so you could actually build a zero knowledge proof that proves that you've that the supplier themselves have calculated the correct insurance amount based on the private information in the in in voice so you give these merkel proofs to a snark instead of a instead of actually posting them on chain you you um you prove this snark maybe I'm very quickly zero knowledge proof if you haven't heard about them this is basically a way to to prove a certain statement without revealing anything about these statements so think of think of it as as I can I give you a challenge if you can solve it you've proved you've proven to me or to anyone else that can verify it that that you know the secret input to do vApp to to sort of get to the result of this puzzle but I don't get anything about this the secret input so I don't I don't find out anything about what you've used to sort of create this proof so we can as an insurance company I can create the snark and that sort of has this logic of how much I need to get paid to properly ensure ensure a a shipment I can let the supplier this I can let the supplier create calculate the proof with the private information so the delivery country the volume of the goods how its shipped etc and then that that supplier basically this mark now has a public output it says ok like based on this private information the insurance should be 2% and I and then the supplier attaches the 2% payment and pays the insurance contract and now that insurance contract can actually say yes this is insured because I know that that I'm getting paid the right amount of money but I don't I have no idea what I'm actually insuring and in the end everyone's gonna be happy because a broker knows are getting paid fairly and or this contract and as a supplier I know I've know I don't have to be worried about the copy of my invoice ending up in the hands of my competitor because insurance broker is corrupt and this is it's handing this information to my competition this is those are just two examples there's many ways that if you have if you're sort of thinking of moving data off chain that you'll have to think of how you interact with this stuff standards like n if T's just digital signatures there's a lot you can do here those two examples I hope show like some some of the potential and with that I want to conclude my presentation just to summarize you always have this on chain off chain trade off or sort of private public trade off scalability but actually with that trade off you have the same trade off a scalability so everything you can move off chain make sure your app scale better and generally and if you do it the right way it can also make it more private so this goes goes well together you don't always need global consensus right as a buyer and a supplier if the two of us agree on something that's usually enough so I don't need all of ethereal notes to agree on the fact that our invoices is done the way we want it to be and I'm by showing like some of these things that we're doing I want to say like it's not on the top of our heads but actually the technology is here already to sort of do this to build to build a privacy focused product well I'd say mostly but I think it's yeah it's something to get into so yeah think about it from day one I think like if you can if you can make ways that your protocol keeps things private in the beginning it's gonna be much easier than trying to tack this on later on so like when you're designing stuff you can always make compromises you can always go on chain more often that you have to you can always reveal more than you have to because you don't have a way to do it easily right now but if you sort of keep this in the mat in the back of your head I think it can it generally puts you in the good spot alright thank you very much if you have any questions how long one okay thank you for amazing talking for bringing up this topic I'm totally with you on the importance of privacy I actually work also on zero knowledge proof scaling and privacy solution was with snarks my question is what do you think about the market demand because my impression is that that you mentioned some some examples most people are kind of the absolutely don't care they just say oh banks will be fine like I mean they're not going disclose my information or Facebook yeah there was this noise about a privacy concerns but then everybody just stayed and Facebook just reframed it now with all we're gonna have care for privacy and everybody's okay super so if there is no demand it's gonna be very difficult for us to defend privacy because it's much easier to build a solution where the operator see the data as opposed to a completely dark privacy where you completely retain the control so what do you think we can do is a community who care about this to increase the demand doing to increase the awareness and to make people actually want this and to be willing to pay extra so I it is very hard to pitch people on privacy as I it's always something thing that comes last or after privacy has been exposed and then there's a little bit of an outcry and people go back to to to the way they've been doing things to increasing the man is really hard I go after those like there are users have wanted I think to scale we will have to we will start having to build it for for centrifuge for itself it's kind of a different case because companies definitely have a different different their different behavior than individuals just because I mean if you think of a company's accounting data that's like some of the most private data that they have it's big corporates are even hesitant to even hostess like on cloud hosting we oftentimes have like their own infrastructure just for their financial data so for us this is a something that luckily I think if we didn't offer privacy we couldn't sell our product as well so it's it's not it's not a choice I haven't I'm happy that I don't have to make this choice personally of course I also want to I want to I care about my own privacy and it's a topic I care about irregardless of centrifuge so for the for the broader like for for other use cases I mean increasing demand is going to be hard I think focusing on showing that a that it is possible to do that educating users educating users how they can take control of the data I think is is going to help I think actually this this German right to be forgotten is great that you can ask for your information to be erased and so the the policy that is going in this direction actually I think can work because it's it's hard to privacy is not something that you're getting an immediate benefit from on an individual level right like if I if I buy an ice cream today I'm not gonna get a better ice cream or get it more cheaply if I do it with privacy enabled product so like the ice cream that I care about getting right now I kind of like privacy is not gonna help me help help you sell a better ice cream right or make that ice cream better but I also politics I think is it's good it's good and like making awareness there um other than that like just build a product that works in this private and show show people that it can be used and it can be good but I would be curious what others actually have to say if someone has a good idea we need to increase demand I think this is the best way to make some of this stuff work so yeah zero registry could you ex I mean I expect that the NFT already contains a hash of the invoice and then you have this body of Ankara which contains private data could you explain it a little bit better what's the goal of this anchor and how the privacy is softer and who has the access to that anchor how was used so the anchor is a merkel route that you create no matter whether you're trying to trade in to mint and nft later on or not so i can imagine you you send an invoice you you commit to these 32 bytes on chain and like five days later you decide okay now i want to go i want to finance this invoice you would actually it sort of acts as a timestamp and as a gener'l i just sort of this is a route ash that can be used by any anything else that wants to verify merkel cruise right so the NFT Registry doesn't it doesn't contain the hash it just asked for a hash of an anchor so that allows you basically to sort of know the precise time it allows different it allows for minting of different NFT so if you think of like this payment obligations for getting paid on an invoice early it's just one thing what you might want to do different things so this this is what sort of how we've abstracted it who can ask it who can ask the anchor for revealing the data well this to the anchor so the the anchor is just a commitment on chain the the medical route so the numerical route yeah the the private data is shared just among the know the the participants of this transaction so in this example the buyer and the supplier and they will not give the data to anyone else unless they're like unless someone else can show I have I have a valid reason to request the state in which case they would we're not solving data availability issues I don't want to get into that because I'm sure this is like one of the first topics that will come up but so the the the I mean the privacy there is preserved on a on on just like keeping this data off chain if you like in this NFT example I said the privacy you get is you it's not full privacy because of course you're still disclosing the amount but you sent you today you need to do this to to go into maker and actually put your your invoice into a CDP so we can't get around this but for example if you had if you wanted to create an NFT registry where you you have some sort of credit rating you have a deal with credit scores of different buyers you could create an NFT registry where you supply as your knowledge proof that you're the buyer on this invoice is actually with a certain credit rating but you don't have to disclose who it is and then you you have to sign if t that just has a credit rating that is verified with this norik and and an amount but you're not disclosing who your customer is right so this is like how you can get and there's different ways sort of different levels that you can do the goal is just making it allowing you to sort of choose what you want to disclose at what point in time and you can do like all of this stuff completely off chain and not not interacting with any like a theorem dabs with n FTEs or whatever and then like you you have your privacy and then the anchor just access is immutable timestamp anyone else questions thank you [Applause]

Automatic transcript — names and jargon may be misspelled.