LiquidOracles and Chainlink: Better Together
LiquidOracles, a DAPP Network Service, Offers Increased Security and Flexibility for dApps Using Chainlink and Other Data Sources
Over the past few months, oracle networks for DeFi and other applications have catapulted into the public spotlight. As we transition beyond the infrastructure-building phase of blockchain technology and into the era of mass-scale consumer applications, enabling smart contracts running on Ethereum, EOS, and more to communicate with the outside world is becoming a crucial piece of the blockchain adoption puzzle.
One part of the LiquidApps suite of products, LiquidOracles, is designed to be a decentralized, flexible, cost-effective oracle solution.
In the hands of the community, LiquidOracles may be the way that first-generation solutions like those by Chainlink can upgrade their services, providing valuable features and flexibility to dApps already using those solutions. LiquidOracles implemented by the DAPP Network community could allow dApp developers to access trustless data feeds in a customizable fashion from within their smart contracts.
dApps Need Good Data
“The Oracle Problem” refers to the difficulty of sourcing credible external data for use from within a smart contract. Relying on a single, central source for the information may be deemed undesirable, particularly when the truth of a matter includes an element of interpretation — or when significant sums of money are at stake.
Reliable data is crucial for many blockchain use cases.
Access to trustless data feeds and APIs from the world outside blockchain significantly expands the scope of smart contract-powered applications.
Good examples include:
- Statistical data, credit data, information on sporting events, elections, natural events, and other off-chain outcomes
- Pricing data for stocks, currencies, commodities, and consumer goods and services
- Interactions with traditional credit card companies, banks, and various payment networks
- IoT streams for insurance, provenance and shipping, and evidence
When it comes to sourcing data from within dApps, the stakes are high for getting it right.
Incorrect IoT, statistical, or financial data could have devastating effects in applications relying on such data. Traditional companies employ centralized solutions for sourcing information, but hacks occur every month, and legendary hacks occur every year. The incentives to hack data in order to rig an application can be significant. Businesses and applications built on the blockchain need to ensure that the data feeds they use do not compromise the trustless nature of their solutions.
Chainlink offers a solution to the oracle problem, allowing smart contracts to be connected to data sources around the Internet through established links which are incentivized to keep a close watch on each other, enabling a level of resistance to cheating and tampering. LiquidOracles services, when provided by DSPs on the DAPP Network, can also offer a number of unique advantages for developers building scalable dApps that could take oracle technology to the next level. Potentially, DSPs could integrate Chainlinks as part of their data feeds, and Chainlink could utilize the DAPP Network to gain some additional advantages.
Features offered by LiquidApps’ LiquidOracles include:
- On-chain procurement of services
- On-chain, custom verification of data by dApps
- Custom trust levels for dApps
- Flexible pricing structure
- Resistance to lazy “freeloading” oracles
- Open, straightforward oracle creation and usage
- Integration with other services in the LiquidApps suite
1. On-chain Service Procurement
Observing Chainlink’s technology reveals that Chainlink nodes keep an on-chain reputation; however, the Chainlink listing service and SLAs are run off chain. According to Chainlink’s whitepaper, “Using the reputation maintained on chain, along with a more robust set of data gathered from logs of past contracts, purchasers can manually sort, filter, and select oracles via off-chain listing service.”
Procuring LiquidOracles services from DSPs is more tightly integrated with the blockchain: on the DAPP Network, oracle listings and service-level agreements happen on chain. In fact, the entire order-matching process happens on chain. DSPs have the ability to create service packages, each with their own SLA, which they then can offer to dApp developers in a free market. dApp developers stake DAPP tokens, and the staking is recorded on the blockchain in order to finalize the SLA and open access to the service provided.
Use of the DAPP Network as a complementary layer to Chainlink could potentially allow the latter to take advantage of additional layers of trustlessness and decentralization.
2. On-chain, Custom Data Verification by dApps
Trust is a common theme in blockchain, but as any Bitcoin full node advocate will tell you, verification of the network is better. dApps using LiquidOracles could validate data received from oracles on chain. This verification process can be customized for each dApp; after all, the levels of acceptable tolerance may vary from one particular case to another. The process can even include the dApp’s own in-house LiquidOracles DAPP Service Provider (DSP) for an additional dimension of confidence.
DAPP Service Provider (DSP): A node offering any combination of DAPP Network services, including LiquidOracles, LiquidAccounts, LiquidScheduler, vRAM, LiquidLink, LiquidDNS, and more on a free-market basis.
LiquidOracles DSPs, like Chainlink oracle providers, risk facing material loss if they are unreliable or dishonest, particularly since the DAPP staked to them can be unstaked, reducing their income. This unstaking can even be executed automatically should on-chain verification fail to meet the dApp’s tolerance parameters.
3. Custom Trust Levels for dApps
With LiquidOracles, dApps can decide how many sources to query, and which. Oracles do not need to be trusted to make decisions about information sources. In addition, allowing developers to fine-tune their selection of data sources could be more scalable. In comparison, on Chainlink, the oracles generally decide which source or sources to provide data from, though this depends on the details of the link, as some links are more specific than others.
By combining those two mechanisms, dApps could control their trust level. They can ensure they are using specific sources they have greater trust in, or they can decide on a minimal but cheaper number of sources. They can even run their own DSP to validate oracles’ results on chain.
All the while, LiquidApps focuses on solutions that are as easy to “drop in” as possible. It is one of LiquidApps’ goals to make using LiquidOracles and/or running a DSP — whether on their own or in conjunction with Chainlink — a quick and seamless integration experience.
4. Flexible Pricing Structure
dApps using LiquidOracles and other LiquidServices stake DAPP tokens to DAPP Service Providers. In turn, they receive a certain “quota,” an allowed number of calls per period (e.g. 1,000 calls every 24 hours). Other pricing models could be introduced in the future by different players such as dApps or DSPs, but staking for quota is the default.
Thanks to the DAPP Network’s free market and the control developers are given over the number of oracles they wish to use, dApps using LiquidOracles and Chainlink combined could potentially fine-tune the price they pay for trust. As an example, a bank requires profoundly greater attack resistance than an on-chain version of Snake. If Snake developers want oracles, they might even choose to only use one DAPP Service Provider, which could be significantly cheaper than bank-grade redundancy.
5. Resistance to Lazy “Freeloading” Oracles
One problem a solution like Chainlink’s may involve is “freeloading” — the possibility that “lazy” oracles can simply observe competing oracles’ responses and then copy them, avoiding more expensive API calls.
To deal with this threat, Chainlink currently employs a commit/reveal system, similar to what players in a card game do when they each select a card face down, revealing only once every player has made a selection. Given the current limitations of Ethereum, this commit/reveal system means that 1) the added latency is significant and that 2) Chainlink is pursuing an “off-chain aggregation” system to enable more complexity and reduce this latency in the medium term.
Chainlink’s solution is well thought out, despite these challenges. However, dApps using LiquidOracles could design their processes in such a way as to watch for freeloading without adding significant latency or resorting to off-chain systems. This could ease one of Chainlink’s primary pain points.
6. Open, Straightforward Oracle Creation and Usage
Chainlink nodes wishing to provide oracles are currently free to do so, but in order to be added to the Chainlink Explorer, they must be reviewed. dApps wishing to use oracles must either use pre-made Chainlinks or build external adapters; the current pre-made links include four cryptocurrency price oracles and one single link to Random.org. The contract code required is relatively complex, and Chainlink has announced the integration of specific hardware in order to establish a “trusted execution environment” in a bid to ensure that oracles provide information from “existing, trustworthy source[s].”
DSPs on LiquidApps’ DAPP Network offer their services on a free market, with various third-party DSP portals available to investigate their packages. No additional hardware is required, but as we mentioned above, data verification can still be performed, on chain.
In addition, developers using LiquidOracles are not restricted to existing links but could potentially select any data source(s). Access to a list of paid or otherwise permissioned sources might be specifically offered by DSPs, but the default is to allow dApp developers themselves to directly define their data sources.
LiquidOracles could provide dApps using Chainlink and otherwise access to any data sources, and DSPs could be launched to provide general and bespoke solutions without requiring specific hardware and review. And since adding LiquidApps’ second-generation oracles to a project is straightforward for developers, as demonstrated by the reference code, integration can be done with minimal effort, time, and money.
Adding LiquidApps’ second-generation oracles to a project is straightforward for developers. Integration can be done with minimal effort, time, and money.
Simulacra, Simulation, Synchronicity
This comparison will sound a bit technical, but it boils down to operational costs and ease of use for developers.
Chainlink oracles currently split up the function call (the request for data from oracles) and the callback action (when the data is provided) in an asynchronous way. But by the time a response comes back from the oracle, it might be too late to roll back the original function call that requested the data in the first place, should something go wrong and the data be invalid or unavailable. This potentially costs valuable resources and complicates development.
LiquidOracles uses a patented integration method that lets developers access external data from a contract in a more convenient way. Developers can simulate a synchronous atomic function call, seamlessly combining the requesting action and the callback into one process. This feature of LiquidOracles provides developers additional flexibility and could be used on its own or in conjunction with the Chainlink model.
Different Chains, Different Links
Chainlink currently focuses on Ethereum, though a number of smaller platforms have announced intentions to work with Chainlink as well.
When LiquidOracles launched, they were focused on EOS.
But LiquidLink can allow LiquidOracles to be extended to other blockchains, including Ethereum. This interoperability was recently demonstrated in a proof of concept video by LiquidApps.
With LiquidLink’s help, dApps can communicate, deploy contracts, and sign transactions across chains.
In addition to a two-way LiquidLink connection to Ethereum, LiquidOracles also allows one-way inter-blockchain communication with a larger number of chains, potentially enabling EOS and Ethereum contracts to read other blockchains like Bitcoin, Ethereum, Ripple, Cardano, and more just as though they were reading traditional APIs.
Another key piece of the vision for a fully connected future is the ability to push data to external APIs.
This is a different technical problem than the oracle problem, and the LiquidAuthenticator service concept demonstrates how off-chain APIs could be authenticated using EOSIO permissions, or potentially other permissions.
If this dream of future interoperability were realized, implementing the DAPP Network as a complementary layer could potentially allow dApps using Chainlink to expand their oracles services to other blockchains as well, in a standardized way.
7. Integration with Other Services in the LiquidApps Suite
LiquidOracles brings new flexible and decentralized features to the oracle space. In addition, a much broader range of services is available to dApps using the DAPP Network. For instance:
- LiquidAccounts enable seamless user onboarding.
- LiquidDNS provides domain name hosting services.
- LiquidLink connects applications running on Ethereum and EOS.
- LiquidScheduler allows developers to easily set timers and schedule recurring tasks.
Many services on the DAPP Network can be used in conjunction with LiquidOracles to further expand the power of dApps. The DAPP Network is a comprehensive suite of services built to power a future of unhackable, ungameable, uncompromisable, unkillable applications, and its availability is growing.
The DAPP Network is a comprehensive suite of services built to power a future of unhackable, ungameable, uncompromisable, unkillable applications, and its availability is growing.
DSPs on the DAPP Network can now explore adding Chainlink to their offered services, providing combined solutions that maximize the usability and reliability of LiquidOracles and Chainlinks alike. Chainlinks, meanwhile, can explore using the DAPP Network to easily upgrade services and offer flexible trust levels and pricing, dApp-side source selection and verification, and more.
Join the DAPP Network Devs Telegram channel to ask questions about development with LiquidOracles, or visit the LiquidApps website to learn about LiquidOracles, DAPP and the DAPP Network, and the other services that LiquidApps offers.