Max Grabner ~ Ion: An Open Interoperability Protocol
Ethereum Denver·Wed, Oct 9, 2019, 12:00 AM
Max Grabner Presents Ion: An Open Interoperability Protocol
Transcript
[Music] okay so hi everyone I'm max I'm a blockchain engineer from company called climatic and I'm gonna talk about ion which is our open interoperability protocol we yeah and we've got a number of Bank T's involving ion so we really want to give everyone a good overview of the protocol so even could hit the ground running and start building as soon as possible nearly there and any there thank you so first maybe a little bit about climatic s-- so we're based in London and were founded in 2015 and speak into yeah and we're founded in 2015 and currently we're about 40-plus people with expertise in privacy consensus and financial markets and we consider ourselves a core blockchain infrastructure company and even though we're often thinking about the financial industry we think that the work we're doing in sort of improvising consensus can apply to different industries and so we have a we have a flagship project called the utility settlement coin which aims to do interbank payments on a fork of aetherium and currently working with 17 member banks on this project so as I've said kind of focused on the financial industry and we see there's gonna be project like the utility settlement coin providing settlement target and that might be one blockchain but there's gonna be a lot of different networks in this ecosystem so for example there might be trading platforms running on one thing or there might be other platforms doing anti money laundering and kyc in areas such as data identities and we don't want them just to be silos that don't talk to each other data needs to flow through the entire ecosystem so the value can be transferred between different networks and that we can build the use cases that we want so we call this the distributed financial market infrastructure and it's from this thought that introverts is extremely important to climb attics so we have projects as I mentioned that are going to do settlement but we also see there's going to be different platforms maybe running different types of protocols that are going to perform different functions so there might be trading platforms security platforms and ultimately the data all needs to flow between these different platforms backed to do perform different things like settlement but we're not the first people to think about interoperability there's people you know quite radical people who say just use Bitcoin and actually you know if you want to just transfer value it's quite good but it doesn't allow you to build complex use cases on top of it there's other people who might say you know just have one network of the same kind of platform and you know use a tool like called a settler to perform into obviously between these platforms which is not invalid but having one platform doesn't really lend to resilience and then the wider ecosystem then there's other things such as bridging cryptocurrencies like ripple and you know they have similar problems to Bitcoin they just allow value transfer again there's things like use case specific interoperability so atomic swaps and the like and they actually really cool projects and allow you know two parties to exchange value just between them but you have to develop your use case with the core protocol in mind and there's no separation of building different use cases of with the same interoperability which means every time you want a new use case you have to think about everything again which you know it doesn't help development of lots of different things then there's other people sort of cosmos and polka dot who take a protocol first approach and so they say okay we have this these different networks and we bacon how we perform internal bility into our platforms which is one really good solution however it has the same issue that when you try to move outside of the ecosystem you run into issues so then climatic is an R&D company you know we took a step back and we really looked at what is it we think interoperability should be so we see in that the future ecosystem shouldn't be homogenous and what do I mean by that that there should be different platforms running different use cases so that we can use the right platform for the rock for the right purpose but also intro ability shouldn't undermine the characteristics and properties of the platform that is running on so for example etherium it has high security properties which means is very good for value transfer but for example you know solidity doesn't allow you to do very very complex computation so other platforms might be good for for things such as creating trays or creating contracts and then lastly we also want inter ability to allow to developers to build the use cases that they want and this is slightly more subtle but we want to separate the core protocol of the interoperability from using it to development to develop a use case and that's something we haven't quite seen before so that brings us to iron and what is iron so we say it's a generalized interoperability protocol so it's state-based cross-trained interoperability and by state-based we mean we take state from one blockchain and we pass it verifiably to another blockchain or another platform and then knowing what's in the state we can query that and perform more computation depending Li additionally ions use case and platform agnostic it's not opinionated on what how you bring the state between two block chains rather it builds a framework of how you should best do that so you can then build the use cases on top of it and so that the people who who need to know who want to build the use cases they only need to know how to get the data whereas the people developing the core protocol they can focus on that additionally it should be trustless we don't want to have someone sitting between the chain performing extra validation rather the way data passes from one blockchain to another block chain should be completely open and not opinionated so for example if you look in the ion repo there's a number of tools that allow you to do that but you're not forced to use them you can move the data in the way best for your use case additionally we don't want to be relying on tokens or incentive mechanisms and whilst you know projects like plasma have really cool ideas with incentive mechanisms in our space which is more enterprise it doesn't necessarily lend itself to having incentive mechanisms especially where it for example in financial markets the values are really large and so then some stickings they'd have to be even larger so it's not clear they always function and then lastly we don't want to have an IC o---- associated with our interoperability so as I said there's kind of two parts of ions there's a first part which is the core interoperability protocol and then there's kind of another layer on top of that which is how you develop the develop the use cases so I as a use case developer to meet ion is just an expanding library of interfaces where the complexity of the interoperability is is abstracted away from me so I don't have to think about that and the reason we want to do that is because if I have to each time I create a new use case think about okay what are the specific characteristics of the two blockchains i'm interoperating between then it takes focus away from building the complex use cases you might want and the business logic that need to stick behind it so doing this we can see is quite easier for you know in this great picture so you know we could start on the blue blockchain and execute something move that state to the white blockchain execute something else and then lastly move to the red blockchain and do something else and creating those sort of continuous execution strings moving value between all these blockchains is a lot harder if you each time have to think of the core protocol that your interoperating with so abstracting that allows you to a lot more complex things but sitting underneath this is obviously the black box where the states are very by very the verifiably transferred between the two networks so to do that there's two different things that happen so firstly when we take state from one blockchain and pass it to another we need to know okay well is this a real is this a real piece of data from the blockchain we're interoperating with and so that is where the understanding of the two systems you're trying to bridge really comes into play so for different types of consensus mechanism you need to have a different form of state validation and for different platforms they it changes even more but then once we verifiably past the state from blockchain to blockchain we need to be able to assert that a state transition actually happened and so for example in aetherium this might require you to look in the transaction and transaction receipt state routes and create a proof whereas in other blockchain platforms like fabric.you there's different ways to do it so they have an event model as well but also they have a ledger where you could directly query okay what is the value in this ledger at this point in time and so each time you create the new implementation or a specific implementation of the own protocol you really need to understand their core characteristics of the blockchains your interoperating with and so okay that was a lot of information there's the use case there's the core protocol but how does that really move together so the one thing I own gives you is a is a generic architecture for implementing your interoperability and so as part of this architecture we have three different things we have the validation module so that's where the state verification occurs then the block storage module where the blocks are stored after they're verified and then lastly the function execution contracts which query the block storage and perform this state transition verification and so we can see in this diagram we have three different platforms which could be three different types of block chains three different systems entirely and we could start on platform B where we X your function which is appended to the state that state is then transferred to the validation contract on on platform a but specifically the validation contract which relates to the consensus mechanism of platform B then once this is verified we we pass the block to the block storage contract which we're then waits for someone to query what the state in this block so people who are building use cases they they they only need to think of okay the block storage is here and this is the interface through which I interact with their block storage and so how can I get a piece of data and how can I verify that X happen so I can do Y so as i've as i've spoken there's the ion protocol has lots of different implementations but is it is just a general way of building as implementations in a way that the people developing use cases can really best interact with data and get the things they want and so we we have what's a kind of a whole protocol suite nor a suite of software is better said sorry that are developed for the own protocol and we call this shamelessly the ionosphere so within this we for example people who are looking to build on ion maybe in the hackathon there's and there's a lots of different projects so for example we have something good transact ion which does a aetherium to aetherium interoperability looking to do what's known as a payment versus payment so basically alice space bob on one blockchain and then Bob pays Alice on another blockchain alternative we have another project called simple shares which does something even slightly different to the PvP is does a delivery versus payment where shares are issued and traded on a hyper ledger fabric network and then that state is passed to in a theorem network where they the trays are settled and so looking at that we can see that Eilen allows you to potentially use the best network or best platform for what you want to do because you know hyper ledger fabric allows consortium maybe slightly which require slightly less security properties to do quite complicated work flowing but then transfer to aetherium when you want to do the thing that the theorems really good at which is the set of value and also we have a number of other projects so last we had a hackathon in in London could hack ion where a number of teams used ion to build their own use cases such as hopefully people will do over this weekend so for example a company called Daraa did a to to currency effects swap between our eternity test net which is open for people to work on and rinkeby then another Santander use the use the fabric and aetherium to do something similar to the simple shares but with a I think a letter of credit and lastly a company called web 3 used a quorum which has the idea of secret enclaves where to fix LIBOR so they said where they in the secret enclaves each member or pseudo Bank posted their libel rate and then a regulator was able to take from each of these secret enclaves and publish that on a public etherium network and that just shows how maybe different really how different platforms have different properties and how ion allows you to really use the right tool for your use case so that's all well and good but how can the people here build on ion so we have a number of ion bounties so there's a 2,000 biote for build on the iron protocol so what we want people to do here there is people have expertise in different blockchain platforms who people are very good at gasps golf can make improve the efficiency of our core iron protocol and then we also have build with ions so this is the use case perspective and people could build something such as a Dex more atomic swaps or maybe they could link our test net as a site into the main now there lots of different things you could do and lastly we have a number of bounties for people who just use iron in a way maybe we didn't expect just somehow use iron or build a cool tool we'd really like something like that so I hope that was a quite brief and overview of the iron protocol and obviously that's not so easy consumed immediately so we have a lot of other information so I recommend anyone who wants to use iron should definitely check out our github where we have a wiki which has a lot of details on the generic iron protocol also details of specific implementations for aetherium for click for Istanbul consensus and lots of other things also maybe if you want to follow our journey of how we came up with ion there's our medium where we have a number of posts which talk about our thinking and also our motivation with 4 ion and lastly if people need help using on they should reach out to us through our Gitter which is guitar kinematics ion and will reply immediately oh you should check us out on on the floor above here where we have a stand and which manned all hours right so I'm I'm max I hope anyone who has any questions can come to me or my other colleagues wearing t-shirts and if anyone has any questions right now then far away hello hey so as I understand is it only between permission chain the interoperability is only between permissions is it between private and the public chains so ion isn't opinionated on whether you do that currently because we're focused on permission chains we well we haven't I wouldn't say rinkeby as a permission chain so that is an open network but if it can do either public chains permission chains different platforms but you would have to implement so example for proof of work right there's no way of knowing in the same way in rinkeby did a valide to create this block or to the miner create this block so you'd have to build a slightly different validation module but that would be up to the person who's implementing the contract and what they wanted from it Oh thank you very much [Applause] [Music]
Automatic transcript — names and jargon may be misspelled.