David Vorick: On Skynet and Trusted Setups

22 May 2020 · 55:17

Sia CEO David Vorick returns to Epicenter, hosted by Sebastien Couture and Sunny Aggarwal, to discuss Skynet, a decentralized web hosting layer built on top of Sia's storage network. The conversation compares Skynet to IPFS and Filecoin, makes the case for a decentralized data marketplace, and turns to why Vorick considers trusted setups broken and what alternative zero-knowledge primitives the industry could build instead.

Speakers

Topics

Transcript

[Music] hi welcome to epicenter my name is sitting with you today as a bonus episode we're interviewing David vork once again he was on the podcast a couple of months ago to talk about SIA well they recently launched skynet which is a new product that builds on top of SIA and that adds a lot of functionality to their existing decentralized data storage network and so we wanted to talk to David about that and understand what is Skynet and how it improves on SIA but also I wanted to talk to David about

something that we didn't get to discuss during our last interview with him which is trusted set ups so actually I heard David speak for the first time in tel-aviv at the star core sessions conference and he gave a talk about trusted set ups which I thought was really interesting but we spent so much time talking about SIOP in our last interview that we didn't get to cover this at all so this was all also an opportunity to sit down with him and talk to him about trusted set ups why he thinks they're broken and what kind of approach we should have in terms of insuring that zero knowledge setups and the zero knowledge infrastructure upon which presumably crypto will rely on in

the future can be trusted so there's lots of interesting ideas in this one and I hope you'll enjoy it a little bit of housekeeping before the interview we're gonna do a virtual meetup on May 29th you know it's been several months now that all of us have been in confinement and we want to check up on how you guys are doing and you know see what you're up to these days and get the pulse for the types of things that you're interested in just have a chat so all of us will be there Mayor Sonny Brian fatica and myself and you can come hang out with us you know zoom call so it'll be on May 29th at 9 p.m. Central European Time 12 p.m. Pacific 3 p.m.

Eastern Time and you can register for that at epicenter doc rocks slash virtual Meetup and you'll get all the details and the calendar invite so coming hangout with us would be lots of fun and with that here's our conversation with David vorak we're here with David work David thanks for joining us again on the podcast hey great to be here so we had you on just recently I can't exactly remember how long ago but it's like 2 or 3 months ago and we we talked about SIA and everything that you guys were building there in terms of decentralized file storage since then there's been some news recently you launched this this new layer on top of SIA or this new platform

we'll get into it in a moment called Skynet it's something that I'm personally really excited about because I'm I'm kind of like excited about the opportunity to store files online in a decentralized way and trustless way that doesn't rely on companies like Dropbox and Google etc so I think it's something that even like I'll start using personally so I really excited about that and we also want to get you on because last time we didn't really get the time to talk about it but you know I first encountered you when you gave a talk at Star core sessions in tel-aviv where you were talking about trusted set ups and how trusted ups are broken and this is something that I've been wanting to talk to you about since we did that interview and so you know we'll spend

some time today talking about trusted set ups and how it trusts ups are improving with things like Sonics and stuff like that so thanks for joining us yeah glad to be here and excited to talk about both Skynet and explore trusted setups more deeply so let's let's maybe start with Skynet so what is Skynet you know for those who heard the episode last time or maybe some of those who didn't let's let's maybe just briefly recap on saya and from there getting to Skynet and how it improves on on the existing saya infrastructure yeah so Skynet is an application development platform and the ultimate goal of Skynet is to replace the cloud

as the primary way that people deploy applications and so for example today like half the Internet is built on top of Amazon s3 when they go down half the internet goes down and there are very good reasons the cloud offers many substantial advantages over a more decentralized like host your own infrastructure approach but this comes with a bunch of trade-offs one of the key ones being Amazon's in control and everyone's kind of dependent on the single point of failure and Skynet has been created as an answer to that and so what we want to do is enable developers to build the next YouTube the next Instagram the next snapchat and really with an emphasis on like social media or

the next file sharing app the next you know the next BitTorrent on top of Skynet and so Skynet is this application layer that gives you the ability to store and retrieve data and that data can be application code it can be user accounts it can be friends lists and from that you can build an entire rich decentralized application ecosystem and so that's what we're really excited about we think it's it's the most powerful thing that's ever come out of Mosiah team so when we when we talked about SIA last time you described it as a you know a distributed or decentralized file storage network where

people are providing storage space storage capacity they're actually renting it to the network and you know other users can can rent that storage space for a fee they they can store files there to retrieve those files what does Skynet bring to that what were the what's new about Skynet that you know we didn't have in the plane kind of saya infrastructure and is it built on top of saya or is it totally different so it's built on top of saya and really it's not even like a layer to so much as a day is from from a tech perspective a small upgrade what Skynet does is it allows people to download other people's files

and so before Skynet on saya if you uploaded something to saya you actually couldn't share it the only person that could download it is you and that you know it's good it's good infrastructure and it's great for certain use cases but it's very limiting if you're talking about the future of the Internet what Skynet does is it allows you to go and download any file that you have the encryption keys to and that you have the link to and so you can share files with other people and then download them so technologically it's very fairly simple but what this allows you to do is build really rich complex applications on top that essentially you know at the end of the day most of the Internet is just

passing data around and so now that Skynet has the ability or saya has the ability to pass data around between users we can build essentially the rest of the Internet so just to maybe put this in context of like comparing it to another project that you know many people might also be familiar with which is ipfs so you know I think you could say that the IP FS or the entire protocol labs stack had a similar goal but you guys sort of approached it from different starting points where the protocol labs team built ipfs first which is the CDN the content delivery network and they're in

this like you know I don't know five year long so I don't know how long it's been so far but you know file coin is supposed to be this like sort of economic incentive ization layer meanwhile what you guys did was you sort of built the economic incentivization layer first which was what sia blockchain was and then now you've built on the CDN system where like you have the content addressing and you know basically a network where do you guys use a similar sort of like DHT that ipfs uses or do you use sort of a different technology underlying yeah so the technology and and I love the way that you that you put that I think I think that's completely right IP FS / did content first storage second and we

did storage first content second or incentivization first in distribution second and to us I think that the storage layer is where all of the key constraints are and so it's I think it's much better and I think we did the the right approach because that's where you're most constrained and that's where you have to make the most difficult decisions and so we built this super optimized storage layer and now we can build an optimized delivery layer on top of that so to answer your question about the technologies and they're completely different a Skynet has this laser focus on performance because our goal is to replace the centralized web and that's

not going to happen unless the user experience is comparable or superior and that means that we have to be able to deliver content to users as fast or faster than say in Akamai there are Netflix who have these really elaborate centralized constructions to get data to users quickly and the problem with a DHT is that you have to talk to multiple servers often bouncing around quite a bit in order to discover where a piece of content is and then download it and that that bouncing around takes a lot of time so on Skynet and on saya everything is point-to-point when you get a file link you immediately have a constant time way just a single hop way

to go and fetch that file from a host and so the reason that we're so different is because we have this heavy heavy emphasis on performance and making sure that we can be superior to the centralized web right so do you use the saya block tree so I guess one of the reasons that ipfs has to do this I DHT thing is because they don't have a you know a centralized state within the form of a blockchain but you guys do is is that how you kind of get around it yeah so the the key thing that the blockchain does for with saya is it enforce that hosts have to hold on to the data to get the speeds we essentially just do a lot

of lookup tricks and we also use like so that the link that you receive has a couple of hints in it but say you should try looking here and often times you can get longer form links that just say outright like this file is stored at these IP addresses which again allows you to so there's we have more metadata associated with our files and how we do lookups but that metadata allows us to be extremely fast and so that metadata isn't stored on chain no it's not in the time that everyone's been waiting for file going to come out there you know instead what's popped up in its place now is a bunch of sort of centralized providers who sort of provide pinning

services so for example I've used pinata before and why does a this like Skynet vision need a marketplace inbuilt rather than just allowing sort of a marketplace to arise match on top of it sort of with providers so I think that I I would say that I'm pretty unhappy with the pinning model of ipfs if you want to be fully independent on ipfs basically the only way to do that is to sell post and so ipfs in some senses is like synonymous with self hosting and in other senses is like you find a provider to host for you and neither of those situations well so

finding a provider like defeats the point of decentralization now you're dependent on them and your straight back to the AWS model self hosting is challenging because it's difficult to keep servers up you have all these costs associated with it and it's just a headache if you want to have any reliable amount of uptime most everyday users like don't have the ability to get you know four nines of uptime on a self-hosted service but we want you know the fifteen-year-old in his parents house to be able to launch an application that has 100% uptime without having any reliance on like an s3 and so having this like built-in essentially sia acts as a decentralized pinning

service allows you to put files on Skynet and then logoff shut off your computer and not worry about it and know that that file is getting you know as close as possible to a hundred percent uptime with no work and and no stress on your end as the creator or the distributor yeah that was always of my the issues that I took with ipfs is and you know maybe this gets addressed in file coin and the layers on top but was that this you you you have to actively in your files to make them available in perpetuity it's an active thing that one does in order to make their files available then if you want

to have redundancy if you want to have those files available in different places well you know you need to do that as well you know I mean and again maybe you follow the coin takes on some of that that burden but in sia you know you upload the files and well the files get distributed automatically they get there's redundancy built in correct yep correct okay interesting yeah I think I really like that approach so I've got like now I like kind of a personal question about this because this is something I would like to use myself so I have a self-hosted like cloud infrastructure right so like I have a computer in my house that is hosting my foot my file services my email and you know I

that's my in-home cloud system now if I now in order to to back that up off-site I do an off-site backup to a computer that's somewhere else similar set up but I was thinking of what I could do is just instead of doing that sync you know every day to that of a computer that other computer could just be a SIA or Skynet host the entirety of the hard drive you know could be on the Skynet Network and then instead of sending my files there from my cloud here I just sent it to the sign at work right and I'm backed up I'm redundant and I'm also contributed into the network from you know with that other computer that's was

only meant for me but it's now like serving the common the common good is that like I sort of set up that one could could use yeah and as far as I understand your needs I think that's something you could you could set up this weekend that's the you know the sign networks at a point where it can do both of those things all right well there might be an extra six terabytes of data on site I mean what's interesting about this is you know I think that all most that this product comes ten years too late because you know ten years ago if you'll remember you know you would buy a Mac and then you would have that backing up to you know your time machine right and then the best practice was to

have you know two backups like one local backup and one off-site back and what people do well they would set other computers if they had places to set those up or they would pay for a service like Backblaze for example where they would effectively backup there their time machine back up so they would have three at all times and I think that now that people are just so used to cloud backups and even it's not even cloud backups it's just you know cloud storage in the form of Google Drive or Dropbox but everything's like ubiquitously in the cloud and going back to something like this here in terms of the not in terms of like decentralized aspect but the user experience of like backing up your files is like kind of like going back to something that we had previously

so yeah I'm curious what you think about like how people like what's the likelihood that people utilize this for their own cloud backup yeah so the way we're approaching Skynet is really from the developer end for example you could build a decentralized Dropbox on top of Skynet that functions just like Dropbox or you could build a decentralized Google Docs and actually you have a little bit more power than Google Docs does so so you might be able to build something even you know the next the next thing that has an even better user experience and makes the cloud feel like the personal backup so definitely at least our energy as a team is being

focused on this forward direction and asking how can we take what users are used to and using Skynet's infrastructure power that up to the next level rather than you know it's for because we really want to see this stuff go mainstream it's really important to us that the user experience is only better than what consumers are already used to and so I think certainly your backup use case is something we can support but what we're most excited about is like just replacing Dropbox and Google Drive outright with something equivalent or superior in user experience it's just easy and just works so with this goal of replacing the internet with the Skynet architecture I

can see how I would create a replacement Dropbox or a Google Doc or something replacement because what you're essentially doing is using Skynet as a George back-end and then you're using code that is client-side but a lot of the Internet is based on sort of a server-side architecture let's say sebastian wants to move create an email move his entire email inbox into this decentralized internet rather than on his own machine where would he run the sort of email server that by you know running the smtp server and all of that

yeah the smtp server yeah so if you want integration with the traditional email system that's not something we've looked into yet and so i'm not sure exactly how the smtp server would work but like what so one thing that you can always do in Skynet is you can reach out to we call them curators but essentially these like third-party per-app services that just sit there and run some sort of protocol and so you could tell people like hey if you have a message to send me send it to this third party or these like five third parties that have a hundred percent uptime but that would be for strangers so for friends it's actually pretty simple I would just client-side right if I want to send you an email

sunny and we're friends I would just have a folder you know on my system that says sunny you know messages for sunny and when you open up your email client you're actually gonna scrape my account or my files essentially you're gonna look for that folder and you're gonna pull all the emails that I've written to you and so you're gonna be able to see you know whether it's emails or texts or whatever or whether it's like an RSS feed it's its content I published and you're subscribed to receive that content we can do that entirely client-side and then so you really only need these like curator services to connect people who have never met before who aren't friends and so these curator services exist as discovery and without them you know it's

hard to find people through normal means but even without them you know you can still talk to all your friends you can find the friends of your friends and then you can get this like nice big web and and connect to everyone eventually but this then does require sort of a massive rear Kotak ting of how a lot of the web works and you know I get this feeling that you know the web trends seem to be that we're moving towards more server-side thing even things that aren't web but you know even look at gaming for example like server-side rendering for like you know gaming is becoming more and more popular and so do you see a that there will be a reversal of this trend or if not so you've

created Amazon s3 now where are we gonna get the Amazon ID in a lambda or something where's the compute layer yeah so I think the the compute layer is I'll call that unsolved for the moment just because from a cryptographic perspective it's it's difficult to get verifiable computation and so it's it's difficult for me to send a job to an open marketplace of untrusted people and then trust that the results I get back was computed honestly so for that you really do want a trusted party you know like Amazon but I think for the majority of applications that people use every day possibly gaming aside you don't actually need that much compute power if you

think about all the compute that goes into curating a YouTube like application that can entirely bottle down to something a client-side computer can do and so I do think that the advantages of Skynet will drive a lot more client-side thinking and client-side development and then another huge advantage to thinking about doing things client-side is infrastructure costs if the user who's running your application is also the one doing the compute to keep the application alive you're not running servers yourself you're not paying for it yourself and that's actually a point that we haven't touched for Skynet which is that as a developer when I put an application out on to sign

it and people start using it if I have ten million users tomorrow my bandwidth bills are zero as the developer my storage bills are zero because my the users are the ones who are paying for all the infrastructure costs and so that means that I don't need to be a startup in order to compete and this is especially powerful in video content most YouTube competitors die because they don't get to a scale where they can monetize their users and pay for their bandwidth bills the bandwidth bills just crush them out of the gate the Skynet solves that problem for developers it's a even though you have to rethink how you build applications you don't lose

much power and you gain the ability to not have to worry about infrastructure anymore yeah this this is something that to touch on Sonny what Sonny was saying about it like the centralized compute power I think that as much as I love this idea and I think it's really cool I think one of the things that doesn't play in your favor here is the fact that in order to grow this network of nodes and to grow the the size of the storage on the network in order to you know power this decentralized web you know you need a lot of individuals and infrastructure providers to rent their storage space in the system you if you

want that to remain decentralized if you want to be decentralized you presumably you want to have like lots of individuals and like hobbyists putting their storage space on the network but the reality is that increasingly people don't have storage space in their home anymore like you know how many people have it 4 terabyte hard drive in their house nowadays like virtually none you know it's a most people now rely on the cloud entirely and in embedded devices well are very it's very difficult to utilize the storage space there so I'd be interesting to see like what kind of what will the constellation of storage providers look like and do people will sort of make businesses of that right like much like you have Bitcoin miners well you have you know sia service providers that are providing like

storage and work somehow yeah this is something we've thought about a lot and I think you hit the nail on the head where the where the endgame is for this is like Bitcoin mining you're gonna have professionals and maybe even like LLC's that get set up to provide infrastructure to Skynet and to the sigh and it's it's not going to be people at home one advantage that data has over Bitcoin mining is that location and bandwidth and and hardware is not fungible and so like in Bitcoin mining if you set up a data center in the middle of nowhere Siberia that mining power is still it's still mining power

and is still valuable but on a storage network that emphasizes latency someone in California is going to be serving different users than someone in the UK than someone in Hong Kong and so you have this natural decentralizing pressure just from the fact that people in different locations are going to want different data centers from each other and so I think that that's probably what what's going to allow side to be decentralized even in light of you know economies of scale that happened when you start to make these bigger farms yeah well I'm probably gonna spend some time this weekend fiddling with this so I might I might reach out to you via a few questions she don't mind awesome yeah feel free and uh yeah we would love to like also document some of

that process of onboarding skynet for my my own cloud backup so let's let's move on to the trusted set up question then so you know we've talked about trusted set ups in the context of the show before recently we had like the guys from ask tech on the podcast to talk about how they you know did the multi-party computation to to set up the the Aztek zkp smart contract I forget exactly what's called pay a stack engine I think so yeah let's let's maybe dive into this and you've given talk to the number of places you're describing your your your distrust in trusted set ups you've called them busted set ups hits up locations so you know what what is a

trust is set up and why do you think they're broken yeah so you know I want to frame this conversation in the context of like I think people usually don't think about the threat model of trusted setups in the right way and when I when I hear people talking about like oh you know XYZ would have had to have happened in order for this trust and setup to be broken that's just the wrong way to think about it when and when they think about you know what happens if this trusted setup gets broken you know what what is society stand to lose they just think about it in the wrong way and so so I think that we're gonna try and take a very zoomed out approach in our analysis of trusted set up but before we dive into it like what you know what

even is a trusted set up so a trusted set up is a cryptographic construction that requires several collaborating people to build something and if all of them are dishonest and acting in conspiracy right if they if they all collude together they can backdoor the system and so i z cash is my favorite example I think it's it's super clean basically G cash has a trusted set up where a bunch of people work together to build this secret or the this like object that we have to use in our proofs and if all those people who work together collude and they all told each

other you know they're part of the puzzle then that group as a group can print money and so they can print an unlimited amount of money in Z cash and no one would ever know except maybe seeing that there are too many coins flying around so the idea with a trusted set up is that you know and I think the original C cash ceremony had five or six participants so it's like these these five people six yeah six so these six people will work together to build this object and as long as at least one of the six people destroys their piece of the puzzle then the whole trusted set up is safe and no you know nobody can steal anything but if if all six people collude they retain

their piece of the puzzle they share with each other and build this essentially this back door then they can print for the selves as much money as they want if you put it in other terms the participants in the trusted set up and correct me if I'm wrong here they're generating collectively generating a private key and then destroying that private key and what's left is a public key that goes into the setup of the zero knowledge circuit or whatever construction right like what's left is basically a public key for which there is no private key and if everybody colludes and had that private key then and then in that instance they could back through the system yeah I think that's a good way to think about it okay and so when you talked about you know

the threat model and people looking at it the wrong way and you know just for in all fairness like since that Z cash trust is set up there's basically been like a new set up now where many more people are involved and we can get into that but you know what is the framework through which people view the type of trust setup that like traditionally has been done and why are there assumptions with a threat model wrong yeah so I think I want to start by focusing on actually what's at stake because I think people often underestimate what's at stake so what when you do a trusted set up what you're building is a cryptographic primitive it's like a

building block to build a greater system and the goal of all of these systems right at least in cryptocurrency like what we want as an industry is mainstream adoption right we want a billion people or even five billion people using these systems that are that are built out of the building blocks for making today and so when we make something like a trusted set up if that gets accept if that particular trusted set up gets accepted into say like the cryptocurrency Canon and then cryptocurrency goes mainstream you could have systems that depend on this building block in very surprising ways cuz you know things will use each other

and then you get Z cash and then things start to depend on C cash and they assume C cash is private and they build other stuff and as you continue you know making making the system the echo system more complex and elaborate and as as things keep building on top of each other you could end up in a situation where a single broken trusted set up in the whole ecosystem could have this like massive systemic cascade of vulnerabilities and attackers and just defeating Z cash they're defeating you know Oracle's and they're defeating you-know-who who knows people use building blocks in surprising ways and so like the first thing I want to hone in on is really like these cryptographic primitives that we build are likely to

be used in elaborate ways that kind of go beyond how we understand them today and 10 or 15 years down the line if we accept a primitive today we might find that in that primitive is a key building block in like you know nearly every major application that's used mainstream and so I frame this from the perspective of like you know what do we have to lose potentially a broken cryptographic primitive could wipe out the whole ecosystem and for example like if quantum computers came in and broke ECDSA yeah that would that would wipe out the whole ecosystem and so we as an ecosystem we want to be really careful with the cryptographic primitives that

we collectively decide to trust and decide to build things on top of because that's gonna cascade very poorly if it ends up being broken and from the perspective of an attacker the risk/reward the the reward is extremely high so if you do manage to break a trusted set up you could potentially print yourself a trillion dollars you know or you could manipulate the ecosystem to earn a trillion dollars right so I think that the you know one of the first places people missed the mark is just in how important these primitives are I mean so if we come back to the side this idea that essentially what you're doing is you're creating a public key

for which you're trying to prove that there is no private key yep I don't know how conceivable this is but couldn't do we construct protocols around which we agree that some random number is generated by like random occurrences and that that random number would be the public key and effectively where we just construct a a random number like I mean we that's what we're looking for like we're we're looking for a random number essentially yes I believe it depends on the protocol and a lot of protocols that come out that defeat trusts and setup like like that you know when when a cryptography way to change a protocol into no longer needing a trusted set up it's because they found a completely trust belay to create a random number and so that is that is a

technique that gets used but in the in the cases where we still have trusted setup it's because the only way that we could think of to get this object this public key which I think is kind of a you know at the at the very lowest layer ends up being a weak abstraction or a leaky abstraction you have this complex object that you have to build that has to have certain properties and in a lot of these protocols the only way that we know to give it the properties that it that we require is to allow or allow a set of colluding individuals to make a private key yeah here's an example that I just came up with up on my head imagine what we wanted to do was come up

with a random number that was the product of six primes we can't just guess random numbers cuz you know that we basically never ever get to six Prime's but if we you know had six people each choose a prime and that we did some NPC to multiply them all together and then we end up with a number that's subscribed but we don't want it to be that anyone can figure out what the six underlying Prime's were that's just an example of why it's not as simple as just fitting any old random number it's usually some sort of random number with specific property okay see that's where my understanding of this falls apart yeah I thought it was just generating some random number

but it's a random number that also needs to have some predefined properties yeah some some algebraic structure that we then exploit to construct proofs of zero knowledge proof essentially so what are the things you talked about in your talk was that we should be looking at trusted set ups from a more macro scopic view in the sense of not thinking about how to break any one specific trusted set up but rather getting let's say there's a thousand trusted set ups and the goal is to get one broken trusted setup accepted by the community so can you explain yeah could you explain some of your thinking

on this yeah so this this ties right back into kind of how it opened up was is thinking in terms of what's at stake if as a community we adopt a culture of accepting trusted set ups and so we end up with multiple you know cryptographic primitives that are trusted setups in our ecosystem in our in our set of building blocks that we build the ecosystem out of you only need one of them to be busted in order for the whole ecosystem to experience these trillion-dollar you know I'll just call it like the the trillion dollar vulnerability someone can insert a

trillion dollar backdoor not by breaking every trusted set up but they they only have to create a single trusted set up that's broken that the community accepts as secure and this this comes down to a social problem as much as it is a technical problem the question is not you know is is everything secure the question is how do I convince the community that something which is not secure is in fact secure and so the more as a community we embrace trusted set up and the more it becomes normalized for a new team to come up with a trusted set of protocol and launch

you know launched a new system that depends on this new trusted setup the easier it will be for someone to slip something through the cracks and so that's really the key reason that I take the stance no trusted set up should be tolerated ever because as soon as you start to draw the line like well maybe X X is okay and maybe Y is okay you've given breathing room for an attacker to use social techniques and politicking and social manipulation to move that bar like well what if we just move the bar a little bit left and then they know that if they just need like two centimeters to the left and they can slip in a broken trust and set up and so

I think the only way to protect against this kind of social engineering is to just completely shut it down and make it so that the trusted set up is just outright not acceptable within the broader community because otherwise I do think you'll end up you'll end up with attackers who have enough wiggle room to try and insert a trillion-dollar backdoor and of course if we're talking about a trillion-dollar backdoor your your attackers are gonna be that si hey your attackers are gonna be you know the Russian Secret Service and and the Chinese Secret Service and and you're gonna have well-funded you know groups with 10 20 50 year time horizons who are just spending all day every day with a bunch of PhDs asking the question how do

we convince the world that our broken thing is actually not broken what resonates here is the is a similar problem that we have with the you know the roots see a system where the trust in the roots ta system is only like the trust that you have in the most malicious actor like not the root CA but like the delegated CAS that can issue certificates at will you know and like there are hundreds of these and so similarly here you are putting your trust in the least trustworthy trusted set up that's right and similar to the CA system you don't know which one is the least trustworthy right and so you have a hundred of these things and you don't know how much attention has gone into all 100 or you have a thought or you know however many and you don't know

which one is needs the most scrutiny so it sounded like you know you don't have an issue with the Z cache trusted set up but you have an issue with the fact that okay first there was a Z cache one then there was like ask tech wad now loop ring did a trust set up and as you get more and more trust set up so chance that one of them is broken just increases and sort of like a slippery slope there isn't this sort of analogous to the slippery slope of let's say blocked rains as a whole right you know we convinced people to take their money and put it on these like crazy decentralized systems and okay Bitcoin first one great then we had like you know we had more trade like we had SIA come up and then you know maybe we

had something like etherium which is you know maybe you know a theory Ohm's initial setup was a little bit less trustless than bitcoins was isn't that also just sort of a you could say like you know the unknown properties of a trust is set up are pretty similar to the unknown properties of a code base because like you know 99.99% of users don't audit code bases when they use them so what makes this different yeah that's a great question and there's one super important key difference which is that with something like let's say aetherium your confidence in the system can grow over time and so even if it's initially not very well audited as aetherium grows from 100 million dollar

system to a billion dollar system to a trillion dollar system it gets increasing scrutiny problems get identified and fixed or you know if the problems can't be fixed the etherium can be abandoned and so like essentially as aetherium scales scrutiny scales and we can identify and fix things or you know we can identify that there's a problem and that's super important in a trusted setup you never have the ability to improve confidence and in fact as the thing grows confidence actually decreases over time because you're the Aztek protocol the Aztek trusted setup is one thing today it happened recently we can go and interview the people if aztec is the thing you know if Aztecs

trusted setup becomes a building block that has five billion users on it if thinking of it the perspective of like you know an enterprise in South Africa that's jumping on and using the Aztek protocol it's like who are these guys that you know they this ritual thing happened six years ago and like some weird crypto and and weren't they like all anarchists and kind of crazy anyway and so trusted setup only loses confidence over time whereas blockchain sand code bases those things are all auditable and they gain confidence over time and so I think that is a super key difference and you know I wouldn't want a trillion dollars on

aetherium today I would want aetherium to go through much more scrutiny before it gets to a trillion dollars but it's possible to put it through that scrutiny with a trusted set up it's not possible to add more scrutiny to the trust and setup once once you have the object the damage is done and it's hidden what about sort of open trusted setups and also more general-purpose trust setup so these were two goals of the sapling trust have set up so when Z cash switched from sprout to sapling sapling sort of had two parts to it the first part was to create some generic trusted set up thing and then that was used as

an input to part two which was used to create these D cash specific circuit but the point of it was that the result of the first part if anyone else wants to create their own trusted set up for their own application they could reuse that first part and they made that first part extremely open like they had I don't remember the numbers but I know I participated in it and why don't we just like dedicate a lot of energy to creating one sort of Master super open trusted set up with tens of thousands of people participating and then just use that as the basis for everything yes so we really have to go back to our malice hat which is like let's say I'm NIST and I get a you know a national security

letter from the NSA and I'm tasked with creating a broken trusted set up that is the one true trusted set up you know the one trust set up that everyone uses first of all because I'm NIST I have a lot more swing than Z cache and then second of all I'm going to be asking all of these social questions like how can I make it look like ten thousand people participated when in fact they didn't you know are there things that I can do to make Sonny believe that he participated in the trust and setup when in fact he was using you know code that was there was just streaming the results of his participation to our servers and

and is he going to catch that what you know what underhanded techniques do I have available and I think the upper bound on the amount of creativity that you can have for an attack like this is extremely high then the number of underhanded strategies that you can use to create something that looks and feels secure but in fact isn't I think is is super high and so even these you know like kind of Universal set up ideas I really don't like because I feel like you know if we try if we try and say ok well we'll get to one you know one universal set up you'll have bad actors like the Chinese government in the US government and the Russian government saying like ok but but the universal set up will be

ours not whatever this crazy crypto community came up with and again this is this is a social game it's a political battle of how do we move the minds of the mainstream to accept you know which single trusted set up do the minds of the mainstream gravitate towards and again I think that's a battle that we don't want to wage and that even that battle all by itself is too risky and that we have to fall back to just know trust and set up we just shouldn't have trusted set up so what's the alternative I mean we talked briefly at the beginning of the show about Sonic's what's the alternative to trusted setups what are these when you're rolling trusted setups or continuous setups and how are the

security assumption is different here than for a trust sir I think my favorite solution to this is just to treat all trusted setups is broken and throw them away and not use them and look for other things and so when someone invents trusted set a you know a trusted setup ritual or a trusted setup technique it's interesting insofar as it teaches us new math and new cryptography and gives us maybe ideas and tools that may eventually lead to a non trusted setup and for example snarks which are all trusted setup at the moment have a competitor called Starks which has no trusted setup and so that's very exciting to me because now a lot of these applications which you know if you take a very sharp no trusted setup ever

line these have you know you lose the ability to do is see cache Starks are a mathematical innovation that bring back the ability to do Z cache in the absence of a trusted setup and so you know I think I think my favorite way to go here is to treat all trusted setup systems as your kind of academic value it's not that it's not that they're like waste of time and waste of space it's just they're not something you can use in production they're an intellectual stepping stone to something better to answer your question about Sonic that one was one I struggled with because it's it almost sounds good enough it's

very close to good enough and the problem with Sonic is that once he or what I'll say is these rolling trusted setups so just to give the listeners a definition a rolling trusted set up means at any time a new person can join the ritual and add you know their secret to the object and then as long as you're secure as long as you do it safely you know that nobody else can break the system anymore and so you could have this thing where you know as as we grow and as we scale our trusted set up from a thousand users to a million users to a billion users and that company in south Africa was thinking about joining this primitive that company in Africa could just participate in the trusted set up

and now now it doesn't matter that it started from this you know random crazy crypto group it's like well we participated in ourselves we trust it because we know we did it right and so that's very compelling except for one caveat which is that every proof that was generated early on is suspect and can't be trusted and so every time you evolve the trusted set up you still have proofs floating around that are suspect and also I just go back to like how clever would you know twenty five PhDs thinking about ways to social engineer a broken sonic into the world how clever would they get and I don't know cuz I don't have that brainpower and so that

makes me wary it's like this feels like something where I could be outsmarted and so even with sonic that puts me at my limit I can't come up with a plausible story that makes me feel happy that I you know I could with enough resources break sonic I'm not confident that a bunch of people working together who are way smarter than I am couldn't come up with a way to break it and so even with things like sonic I default to saying we just we just can't do trusted set up because I don't feel like we've proven that the attack surface is small enough that someone like the NSA couldn't hit it so what's the way for them if we are to leverage Z cash another zero knowledge proof cryptocurrencies and and things

like Aztec and the ability to transact anonymously and even in perhaps you know do computations anonymously it all comes down to trust right like you you have to trust that someone or something built this primitive so what what is the solution in your view yes so I think that zero knowledge systems and just cryptography in general has made an enormous amount of practical progress in the past two years just just as an example in 2014 2015 I was kind of making this decision as a technologist do I focus my energy on cryptography or die I have focused my energy on game theory and and I chose to go you know

the game theory mechanism design like incentivization route because that felt like there was more innovation available but cryptography has surprised me immensely with all the crazy creative things that have come up Starks are relatively recent and there are more papers coming out that are starting to suggest that Starks are not even close to as good as we can do and that we can do much better with no trusted set up and so I think that really I think we just have to wait a little bit and and cryptography especially in 2019 showed that there is so much room for improvement and so many exciting new like mathematical ideas being created that I think that we will have the answer to how do you make a good C cash

how do you make a good Aztec how do you make a good vdf you know how do you get random numbers without trusted set up and I think that you know three five years from now will have great answers to all of those questions and the end that we won't need trusted set up and that we can do everything that we want to do today five years from now using much safer cryptography cool so to wrap up I have two questions one is do you use like Z cache or anything like that yeah is this I I don't I'm I'm actually pretty strict about what protocols I engage in or like if I do use something like stacy cash rate theory am i try to minimize my exposure to a couple of

minutes and so I'm you know I get the currency and then I trade it out as fast as possible see I generally know well I'm curious why is that yeah I I think that the systemic risk of most of these platforms is just grossly underestimated so like recently dphi has had a lot of black swans in my opinion they're not black swans at all they're it's something we can expect to happen quite frequently just because these protocols have not been designed to be as robust as everyone thinks they are and so I want to minimize my exposure to being on a platform that has all of its money drained suddenly and unexpectedly because I think a lot of these things that are out there today are eventually going to get you know taken for for the

entire you know market cap of of the thing and then so to wrap up to bring it all back is there anywhere in the sky neck or a society tech chure where you anticipate using sir knowledge proofs eventually I mean so the dream would be to get Saez to be fully anonymous which is a little bit out of reach right now but like if you you know you can imagine leveraging the hosts to set up Onion Routing circuits we have a bunch of techniques we've generated that we've come up with in-house that would allow us to you know emulate tour with hopefully better privacy and massively better latency you know close to

centralized web Layton sees with privacy that's superior to tor but then the coin situation still ends up being a problem because if you're paying people and you're using traceable money that's not anonymous and so definitely on the side platform like we would like to get to a point where the whole thing is anonymous and I think you know that's probably not gonna happen in the next three to five years we were waiting for more cryptography to come out more techniques to come out and and also just for for the platform in general to be more mature but yeah we do we do hope to use a lot of this stuff in the future I die especially Starks and related technologies I'm very excited about and I hope that we get to employ them at some point

cool thanks a lot David and thanks for coming back on and and sharing these updates about Skynet and also sharing your thoughts about trusted setups absolutely it's it's always great to uh to meet you guys thank you thank you for joining us on this week's episode we released new episodes every week you can find and subscribe to the show on iTunes Spotify YouTube SoundCloud or wherever your listen to podcasts and if you have a Google home or Alexa device you can tell it to listen to the latest episode of the epicenter podcast go to epicenter TV slash subscribe for a full list of places where you can watch and listen while you there be sure to sign up for the newsletter so you get new episodes in your inbox as they're released if you want to interact with us guests or other

podcast listeners you can follow us on Twitter and please leave us a review on iTunes it helps to be behind the show and we're always happy to read them well thanks so much and we look forward to being back next week [Music]