Smart Contracts and Secure Oracles: Enabling New Use Cases for Ethereum by Joshua Tobkin PART 2
Ethereum Denver·Mon, Oct 9, 2023, 12:00 AM
Oracles enable Smart Contract Platforms like Ethereum to be more expressive. However, smart contracts are only as good as their data inputs. In today’s talk, we will focus on novel blockchain use-cases enabled by Oracles. (with a strong focus on Gamefi and DeFi)
Transcript
what you want to do is you want to make sure that the nodes themselves are rotating often so Supra we organize our nodes into a large committee with the whole entire network we call it a tribe and every Epoch we randomize the nodes into new smaller committees some committees which we call Clans and every so that every Epoch is maybe on the order of every 36 hours or so we actually perform a distributed key generation key exchange ritual now that usually does take some time and some space on the blockchain to do this but doing it once every day and a half is not a problem moreover our team is uh developing a non-interactive distributed key generation procedure which is actually it's novel in that the amount of space on the blockchain itself is very very little I should mention that super has a backbone that is a consensus algorithm blockchain and this is how we get uh the ability we use it as a public key infrastructure in a way to organize our Network topology and also to publish the data on it so since super itself does have uh we we we do the distributed key generation ritual and we sign our blocks with a threshold signature that means that every block itself contains a bunch of Oracle data that is signed and finalized all at once this actually gives us tremendous scale moreover I kind of mentioned the network itself we call it a tribe and we have uh Clans within the tribe the nodes within those Clans are randomized every Epoch but every cycle say every 10 minutes we also randomize the different Clans to be responsible for different for lack of a better term commodity sharding AKA Clan number one is going to be responsible for assets like at uh you know um a to G plan number two H2 X Y and Z and every 10 minutes we we change this so it's always constantly changing this constantly flowing architecture allows us to have this you know randomization as Security in our network uh additionally what's important to note is that um the the way that we assign plants to data sources is also powered through a verifiable random function Al signatures themselves the finalization the Quorum certificate on the blocks themselves can be a source of on-chain Randomness for to power our protocol forward and as a consequence and as a consequence we can uh you know we use this non-interactive verifiable random function to assign data sources or exchanges for example to each of the individual nodes so maybe we have connected to 18 exchanges but every node is only responsible to listen to seven randomly assigned nodes uh exchanges excuse me now what they do is they will actually aggregate responses for their spec the data pair that they're tracking they'll aggregate that calculate the median from the responses and then send that to uh the aggregators in the clan there's more than one aggregator for redundancy and for a lot better liabence guarantees and those aggregators what they have to do is form a coherent cluster meaning the they have to get 51 of the responses of that Clan to form a coherent cluster meaning the numbers half the the values have to be with within a certain distance from each other with the coherent cluster you're able to actually calculate the mean and then that is what we ultimately publish this is very resilient to manipulation Byzantine no Behavior as well as a threshold of data sources themselves being Byzantine you're not going to get that guarantee from other oracles by the way um yeah so this is a very secure model we've had to Think Through many difficult things in fact I would argue that solving the Oracle problem is more difficult than just traditional bft uh you know we have to build on top of it and be considerate of many other things I hope that answers your question hey so my question is um I know there's always a lot of chatter about a multi-network you know future um do you see the same thing with oracles where they're being like you know multiple oracles that were needed or is this kind of a winner takes all um thing um well I mean uh you know we really have one large dominant leader in the Oracle space right um and that that's not going to stay the same I mean you can't have 50 layer ones layer twos all powered by a small cohort of nodes that are powering this Oracle right in fact uh I think what we're doing is necessary for the space to move forward otherwise you know once again your smart contracts are only as good as the if you use oracles is only as good as the data that you get you put into it so the underlying um you know infrastructure the guarantees of a layer one itself go out the window the moment you use oracles this is why we basically apply layer 1 principles to the Oracle problem do I think it's going to be uh you're going to have different Oracles for different ecosystems what's interesting about Supra is we do all the work on our side and we deliver the payload the the threshold signature to prove that we've reached finality as well as the Merkle proofs to to the the transaction inclusion proofs to show that the payload and the data within that block has been threshold signed reached finality which allows us to update quite a bit of information all at once and since we do all that work on superside we can deliver that to other ecosystems all we have to do do is deploy our smart contract to those chains and that's smart contract all it's doing is verifying our threshold signature that is correct now that does mean that every Epoch we do have to rotate the public Keys which means like the current public key our last Epoch public Key signs off on the new epox public key updates to Smart contract so smart contract can continue to update and back and forth so actually super is positioning ourselves as a true middleware servicing multiple ecosystems and even us deploying on base layer two coinbase is Layer Two it's honestly only like a matter of three or four days if we put our heads down to do it that's what's really nice about our solution whereas other oracles have to they they're organizing principles around the data itself they build a committee of nodes around that data so if they're tracking eth to USD they have a smart contract on the uh on ethereum for example for ethusd but then if they have ethosd on say another evm chain they had to create another Committee of nodes for that you'll you'll see that not only are the security guarantees different because the amount of nodes are different the values that are produced are different ethos on ethereum is different than ethusd on some other layer 2 for example whereas in supervisors consistent across the board yeah any other questions I finally just got comfortable so okay one more hi really cool presentation loving the the topic so I was going to ask about the actual Oracle data sources so does that mean that it because you're acting as a middleware layer I can't just plug in my own Oracle data sources it's kind of like Supra also provides the catalog of allowable data sources that I can use on my app right yeah so I mean of course you know once again super does have a blockchain as this backbone so we can enable every single type of Oracle model but the ones that we will promote and support the most I mean is permission it will be permissionless right so anyone can do anything basically but uh you have to be very careful right so we will have a data governance process that will allow new new data sources to come into the system that would be like officially supra's data feeds but uh once again if someone wants to just apply their API and put it in there they can but I warn you that that's not a secure model anyone that can control the API controls your smart contract moreover because of composability if you control the API you control the smart contract and if a contract is composing with that that another contract that has ingested that data there can be cascading failures so it's very important to never let that data in in the first place okay one last question here so I was thinking in terms of the other the other Oracle provider are you going to have a token are you going to use your token in the ecosystem in the uh in some in at some point and like what's the what's the plan for this like how can we also participate in your success maybe the investors okay so I have a minute and a half here so um it's a proof of stake Network um if has anyone heard of eigenlayer so eigenlayer is uh we're friends with them eigenlayer is restaking so you can basically stake your your eth to run a note on ethereum and restake it into Supra Supra does plan to be kind of a credibly neutral third-party uh Oracle though so we will probably replicate that model across multiple ecosystems what's interesting about that is we can actually get node diversity not just ethereum nodes we can get nodes from other evm chains as well and I think that's really healthy in general um you asked about our token uh we uh we have been we have actually just like two days ago finished a race um but if stay in touch get on our white list we will be doing more of these types of things we actually have been very conservative with our token um I should mention that uh Supra has been running a gamified learn earn program we're going to relaunch that in a couple weeks the first beta we launched it and within six days we had 230 000 signups we were expecting 50 000 in six months so we had to rework the token economics for that we're we're going to get over a million sign ups soon and then we're going to go to market fully so it's around the corner this is gonna be an exciting year for us thank you for your questions my time's up so much thank you
Automatic transcript — names and jargon may be misspelled.