ZKPodcast: Blockchain 101 - What are smart contracts?
4 Feb 2019 · 43:27
Zero Knowledge digs into the basics of smart contracts with guest James Prestwich, tracing the term back to its introduction by Nick Szabo in 1994. The conversation covers what smart contracts actually mean, where the concept comes from, and some of the use cases and new challenges it has introduced as an entire ecosystem of companies and projects formed around it. It's an entry-level explainer aimed at newcomers to blockchain terminology.
Speakers
Topics
Transcript
[Music] welcome to zero knowledge a podcast where we explore the latest in blockchain technology and the decentralized web the show is hosted by me Anna and me Fredrik [Music] in this episode we sit down with James Prestwich to explore what smart contracts are hi and welcome to another episode of blockchain 101 today we're
going to be talking about smart contracts and what they are and what they mean and hopefully you're a little bit smarter about the history and what this thing is after this episode and we have a special guest with us today James my name is James Prestwich I was the co-founder of storage and currently I'm the founder of Summa Summa builds cross chains smart contracts and I think it's very cool that you're here with us to talk about smart contracts maybe we kick it off with a quick definition of what a smart contract is so a smart contract is a computer protocol intended to digitally facilitate verify or enforce the negotiation or performance of a
contract a smart contract allows the performance of credible transactions without a third party and the name has been attributed to Nick Szabo apparently he coined this in 1994 so long before blockchain Bitcoin the term smart contract already existed now this is a definition that we just grabbed from Wikipedia maybe we can redefine it again a smart contract what's a smart contract something that I think actually is important to note is that the term smart contract has become incredibly overloaded it seems to mean anything to anyone like it's it's it's a bunch of different things so anything from a
computer program deployed to a blockchain you know that's the generally liked accepted nomenclature in the etherium space is like anything deployed to the blockchain is a smart contract and that's what we're talking about but it doesn't really agree with that original definition from Nick Java so I don't know I tend to actually void into much about some our contracts I will say that or I will say like a program in general terms and then you know whether or not the intention is to actually be a smart contract is left to the author of that code we all know how contracts work in practice it's an agreement between humans if an eye agrees to sell me her car and I give her
the money that means the car is mine smart contracts are ways that we can automate some or all of that so that Anna doesn't have to trust me to give her the money and maybe in the future I don't have to trust her to give me the title to the car and all of it would basically be written in code and once certain when certain conditions are met then the transaction would automatically be completed exactly now that's just a program that's like that's something that's been around for a long time so what makes it smart I guess in the original terms what makes it smart is that automation factor while programs have been around for a long time you know contracts are still very much like
in in meatspace it's a thing that people agree with and the intention is interpreted by lawyers and judges and there's a whole you know ecosystem defined round making a contract a contract so the smart part is that we can eliminate all that overhead and do it automatically and it's not really been possible to do that automatically with money before blockchain because you always have to involve some third party in this thing that is not automatable you can't automate the banks because you have to trust the banks to do what they say they're going to do or like if it's just an agreement between you and me then you know I can't automate you
giving me cash so there there has the automation parts it just hasn't really existed before but don't you think I mean at least maybe we should talk a little bit about the history of this smart contract concept because the way I've understood it is like smart contracts only really become smart because they're on the blockchain and because they're they're dealing with something like you know for sure this is going to happen and cannot be corrupted because you could always make a program would actually automate stuff but there's no proof that that wouldn't get that that couldn't be tampered with or it couldn't be altered or something yeah so I mean in my definition of automate there I mean it to be like undeniably so like you will happen and you know there's proofs generated that X or Y has
happened there's an audit trail or whatever it may be we say that the term smart contract is over 20 years old but we've only actually seen them implemented and used in the wild in the last few years and I think that the you know trustless nature of a blockchain explains that we thought these up 20 years ago and we only managed just now to build something that makes them useful going back to your point of history I think yeah the terms were around but with Bitcoin there is a Bitcoin script you can automate stuff in Bitcoin you can actually do a reasonably large amount of stuff with Bitcoin script it was it's just very hard and it's you can do a lot but you can't do everything and so like part of metallics
original motivation his vision of why he wanted to do anything other than Bitcoin was to be able to do more to have a more complete Bitcoin script and that you could do more stuff with and so that vision eventually evolved into aetherium and now we have this Marc contract platform and it's really like a theorem that popularized the term because it's this kind of date branded themselves from the beginning as a smart contract platform James you've been in the space a fair amount of time do you know if was there ever a project before aetherium that claimed to create smart contracts or is that really something that was ushered in with the creation of a theorem so in my subjective experience working in the space when aetherium was
announced before it existed there wasn't anything out there trying to do smart contracts or you know generalized contracts there were a number of projects like SIA that were trying to do some special-purpose computation on chain so doing special transaction types that would enforce a very specific contract that was hard-coded into the blockchain I see aetherium less as a reaction to Bitcoin script and more as a reaction to these kinds of special application-specific chains if theorem is a chain that can do anything that any application-specific chain could do yeah so theorem is this generalized platform but the interesting thing to me is that now all the block chains there are a lot
coming after at the areum there are actually some of those like application-specific ones as well and I've actually seen a little bit of our reaction back to this like domain-specific model of block chains because the general ones have scalability problems then yeah like the domain-specific block chain is a sensible thing but then the question is how do you secure it if we have millions so block chains then you know you're splitting the security across these millions of block chains and how does this actually really work you may also I wonder would you also end up with like different languages being used to create these smart contracts different standards in certain domains that won't understood by others definitely there's
a bunch of problems spawning up around this for sure but then there is still this overall general arc of like you're not taken seriously as a blockchain unless you are a smart contract platform like if we look at Definity that we had on this episode for instance they're also talking about smart contract like general smart contract platform so I think that there is still you know a lot of innovation and a lot of stuff happening here and yeah the space is super new I mean we gotta remember that you know even 94 it's not that long time ago and the etherium has not been around for that long and like we're still learning what this actually means and how to do it well so we just I think we
made one distinguish we there's like one blockchain that isn't really using smart contracts which is Bitcoin however one could argue that there's now like layer - that's definitely trying to allow for more smart contract like activity to be happening can you can we talk a little bit about that well I would actually disagree that Bitcoin doesn't support smart contracts okay I think it doesn't support aetherium style smart contracts in Bitcoin you're very limited to what you can read and write to the chain whereas an etherium it's very free you can read and write anything but Bitcoin does support adding constraints around transactions it supports time locks it supports you know specifying
who is allowed and when they're allowed to spend funds and you can actually use that to automate you know pretty significant portions of real life contracts so I think we might be talking about a very narrow set of contracts on Bitcoin but I would disagree that it doesn't support them maybe toward that better is it sounds like Bitcoin can support financially driven smart contracts where it's all about funds but not sort of the more general smart contracts which are not involving funds yeah I think that's a pretty fair description and you know even within the realm of financially driven contracts there are some things that you can do with solidity on aetherium that you can't do it with script on Bitcoin so I
think that brings us to talking a little bit about you know this is a 101 episode and we've dug into a little bit of the history in the terminology I typically like I said say that it's just like a program deploy to a blockchain and then you know what is the actual use case and from that determine you know is this intended to be a contract or not so what are actual practical use cases of smart contracts or or blockchain applications and I think that's where a lot of confusion and a lot of division in communities happen is that we say smart contracts and different people mean different things some people just want
to deploy an app that is you know dealing with data they want a decentralized Twitter they want the general decentralized internet they're not dealing with money they they're not necessarily even dealing with trust they just want that decentralized data and audit trail whereas some people you know wants absolute smart contracts and the original definition of this is a contract between you and me and if you know this should be enforceable and yeah contract in every sense of the term I definitely fall more into the latter camp I think that Finance is the most interesting and mature use case for a blockchain and when we're talking about block trains as public
infrastructure I think that we suffer from a bit of a tragedy of the Commons when we get into the more general-purpose data-driven apps Twitter on the blockchain is not a scalable app we we can't actually replicate every tweet to every node in aetherium every block it's a it's a bit painful we can but the problem is that the incentives are not aligned correctly and we've had a whole episode on this which I can't remember which number it is but the episode with filled iron on storage room if everyone was willing to pay to store everyone else's tweet then it would work but people are not willing to do that so that's why this kind of architecture and
why a lot of people say we can't just port no centralized internet things to decentralized Internet yeah is that where the schism like is that one of the big issues between the Bitcoin folks and the etherium folks is should smart contracts be used for non-financial purposes is that is that actually one of the main things that people are arguing about sure if then it's it's the main thing but it's certainly one of the things it's definitely one of the things so like for example Luke jr. one of the Bitcoin devs will go as far as to call most transactions on chain spam they started back in like 2013 with Satoshi dice and all the gambling sites that were popular then I don't think it's the
core of the schism here but I think it is you know one of the battlegrounds speaking on the practical side a question that I get a lot when talking about smart contracts is like I hear about this world computer I hear there's like this VM this is usual I talk mostly to programmers in my life so it's mostly from programmers but who come from this perspective of like I don't really understand what what you're talking about what is the VM and where does that live a VM is like a very common thing I run a VM in docker why do I have to like write Lidda tea for this p.m. and like how is this different and I think on that level
like technically I think the only really interesting thing to say is that you know the world computer is this decentralized peer-to-peer network that's running blockchain clients in the blockchain clients is a virtual machine much like webassembly or the Java VM or something like that except that it's fully deterministic and that's really what defines a blockchain VM it's fully deterministic VM and because we like in the theorem world there was a completely new VM invented that's why we kind of need these smart programming languages and it's a kind of a different domain
but we're seeing now with new block chains that they're coming up with more standardized VMS like webassembly VMS and so we were kind of expanding our horizon standardizing across fields so on that and like I think we've in the blockchain world kind of Mista sized the smart contracts stuff a little bit too much and practically it's it's the same kind of computer software that we're used to dealing with it just ships in a different form it's transactions across a peer-to-peer network um I usually think about this from the consensus perspective the goal of Bitcoin and the
goal of blockchains was to get a bunch of computers to agree on some shared state right some shared information and do it in a way that's safe and trustless and everybody arrives at the same conclusion and bitcoin we do that with transactions and unspent transaction outputs and we agree on who owns how much money in aetherium we do it with transactions and smart contract code and we agree on you know just about anything we can write any kind of state we want to the blockchain so you know when we're talking about the EVM you know that is what runs the smart contract code that
decides what to write to the chain when you call it and your points you can think of it as a world computer because this virtual machine has persistent global memory that is essentially infinite it's not practically infinite but you know from a programming model it's infinite that's a starting point for at least developers to start thinking about like the these are the building blocks that we're building on and keeping keep that in mind as we go into more abstract levels of talking about smart contracts so going back to practical use cases what are some good use cases of financial smart contracts at Summa for example we build cross
chain smart contracts we build ways to exchange and hedge risk between Bitcoin and etherium and a few other chains so you know in this case what we're doing is we're providing a financial contract that meets the buyers real-world asset management needs and we're helping two people enter that into that contract restlessly and you know execute and settle on chain some of the most widely deployed contracts recently have been token sales these go all the way back to 2016 so for example you have Gollum and gnosis whose sale of tokens was done by an on chain contract so if you have you
know your ether and you want their tokens the smart contract enforces the terms of that exchange other things being done with smart contracts recently include non fungible tokens like crypto kitties we have some people working on multi-sig wallets so custody solutions written as a smart contract I think when we're talking about money and smart contracts or like money uses of smart contracts things like crypto kitties should be included even though you know depending on whose definition you follow cryptocurrencies are not I am money either so maybe let's say you and people do find value in digital
scarcity I think that is a a thing and people want trading cards and they find value in knowing that this is the only card in the world that you know looks like this and like this is something that is actually enforceable on the blockchain and it is a good use case and in the real world we trust what's the company buying Magic the Gathering was if the case Wizards of the coast we trust that they're not going to print more of these cards and in the Bakhtin world we don't actually have to trust them you want to to do that so I think that's actually a valid use case yeah it's interesting the idea of you know unique
digitally scarce assets on a blockchain goes back you know a number of years I don't know if we actually already spoke about that like this idea of scarcity the idea of the limit on the number of tokens the limit the limits are actually what are making value in this I mean if that's the idea that if you create something scarce I mean actually what we're actually talking about here are like NF T's non fungible tokens which is a word and term that gets thrown around a lot right now people are very excited about it I'm gonna be like super contrarian here for a second people getting excited about NF T's are getting excited about the fact that things can
be different from each other like this this isn't a newer innovative concept but I was provably different from each other in a way without like you said without this third party that it said ya know I've only released a hundred into the world this is like there can only be a hundred in the world yeah going back to your earlier point though you can think of a blockchain as a smart contract itself it's an agreement between all of the users about you know how the change should run and should update state and issue new coins everybody agrees to those terms they opt into it by running the software and by owning ether and using smart contracts so it's an agreement between
humans that is automated by software you know that fits our earlier definitions of smart contracts pretty well I think it so I would extend that to be it's an agreement between humans or between machines because very often and like what a lot of people talk about and being excited about blockchain is it does actually allow a machine to enter into our contract as well I agree one of the really cool things about this is that you can give machines custody of your funds on your behalf by giving them your private key and writing software that signs transactions but I think that the human element here is extremely
important if you look at like the 2016 death parity consensus failure when geffen parity started you know working on different etherium chains for a while or if you look at the earlier consensus failure around Bitcoin 0.7 and 0.8 what happened there is the machines stopped agreeing and humans had to come in and clean it up and reach agreement so I look at the software as you know agents of humans here more than as something that is itself part of the agreement and I think I mean what you just described sort of leads us into a point that we did want to talk about and that it's like the security of smart contracts or
how can smart contracts actually fail what's the problem with them so far we've just spoken about how neat they are and how many cool things they can do but what is what is the problem with smart contracts how can those things actually happen so I think that goes back to the different use cases that people imagine and I mean I've heard arguments that you should not touch smart contracts on unless you're willing to like do like write your entire smart contract and buy code and formally prove that it's correct to your intention and like that's the only thing that should ever touch a chain and if that's the model then only like contracts that are expected to deal with multi-million
dollars and only the people who are like beneficiaries of those contracts would be able to right them because like they're the only ones that would have enough funds to actually do that so it becomes a horribly intractable thing to do and it's like really hard and that's why I think a lot of people get more excited about the general depths sphere because it's much more relaxed and like the attitude is that anyone can get into it but now you kind of have both of these worlds playing in the same space and it becomes really hard to deal with like you have people coming from like oh I want to build a game and then suddenly they're like maybe they don't intend to
deal with money but suddenly like they add a feature so that they are and now like they haven't formally proven their by code and yeah it's a security problem not necessarily of any inherent property of any system but as a mentality and as a way to look at this and think about it and I think this goes back to a point that we've raised a few times in the podcast generally which is about like how how different working in this space is to like their usual startup land of like move fast and break things which what I'm hearing here is that like because of the flexibility of smart contracts you will have people who join who maybe aren't being as careful with their code and they're not auditing it
and they're not looking as closely as they should and then because they're just trying to build stuff that's cool like you said maybe money gets involved in it or they don't expect it to be such huge volumes of money being involved and all of a sudden the stakes are higher a bug or something happens because the code just wasn't like right from the start and a lot of people get really angry and I guess the confidence for some people the confidence in smart contracts as a concept kind of goes away or lessens somehow when we're talking about writing smart contracts that deal with other people's money we need to have a very high standard of care as developers I don't think that it's necessary to go as far as formal verification and
mathematical proofs of the correctness of your contract in most cases but compared to normal software we should be writing this extremely carefully and if you look at past failures of smart contracts usually it comes down to the developer misunderstanding some aspect of the language or some aspect of the chain and the contract fails because the developer doesn't have a perfect understanding of what he's written or she's written and you know I know myself as a developer I barely understand how my home stereo set works sometimes I can get it to play music I think you know as someone
developing smart contracts I'm not equipped to understand every piece of such a complex system I'm constantly terrified that I'm going to mess something up and as a result you know I submit my code to independent auditors but because of the way that aetherium works and the way solidity is structured and the way the EVM works I can never be 100% sure that my code is bug free and that's problematic I think that goes back to the immaturity of the system as a whole and like I said we're really early in this space we really kind of don't know what we're doing as a society and we're still developing a lot of
these tools and I mean we we spoke to Grif in an episode and he shared his story of the how the doubt bug happened and he was programming solidity and at a time where you know there was no payable modifier in the language you could send money anywhere another thing that terrifies me is that the solidity compiler itself hasn't had an audit like who knows if there's a bug in the solidity compiler in every smart contract ever has bugs in them like we don't really know there's researchers doing analysis of byte code on chain right now and you know they're finding stuff they're not finding anything massive and super upsetting but it's still like so early in the space the
tooling is not there to have the right confidence to deal with the kind of money that we're usually dealing with right and on that note it's been very interesting to see the evolution of psyllid over time in response to things like the dal vulnerability the introduction of the payable keywords the focus on adding you know more checks to your contract to make sure that things work how you think they do has been really interesting I think solidity is something that's teaching us a lot of lessons about how to design smart contract systems on chain and how to design languages for them I think the the main takeaway though from the downside or from the
difficulty in doing this is that it's not something that is inherent to the system there is nothing that says we will not never get to a point where all smart contracts are automatically mathematically proven correct it's unlikely that will happen in the next 10 years but there's nothing that says that that is an impossible thing to achieve hmm would that be formal verification like built in exactly yeah I agree with that on the level of the code itself we can you know get to a point where every smart contract is formally verified where we know that it behaves exactly as written and that there are no bugs present what we can't do is prove things
about user interactions in that smart contract for example you know one of my side projects that I work on and talk about is minor front running we can write smart contracts and prove how they behave but then when we get to the user interaction point miners have an advantage and interacting with smart contracts they get to see what transactions are going to occur decide what transactions are allowed on a block and insert any of their own along the way and so if you're on a decentralized exchange and trading with a minor they will always make more money than you because they see your trades and can
respond before they happen so the idea of shared state in these smart contract systems where users can interact directly is always going to be a little bit problematic yeah and I think that I mean that's a particular property of a blockchain so I think that's why innovation in the bakhtin space is still SuperDuper important we're not done here like that's the theme that I try to tell everyone all the time it's an immature space we're still working on this stuff we're not done and there's nothing that says that we can't have shielded transactions everywhere even in smart contracts like parody has the secret store that allows you to have private transactions the only thing you commit
to to chain this is like estate roots and then the state exchange is happening off chain so you could run a decentralized exchange where you know miners only get to see some hashed value and everyone else who's participating in the system are sharing their keys in some other way and so like we can build all of this stuff into the boxing and make things better and I think that's what I want people to be working on it's making things better I think that makes a lot of sense this idea that we're going like I think in over our talk you know even though we're highlighting a lot of the problems or the things that could go wrong with smart contracts I think we do have to continue to like remember that they are really interesting there's a lot of potential
value in them and that you shouldn't hear about these problems and sort of throw them out the window be like ah screw them like don't touch them because they're dangerous because I think that there is too much potential in that there's too much that you could actually be doing with them I had asked the question what was what's an example of a financial financially driven smart contract but now I'm kind of curious are there examples of like non value bearing or non financial smart contracts as well I think there's a couple of good examples yeah there's more bad examples than good ones right now and you know anyone working in the blockchain industry sees all of these bad examples all the time coming through and people kind of wanting to do everything in
smart contracts and I don't think that's necessarily a good idea but there are definitely good use cases so a very well-known problem in DNS that's been around forever and it's still very much a problem and we don't really know how to solve it and has been plaguing the internet forever and that is certificates like how do you do certificate management for the internet in general for DNS and the existing solutions of having like root certifiers that are trusted it's not working out all that well because it turns out that some can't really be trusted and it's a huge system that is extracting a lot of money from people for questionable value
and shouldn't this be like a first principle kind of thing that everything is encrypted online and all these kinds of aspects with a DNS system that is an existing system that really kind of and that's all very well with smart contracts in like enos which is you know maybe they don't have the perfect solution but it's trying to solve that problem of how do I provide a certificate to prove that I own like this address or how do I you know actually say I like in in the internet world it would be how do I prove that I own this domain like I would encrypt it and then I have a certificate you know signed with the same key that I
encrypted the domain with whatever like some scheme where I can actually show that I own both and then you can trust this without having like a central certifying body that you're trusting well Ian su put up a deposit right yeah but that's for other properties I mean you could have such a certificate system where I like provide a nacelle certificate that is linked to my private key in some way and that's all registered on me so if you want to like have encrypted chat with me all you have to trust is that I own this address or maybe maybe we should back up a few steps then and say that um one of the current problems on the Internet is it's very difficult to associate a domain name which humans can read with an IP
address which computers can read safely to solve this we invented a complex system of certificates where some authority will say that google.com is 8.8.8.8 or whatever Google is right so an authority will associate that name with at IP address and so when we introduce ENS suddenly we have an authority that's the blockchain it's not a trusted third party anymore we can go to the chain and see that the on chain owner of that domain has certified a specific IP address and that's a non financial
transaction but it's still something that's extremely valuable and extremely important that we have a blockchain to arbitrate it and it sounds like this also would link to this concept of identity on the blockchain so having worked on the pickup's project during the polka dot sale and like actually seeing some of the you know you know workings of what a kyc would look like i mean that is also a non financial this is just basically linking your identity to some address or to something that isn't i guess another example of a non-financial use of a smart contract i think that while smart contracts have a lot of extremely compelling use cases 95% of them don't need a token and are
made worse by tokens so a lot of people are taking this very short term oriented view where a token helps them raise money to create something but i think that in the long run we're going to see a lot of people regretting that because the in my experience that token makes it more difficult to create a working product in a working system I'd also say that's the biggest problem I see I mean there's a lot of bad ideas out there and a lot of misguided efforts to put things on the blockchain but at the same time I wouldn't be one to discourage experimentation but a big problem is that everyone wants to attach a token one problem is that it fundamentally
changes how they have to build a product and it's probably just worse but another thing is that they're also kind of damaging theirselves I mean if if someone deploys an application that's useful and people want to use it and they don't want to deal with a token there's nothing stopping them from popping that contract and redeploying it without the token and so I mean we fundamentally have to treat every single thing deploy to the blockchain is open-source code and so you know open source code you can copy it and change it and redeploy it so any sort of profit model any sort of token that doesn't
need to be there can be removed and maybe will be highly likely to be removed if it indeed it's not necessary if the if the contract is useful and the token is not yeah so let's bring it back to smart contracts and why smart contracts are great at this point like I'd like to take a second I think through the podcast so far I've had negative opinions on tokens non fungible tokens rich statefulness the idea of smart contracts sometimes on atheria maybe a few other things you know all of that not withstanding smart contracts are interesting enough and powerful enough that I spend 80% of my waking life
writing them and then the other 20% thinking about them and then I think I dream about the most nights too but what's a smart contract dream like very boring but you know this is something that despite the issues so far you know is going to be extremely powerful and extremely important going forward I think that's the opinion of most people I've met who are serious in this space that they're getting involved because they see a lot of potential and what you can build and that it is fundamentally different it's it's it's all of these properties that we always talk about with blockchain transparent you know traceable whatever whatever and it's
just a new paradigm and we haven't really figured it out yet but it's it feels like it has incredible potential I have a thought on this as I'm wondering if like right now anyone can write a smart contract I could write a smart contract it's I mean anyone being able to write a smart contract is maybe part of the amazingness of it it's distributing all that power to all of these people but as we know with all systems which have distributed power to all of those people there's unintended consequences if everyone can write a smart contract and there's so many ways to break it then you're going to run into a lot of problems so I think there's this balance that I think it's
sort of emerging of like how to make sure that they're done correctly and how to make sure that they're you know not going to damage a lot of people also finding people in the space who can become true experts on it and systems that can help make sure that these things that are deployed or deployed in a way that's like smart and careful without obviously ruining the ability of people to jump in and get their hands dirty yeah I definitely agree I think we're going to eventually treat important smart contracts the way we treat airplanes or other you know high assurance environment where there's going to be known procedures for writing something that is unlikely to fail where
there's going to be checklists on checklists and where it's going to pass through multiple layers of sign-off it'll be super unsexy extremely unsexy yeah I think you're right and the problem that we have right now is that we we don't even have those fundamentals in place where we can say no this this was a mistake let's fix it that is not possible in the current framework and we're seeing that we're kind of getting there we had to talk with Zeppelin on a previous episode where they're talking about smart contract upgrade ability that's like one piece of it I know when I talked to Griff that you know he has a vision of like every token basically
having its own little proof authority system so that you know you can kind of have an escape hatch and call back everything because all the ether is wrapped and so you can kind of whine things back on chain without having to you know actually do a hard fork or anything like that and then as you increase the like trust and reliance of the software you can remove these security features and make them and the more trust Liz over time which is interesting because that's essentially the way the financial system works right now is a trades between brokerages go through a clearing house and the clearing house has the power to wind back trades or they go through an exchange which has
the power to wind back trades in the event of major failures what the blockchain provides is a way to remove that once we feel ready to do so soon enough we're going to feel comfortable turning that off for specific areas of the financial system and I think that those are the most useful and compelling places to implement smart contracts right now right now and you know it's going to expand going forward as we get better smart contracts and a better ecosystem hopefully we've conveyed what a smart contract is and what the potential is what the downsides are and given an idea of like how we ask people working in this industry think about it
and how we like talk about it and how we construct our opinions around it and because it's a very high level topic I think that's what's needed to try to teach people what a smart contract is it's not just a slow program it's not just like you're dealing with properties of a whole system it's not just that the code that we're dealing with to tie it all back together I think that you know smart contracts are contracts they only exist between people you know they exist for a purpose and that's what we should be talking about I think so my my takeaway is very much around this idea of smart contracts being this way that a
lot of people can get involved and jump in and start you know creating these pretty powerful pretty interesting decentralized applications things that can happen without an intermediary and theory I'm provided this way to do it really easily which is awesome but at the same time because it's so easy and so awesome a lot of people have gotten in and have not necessarily recognized their own power and they aren't necessarily trained to do that and I think that always when talking about our contracts it comes back to that that there's a lot of like really bright people doing it maybe which is like not a full oversight of what the consequence of their actions will be all getting together and building a bunch of stuff and I think it's gonna be exciting that
I do think it it it requires thought about process and like how to eventually make this something that's a little bit safer for the whole world so on that note thank you very much James for joining the podcast and helping us uncover smart contract and for the conversation no thanks for having me guys and to our listeners thanks for listening thanks for listening [Music]