MacLane Wilkison: NuCypher – Proxy Re-Encryption for Distributed Systems #357

15 Sept 2020 · 1:10:35

MacLane Wilkison, co-founder and CEO of NuCypher, joins Epicenter hosts Sebastien Couture and Sunny Aggarwal to explain the protocol's proxy re-encryption system for delegating and revoking access to encrypted data. The conversation covers threshold cryptography, the zeroDB project that preceded NuCypher, why the network runs on Ethereum, and WorkLock, its work-based token distribution mechanism.

Speakers

Topics

Transcript

this is epicenter episode 357 with guest maclean wilkerson [Music] hi i'm sebastian cuccio and you're listening to epicenter the podcast where we interview crypto founders builders and thought leaders on this show we dive deep to learn how things work at a technical level and we fly high to understand visionary concepts and long-term trends if you like epicenter there's only one way that you can support us that's super easy and costs nothing and that's to leave a review on apple podcasts if you're on a mac

an iphone or an ipad pick up your device and go to epicenter dot rocks slash apple and that'll take you exactly where you need to go to leave us an apple podcast review and i know it sounds complicated because you got to think about what you're going to write but here i'll give you some examples you can tell us how long you've been listening to the show you can tell us who's your favorite host you can share you know one thing that you learned on this podcast heck you can even share your super secret you know yield hacking sushi farming strategy if you like all the reviews that we get help establish epicenter as the leading technical podcast in the crypto space and it helps people find it so thanks so much to everybody who's

left us a review already i love getting those slack notifications and being able to read those reviews and thanks in advance to everybody who i know will leave us an apple podcast review in the next couple days so with that out of the way i'd like to now introduce our guest for today's episode is maclean wilkerson and he is the co-founder and ceo of new cipher new cipher is a company that is providing cryptographic infrastructure for privacy preserving applications and this infrastructure exists as a smart contract on the ethereum blockchain they're in test net currently but they'll be launching soon and when they do you'll be able to use new cypher to do something called proxy re-encryption proxy re-encryption is a cryptographic method that allows you to delegate

re-encryption of data to a third party in this case validators in the new cypher network so let's take an example let's say you have alice and she has encrypted data that's stored up in the cloud or on a centralized cloud service or a decentralized cloud service like ipfs and she wants that data to be sent to a third party bob one way to do that would be to download the data decrypt it and then re-encrypt it with bob's public key put it back up in the cloud where bob can have access to it well that might work in some cases but it's a little bit cumbersome as it implies that alice has to do this operation every time she wants to send data to someone else with proxy re-encryption you issue this re-encryption key that is assigned to a specific public key and then a third party has the ability

to re-encrypt data for that third party to decrypt and so in this case it is the new cypher network that is acting as that third-party service and of course the owner of the data can then revoke that key if necessary so this is interesting use cases for things like sharing medical records but you could also imagine it used in something like a decentralized dropbox where you might want to share files with a specific person and then revoke access later on another interesting thing about new cipher is their token distribution mechanism they're doing something they're calling a work lock which is essentially like a lock drop but with actual work involved so in a more quote-unquote traditional lock drop like the edgeware lock drop for

example you lock up some ether at the end of the lock period where you get back your ether and you get your allocated tokens in the new cypher work lock the participants actually have to do some work so they're going to have to run a validator for a period of six months that validator is pinging the smart contract every day and at the end of the lock period they get back their eth as well as the allocated tokens and so this is an interesting way to boost up to network with you know actual participants people who are actually providing value to the network of course there's a number of challenges around this specifically regarding transaction fees which we get into during the interview this episode is brought to you by algorand algran has built a sophisticated platform that allows developers to build

equally sophisticated applications so they've built a layer one protocol that has all the primitives that you need to build defy apps so things like token issuance and atomic transfers are built right into the protocol but i'll tell you a little bit more about that later on in the interview for now though here is our conversation with mclean wilkerson we're here with maclean wilkerson he's the co-founder and ceo of new cipher and new cipher is a platform for i'll let mclean describe it but i would describe it as you know building infrastructure for things like key management and secure multi-party computation or fully homo encryption i think we'll get

into the nuts and bolts thanks for joining us thank you guys for having me i'm very excited to chat about new cypher tell us about your background and how you became involved in the crypto space my background is kind of this weird blend of technology and software engineering but also traditional finance so out of undergrad i worked for a couple years in m a and capital advisory at morgan stanley helping large corporations in tech and media and telecom sector go public or raise you know debt capital things like that or mergers and acquisitions and then left after two years and moved out to the bay area and started concurrent with that started getting very interested in bitcoin and you know sort of this

new thing that hadn't quite happened yet but they were sort of vitalik was on his roadshow for ethereum kind of pitching the upcoming ico and i was working out of a hacker space and randomly ended up in kind of a meet-up where vitalik was pitching ethereum what it was and randomly just happened to sit in in that and like didn't understand anything that he was talking about but thought it sounded super interesting and had been kind of aware of bitcoin obviously when i had been working in morgan stanley but never had really had time to dig into it but just got very interested in sort of this new or potentially new industry and felt like it was really exciting time to be involved when this was back when sort of you know counterparty and mastercoin and things like that were happening so we did some

early experiments on top of those protocols just to try to understand like what sorts of things could we build on this um you know is it interesting like what are the problems that it's trying to solve and then uh ended up actually kind of staying in the cryptography space and moving a little bit away from blockchain for a little while my co-founder and i michael algorov who's now running curve we actually started the company building an end-to-end encrypted database that had was kind of inspired by the early experiments that we have been doing in blockchain with counterparty but really was just you know a traditional database that allowed you to store and search uh encrypted data without the server ever being able to see that data so we worked on that for a while that was

called xerodb it became kind of a relatively like popular open source project on like the hacker news stat but we we could never really figure out how to monetize it like we were pitching large banks to use it for you know archiving data in the cloud for example but it was uh kind of a tough road to hoe on that one and we worked on that for a couple years that was for the genesis of or the early precursor to new cypher and then we ended up doing y combinator in summer 16 uh with the company and then right after that was when the app started to become a real thing a little bit more as opposed to kind of a theoretical thing but we realized that a lot of the stuff that we had built for xerodb we could kind of repurpose for use by decentralized applications or

other decentralized protocols in an attempt to kind of bring this ability to do access control and share private data alongside of a decentralized storage system so kind of a long meandering path to get where we are but have kind of always worked in and around the cryptography and privacy space you mentioned zerodb and the sort of challenge that you had selling that to you know to banks and corporations i think like a lot of this kind of zero knowledge technology or like these encryption technologies that allow you to perform computations or like use encrypted data are like super interesting to people like us who like think about privacy and that sort of thing but i found like in my experience you

know dealing with corporates and like large corporations that a lot of these companies are not necessarily interested in this stuff and so there's often like a disconnect between like the people who are like super interested and passionate like you know check out all this cool stuff we can build about it around us and then like the real business world that doesn't really give a i don't know if that's kind of been your experience as well and you know how you got around that it was definitely a super hard thing to try to sell you know encryption technology and like an encrypted database into a large enterprise especially in the financial sector i wouldn't personally probably wouldn't try to do it again and i wouldn't recommend it as a first choice go to market for someone working on a startup there are people at these large institutions at these

banks and other large enterprises that are very excited about and are very interested in it but i think by and large those don't overlap with the people who are able to like make the purchase decision so you'll have these like interesting technical conversations with people and you'll be excited about you know what they could potentially use it for but ultimately like they're not the person who actually decides whether they're going to use it to pay for it or not and i think that's one of the really one of the most exciting things for me as a you know an entrepreneur in the blockchain space is that like that's where there is a huge amount of overlap between the people who are just intrinsically interested in this stuff and who have the ability to just immediately start using something because either they're running a project

or you know there's there is a high degree of overlap there so it's like much more the early adopters are able to actually deploy stuff early on so that's super exciting you know as a founder and a developer is like as soon as you build something interesting there's much lower of a hurdle for people to actually start using it what are some of those hurdles i mean you know if you look at sort of privacy preserving technologies more broadly probably we're all users of signal here for example we're super excited about like privacy preserving technologies and we'll like you know get our non-technical friends to get on these things and stuff and start using them what are some of the hurdles that you've encountered in getting people to understand the value and the kind of utility of privacy

preserving technologies and you know are there some things that just because most people will never really be able to pass off yeah i think the unfortunate reality of trying to sell technology to large enterprise is that it's much more about like the enterprise sales mission and how good you are how good your org is at that than it is about the technology so do you have the sort of enterprise sales org that can reach these customers that can influence these decision makers there's a whole lot of sort of committee and bureaucracy that you have to do to get sort of particularly something like this where it started touching their core infrastructure and its encryption is very sensitive and it has regulatory and compliance implications for the end user like there's a lot of

layers of approval that you have to go through you have to go through compliance they're going to want to know who your you know institutional backers are they're going to want to know who your existing customers are because no one wants to be like the first bank to adopt something and then you know it goes wrong i think like if you're building enterprise technology and selling top down to like cios or ctos it's much less unfortunately about like the technology much more about the enterprise sales motion and whether you have that expertise inside of your organization and that's just not i think for at least for me it's like not really a salesperson that's not something that i'm especially particularly like intrinsically interested in with xerodb what were some of the like technology that you had to use there was it like and how like related

was it to like sort of the stuff you ended up building at new cypher so xerodb was actually quite simple um so it was an encrypted data and an encrypted database where you would encrypt everything client-side before you upload it to the server and the server would never see the plain text data so usually when you say that people like oh it must be like fully homomorphic encryption it was not it was much much simpler than that so basically we would uh like remotely and incrementally traverse like a b tree index so we'd encrypt this index client side send it to the server and then like when we want to search for something we'd ask the server for the you know the encrypted root of the tree fetch that download it decrypt it then we know like which branch of the tree to go to next

and we just basically do that so it was pretty sort of simple and kind of a little bit naive it wasn't nearly like a fancy like fully homomorphic encryption sort of paradigm that everyone is looking for so it just sold sort of like a client-side search but like a smarter way of like doing it basically exactly um so like you couldn't really use it for applications that were performance sensitive but you could use it maybe for things that you didn't really need to get a result back quickly so like the use case that we were pitching to enterprises was you can use this to archive stuff so a lot of banks at the time and still currently i think are basically just having archiving everything on-prem using like tapes whereas if using 0db they could theoretically throw that into

you know some cloud storage like aws glacier or something but still never expose anything to amazon but be able to query back you know if a regulatory a regulator asked for something from you know eight ten years ago so that was the basic technology and then we also built in this functionality to allow other people to query that encrypted data as well and that was how we discovered this technology called proxy re-encryption without proxy re-encryption obviously whoever has the key basically the person who encrypted a client-side is the only one who can query you know zero db database but we started getting interested in proxy re-encryption because then like the enterprise could enable partners whether it's like a supplier a regulator or a customer whoever to also

they could delegate access to that encrypted data and allow them to do the search as well and that ended up actually becoming like the i think the most interesting part of xerodb was this ability to sort of delegate access to encrypted data and that's ultimately kind of what morphed into sort of this the first iteration of the new cypher network which is basically a decentralized network of a bunch of nodes that perform this proxy re-encryption function the basic idea of xerodb we sort of left behind but this proxy re-encryption or delegation to encrypted data is what we kind of pulled out and eventually became new cypher you briefly mentioned tape drives there and like as you were talking about i i googled tape storage and the first result is like ibm selling these massive

like these things still exist and companies still buy machines to store like petabytes of data on tapes this is wild i didn't know this was still a thing i think it's not an infrequent scenario where like you have something sorted on a tape and you you know 10 years later a regulator comes and says hey i need access to this data and you go and you get the tape and it takes a couple days to get the tape out of storage and you upload the tape and then it like turns out all the data is corrupted because the tape got i don't know damaged or something yeah because like magnetic data you know magnetic storage what could go wrong it's pretty terrible so moving on to new cypher when you started working on new cypher like what was your your goal and like what were you trying to achieve with

this and what kind of convinced you that there was a problem worth solving here basically we made this sort of pivot back to blockchain this would have been probably early 2017. right when we saw like hey the apps are kind of becoming a thing like right before the whole totally bizarre craziness that happened after that in the ico world but we kind of the reason why we had decided not to stay to build zero db originally not for blockchain was just because it was too early like at the time you know back in 2013 2014 like the idea of the apps was a thing that people were talking about but there were no dapps at all are meaningful do you have so like we basically decided hey whatever we build like it doesn't matter because there's no one around that is actually going to use it the

beginning of 2017 i think that it felt like that was starting to change so we sort of identified this sort of gap that we saw was you know everyone's building public blockchains these decentralized storage layers like ipfs and swarm and csia but there's not really a good way to build access controls into your application yes you can encrypt data client-side before you upload it to you know ipfs storage or something like that but if you want to share that data later on with another user of the application it's kind of difficult either you can just give them the key which is not particularly secure or you know whoever encrypted originally has to download the data decrypt it encrypt it with the recipient key and send it to them so it's a bit clunky

and so the idea was basically we could use proxy re-encryption to make this a lot smoother of an experience where you could as a user let's say you know a simple example would be you're building some sort of electronic health records application on ipfs uh you could encrypt those records before you upload them to the storage and then later on you can use new cypher to delegate access to the encrypted data to a doctor or hospital insurance company something like that and what the new cypher network can do is basically take that encrypted data and re-encrypt or transform it such that it's now encrypted under the recipient's key without having to decrypt in the middle we built a lot on top of this basic proxy encryption functionality to make

it a little bit more user friendly so you can attach like we call a policy where you can attach certain conditions to sharing that the network will enforce so you only want to share between you know some certain time period or maybe you want to revoke access later things like that or maybe you want to condition it on the recipient paying you for that for access the data first we've added a little bit of like uh fancy stuff on top of that core functionality of being able to delegate access it was a gap that we saw kind of like making it easier to work with private data in a decentralized app back in january we interviewed steve coquinos and sylvia mccally of al grand and during our conversation we talked about how algorithms unique design makes it easy for developers to build

sophisticated applications on their platform so what's great about algorand beyond the fact that it's fast it's secure its scales and it has instant finality is the fact that they've designed a layer one protocol with primitives that are purpose built for d5 so what that means is that they've taken some of the most common things that people do with smart contracts and they've embedded them right in the system right in the layer one so things like issuing tokens atomic transfers well these are built into the layer one and smart contracts are first class citizens on all grant so with these essential building blocks at your disposal you can build fast and secure d5 apps in no time to learn more about what algorand brings to the table and how to get started i would encourage you to check out algrand.com

epicenter that lets them know that you heard about it from us and it takes you where you need to go to learn about their tech and with that we'd like to thank al goran for supporting the podcast what are some use cases where the proxy re-encryption would be desirable over the system where i just you know download the data myself decrypt it and re-encrypt it for someone else like the proxy is it cheaper computationally or where would i rather use proxy re-encryption we have a blog post that goes into like like a couple specific details but i think a big one is that it doesn't require you let's say you're alice you're the person who

encrypts and uploads the data you can create these policies either the time you upload the data or anytime in the future if you didn't have proxy re-encryption and you decided you wanted to share the data with your doctor or your health records with your doctor you'd have to come back online you'd have to download that data you'd have to decrypt it encrypt it and send it to them whereas with a new cypher policy you can just specify this policy say share all of my data that gets created from my heart monitor for example with my doctor and then you can issue that policy to network and you can just come back online to download and share that data so it's a little bit better of a sort of user experience it doesn't require this sort of you know explicit alice to be online and it's also nice if like you're sharing

the data across multiple recipients it's just a lot cleaner to issue these policies as opposed to downloading it and then encrypting it you know five times to share with five different people let's maybe pause on proxy encryption a little bit here and maybe dissect what that means and like who the participants are so for example let's use this medical records example i have a medical record that i got from say one healthcare provider and then to pass it on to another healthcare provider that data is encrypted it's on any sort of cloud server it could be like a centralizer decentralized cloud server if i want to be able to pass that data on to a third party i would have to decrypt that data

re-encrypt it with their keys so that they can decrypt it and that requires like you said me for be to be online and it's like it's an action that i have to take whereas with proxy re-encryption you essentially delegate re-encryption authority in this case to new cipher to a third-party and new cipher or the sort of delegate re-encrypts the data in such a way that the third participant can decrypt it is that accurate that's pretty close so i think it's actually helpful just to think of it like the traditional like alice and bob kind of cryptography narrative so you have alice who i guess in this example would be the patient and she has some you know health data that

she is her you know personal private data she's the one who encrypts that data and uploads it somewhere that could be decentralized storage layer it could be s3 it could be wherever it doesn't make a difference at that point she's the only one who can access the data she's the only one who has the key so along comes bob maybe her doctor who she wants to share data with traditionally she can either just basically she can either share her key with bob she can share her key with the storage layer so the storage layer can decrypt it and share it with bob or she can download that data decrypt it encrypt with bob's key and then send it directly to him what proxy re-encryption does is basically introduce this third character into the alice and bob narrative and at new cipher we call this character

ursula and ursula is basically this remote proxy who can re-encrypt the data such that it goes from being encrypted under alice's key to being encrypted under bob's key so you have alice the data owner you have bob the data recipient and you have ursula the proxy and ursula is untrusted or is there like some trust required in ursula ursula is trusted to be like available in online but she is not trusted with any private key material or the plaintext so she has no ability to you know access the data what alice will do is she says okay i want to share my data with bob she will create something called a re-encryption key on her client and this re-encryption key has basically two inputs one is alice's

private key and the other is bob's public key and the creation of a re-encryption key is one way so you can't take a re-encryption key and like pull out the private key afterwards and the only thing this re-encryption key can do is do this transformation or re-encryption that we've been talking about and so she will send that re-encryption key to ursula and ursula would then be able to use that re-encryption key to transform and re-encrypt the data for bob and so re-encryption key is tied to a particular recipient so ursula can't re-encrypt that data for charlie a dave or evan she can only re-encrypt it for bob there's still an action on behalf of alice for every new recipient but since ursula is always online ursula or some kind of like server-side thing

or in this case a blockchain perhaps can sort of notify alice that bob is trying to access this data and so therefore here can you create a re-encryption key so that the process is kind of seamless is that kind of how i think about it if bob tried to access data that he there so they did not have a re-encryption key for it just wouldn't work so ursula wouldn't necessarily notify alice there'd be some sort of side channel way that you know alice and bob might communicate say hey i bob will tell us hey i want to access the data and alice will say okay i'll create this re-encryption key for you and she can either do that you know at the time that she uploads data or she can do that anytime later in the future like if she switches doctors she can tell her so hey please

delete or revoke this re-encryption key for bob and you know accept this new re-encryption key for charlie for example so basically the new cypher network is decentralized service that provides this proxy re-encryption uh functionality it's a decentralized ursula is what you're saying correct yeah the new cyber network's actually more than that it's sort of more of a generic threshold cryptography network and proxy encryption just kind of the first primitive on top of that but theoretically you know people could deploy your secret sharing or threshold signatures or really any kind of threshold cryptography onto the network through these ursulas it might be useful also just because it's been a while since we've talked about it it also be helpful for me to get some refresher we've talked about threshold signatures in the past one episode comes to mind when we talk with the folks at zengo

they're they have this threshold signature bitcoin wallet can you just kind of refresh our memories on what our threshold signatures exactly and like with the dynamics there threshold signatures is basically just if alice can sign something threshold signatures are basically just splitting up the ability to sign something across some multiple parties so instead of alice being able to sign something unilaterally it requires say emma ben you know three of five of the sort of shareholders to sign something in order to create a valid signature why you called ursula ursula is there some like cryptographer inside joke there i think it was just meant to sort of hint sort of like ursula is untrusted so untrusted ursula depending on your

definition of untrusted is correct like i would i would say it's more like trust minimize so i don't like the word trustless or untrusted but that was kind of the original impetus so ursula with proxy re-encryption at least even if ursula has no ability to get access to the private key or the plaintext but you still are reliant on ursula or a new cypher's case a quorum of ursula's to be online and available so if the whole network goes down obviously there's no one available to perform the proxy encryption service so it's not trustless in that sense you still are sort of reliant on them being online and we have we try to build in like certain economic guarantees through you know this or staking process that ursula's have to do in order to encourage them to be online but that's basically yeah

the idea is that they are trust minimized how does this conditional proxy re-encryption work though is do i basically have to pre-give a re-encryption key to the ursula and then ursula maintains it you know decides when to do the re-encryption you based on the policies or do i only share the encryption key once the policy is met so it's the former so we've been talking uh so far in the context of like there's one re-encryption key and one ursula with the new cypher network is actually a little bit more sophisticated because we split that re-encryption key up into a bunch of shares um you know similar to the idea of threshold signatures so instead of having one ursula with one re-encryption key we'll chop

alice will chop the key up into three of five or five of ten or this is configurable on her side and then she will send those 10 shares out to 10 different nodes or 10 different ursulas in the network and there'll be some quorum of them that have to all sort of come together to do the re-encryption successfully and a policy is basically alice will just attach some conditions that she wants the ursula to enforce so this unfortunately this is not you know enforced at the cryptography layer this is enforced basically by the ursula saying i will enforce this uh condition so it could be like a time condition where she only wants alice only wants to share data you know after some certain date time or maybe alice later on she wants to revoke access and as long as six of ten of those ursulas obey like

act appropriately and delete the re-encryption key the revocation will be successful so the policy p or the conditional piece is more trusted it's at the blockchain layer like added a smart contract layer more so than at the cryptography layer correct yeah and are there like sort of punishments like so you know one of the challenges i know with a lot of threshold cryptography is that like a lot of schemes are possible but then when you want like attributability that's sort of when a lot of the stuff becomes more challenging so how attributable are byzantine faults or faults in this sort of scheme so the proxy encryption piece is is attributable so basically what happens is every time an ursula does a re-encryption

she has to sign that re-encryption as well so you will know which ursula node did the re-encryption and uh if an ursa node provides like a false re-encryption like she just returns garbage data for example there'll be a proof attached that they can take and they could submit to the blockchain and the ursula stake would get slashed there's really two modes of misbehavior for an ursula one is that incorrectness just returning basically garbage data and the other is just not replying at all not responding at all what about doing a re-encryption when they weren't supposed to yeah so that one's a little bit trickier currently the network would not slash for that because the policy the condition that the ursula herself knows there's no way for like

the blockchain at least currently to be aware of these conditions it would require like a quorum of the ursula's to all do that is there any way to like add this in in the future where like you know let's say i go and bribe some ursulas to re-encrypt for me but then i actually turn around and submit that to the blockchain where i say like hey here's proof that these ursulas re-encrypted data for me when there was the original owner did not give them the right to slash them and give me part of the reward so it kind of like gives an incentive for people to try to trick the ursula so that way they're higher on their guard kind of the nice thing about proxy encryption specifically and why we chose it for the first sort

of primitive to deploy to the network is that it's a little bit different from let's say like shimmy or secret sharing or threshold signatures where if you have a sufficient number of ursula's colluding they still can't really do anything on their own so let's say you have a five of ten policy and you get five malicious ursulas that all agree to sort of re-encrypt outside of the conditions that were specified in the policy they can't really do anything without also colluding with bob so it requires bob to collude with a quorum of ursulas in order to get sort of early access to the data which isn't good but it's better than just the ursula's being able to do that on their own which is one of the issues that you do have you know if you're using threshold cryptography uh for a

signature or some mere secret sharing where basically a quorum of ursula's can reassemble the private key essentially so there's not at least right now sort of good ways that we're aware of to sort of prevent this and it's one of the reasons why when we talk about deploying like other cryptography threshold primitives to the network like signatures or things like that unfortunately you have to rely a lot more i think on like the sort of the economic piece which is obviously much less robust and definitely scary if she had to think through that quite a bit and we certainly you know to the extent that we or others deploy these other primitives onto the network it would be something that we'd you know want a much more robust answer to first i was talking to one of my friends dave

and he was saying that like you know there's actually not many libraries for even like normal proxy re-encryption and sort of your guys's threshold proxy re-encryption is sort of one of the work first systems that does proxy encryption so is the reason for the threshold is it only to enable things like the policies and stuff like that or is there actually reasons why like cryptography like threshold proxy encryption is actually easier to accomplish than like you know having one server provide proxy re-encryption i don't know i i think threshold proxy encryption is is not easier um i mean with our library uh which is pi umbral you can do just a one of one threshold so technically you could do you know one proxy but i think the reason why we

want the threshold is a couple things one it makes the availability guarantee is a lot higher so i think if you have one proxy and that proxy goes offline for whatever reason either maliciously or just non-maliciously like you're out of luck and you can't do anything whereas you know if you have a quorum of ursula's that's hopefully much less likely i think historically there have not been any sort of production ready sort of proxy encryption libraries before our library perhaps a lot of that is just um you know i think where proxy or encryption signs a lot more is in this sort of decentralized setting where you have many different ursulas as opposed to just one is there a way to like account for ursula's changing so let's say i like you know

initially had these 10 ursula's assigned to my key my data and my policies but let's say a couple of them drop out is it possible to add more ursulas into this system can i use this in some like really long time frame so like one of the examples i think would be really useful for this is like some sort of dead man switch for my data where you know i have a repository that has all my passwords and my crypto keys and everything and i want them to be transferred only upon like you know some dead man switch kind of mechanism but you know who knows that might be 30 40 years from now so is there a way to do this on that kind of time horizons yeah i think that's a really interesting

question so currently the way that the network policy works is you as alice you basically specify some lifetime for the policy and when you issue the policy the network will only send shares of the policy to nodes that have staked for either the lifetime of your policy or longer so let's say you specify a policy lifetime of like six months that policy will only get issued to nodes in the network that have a remaining stake duration of six months or more it won't send it to us a nurse so that's gonna their who's steak is gonna expire in three months but there's not a good way basically like once a an ursa has staked for a year that kind of like maxes out the sort of

the incentives for her so she won't earn more inflation in that case beyond just a state duration of a year so right now there's not a great way to do these ultra long-lived policies so basically what you would do is like after the end of one year you would just reissue the policy for you know another year although we are doing some work on trying to make the network stateless so that you wouldn't have to specify a specific set of ursulas for a policy but really any ursula in the network would be able to enforce the policy so talks on our team has been doing a lot of work on on sort of how we can make the network sort of a stateless threshold cryptography network which would have a lot of benefits including sort of this but um it would

open up sorts of use cases so even if a bunch of your the ursula's in your quorum go away forever as long as the network's there other ursulas would be able to step in that's not there right now that won't be there at the sort of the at the genesis of the network in october but i think it's a really interesting medium to longer term piece that i do think is is possible and that we're working on can you give us like a brief like on like how that might work how did would that mean like every time ursula drops off they would pass on the key their part of the key to a new ursula or what would that look like uh i i actually have not dug in yet to sort of the mechanics of how it is i think he's um got it so i can't really comment

specifically on that i just know that he's been he's been working quite a bit on that and apparently making pretty good progress but i think i think probably in the next couple months we'll be in a position to sort of publish some of the the work that he's been doing on on how that might work at least at a sort of mathematic and cryptography level and so on your website you mentioned that like you know you guys are working on this like threshold encryption stuff and the other thing you're working on is fully homomorphic encryption one first off like is proxy encryption like a subset of fhe or is this like a complete sort of two completely different technologies i'd say they're pretty distinct so you can maybe think of proxy encryption you can maybe argue that it's

fully it's like a subset of homomorphic encryption because it's like operating on this encrypted data and it's doing this transformation uh i don't know how useful it is to think of it in that way but you could make sort of the argument that it is and i technically you could actually implement within fully homomorphic encryption like you could do this sort of re-encryption functionality with fhe it would be much less efficient and i don't really see why you would do that but like technically you could it's fully homomorphic encryption kind of implies this ability to do arbitrary arbitrary computations on encrypted data but yeah so at new cipher we are doing we have done some work on fhe um so like currently that's like uh i would say that's sort of distinct from the network so we think of at least

right now the new cypher network is this generic threshold cryptography network where we deploy proxy re-encryption should be your secret sharing social signatures etc and then like the fhe piece is sort of separate so right now we have this library called new fhe which is a gpu accelerated uh library that uses an fhe scheme called tfh but it's you know currently like the new cypher network does not uh not use does not use new fhe and there aren't any sort of immediate plans for for it to do so um we are sort of in parallel doing a lot of sort of longer term research around whether you know fhe might have some applications for private smart contracts but that's uh i think that's

definitely a lot further out so what are the kind of use cases that you would foresee here for uh you know fhe on new cipher like what's the primary application for like a decentralized network that can do these kind of encryption schemes so like the new fhe is about 100x faster than just vanilla tfhe on a cpu but it's still like on an absolute level like quite slow so you think about like what use cases it could be used for smart contracts are kind of interesting because they don't in general need to be fast anyway i think some of the use cases that we've sort of been lightly exploring or like voting

or potentially if there are like use cases in d5 around preventing things like front running or just sort of generic private smart contracts where you can hide the inputs to the contract or even use fhe to do um you know private private transfers on a blockchain i don't think that for that last use case probably not the most efficient way i think there are sort of already in production better ways to do that now but that's sort of approximately like the areas that we're we're looking at for that and like just this is more of a general question but fhe is one of these one of these things that get kind of thrown around in the crypto space once in a while and how mature is that is that technology and you know how is it used today

in production environments perhaps like what's the uh you know state of fhe yeah so i wouldn't say it's really ready for production so our library for example is very much experimental you know it's not been audited i wouldn't recommend to use it in production and you could certainly pull it off github and you can experiment with it but i think it is not something i would be comfortable using for like an important application currently in general like outside of blockchain and outside of what we're doing at new cypher i think in academia and research one of the areas that people have been spending a ton of time on is um with fhe is for machine learning so how you can train data you know privacy you can

train these machine learning models in a privacy preserving way the main library for that is uh blank i think it's c c u fha so a couple different types of fhe libraries that are appropriate for sort of different use cases and new fhe is uh it does arithmetic operations is good if you need like a precise results but some of the library and the schemes that are used for machine learning have more error so they're not precise but that's okay if you're just training a machine learning model you don't need precise results so they're better basically better fit for that type of use case because they for relax the error and the precision requirements but in general i think outside of the blockchain space this

machine learning area is where a lot of the the current work has been happening and i think that's still kind of a maybe poc proof of concept level more so than you know there are people doing this in in production right now and why did you choose to focus on this and what what do you see sort of as the promise of fhe like in the context of new cypher yeah so i the reason why we originally got interested in fhe is because well specifically for smart contracts is because i think there have been several projects that have been working on private smart contracts and trying to solve that using secure multi-party computation and i think long term the issue with

that is secure multi-party computation just requires a huge amount of network overhead whereas with fhe you know the schemes are getting better the you can you can accelerate them a lot at the hardware level so i think on a longer term it's possible that you'll be able to do things with fhe that just aren't practical with with smpc you know whether that is actually whether just private contracts in general are that useful in a blockchain setting i think is still a little bit to be determined but i think there were a lot of people working on snpc and you know no one was really working on fhe because i think the impression was that it just wasn't practical at the moment but i think if you look at how the scenes work i think like

the the scope for an area for improvement for fhe is potentially a lot bigger than um you know what you'll be able to squeeze out for from npc just because at the end of the day mpc is kind of network bound and requires a lot of chattiness and communication between different nodes um that are performing a computation you can get more privacy out of the fhe right because from what i understand with an npc you can sort of like hide the data that goes into the mpc but like the actual program is still public but in fhe that you can actually make it so like the program itself that that what the contract does itself is

private as well yeah so one of the one of the interesting things about fhe is that um it hides the the input is encrypted so the whoever's operating on the input doesn't see it they don't see the output either but at the same time like the the person who's doing the computation can be using their own proprietary model for example so i think in the context of like machine learning this is one of the reasons why people are interested in it because let's say you're doing you're you know you're some startup who has like the best genetic sort of analysis program and it's proprietary and you don't want to share that program with others or that model with others

you can basically keep that on your own machine people can upload their encrypted genome you never see their genome they never see your model and you can give them back results that you don't see but that they can decrypt so basically keeping the model private and proprietary but the data is well protected is i think one of the benefits of fhe so i wanted to ask you what is your take on like sort of trusted hardware and like sgx's and things like this where like you know there's two approaches to doing you know you can either use all this very cool cryptography you guys have built or but you know sgx comes along and says hey here's this magic black box piece of hardware that we can do everything

you're saying but like you know no no cryptography or fancy cryptography needed yup just your general thoughts on trusted hardware and where do you think it's gonna go from here yeah i mean i think short answer is that it doesn't really work unfortunately i mean the reason why people like it is because you know as you said like it's fast you can do stuff on it today i but i think like the trade-off is unfortunately just like you know we've seen with you know these sort of with sgx in particular it's it's the most popular one just i think like every other month it seems like there's like a sort of new attack that you know someone's come up with i think maybe where they where teas have a place

is like just as sort of one part of a broader sort of you know security posture but if your whole premise is that like this is secure and private because i'm using a t i think that's just this is not gonna work out well i think maybe like i think it's uh i think some folks at berkeley are working on uh you know an open source tee called i think it's keystone or something like that which is interesting uh at least it's not real proprietary and it's open source i don't know like what the timing is for that um but i think ultimately at the end of the day it's very difficult to design a piece of hardware that's going to actually work or at least meet the sort

of the other sort of the promises and expectations that have been made around trusted execution environments what's the unique challenge there to building the hardware as opposed to building things in software well i think the nice thing about cryptography is that you can create security proofs so it just comes down to math basically so you have these mathematical guarantees around whether or not something is a scheme is secure obviously like you have to assume that the implementation is done correctly as well but at the end of the day it's like the root of security for a piece of photography is just math whereas with hardware um you know it's not like currently like if you're using sgx basically you have to assume that the reason why it's private and confidential is because

essentially intel says it is and so you just don't have the sort of same route in in mathematics it's the origination of the the security guarantees let's talk a little bit about the uh let's bring it back to new cypher and talk a little bit about the uh about the infrastructure um so so help us understand you know like you know if we're talking about the blockchain itself you know like who are the the participants and what is the sort of like incentive model here is it a blockchain or a smart contract first off yeah so the new cypher network is not its own blockchain it sits on top of currently like the ethereum network and basically it's composed of a network of these ursulas that are providing proxy re-encryption

or generic some generic threshold cryptography and what these ursula's have to do is if you want to operate one of these ursulas and run a node on the new cypher network you have to stake the native new cypher token which is new so this is i think like commonly people would call this like a work token so if you stake the token that allows you to join the network run a node receive work uh in exchange for that work get paid by users so alice will pay a fee in eth and nodes also receive an inflation subsidy in new so there's these two two components for incentive incentivization to run a node and then also there's uh the slashing protocol where

currently the network slashes very little but uh could the dow basically can slash for going offline for extended periods of time or providing basically like false output so the network itself is just uh basically a bunch of these ursulas that are staking the token and providing this uh this work so it's a smart contract and there is a there's a network of nodes that are staking the token on the contract yep so there's a stake like a there's an escrow contract where nodes will stake their their new into this contract and that will allow them to basically start getting selected for for work orders or jobs or policies and it will also allow them to basically receive some of this uh

inflation subsidy okay and how is the slashing work then like how does one tell the contract that the say the proofs or whatever the usos are providing the user are are valid yeah so jenner like if ursula is doing everything correctly like these proofs won't get submitted because bob will just you know receive his data and he'll be happy but if bob receives a garbage response or just like a false re-encryption uh he can take remember i think we said earlier that every time ursula does a re-encryption she will sign like a proof of this re-encryption which gets basically along with the re-encrypted data is attached that re-encrypted data and gets sent to bob and so if bob can't decrypt that

re-encrypted data for some reason because it's garbage he can take that proof that's signed by ursula and he can submit it to the blockchain in this case there's we call it the adjudicator contract and the adjudicator contract would then go ahead and slash that ursula's stake and so or slowly would be punished for that how does the adjudicator contract know that the data is garbage uh so there's basically like a zero the proof that's attached is like a proof of re-encryption and it's signed by that particular ursula and so it's essentially it's like a zero-knowledge proof that's been signed by ursula that it's easy to validate by anyone okay so it's something that could be validated independently without

like some kind of adjudication process where other parties are verifying uh correct yeah so adjudicator maybe is a little bit of a misnomer because it's it's not uh yeah it's just all automatic okay so this all happens automatically how expensive is like submitting one of these proofs especially with like current gas prices and stuff on ethereum that's a good question i'm not immediately sure on the cost of submitting a slashing a proof for slashing i will say that like in general like the current gas situation on ethereum has made it very difficult to run a small new cipher node so each ursula node is required in order to receive this inflation subsidy they're

required to basically do this sort of availability check-in daily or every period and they do this through a transaction like a check-in transaction which is about 200k gas so previously that was like fine but now all of a sudden it's like five ten maybe more dollars a day unfortunately it's kind of if you're particularly if you're running a canoe with a minimum stake that can start to get very expensive so yeah in general like that's been this sort of gas situation on ethereum has been impacting uh particularly smaller node operators is there any like particular reason that new cypher benefit from being on ethereum like is there some sort of composability benefit that comes from

having the like this coordination system on ethereum or would it be possible to have the coordination system on its sort of like own independent blockchain but like still be able to provide this threshold the proxy encryption work for dapps yeah so in principle the the network does not have to be on top of ethereum i think like in practice the reason why it is on top of ethereum is because we started building it ethereum was like the only the only option um and the reason why it probably still isn't ethereum right now is because that's right now at least that's where most of the potential users are of depth but it would not it would certainly be possible

to save the network state and move it to you know another smart contract platform whether it's cosmos or polkadot or wherever i think the benefit right now for it being on ethereum is that nodes are paid for policies in eth and just it's easier for people right now to pay an ethan and you know other layer one currencies there's just more people that hold it but there's nothing like intrinsic to the network that it requires it to be on off of ethereum and i think like for for new cypher in particular like this sort of composability aspect which is always super important for like d5 and things like that you know probably isn't is uh isn't as compelling for new how big is the network today and how

many ursulas are on the network so the network or the main net we'll be launching uh in october um so next month oh that's right yeah it hasn't so after this work lock yeah so right now it's just a test net we had an incentivized test net back like in like february and march of this year and i think at peak we had something like a thousand-ish nodes that were running so that was sort of nice to sort of stress test things and you'll see how whether the network holds up or falls over you know at that scale ultimately i think about 550 node operators from the incentivized test net like basically performed well enough that we that they earned a reward so like just actually pretty many nodes i think the

it will be interesting to see how many of those convert into mainnet nodes i think particularly given the gas situation right now makes it challenging for smaller node operators so there might be some pressure towards you know people pooling in a couple larger nodes or you know it may make some like the smaller smaller nodes just not financially viable until either we come up with some solution to the gas issue or just gas costs come down so that will be something that i think we will be watching pretty closely as we transition to mainnet but we had during the test nets we had you know quite a few nodes up and what are some of the things that you know that the test net uh revealed or like that you've learned

through that incentivized test net yeah so we went through uh actually a lot of iterations of test net before we even got to the instead of so like the first version of the network was literally like you know we spun up one node internally and we had like one new cypher company ursula uh and then we opened it up to a few closer partners we had a federated network where there was no token but there was basically like a white list of of people that would be running nodes and then we introduced uh you know this token and the staking aspect ran that for a couple of months and then we basically turn on a testnet faucet where anyone could get the tesla token and they could stake and run a node and then we got to the incentivized test so by the time we got

the incentivized test net the network was actually pretty mature what it hadn't had was obviously like you know the you know a thousand nodes running at one time so it was definitely interesting to see you know what happened uh in that scenario and then we did a ton of polishing around you know like just rough edges and corners and you know improve like the staking ui and the experience for that what was also interesting was that we did several test net iterations of the worklock which is this um basically token distribution mechanism that we we came up with and that was kind of interesting because participants came up with some like theoretical edge cases and like attacks uh on the worklock that influenced like

our ultimate uh end design for the main network lock which is happening now so there were some scenarios where like people could do weird things around like putting in huge bids during the contribution period but then like cancelling some stuff at the last minute so that they would end up getting like a disproportionate share of uh of the worklock tokens and some weird sort of attacks around that that we were able to to change in the final design that will hopefully um you know obviously to be determined but we'll hopefully end up in kind of a better distribution of these uh these workload tokens than we otherwise would have seen well so what do you do in the work lock like what is the sort of work so i you know i know it's somewhat similar to a lock drop where

like you know i lock up some east for a little bit of time but what where does the work aspect come into it yep so it's it's similar to the lock drop in that you're yeah you're locking up or escrowing this eth and then it's different in that it has this work requirement and the work requirement in this case is running a new cipher node for at least six months on mainnet and so the work is like this proc so basically we use the inflation subsidy that a node earns as a kind of a proxy for them having done work so if you run a new cipher node for six months and you produce you know x amount of inflation would be expected to to earn during that period like we will have considered you to have been you know available as a node and have done done the work so

the worklock contract basically during the escrow period which is open right now allows anyone to escrow eth into that contract and then at the end of the con workout period and once the network launches everyone will be able to claim some sort of parata amount of staked new cipher tokens if they escalate into the workload contract and those stake news hyper tokens are obviously locked for at least six months but it allows them to run a new cipher node and if they run a new cypher node correctly eventually they'll be able to recover all of their escrow eth and then the new tokens as well will unlock and become transferable and what happens is the work clock contract can basically

just watch and see is this node earning inflation if it is then you know we'll start to unlock some of their escrow eth if it's not everything will just stay locked until they they do the work okay so so you really have to do the work otherwise your your e will get locked up forever yup yeah if you if you escrow eth and you don't run a node you won't lose your e if it doesn't get burned or anything like that and we won't take it just it's just escorted into the workload contract and it will stay there until hopefully at some point in the future you come back and you and you run a node and do the work okay interesting did you find this inspiration is this sort of inspired by it by other networks doing similar things or is it

something you came up with yeah i would say it was very heavily influenced by what the live peer team did with their merkle mine so they had an interesting sort of distribution strategy where anyone that i think was i forget what amount but anyone that had us an east balance over a certain amount could basically do this merkle mine so they could produce this proof and they could submit it to the blockchain in exchange for live peer tokens so it was interesting because it was permissionless so like anyone could do it like it wasn't live your team you know doing an ico and deciding who couldn't buy and he couldn't buy it was kind of this permissionless sort of mimicking of maybe like uh you know of mining a token so that was

that sort of permissionless aspect was super interesting to us and then like i think uh we just wanted to improve upon it a little bit and make it sort of more applicable to the new cypher network and instead of this like arbitrary merkle proof that doesn't really you know it's just sort of uh pointless work that's only meant to get like your tokens like basically change the work requirement to be something useful for the actual network so the idea was for it to be the work lock was it for for it to be permissionless but also like hopefully like targeting a particular type of token holder in which in this case people who will stake the new cyber token and run a node for the network and trying to advantage them over you know people who just want to invest or you

know trade or do things that maybe aren't as useful for the network long term yeah and it is it is a bit more of a barrier to say something like the edgeware lock drop for example where you just put the tokens in and you're expected to get those tokens in return you actually have to do some work here and it does create this incentive to actually participate in a network and do something useful rather than just speculate yep exactly yeah it looks a lot like maybe like a sort of combination of the merkle mine and like a lock drop style sort of edgeware type of thing obviously like the the barrier to entry is versus a lock drop is higher because you actually have

to do the you know to run the node it's not a passive thing or you escalate your e3 signal your eth or for that matter you know like a lot of the defy farming stuff or yield farming stuff is uh maybe you can draw some parallels there but it definitely requires like more of an active um engagement with the network than just passively providing liquidity for a dex or something are you mean to do you mean to say that yield farmers are not actively doing any any work i'm sure they're doing actually quite a bit of work but like uh maybe like uh sort of technical technical work providing liquidity is valid i guess so you know if there are any you know validator operators out there or people who you know are technical enough to set up a node

walk us through sort of what's uh what's required and um to to set up one of these nodes and you know what might that cost in terms of like server infrastructure this sort of thing yeah so a new cypher node itself is is actually very lightweight so it's you know it's just doing elliptic curve photography which is pretty computationally cheap unfortunately right now like the probably the biggest piece of the biggest cost for running a new cypher node is just the gas cost so 200k per node per day of gas which i think at recent prices have been like five to ten dollars most days you know adds up pretty quickly especially if you're you know staking the minimum amount yeah for six months is uh yeah for the work lock

especially so if you're you know if you're a larger node or you have a larger stake maybe it's it's not as bad because you're just spreading it out across some a much bigger stake but if you're staking let's say you know two thousand dollars worth of new tokens you're probably gonna end up spending that much or almost that much or maybe even a little bit more on gas so that's tough but the new cypher node itself pretty cheap i think like in test as people were having pretty good success with like a 20 a month digital ocean droplet for example and then you do have to the ursula nodes do have to have an eth node to send these transactions or broadcast these transactions from um that can be you know a full node that

you run locally or you know you can use clef to just remote sign with like uh infuria or alchemy or something like this so that's sort of the the considerations um into running a new cipher to a new cipher node and then for the work lock specifically to participate how that works is during the escrow period which opened uh a week ago and last until september 28th so about three more weeks you can lock up eath and there's a minimum eth lock of of five eth and if you put in five eth you're guaranteed to at least get the the minimum new cypher stake of 15 000 new then if you if you lock up more than five eth you'll get you know some

amount more um it's not it's not linear there's sort of this um bonus pool that determines uh how much each you'll get exactly so it depends on like the total amount of youth escrowed and how many people end up participating but if you do the minimum eth escrow you'll at least get you'll at least be guaranteed to have enough to stake in toronto node and you have until the 28th to do that escrow you can cancel it anytime during the escrow period and for up to two days afterwards if you decide you don't want to run it out anymore and then once the network launches you'll be able to basically claim the stake locked new that you're entitled to from the work lock and spin up a node and run a node and then once you've done

that for a sufficient amount of time you'll be able to recover all of your escrow eth you'll be earning sort of new inflation along the way and you also get that stake locked new will vast essentially after six months are you concerned that like you know with with current gas prices that you know the number of nodes that will basically bootstrap the network might not be as high as you would have wished and you know that the network itself is not as decentralized as you know it should be if it's to be reliable and you know is that maybe put into question this the mechanism by which uh nodes kind of check in so i think for sure because of the gas situation there will be less

small nodes unless somehow between now and near the end of work lock like the gas situation gets radically better which i don't think is going to be the case so for sure there will be less like we probably are not going to have you know a thousand nodes on the network like we might have had you know if the gas situation was better but i think as of i haven't looked this morning but like as of last night i think there were something like 90-ish direct participants so far into the work lock which means uh 90 independent nodes and then we've also seen quite a bit of um pooling so one of the reasons like we coined this is basically offering a way to participate in the work lock through

their platform and so they're essentially pulling you know people's eth to run one large node or maybe a couple large nodes so basically you're able to spread this gas cost across a bunch of users and so i think we've seen you know through coin lists and you know some other pools that have been happening sort of you know offline just you know people that are like have worked with each other in the past like pooling their eat to participate and to run you know one large node as opposed to a bunch of small nodes uh that's been a kind of a phenomenon that we've been seeing largely driven i think by this uh this gas gas cost situation and then separately we are looking at ways to maybe alleviate the gas the the cost of in gas in terms of

running a node so you know potentially making the check-in not daily but you know weekly or something like that those are potential solutions that we're looking at but um i i think it's sort of not determined yet if we'll actually uh implement any of those how important does that decentralize check in you know is could one just not you know sign something and like send it to you guys like you know and well like so like everything is basically this uh this check-in goes to a smart contract which distributes the inflation so like we once that smart contract is deployed and it's running like we have no ability to really influence it so people couldn't just you know send their check into like our email address and we send them inflation

no but i mean like through some api call or something i mean like yeah basically it would it would imply that you have some kind of key that that does this distribution model yeah okay um yeah so we do not so some of the contracts the network or in the protocol are not upgradable or most of them are a few are upgradable and they are owned or they will be owned by the the new cypher dao which is basically composed of the new cypher staker so if enough stakers decided that they wanted to change maybe like the the check-in requirement from a day to a week or they wanted to change how quickly the inflation comes out there are some parameters that the dow itself can kind of tweak but it would require you know a quorum of stakers to

to agree on that type of change but yeah i think uh right now gas cost is not great it's definitely impacting us as the bottom line yeah i mean it's impacting everybody so what's the business model here and how how are you guys making money from all this sure so new cipher or our company at least will uh we have some new cypher tokens and our business model as a company is that we will be staking some of those tokens and running nodes ourselves so particularly at the beginning will be a pretty large staker on the network but other than that you know we'll just be a standard taker we won't have any other sort of explicit advantage over any other staker

so hopefully the ideas you know will be on a relatively equal footing with you know other other node operators in the network you know and if the network is successful in getting a lot of usage and you know people are thinking paying fees into the network we would uh we would benefit from that along with uh other stakers and other net operators cool so uh we're working where should people go to find you to learn more about the worklock and uh yeah any last words sure um so newcypher.com um and from there we link out to all of our channels probably discord is is the most active one and that's focused on you know development and sort of technical aspects of staking you can also get testnet tokens from the faucet

in discord if you want to spin up a test set node and experiment with that before mainnet our twitter um also we we tweet out any sort of important updates on work lock or network announcements there so it's just new cipher at new cipher is our handle there but yeah i think the the starting places is newcipher.com and then we have links to a blog post on on the work lock and that lays out all the participation details and requirements and timing and should have all sort of the information that's relevant for participating in the work lock there yeah and we'll link to the uh we'll link to that blog post as well in the show notes so if anybody's interested uh they can check that out

cool thanks maclaine thanks for joining us today and telling us all about new cypher and uh looking forward to learning more once the war clock period ends and the network launches absolutely great to be here thank you guys thanks thank you for joining us on this week's episode we release new episodes every week you can find and subscribe to the show on itunes spotify youtube soundcloud or wherever you 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 subscribe for a full list of places where you can watch and listen and while you're 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 people find the show and we're always happy to read them so thanks so much and we look forward to being back next week you