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

Loading player…

EthCC 2: Thomas Bertani

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

Speaker

Thomas Bertani

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

Transcript

thank you hello everyone my name is Thomas bertani I'm the founder of Oracle eyes so when we started trying to solve the Oracle problem in 2014 2015 um like the entire ecosystem was still in its infancy and we had to waste like pretty much 50 of our speaking time at presentations just to introduce the Oracle problem today in this like event we have I think four or five presentations on the oracle's problem and there are different themes such as witness chain link and many others that are trying to address the Oracle problem so we don't have to you know dedicate 50 of the time just to explain why oracles are important and why data Rich smart contracts are really needed to move the space forward so I'm really happy today to be able to use just slide zero like the up up a small um corner of this slide like the bottom of the slide basically to to like briefly introduce the Oracle problem for those who are seeing um like this for the first time so basically long story short in 10 seconds um the Oracle is like an entity which enables you to get data that you need within the blockchain context so the blockchain is by itself like a world Garden so it's not possible to reach out to any external data and this makes it impossible for smart contrast to depend on external real world conditions so it's really important to have this infrastructure piece in place and as we have seen in the previous presentation I mean the end user users shouldn't really care about what technology is being used under the hood well the end user cares about is the application being easy simple secure and just you know working so this is basically a technical piece of infrastructure that we need for blockchain to you know go to the masses and have some kind of implications on the real world so Oracle eyes um has been solving this problem for a few years we started in 2014 um kicking off the project on bitcoin actually and we moved to ethereum after the main net launch which happened in I think August 2015 if I'm not wrong um and at Defcon 1 we announced the service in London in 2015 and since then uh well basically um we um we got traction on the title mainnet if you consider these smart contracts uh Trend something where traction fits as a term in the sense that as you know and we are building many pieces of the infrastructure and you know they are getting adopted slowly so what are the main use cases that we see in the space we know decentralized Finance could be huge we know that um you know there are many other potential implications for insurance Banking and much more so what we try to do here on the side on the right part of this slide is basically um looking at the Oracle eyes based project which at the moment are approximately 1000 on GitHub um and we try to look at the like their scope like the the their industry basically the reference Market they had and uh this is too small for you to to read the text but I will help so basically the big chunk uh the big uh slice of the pie in blue is guess what gambling so gambling is definitely one of the use cases on blockchain which is getting more traction we have seen us on bitcoin itself the first spike in number of transactions happening in 2012 was because of Satoshi dies like a gambling platform and since then gambling you know also in ethereum has become more and more important there are many gambling applications so why would the gambling project reach out to an article well basically because getting on chain Randomness is kind of complicated and there are always some risks to be considered with you know mining potentially being able to collude or you know many other problems now this presentation is not a Randomness but um you can you can do your homework and find out that basically it's quite complex and while there are many um like projects trying to solve the randomness problem on chain uh at the moment it's not really ready to be used by casinos or by gambling applications today maybe in few years the landscape will be different but this is the case today so they are reaching out to an external context and asking for Randomness to be generated typically within a trusted execution environment or some kind of um like provably safe context basically but different from the blockchain another big use case is the yellow one uh sorry the green one is icos and the orange one is assets and tokens so these are basically tokens or projects that have to get some price fees or some reference data from the from the Internet or from some data sources for instance there are some asset backed tokens that for some of their internal Logics they need to to understand what a given reference price is so they reach out to an external web API via the Oracle and they they do that um so what this ride is really about is explaining that when we started there was like no Oracle piece in place so we had to design everything like we had to understand how to secure the authenticity of data how to how the communication was supposed to work so the protocol and what kind of data sources were interesting for for the concept and actually when we started there was no demand for oracles that's the reality of things so they were out there there was a very nice wiki page on bitcoin.it explaining oracles which I think is still there but nobody really cared indeed the attraction started coming like a couple of years later still we kept building and securing it and uh this is why today on the ethereum main net uh we are the most widely used Oracle service because we have been in production for so long and we have also expanded to other blockchains of course we love ethereum but you know um we don't really know yet what people will value of decentralization so we think decentralization is cool but as we have seen in the previous slide and this is not what matters to the end user this is what matters to us to the technical people who are still in the space in the bearish phase of the market but this is not what may will make blockchain scale so um in the rest of the presentation I will explain what um like how the landscape is changing and how we are changing with it so this is why the presentation is about to localize 2.0 the open challenge is that you see um are being addressed by several projects um so for instance uh the data source is an important piece like we keep discussing decentralization but at the end of the day the reliable data sources Distributing data on the internet are very few and when we ask for like the temperature in Paris everyone will just go on Google and Trust Google or get two or three data sources that probably at the end of the day are relying on the same source of data the same sensors or the same things so we are discussing about decentralized decentralizing something which would have little implications on the actual thrust line that you have on the final payment triggering logic or anything like that um so the data sources is something that for instance Thompson Reuters has been addressing forever right like the aggregate data they distribute data um and the reason why I mentioned Thompson Reuters in this slide is that they are integrated with ethereum and with some other projects they are just signing their own data and sending it to the blockchain on demand so if you trust Thomson Reuters which is something 99 or 100 of the financial institutions do then you can just get it on the blockchain very easily I've like with no need to um you know use complex Logics or Technologies to prove the authenticity of data they're just signing their own data um there are other projects such as streamer which I think is in this room and few others that are trying to like provide some registry mechanisms or some Central um like data sources that can be considered reliable to offer some kind of guarantees and basically and give access to many other data sources or inter potential interesting data other approach other problems are indeed the authenticity of data at the moment the major approach being used is like teas so trusted execution environments or trusted Computing techniques to make the deterministic non-deterministic process in a way so Intel sgx is one of the Technologies being used there are a few others that we have been using for years it's just about you know isolating um the data fetching process and proving to the blockchain that that installation really happened and that the data is safe as long as you trust the installation that's it um and there are a few projects doing that town crier from ic3 Cornell University has been working on that we have been doing it with Technologies of Qualcomm and Android on also building on The Ledger platform and also Ledger I think is in this room hi Nicholas um and um there are a few other approaches like TLS notary and Page signer which is the project we have been traditionally using uses some kind of like software resolution I mean as in the sense that you need to trust like the Amazon isolation of Amazon web service for its claim to be useful in general the point here is that no isolation is you know perfect and if you were to trust in full those installation techniques you wouldn't be here discussing blockchain you will just use those Technologies in full um so it's a compromise and our approach has been the one of using as many Technologies as possible so that if one breaks you don't compromise the security of your data on the blockchain um but yeah there are many projects doing that and something else is the underlying protocol so that's the messy part because basically we have been doing it we have been designing the protocol to get data from these smart contracts um from the internet on Smart contrast because we had no choice like there was no alternative there was nothing available today there are many projects trying to address that specific part one is chain link another one is witness I think also rhombus is uh working on that part and yeah there is a lot of competition um just to define the communication method to get data in which is one of the open challenges in a way and it's a growing ecosystem like there are more and more players and there is an increasing interest on solving once and for all the Oracle problem which may already be solved or not we don't know because the demand is still limited right so we don't know how much decentralization people want how much Security Contracts we require and so on time with that um so in our version 1.0 basically we are we have built everything on those fronts and so that we could provide a full service in production um so we start we tried approximately last well it was last year so a few months ago one year ago or something and that we stopped for a minute saying okay fine so um what are we doing so what we have which you find on the right and what does the community want um and I think we were quite satisfied in seeing that we we had matched most of the community um like uh requests indeed all of our work has been based on continuous iterations like in the last year in half Industries I think we have made something like 100 presentations and in all presentations we got like um some very like useful feedback that at the end of the day resulted in some changes or in some minor you know the interface improvements or things like that um so ease of use is very important like now we are making everything more and more complicated and this means the entry barrier um is higher and higher um so we try to make it simple and to make some assumptions for the normal user so that you can make it safer if you want but by default um like the user interaction is is really simple we try to like add no additional overhead in uh lower constraints right um so something as we did is the T based approach multi-te setup I already discussed this so basically let's get it as safe as it can be today with the Technologies we have available on the market um and basically in order to bid all those components internally we have to learn how to run things on mainnet which is something that most of our competitors have not faced yet and so we we stopped for a second say okay fine so there are many projects trying to get um out with like some more decentralized approaches some protocol changes or other things but do they know what it means to run something on mainnet well probably not as much as us at the moment um and something else that we have at the moment um is basically um other than the expertise on minute also the physical machines we had to build for ourselves for this multi-te setup so we got um like Enterprises reaching out saying fine can I use this to get the multi-t setup and blockchain then you go to a client and the client first question is okay can we get rid of the blockchain part um and basically what we found out is that you know the multity is set up is actually interesting for many um and it can be useful on the blockchain but is not um necessary applicable just there some open question marks are on the reduced cost and um which is a question from the community and decentralization um well at the moment like most contrasts on the ethereum are like have an administrator or someone that can change them or rely on external data sources that are Central centralized so the point is that we want to tend towards the centralization but at the moment it is just for decentralization sake like we don't know exactly how much decentralization will be needed and we don't even know which is the other open question mark um like how much people will be ready to to pay for that right now we have like um while speaking um you know with some of our friends uh chilling for instance they were saying fine we offer a different range of costs so the people people will be able to choose a much decentralization they want so in the worst case they will get a centralized service which is water acquires choose and but we expect people to want more decentralization on our side our clients at the moment which like on the minute we have hundreds of contracts reaching out every month they come to us saying okay fine but um five cents is too much Ferrari cast um can you can you go below that so actually we are expecting people to want more decentralization the reality of things is that project are not willing to pay for decentralization today because there is no demand like we are building many pieces and we don't know what will be needed what not um so these are big question marks not just for us but for the entire Community um so this is very challenging for everyone I think so after those reasoning we stop for a second saying fine uh you know what um Oracle eyes represents very well theoretical use case what we want to build going forward is not like just providing an article we want to do more we are focusing on something different so this is why today I'm announcing the rebranding from Oracle eyes to uh provable so provable is like an objective that will be used along with many services that will be reducing other than the Oracle service and it represents better what our scope of work is and what we want to keep focusing on going forward so the two technologies that we understand very well and that we want to keep working on are basically trusted Computing so trusted execution environments and blockchain we think they are complementary like you need both to solve some of those problems and provable um is something in between you know the blockchain and the cyber security space if you want and we'll be using some of the Technologies we have been building for the Oracle service but also on different for different applications so what we will keep providing is like the existing interface uh which is the interface of oracles 1.0 this is like a centralized interface which is you know very cost effective like the gas cost is minimal because you don't have the overhead of interacting with a more complex protocol um it we support the centralization we've seen a bit how and it you know security oriented battle tested these are all things we've already discussed so and on the right you find some numbers uh so we have been live for four years on mainnet just to understand you know the oracles opportunity we are all competing on this is like at the moment cumulative this is one million transactions on mainnet and keep in mind that those projects are complaining for paying five cents on each one of those queries so it's a huge opportunity right well maybe one day but today is still limited um so um this is how we expect to tackle the decentralization problem uh with Oracle s 2.

0 which will be the provable Oracle service so the first one is keeping the existing oracles interface it means that if you are not interested in decentralization aspect the interface stays the same and basically you get um redundancy potentially from other people willing to run our infrastructure which is something that we start to provide very soon um something else is that we expect to integrate um like in the near future with chain link because chain link is like one project along with withnet which most likely will come next um and basically they are focusing on the protocol and on solving the decentralization problem this is like a very big challenge and this is not what we want to focus on so what we want to focus on is you know the multity setup and the uh the other parts of the service so basically you will be able to um to use chain link from um like you will be able to use Oracle eyes on chain link directly using the same protocol um and in this case it will be you know approvable node operator basically so it's like an enhanced experience on training offering more guarantees than other nodes potentially something else that we have worked with just started working on and we'll work on in the future and we expect to integrate with is the ethereum Enterprise Alliance a trusted Computing API spec so this is something on which projects such as I exec and Intel have contributed a lot so um our feedback is that it's really flexible and that we expect it to be to get adopted a lot by Enterprises and on other blockchains potentially or also on private chains so this is something that an oracle is Will tackle as well I would not say much because it's not the focus but just to say that our existing oracles 1.0 interface is continuously getting new features and reducing the gas cost so basically um it since the layer is very thin we are getting it down as much as possible keep in mind that every time you have additional complexity interacting with the protocol you are making the entire blockchain more complex to scale because you are basically propagating the gas cost to all projects in needing an oracle so this is a nightmare so so that's why we are trying to move it down as much as possible something else we are making a new product is something that we had built for the Oracle it's still called the random data source within Oracle eyes and it can be used outside of the blockchain context it's basically a provable random number generator it doesn't need the blockchain again because it's built within the trusted execution environments and we are providing it with Ledger Keys we are getting certified the Intel sgx version uh what is the certification well it means that basically it's an authorized code audit so that authorized casinos for instance can use it within with their own license so this is very important to move forward also this you know gambling movement or this safer gambling opportunity out there it's available on the blockchain and basically the idea again is to prove everything from the Inception so code design the um from the code base itself the security of the code to the execution so that uh the random number you get you know it it get is being generated by the correct piece of code and not by something else what casinos has been traditionally been doing outside of the blockchain space is certifying the code and then potentially running something else you have no idea what's running in production so that's pointless of course we know that on blockchain we have been focusing more probably on the second part um we are trying to focus on both something else is like if you want an HSM 2.0 it's like the physical machines we have been using to run Oracle eyes and this is like a provable security module this is a multi-t setup that can be useful to um for example you know secure side chains proof of authority networks to provide uh you know I don't know EOS block producer with additional guarantees many things I mean we we don't care much you can also use it you know to run your own chain link node or something else you can run whatever you like this is the just the hardware that you may decide to use and we provide some open source simple interfaces to leverage it so that you can use it wherever you like either to provide additional redundancy to our colise or to different network or on another blockchain or just for your own Enterprise needs so just to recap we are rebranding so our client is going forward will be called provable Oracle service and we will be integrating shortly with chain link and later on with other projects so we are very open to um like interoperate with other people in the space so that everyone can focus on you know the part that they are most interested in and the approvable random number generator like a new version of it and the the use of it outside of the blockchain will be released very soon and uh the approvable security module is already available so if you are interested just reach out to me um thank you for the attention and if there is any question I think I may have some time to pick one or two thank you [Applause] uh so one of the issues with uh trusted random number generation on a blockchain is the possibility for the provider to exit if it gives an advantage to them to to simply not provide the randomness what onshine guarantees are you providing to ensure that you'll be generating the requisite randomness um yeah that's very good question um so basically uh what you really want to prevent is um the operator running the random number generator being able to collude or you will go back to the miners problem where minus on chain could have created uh so the way you do that is um by asking to The Enclave running the random number generator so to decode um to the option code to basically commit to some data that it couldn't um like know in advance and that is tied to the player so typically um what the what this means in practice and this is something you have been running for one year and we have released a white paper on it a while ago is basically um generating on chain um like unknowns which is chosen on the blockchain and is strictly dependent on the player and on the context of the blockchain like for example you can make it dependent on the Block cache as well but this is just a noise that is used um for like assigning the task of the random number generator beforehand then what happens is that The Enclave needs to prove that the random number generator has been running with that commitment in place and when you get the data back basically the on-chain solidity code will verify um the the attestation uh which is dependent on this relation technique you have used and it will see that the commitment is matching and that the there was no reply attack possible and that the operator couldn't know in advance all these different components or tamper with the number generation random number generation something else you can do is basically put a time constraint in place which makes it more and more secure we have done an analysis on that in the white paper if you are interested I I can share that but provable will be in control of The Enclave right uh probable is just executing it but is not in control of the other pieces so basically uh the open the code is fully open source and you can verify what the code does it's being executed in a trusted execution environment which is not a under our control and external attestation is proving that everything as running as expected so as long as you trust the uh like in the case of sgx if you trust Intel you can verify that the operator us or you with the security module has not tampered with the normal expected execution so if provable decides to abort the the execution then the operation of the contract stops is that correct that's why you can potentially use it by yourself or just execute the same Enclave on your own code or use a decentralized network and as two different operators to do the same okay thanks hello I'm doing you talk about your own HSM usually they are built by uh well-known companies like Overture Zone did you get some partnership to have it certified um so um I'm not sure I got the the question before but the idea of the HSM is that basically you will be able to to get the HSM like on premises and to use it yourself the question is about uh who do you made it with did you build some partnership with some well done companies which are usually uh providing services for a certification uh this is not the case yet what we are doing at the moment is using different teas so that you can verify independently via the proofs the HSM distributes that those teas has been used and that according to Intel according to Qualcomm to Google and so on and to Ledger for instance all these tees has been using as expected and that the execution has run through their systems okay yeah I wanted to ask in general you're probably the only company that made tooling for our blockchain developers that is actually profitable right now how do you see in general the ecosystem and new companies going in the space of tooling and being sustainable in the long term um that's a very good question actually I think the challenging part um is on the on building the protocol right that's why companies building protocols have been either doing icos and trying to make a business model on the protocol or uh they have been looking for research grants uh which are the I mean I it's very unlikely that a BC will give you funds um like for building an open source protocol where most like of the protocols in the last decades have made little to no money um so in our case the value added is on the fact that we have bid the protocol for our needs but we have also been the operator running the Oracle service and the main challenge is in proving that we have been doing it well while keeping all the opportunity for the market um on our side because right now as I showed the uh the cost people are willing to pay is very low and is mostly based on volumes so going forward if we expect like thousands of people to be providing no thread analysis I think they will not be happy to do that for a fraction of like for 1 000 of the monies we have made because this is very little so of course at the moment if the traction doesn't grow I think most projects in this space will eventually die so um we need to understand which are the big questions right now in my opinion um like what is the cost of decentralization indeed and how much decentralization people want and for what applications because we are just assuming people care about decentralization the reality is that we have built a decentralized ecosystem at the moment the traction is very little other than attendance at conferences from technical people in the space hi so I was you talked before about having certification for gambling is that something you're looking at more generally for um say sort of PCI subsox type stuff you're asking about the certification of the RNG yeah are you going to try and do that more generally foreign for for things like um you know saab's Oxley compliance that sort of thing uh I mean at the moment these certifications we got are limited to the random number generator for the scope of like uh um casinos that are running uh in a regulated way um which is not not the case in um for most blockchain ones but basically we have used certificators that are recognized by most gambling jurisdictions so this is something they are familiar with and something that will be automatically be recognizable and usable by those companies okay thank you all again thanks [Applause]

Automatic transcript — names and jargon may be misspelled.