Following the recent launch of Chainlink's ENJ/ETH decentralized price feed, we hosted a live AMA with Chainlink Director of Community Rory Piant and Business Development Oliver Birch.
Here's what Rory and Oliver had to say about the "Oracle Problem," DeFi, verifiable randomness in games, and more.
Rory: Hi guys, I’m Rory, Chainlink’s Director of Community. I have been working with Chainlink since the launch of the project. I have a background in education and focus on building and educating the community.
Oliver: Hi everyone, I’m Oliver and a recent member of Chainlink’s Business Development Team (DeFi & gaming focus). I wrote about the rise of Bitcoin while at university in 2011 before entering the blockchain space full-time in 2017. I also helped set up several clinical trial sites in Spain before the company was acquired by ICON plc. Formerly, I was VP of Communications and Growth at Wanchain.
Rory: Well the short answer is the "Oracle Problem," but for those not familiar with that, I will go into some more detail.
The Oracle Problem refers to getting external (real-world data) onto the blockchain.
By design, blockchains like Ethereum can only react to data that is natively on-chain, so if you want any data outside of the blockchain to get on-chain you need some type of oracle for that.
If you want a smart contract to function with off-chain (external data), you need a way to get that API data on-chain in a way that the smart contract can understand it and execute the function it was designed for.
If you don’t get the data, nothing happens and the smart contract doesn’t work. If you get the wrong data, the smart contract works, but not in the way you intended, which can lead to some very negative consequences.
We strongly feel that you need a decentralized oracle network for this, so that you get the same security and uptime guarantees that the blockchain itself offers.
Here is a great video by Sergey, the Co-founder of Chainlink, that goes in-depth about the Oracle Problem and how Chainlink is looking to solve it:
Rory: As a kid, I collected all kinds of baseball, basketball, and football cards, many of which I still have in a box in a closet today. I never could have imagined that is something that could be done digitally, and allow you the ability to exchange these assets with anyone around the world.
While my cards may be damaged over time (don't leave them in your attic), these digital assets never are, and allow for generations of people to interact with each other in new ways.
I really think this is the beginning of a technology that will change the way we view all assets in the future.
Oliver: Not at all. I grew up with Magic the Gathering, Pokemon, and Yu-gi-oh physical cards.
I also collected football stickers, starting with the 1998 World Cup. I almost completed the 1998 football album (by buying loads of packs and hoping I would eventually collect all the player stickers). I was missing a few rare cards and had my brother call the publisher to send the remaining ones over to me—and they did.
At first you might think “wow, that’s so nice of them,” but there are some problems with this approach.
It means that the publisher didn’t actually limit the rare cards as they were able to print more. There was no way of verifying how many stickers (or particularly rare stickers) were released. If we could call and get more cards, it shows that the system is not working how it should.
The publisher did not release anything about the randomness they used for the distribution of cards. Provably fair is a concept put into practice quite recently and one of the main reasons why we are here today: to discuss our provably fair randomness functionality in video games.
Rory: The ability to connect real world events (off-chain data) to blockchains.
To make a smart contract truly smart, you need to be able to connect it to things that occur outside of the blockchain itself.
We have seen a rise in interest in DeFi, and one of the key elements is being able to have these digital assets represent assets in the physical world. This can range from something as simple as the value of an asset in USD (a price feed) or represent something like stocks, commodities, insurance products, etc.
If there is data that is available via a public or private API, Chainlink has the ability to deliver that to a blockchain using the power of decentralization.
The delivery of external data must be as secure as the blockchain itself and must have the same security guarantees to ensure your smart contract is fed the correct data all the time. All the Chainlink network is focused on is delivering this data and creating a framework for oracle networks.
Chainlink is not a blockchain or a DeFi product, and we are seeing active integrations across many of the top smart contract platforms.
By creating a flexible framework for creating oracle networks, developers can easily integrate real-world data into their dApps. We have seen teams integrate Chainlink in as little as a few hours. This way, they can focus on building incredible dApps or financial products while the Chainlink Network delivers the data.
The most exciting thing is that new use cases are emerging every day and the Chainlink Network is a growing ecosystem of data providers, node operators and dApp builders. A great way to see how it is all working together is to explore feeds.chain.link and see the network working live on the Ethereum mainnet, securing value across some of the top projects in this space.
Then you have Chainlink Verifiable Random Function (VRF), which is a new solution we are currently working on. Oliver will go into more detail about this shortly.
Chainlink VRF: Generate Random Numbers for Smart Contracts
Learn how to securely generate random numbers for your smart contract with Chainlink VRF (an RNG).
Rory: Any time you want to take an asset on a blockchain and give it a value in a currency outside of that blockchain (USD for example), you need an oracle to tell you the value of that asset.
Most of us still live in a world where we use FIAT currencies in our everyday life. That may be changing in the future, but as of now, most people want the value of something reflected in FIAT.
In addition, if you want that asset to change based on real-world events such as weather, the price of another asset, an eSports player's actual statistics updated in real time related to a NFT, then you need an oracle.
If the data is not natively on the blockchain, you need an oracle or ideally an oracle network to get that data on-chain.
Oliver: To add, the games industry can also benefit from blockchain-verified randomness, and that is where our VRF solution comes in.
Firstly, let’s start with the basics. Chainlink VRF utilizes verifiable random functions to generate randomness that is verifiable on-chain, also known as “provably fair.”
This is extremely important because games that rely on blockhashing or other “soft randomness” approaches are prone to a number of problems like:
- Being at the mercy of malicious miners who end up controlling the randomness (knowing what random output will be generated).
- Spending a lot of money in-game before acquiring “rare” items (as seen with some traditional gacha/freemium games). This gives the illusion of randomness as you only get the rare items once you have spent above the threshold.
With Beacon-type randomness, miners can choose to ignore blocks in case of high-value transactions or stake.
Multi-participation randomness—when more than one participant plays a role in generating a random number. If enough participants collude, randomness is gone.
Chainlink VRF is an alternative to that. It’s a provably fair (on-chain) randomness functionality that can be deployed into almost any blockchain game.
Instead of having the users trust you from the start, especially when it is a new game, you are giving power to the users to prove the randomness themselves.
The users act as a third-party auditor, which means VRF does not need a third-party audit for every random number that is generated. It’s all there, on-chain!
Chainlink VRF provides a meaningful experience to gamers, because you can completely trust the input and output to generate a random number.
Players will not need to worry about malicious miners, the distribution of their NFT packs, skilled players always winning or if you are playing a MMO, worrying about encountering the same characters and items in-game.
We believe true randomness is so important in gaming, and as a third-party solution, we aim to help developers implement provably-fair systems into their games.
Rory: I still think one of the keys to expanding this space is the user experience.
We must continue to make it easier for people to get involved in exploring blockchain without the challenges many of us face today: learning how to use a wallet, make a transaction, interact with a smart contract, etc.
The great thing is people are building new things every day and getting this needed feedback from users. We are still so young as a space, so making it easy for people to interact and understand will benefit everyone.
What I love about Enjin is that it is taking something like gaming which most of us have a basic understanding of, and using that as a tool to educate and on-board people.
Most people understand the value of an asset in a game, but they may not understand blockchain.
Enjin is helping to bridge that gap and make it easy for people to participate. When your parents and grandparents can use blockchain seamlessly, we will know we are getting close to where we need to be.
Rory: The simple answer is using multiple data providers, multiple node operators, and aggregating those responses.
What you want to eliminate is single points of failure. An example would be using the price of an asset from a single exchange. That is a poor design decision for creating an oracle.
If that single exchange’s API goes down, then the dApp may no longer function properly. If you use a single node operator or oracle to deliver that feed, and it goes down, you are in the same situation.
You want multiple data feeds and multiple node operators (oracles) a network delivering this data. If a single data provider’s API goes down the network still works, if a node operator goes down, the network still works.
The ETH/USD price feed is a great way to see how this all works visually, and you can see it updating live here:
Decentralized Price Reference Data | ETH-USD
The Chainlink Network provides the largest collection of secure and decentralized on-chain price reference data available. Composed of security reviewed, sybil resistant, and fully independent nodes which are run by leading blockchain devops and security teams.
The other thing to mention is all the third parties that are involved in the ecosystem. These are separate entities that provide unique value to the rest of the ecosystem.
There are marketplaces for APIs, marketplaces for node operators to find jobs, reputation frameworks that allow you to identify high quality node operators and even infrastructure providers that make running node easier.
This is truly the power of being open source, others can build on and develop needed features and create their own niche in the ecosystem.
Rory: Similar to the previous answer, it is a network of various data providers, node operators, and users. Prices are pulled from multiple exchanges around the globe, that information is then delivered to various node operators who report that data.
That data is then aggregated so you get a truly global price of an asset at any given time. The data is updated based on a price deviation (percentage changed) or if the price has not deviated significantly then is updated based on a time threshold.
You can see all that information displayed on each price feed found on feeds.chain.link.
Rory: DeFi is one of the hottest things in crypto right now and where the Chainlink Network is securing the most value.
I think gaming will be the next big wave. I am seeing a lot of interesting things around gaming, NFTs, art, all kinds of stuff being developed that looks very interesting.
DeFi is really just the first step, though. Most applications or dApps will need external data, so the use cases are almost limitless.
Rory: The first is clear documentation, and the ease of the integration.
A normal person will not likely being used Chainlink, however for developers that create smart contract, dApps, and other blockchain based platforms you need to make it simple for them to understand and easy to implement. We have seen cases where developers are using the price feeds in a manner of hours live on the ETH mainnet.
We then have an integration team that helps answer any questions they may have, take additional feedback on the process and work to make everything better for developers.
Oliver: Great question. Where NFTs are going is towards the tokenisation of almost every single real-world asset. Gaming is the biggest industry for this and where I think adoption is easiest when the next wave of users come.
I believe, in general, we will see future use-cases, particularly with dynamic NFTs, where real-world data is updated to digital assets after a real-world event triggers a smart contract.
I also believe the interoperability between different Ethereum games and beyond is important, allowing users to battle, trade, and interact with each other regardless of the blockchain they are on.
Rory: We are actually seeing integrations happen across several blockchains at the moment. A few of those include Tezos, Polkdot, Cosmos, and many others.
However, Chainlink connects data to smart contracts, so you want to be on the blockchains where the smart contracts are being developed. Right now that is ETH, but there are interesting things happening across many blockchains.
We are blockchain agnostic, and can work with any blockchain to provide data to smart contracts.
Rory: It’s been live for a year, it is working today, and is securing value across some of the top projects in this space. If you go to feeds.chain.link and scroll down to the used and sponsored by section, you will see who we are working with now, live on Ethereum.
Rory: A few ways. We have researchers on the team who study all the developments going on in the space as a full-time job. They then have meetings with the engineering team to discuss their findings in detail and determine if it can be applied.
In the marketing team, we actually invite people to do presentations to talk about new technology. Educating everyone on the team not just about the technology we use, but what is currently being developed in the space is a high priority.
Oliver: Get VRF out to as many games as possible which allows users and projects to verify this randomness (since it is provably fair). The speed is astonishing (as low as 2 hours to integrate VRF). You can play around with it now (on testnet) before mainnet* release.
I also think it is important, aside from the speed of integration, to highlight that it is made for smart contracts and calling the source of randomness is quicker than most solutions out there.
UX for developers and gamers is vital.
Rory: Talk to and meet new people. You don't stop engaging people because people may have heard of you. There is a big difference between hearing about Chainlink and understanding how it works.
It is not the easiest thing to explain because you need to know how blockchain works, what the oracle problem is, the value of decentralization, etc. Most people don't know what a smart contract is, so hopefully a few people learn something new, and want to do more research on their own.
If that happens, then I have been successful today.
We'd like to extend a big thank you to Rory and Oliver for taking the time to join, and to everyone who participated by asking questions!
Until next time—see you in the chat room.
Sign Up for Our Newsletter
Never miss an update. Receive the latest and greatest content straight to your inbox.