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

Loading player…

Smart Contracts as Parametrization: Why the DLT Talk Can Make Sense - Henning Diedrich

DevconMon, Oct 9, 2017, 12:00 AM

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/2/smart-contracts-as-parametrization-why-the-dlt-talk-can-make-sense Mistaking blockchain for a distributed ledger usually leads to wrong ideas and broken designs. Other technologies should usually be used to implement an immutable ledger. Especially if there is no use for smart contracts or on-chain code, using Ethereum would usually create too much overhead. However, a different use for smart contracts seems to be emerging that may not be along the lines they are currently understood: instead of facilitating self executing agreements and payments, they can be useful for user parametrization of complex workloads. Parameters of a system can ever only be as powerful as the code they are controlling. In platform systems, users will define parameters to control part of a pre-programmed environment in ways that they need it. Parameters often power creep from static values, over macros to full blown scripts. It’s along those lines that Lua developed from a parameter definition language into a powerful script language. Smart contracts seem to leak into a role where they extend the power of digitally signed parameters to trustable scripts, which can allow e.g. for more flexible controlling of the anonymous execution of analysis code against a provided data stream with full transparency for the data provider and execution guarantee for the code provider. Speaker(s): Henning Diedrich Skill level: Intermediate Track: Developer Infrastructure Keywords: ledger, execution, scalability, progress, systems, availability, language, resilience, init Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 2 was held in Shanghai, China on Sep 19 - 21, 2016. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

Transcript

you Thanks all right ah oh I still have one more minute bonus that's that's awesome ah what's gone all right so thanks so much for having me I'm really super excited to be here thanks a lot for Ming and George and Laura and Hudson and all the other helpers please give them a hand because I think this is a very unique occasion here and you're making it possible thank you so much so I'm talking about smart contracts as perimeter ization and I realized when I was running the presentation by Christian ip's know that he wasn't really sure what it means yes he's not the only one but I am going to try my best to explain exactly that so i'm heading dt i'm working at IBM i'm working in the project blue horizon and we are i'm very proud that we're actually really having a product there that is using the blockchain it's not just a project it's something that is actually ready for production so and i'm also writing a book about a serial it's having a subtitle a serum for non-technical people and one of the things that i'm taking aim is that the distributed ledger talk is something that is very confusing and that is giving people the wrong idea what to look at when they're looking for ideas for block chain so people like this used to be the ledger thing because the letter is something that's around for a long time and the block chain obviously has a lot of very good features that make it very good just repeat a letter however that's completely the wrong track and where you actually should looking on is the guarantee of execution because that's the reason why for example bitcoin is where something it's not just because it couldn't be duplicated in the past or you can duplicate it now it's because nobody will be able to duplicate them going into the future that's why they have a value and if we look at the theorem as the world computer it's also something where you think of moving cogs right i means if you you put something into a transaction and it's going to eight thousand computers and is changing bits and bytes there so it's not a world ledger that we're talking about although on the other hand that's the URL for my book if you try to really get your head around it you look at stuff from different angles and that's also what I'm trying to do in my book is I'm explaining where you could actually have by taking a different view have a different inside and this is something in games development there is that book so to say about how you design games is called book of lenses so I'm not inventing this and of course if you look at Bitcoin in the end what you want to know is what's the balance of my account of my Bitcoin account but where are the smart contracts there so there's the question of course our smart contracts really something that you can do with Bitcoin and we're on a serum conference here so I can be critical and what you can do is multi stick with Bitcoin right and then everything that goes beyond that you can put a hash in the blockchain and Bitcoin and then you can say okay but I have clients that all agree that a certain hash is going to mean a certain code and how they get that code doesn't matter and then they gonna execute it and that's as good as having the code on chain however and I I oh that to Jolla Tony one researcher like the earliest researcher IBM that was looking into Bitcoin and blockchain there is an analogy here that could be made between FTP and HTTP so there's a story that at IBM when somebody came up with yeah we should be looking at a PP HTTP they were making an experiment because technically some people said well HTTP is semantically nothing different there's nothing different than ft what ftp does and the end you get a file right that's that's it and so they gave them the task who write a web server one guy was writing at an ftp one was writing in at HTTP and after a day that guy with four HTTP was done and the guy with ftp was after week he was still not done so they canceled the experiment it had a clear result and IBM started to look at HTTP and this could be taken to the difference of having the stuff off chain or having unchain because of various attack vectors that we've been speaking about this week these days so blue horizon is something that informs very much how I look at the blockchain at the moment because it's something we've been working on very hard and we've also sometimes run into insights that maybe we hadn't hoped to find what's blue horizon Blue Horizon is doing analysis at the edge that means that we are basically making possible to have the analysis code running as close to the sensors and the edge as possible as opposed to having it in the cloud so a very common situation is something like this you have a lot of sensors those are the bubbles at the top and then those sensors they could be antennas for a software-defined radio or a temperature or smoke detectors they sending a lot of data to the cloud and that is very high volume data with a very low individual value that is then analyzed in the cloud to make high value out of it so what we are striving to do is to reverse that and have in the end high value and low volume so we're sending out the analysis code into in dhaka containers to the edge and at the edges deployed its unpacked and then runs and the edge and what it sends back is only the high value low volume data that's in a nutshell what we're doing and you could be looking up much more explanation and you can even write your own applications on top of this platform and this is the URL when you can go to and check out what blue horizon can do for you we will we are in the process of open sourcing it we are going to have a very have a new website to where we're going to explain how exactly how you write your platform if you have a Raspberry Pi you can immediately take part in the use cases that we're offering their we're doing something emulating flightaware where you can have your own weather station plugged into our network and what we have now is a map where you can see little raspberry PI's running all over the globe and picking up flight path this and doing networks be tests and you can immediately plug your Raspberry Pi in there and then take part in this and we're happy about everybody and going to support you personally to come and take part so part of the whole system that we have there is that we have a sequence that is going through registration of Raspberry Pi and the network then it makes an offer offering its data somebody else who's playing the entrepreneur or the use case is making a bid to have a subscription to this data stream to create a new business model format or make a new offer then that bid is accepted the functionality is deployed the analyzation starts and then in the end there's payment so out of these things the deployment and then allah is analyzing is something that we do completely peer-to-peer we don't need the blockchain for that and the reality is that even now we're even taking the blockchain out of the equation for the offer and the bid and creating the centralized because it's just not scaling it's just not fast enough at this point and because we want to have a product that people can use we're backtracking at that point if we're looking at smart contracts ideally to have smart contracts full circle you want to have something that goes like this you have an offer it is being it's agreed to then at some point you deliver the data thank you for low light show then you then at some point you confirm and then the payment comes and what you really want to have to have a real smart contract is that the confirmation comes from a third-party trusted Oracle or ideally even you can have in solidity code that verifies whether the data that has been delivered is really worth something and then does the payment or refund this could be thinkable if you have weather data you could verify whether it's an total outlier compared to its neighbors then it's probably noise and then you don't pay but the reality of it is as it is right now we're cutting this out and what we're really using of smart contracts is only this they offer agreement and then in the NDP and again we have this gap there so in a sad way you could say that also at Blue Horizon we're just using the blockchain very much as a distributor letter and we are using it certainly for payment than in the end but this is also because the reality of our project was that we have technology in search of a project and not the other way around and we were basically given a lot a lot of stuff that was supposed to be in that project and this way it was initially called MTN or multiplying things needlessly I want to share very quickly some problems that we found with the theorem and some of it is not so surprising speed is really standing out in a way that can be pinpointed to it's the right how slow it is to write as this very is exactly what making the problem scalability I don't have to explain that but of course we ran into this somewhat unexpected we really have huge bandwidth problems but event that I healed more or less by the light client and then of course yeah scale I said that before so and it's also a little bit to doge I won't get into into that but sometimes there are inducing crises that are fun for the guys who make it but to use it it's not sometimes not helpful then we sometimes run into bugs to that we felt like if somebody was really using athyrium how can possibly be this box still in there the strength availability that we have a contract language that you can actually use and to write complex and resilience you can knock out all the nodes with one load survives is still going to survive but still coming back to the DLT on smart contract that permit realization if you have functional programming then you have first-class citizen functions and if you have a function you just don't Merson you don't just throw static parameters in there you want to have functions going in there if this is a function and you have static parameters you can define a car but if you can throw other functions in there you can have a whole new universe of stuff happening just from one starting point and so what you can do now is if you have an init function of our platform you can give it a static parameter and that's the prize in this case this could look like this but if you have a little bit more then you can have an acknowledgement function that is then called in the last line are down there and it's giving back as status to the app developer who is using our platform now you can even go faster and can have the whole my init function as part of the app instead of the platform so the whole platform is calling back into the app and now it gets interesting because you can also have caused get beyond the convention of having an init function you could do it like this or and the future you could also hope that you would at some point have the possibility to have this which is exactly what Krishnan said today when solidity comes to the point that it actually allows you to have first-class citizen functions this syntax does not exist yet but this would allow you to set the price immediately by a callback that would say check out what the price of the dollar is at a certain day to set a price that is not a static number but that is looked up in that moment so yeah this is yourself the distributed letter I really hate it but maybe there's more to it than I used to think and this is just the current thoughts I had on it this is my twitter handle i'll post the links there thank you very much

Automatic transcript — names and jargon may be misspelled.