Alliance of Decentralized Oracles Call July 12th 2022 

By Tamsay | Tellor | 22 Jul 2022


Youtube link: 

Official links: 



The first call of the revitalized Alliance of Decentralized Oracles. A group of oracle protocols aiming to open the conversation of cross-chain oracle standardization:  

ADO Twitter Account:  

EIP 2362  


Present on this call are:  

Adàn & Tomàs  

Saša Milić  

Sylvain Cormier  

Abdul Osman  



Whole call   

Alright kicking off the recording of the alliance of decentralized oracle's call, take two I guess you could call it. 

Brenda: We have a background. 

Nick: Yeah so, I'll give some background for whoever finds us on YouTube and is wondering what the hell it is so we had we had done this thing called the alliance of decentralized oracles after the last devcon in Japan and recently we, so myself I'm Nick I work at Tellor, we went out to the blockchain oracle conference in Berlin and we met up with a whole bunch of other oracle projects. Many who were in the previous alliance of decentralized oracles and some who were newer projects and who were just trying to get started and there were a bunch of sort of action items so we had sat down and we did a few round tables on what can we do as kind of a collective in the space to promote a few things whether it's standardization whether it's best practices and this this call and this this group that we're creating so we have a telegram channel feel free to just comment on the video below or reach out to any of the projects involved and we can get you added to that but kind of the goal is just to you know just continue that conversation so what are some of the best practices we can create what are some of the um things that we can do just to make the oracle space I guess as whole and good as possible whether it's standardization you know maybe we want to do standardization maybe we don't want to do standardization. Some people there's always pros and cons you know I know sylvan's here you know do we want to do things more like formal standardization methods such as you know talking to actual standardization bodies um things that you can do in traditional computer science so that's kind of the outline of what we want to talk about no real agenda or solution but we'd love to get people sort of working on some of these problems and um thinking about them and then contributing. So, as far as who's involved so if you're watching this new one know what projects are sort of involved so I don't know if anyone wants to reach out and talk on here but I know in the telegram group we obviously have Tellor, Witnet is here I don't know if Tomas can speak, you say something to us? No alright, we can't hear him but Witnet is here so Claros is also in the group and then we have several people from API3 are there and then Sylvain you're here. 

Sylvain: With the Kylin network, we're working on Polkadot.chain. 

Nick: Polkadot chain yeah and then there's obviously there's go oracle so the algorithm is over there and I know I'm probably missing a few people who are representing banned protocols over in they're at least in the group I know they're not on this call so there's a lot of people who are sort of involved and feel free to just kind of push their own participation as far as a background for this meeting we have I can link everyone to it so what's the eip number 2362 I believe. That's the the previous attempt at as a standardized oracle that was sort of the result of what we were doing three years ago. We can look at that and see how relevant it still is today especially since there's sort of more chains than just it was really focused on Ethereum back then and the EVM chains and the other thing that we did was I made a so we made a repository so we actually Adan from Witnet started the alliance of decentralized oracle's GitHub repository and we made a best practices folder so we're going to start doing some best practices stuff um and basically it's a GitHub repo you can go submit uh you know they're going to be some dot md files and we're going to figure out how to how to make that thing. So, okay I'll put Adan in right now all right hey Adan. 

Adan: Hi. 

Nick: Great to have you yeah we just started so oh nice. 

Adan: Let me go with Thomas because he's just struggling to compute my his microphone or whatever so I will go there. 

Nick: Okay cool all right so I mean Brenda what would I guess you were kind of starting on some of the best practices stuff um what could we or maybe I guess we can start there what would we want to do and people can chime in to kind of promote some of these best practices and you know like is it GitHub repo sufficient what you know like what's sort of the goal here whenever it comes to creating these and how are we sort of going to disseminate them as a group. 

Brenda: I mean for us well one thing that we've been doing is basically trying to educate our users every time they come to us basically you know that's one thing that we can all do in because we'll have this one repo, we could all like educate them sort of like with very similar structures so that's I think that's going to help outreach like you had mentioned about doing some outreach to auditors I think that's a great idea um who we can get on board and how it's very difficult I feel like to audit an oracle but it's a lot easier to just follow at least the best practices and have an idea because everything changes everything can be different depending on the project but it's definitely helpful it would be helpful for them we can start with our auditors we're going to be reaching out to them soon for our own audits and aside from the report we will always do another video on it an article on it and I actually didn't tell you but I applied to devcon also as a speaker with that so if you guys are applying with that it would be great because it'll give us a platform I didn't I haven't gotten a spot I just got a discounted ticket as a dev but not as a speaker so who knows but if you guys have better pull please by all means apply. And I don't know what else do you guys have in mind I feel that it's at one we should talk about it and hopefully we have very similar ideas of what is a good implementation of an oracle and then once we have that standard done then you know we can all jump on board with trying to use it or pieces of it to educate our users. 

Nick: Yeah so we'll pass it over to Tomas and don over there you know what were you guys hoping to kind of contribute or see done kind of with the group this this time around. 

Adan: That's a that's a good one and I really like the point about the audits and so on as I was recently talking to some guys from certic as they recently audited uh one project that is using witness and they did they audit with them and I was trying to understand to which degree when they detect or realize that they are using an oracle which obviously is outsourcing a very important part of your smart contract security to which degree they do due diligence on the oracle and so on and I was surprised to find that uh they have already like have a white list of oracle integrations that they consider black boxes and they will not go into that which is a disaster about to happen probably. That worries me a lot so probably we should that that's one area would be we need to put some effort on. 

Nick: Yeah I mean even I was thinking like you know if we could get a list of people you know like even just our GitHub handles and say like hey like we know you we could even do like free oracle audits like just like you know like as far as you know like of course we'll probably be you know there's there'll be some friendly competition there as far as who you recommend but it's at the same time like you know but that's probably the biggest best practice faux pas in the space at the moment it's that nobody sort of audits the integration of these things you know whether it's you know I think it was who's who is the guy at the block general conference from consensus audits and he had talked about that a lot how basically even if you have an audited oracle system in an audited project it doesn't mean that it is audited when they're together. You know if you guys are willing like I'll probably put all my names and maybe in this repo we can like just have like an email or something if you want an oracle audit feel free to email us and we'll get some get some good people to go look at it and make you know give you the pros and cons of it. Because that was like if you saw in the repo, we split up there was a four auditors' section who we can write and then there was a for user section and those are sort of two different things so I guess does anyone want to give it a go as far as writing one of those I think Brenda are you working on the user section yeah, we already had a lot of the stuff written for the users and the generic oracle users if you will but I don't know if anyone here or listening would want to definitely reach out so yeah don't need to call anybody out. And I guess now we can pass it over to Sylvain you know like is there anything that you guys would want to see you know I know you guys are over on Polkadot. 

Sylvain: Yeah, for sure I've had a bit of time to think about it we're all already off the beaten path so some of the stuff we're coming up with is off the beaten path also because we have uh shorter block time and off chain workers and all these fancy things. So, I'm not going to be contributing any of that to this group because I don't see the use for it but some of the things that we're going to be experimenting with is uh an audit per block so what we're going to be doing is have a manifest that tells exactly what the APIs are being used and what the algorithms are being used and it's going to take off some of the responsibility of the oracle system and put it on the user of the oracle, who's going to choose between the different feeds according to this manifest. And you're going to be able to say well you know with each block it's going to be like a SLA service level agreement and this this will take some of the some of the responsibility off the reporters and the oracle system itself. We can tell you our white paper is going to be coming out very soon I'm going to be sharing that with you guys uh but this part I think would be very beneficial to the space. 

Nick: What do you mean just having like service level agreements for users? 

Sylvain: Well so for every block uh or every request uh the user in the return values would have a manifest that would specify the uh the uh the provenance of each of the APIs that are being used so um it would be like a confirmation of what was used so the user would know exactly where the information came from first of all and we have a multi-level system to where you could say for the next block for instance this is what you're going to get if you're going to choose whichever feed you're going to use so there's two parts to this so we're trying to implement this and maybe it could be of use to this to the space also. 

Nick: Sure, yeah, I know Witnet has some similar pieces to it. 

Sylvain: Okay so it'd be it'd be nice to see what the common denominator would be between what our vision is and theirs and maybe include that in in part of the spec for sure. 

Nick: I think that spec you know like this was a problem we ran into last time it's about how granular of a spec we want to make. Because you know like oracle data sometimes, they have apis sometimes you know you could ask questions like who's the president and of the United States like you don't actually have an or you don't have an api that you're checking you just sort of it's more of this general consensus piece so yeah. 

Tomas: Yeah, I remember working with some tech guys at ChainLink back in 2018 exactly on this I'm trying to make a location on oracle jobs and it was quite challenging because they the concepts were very different in one article and another and how they have these initiators while we have a different abstraction all together it's never easy but it's great to see that there are other people also working on that kind of approach to how to specify oracle jobs let's say. 

Nick: Yeah, and I think like maybe as we're writing some of these best practices it'll be like there's like best practices for users or you know there's obviously best practices for oracles in general but we'll probably stay out of that as much as possible just out of you know obviously you know like we all probably have different opinions on whether it's like upgradable contracts or token weighted governance and things like that and it's like are there best practices well maybe but you know we can let the user sort of decide that. But as far as like having a best practice for like your oracle may fail, prepare for it in some way shape or form you know like don't assume that this thing is forever going to live on like what's the failure case, like assume one person gets all the tokens or all the reporters and then what happens to your contract are you okay with that and I think those are more of the generic things we'd want to specify and then I mean the other piece would be like what how would you guys feel about um I don't know if this group is necessarily the ones but would we want to go after like bridging specific oracle use case cases and would we have a separate because I mean you guys can some of you some of these projects can sort of handle bridge cases you know would we want to have like a specific section or anything like that for bridging and connecting chains you know whether it has to do with like dealing with finality issues, because you know like Kylin you could you could read like an api that was like a node url.  

Sylvian: Right and then we also have a bridging capability because we are parachain network right so we have all these chains that connect to the main chain and one of the chains is specialty as is for bridging to Ethereum so we can cross chain the messages and be able to interact with Ethereum directly so we're definitely going to make sure that we adhere to the specification as small as it is right now but um it would be nice to be able to integrate uh other as much as we can you know out of the complexity that we're going to have so I want to see how far you guys can go in that direction. 

Nick: Okay so sylvan likes bridging. Cool yeah, I mean what else would we want to do on the best practices pieces, does anybody else want to throw out any ideas and then we can just make a list and pass it around to see who grabs what I think that would probably be the next steps right?  

Tomas: Yeah, the only increase or challenges that they see is that maybe we could follow the temptation of or someone who wants to add something uh good following the temptation try to add some good practices really specific to one implementation of an oracle and that could be challenging because I can imagine someone who comes to the ago guys to us and asked hey but you didn't consider this use case or that ChainLink does that behind the scenes and I would like to be far from that or try to avoid to listen to all of those people that we will come for sure if we try to do a good practices list and there's an oracle that doesn't fit in those practices for sure we will have people that we will come and try to say that we were grown so I think it is something that we should take into account but try to avoid or explode the specific rules or all the specific good practices to try to avoid them when they are specific to one around. 

Nick: Right yeah, I mean there will be some things that are probably semi-oracle specific but yeah making it as generic as possible is probably the goal. And yeah, I mean we you know like because I think there's also some best practices you know like Liquity had talked about this a lot at the oracle conference as far as like what are the best practices when using multiple oracles there's not really any standardization there you know like whether you know there's a lot of different viewpoints on whether using more is better or not so we'll just kind of have to see but yeah best practices. Okay and then Sasha she says she's typing so I will read for her I won't attempt a voice um she says she wants to create a repo for oracle hacks so sort of like a definitive resource on oracle hacks to show people sort of some of the risks and some of the common exploits and I think this could probably live in that same somewhere in that same repository but yeah that's an excellent idea I know I think she did or somebody had passed around there's an excel spreadsheet that was a few years old that had some of them and we can definitely update that yeah thanks Sasha. That would at least it would show people some of the common risks because I think the vast majority of the hacks are like super simple like you know mainly like multi-state hacks and then and then you go you go on from there and it's you know most of it's just like basic not following a best practice type thing and we should probably just show like hey like if you follow this best practice like don't use an oracle that is controlled by a multi-sig or you know one of those basic best practices about having a fallback it should be good. Aawesome and then so if that's it on kind of the best practices we can we can talk standard so I know Witnet has the standard implemented that the previous one which was it's mainly for I guess if you guys want to describe it and how you guys use it and then maybe what do you see as the limitations on it. 

Tomas: The 2362 yeah we are using that extensively in our price feeds uh we are updating I think 197 price bits right now based on that and that's the recommended interface for interacting with it then we have some alternate interfaces for long-term integration that tries to make it cheaper like a very slight gas optimization but yeah so far from our users we have got a very good perception they perceive it as being just as simple and straightforward as any other option and especially convenient when compared to other stuff that other guys are doing and so I think it's uh so it's been so far so good for our users and for us especially we even have some even some price routing stuff in place now like uh contracts that will take two different price fits and make it give you like a like essentially multiply one by the other to resolve the price from one asset to another even if we don't have a price fits in in place for that without having to upgrade uh the dedicated price feed or in many cases it's because for example you have many data sources on centralized or decentralized exchanges for some for the price of an asset when compared to usdt but then you need it for usdc or for btc and you there are no markets for that and then you do the routing and in that case uh following that the standard and using the interface makes things especially convenient because for our users it's the same to consume a routed price feed or a native one or use it through a proxy that allows uh some upgradability or not using that as we have the same interface in all of them it's always the same they just replace the address of the contract they want to point to and that's it so it's a good thing. 

Nick: Like how would you guys feel about you know what would be the downfall to making it for not just numeric data you know we're dealing a lot with say just we bring on data and bytes and then let the user parse them should we have a standard for bringing on non-numeric data. 

Adan: That's I don't have a position on it works very well for from numbers but for other data types I don't know yeah also would be interesting to ask if there would be other role requests who could be interested in implementing that because at the end of the day it's something that we want to create as a standard make things easier for them and to avoid some problems but if we don't or because we know that there are some programs to implement that standard it's maybe it's not worth the time if we don't want to implement it or if we say that we are not going to implement it for any reason that of course any anybody who have good reasons for that yeah obviously we are selling this thing as of the interface and our users for using with that they import the interface they don't import a witness dedicated library so we are pushing that to them as an advantage because there's no vendor locking but then they ask okay what are the other oracles I can pick from and just change the address and we're like okay there's no one right now in production that you know so it would be great to have more people work with that yeah. 

Nick: I mean we can definitely do it would just be making that interface we just have to. 

Brenda: I think once upon a time we did have it but. 

Nick:  Yeah let it lapse I think the bigger piece was I I forget how we mapped you know like if you have like how do you like get that because it's a bytes 32 hash that's the id right and that's like what is it like btc usd and then the decimals 

Tomas: And I can fix this structure and you get to get check of that but normally you don't need to do that launching you have like at least like a assets and we are even not using the four like the full bytes we are only using four bytes right now for that and even you can either provide the four bytes or the full-length thing and as an optimization and both works, because normally you will not have you will not have a contract that will resolve will result at thousands of assets so it's there's no such a risk of a collision there's no need for so long identifiers you get it. 

Nick: I get it yeah well you have to send me over that one or is that is that in the specification all right okay yeah then I'll send that out hey Abdul. 

Abdul: Hey everybody how's it going? 

Nick: This is Abdul from Algoracle and yeah so, we're kind of wrapping up I think I don't know we're trying to figure out you know we had talked a little bit about making the best practices and we'll be passing some um tasks around there so feel free to grab them um and then talking about the standardization is there anything for us to keep in mind or anything you'd want to see on your end over on Algorand? 

Abdul: Not specifically I really like the idea of kind of standardizing because I mean we're seeing a lot of people to go and cross chain oracles going across chain as well um so yeah I think for us the biggest thing is if there's a standard we'd love that it and we'd love to contribute however we can and I think we're still in a lot of building stuff so I think we can try implementing that if we can figure it out very quickly cool yeah and sorry I'm glad you just had another meeting but happy to see what tasks that we can work on and however we can contribute to that. 

Brenda: Well, I don't know if anybody took notes but I'm going to try and do a quick summary we talked about the main page it'll be what the user's area for best practices for users for auditors for maybe bridges and then we talked about eip 2362 which has been implemented by Witnet once upon a time was implemented by us and we wanted like what do we want to basically adhere to it and also for do we want to expand onto taking trying to come up with a new standard for non-numeric data. That's a question and that's basically all I remember from right now but those tasks are pretty much open I'm just working on the best practices for users I believe, Sasha, she proposed the oracle hacks one and dash we agreed or we welly said that it could live in the same repo maybe just a different page and then the auditor side for best practices for auditors and for bridges still open and then for the standardization parts I don't know if you want to do a follow-up call or if somebody has very strong opinions on it we can you know. 

Nick: Well yeah, I think we can just pass it around um again and we'll see you know who wants to try and implement it and then is there if we do implement it for you Witnet guys do you do you envision like having like a repo somewhere even in maybe the alliance of decentralized oracle places showing like how to do it or how to implement this. 

Adan: Yeah totally yeah even if you if you start uh using that in your price feeds and so on uh those can even immediately list in our price feeds website which only interacts with our profits through that interface so there's a lot of infrastructure that we have in place that leverages the standard so the more articles that will be using that uh we will all benefit from that because it's also open-source open source so you have you can also have that explorer for that one. 

Nick: Yeah no yeah we hate front end building so that would be awesome. 

Adan: That monitors the price feeds and so on cool Natalia sorry if I didn't include you were you going to say anything um so yeah, I'm asking is the web free media alliance so I'm looking at all the alliances that are cool I think and getting back practice best practices from what you guys are doing learning and communicating as to other alliances that are out there expediating communications between the web3 zones that are crucial to build the infrastructure fast enough so listening and very great to see here thank you all let me know how it can be helpful in terms of communications and transfer of data places that is feeling safe secure and fast. Planning events as well blending events specifically the ecosystem or inter ecosystem events hoping to bring in you know representatives from a variety of different organizations and our you know all networks all ecosystems all players um to again build a safer and better communication flow uh for the future and I'm planning that for October November. 2021 thank you 

Nick: Super. Definitely send out any information on and yeah, she'll be starting the alliance of alliances it sounds like it'll be everything will be an alliance. Awesome yeah anything else our sylvan uh did you have any other comments. 

Sylvian: No, I think it's very informative on what needs to be done and what how everybody can work together so I've submitted what I'd want to help on and that's about it. I'm good. 

Nick: Awesome well thanks everyone for coming but I'll be posting this to YouTube and talk to you guys soon. 


How do you rate this article?



In this blog I will post transcriptions of videos made by the Tellor team.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.