A Truly Historic Moment in Blockchain Progress
Rain or shine, bear or bull, the talented dev team at DFINITY continues to build and innovate. As of last week The Internet Computer is now able to directly communicate with Web2 servers in a trustless fashion. This is truly a historic moment, not just for The Internet Computer but for all of blockchain development. The HTTPS outcalls update means that The Internet Computer Protocol is the first blockchain to fetch API and other off-chain data without the use of oracles, thus bypassing the Oracle problem (one of Web3’s biggest hurdles) altogether.
On the Internet Computer blockchain, canister smart contracts can make HTTP outcalls to specified URLs, either to directly obtain off-chain data, or to interact with off-chain systems, such as Web 2.0 services or enterprise IT infrastructure. The results of these calls are processed and agreed by consensus, preventing nondeterminism. This avoids the need for trusted oracles and bridges.
-Internet Computer Wiki
Interoperability is a word that one often runs across when exploring the blockchain world because it is a huge issue that needs a secure, functioning solution in order for mainstream adoption of Web3 products and services. While oracles and bridges can work as trusted intermediaries between different endpoints, security is still a major problem. The DFINITY Foundation has always looked to solve these kinds of high level obstacles, and the HTTPS outcalls update makes seamless, full-stack development on The Internet Computer possible in a way that no other blockchain project has been able to accomplish before.
This is a much bigger deal than it may initially appear to be. True interoperability means that all data, no matter where it is stored, can be communicable regardless of where the recipient is. With the HTTPS outcalls update and the upcoming native Bitcoin and Ethereum integrations, The Internet Computer is well-positioned to be a one stop shop for ambitious developers.
So How Does It Work?
Very few things in life can operate in a vacuum, and blockchains are no exception. Currently all blockchains except The Internet Computer Protocol make use of oracles to allow smart contracts access to external data. Oracles are a working solution but there are many complexities such as necessary additional trust assumptions and complicated programming models to circumvent issues regarding scalability, security vulnerabilities, and more.
Oracle services such as Chainlink are not ideal, especially in their current state. For one, most of them are centrally operated, meaning that these intermediaries must be trusted to remain faultless, both technologically and ideologically. Furthermore these oracle services require developers to pay additional fees in order to use them, imposing cost restrictions that may deter new devs from building since they have to divide their attention between building great products and securing funding.
How Other Blockchains Fetch Outside Data
Oracles serve as an off-chain authority that reads external data from specified sources then writes that data to a special smart contract. Developers then write their own smart contracts that interact with the oracle smart contract, thus communicating with the original data source by proxy. This approach, while widely used, can be interpreted as a workaround rather than a true solution, as it increases the number of trusted participants and creates a potential point of failure.
By contrast, HTTPS outcalls enable The Internet Computer’s canister smart contracts to directly communicate with off chain data endpoints, such as request cryptocurrency market data or querying sports scores or weather data. This opens the doors to the entirety of data that Web2 services offer, and has serious implications as to what the future of the Internet Computer will look like.
How Canister HTTPS Outcalls on The Internet Computer Work
HTTPS Outcalls look simple at a glance: a HTTP request is made to a data endpoint and receives a HTTP response. However, when you peek under the hood you get a glimpse of the truly groundbreaking accomplishment the DFINITY team has created.
When an outcall is made, it is not a simple end-to-end communication process. Rather, the outcall is placed in the canister subnet’s replicated states, then all replicas make the call to the same external data source. When all replicas make the same call and obtain consensus over the result, they include the data as a special type of payload in an IC block. The data is passed on to the execution layer once the block is finalized, which delivers the HTTP response to the canister that made the request. Since a consensus was reached in both steps of requesting and fetching data, the canister can safely use the HTTP response without the risk of divergence across replicas.
DFINITY has built a sample dApp that pulls the ICP-to-USDC exchange rate from a Coinbase API directly, that you can test out for yourself.
What does this mean for ICP?
It seems that many $ICP holders believe in the technology and vision of the DFINITY Foundation. The HTTPS outcalls update has been an invigorating event for the entire community, from casual NFT collectors to serious developers on The Internet Computer.
Not only has DFINITY shown that they are capable of producing disruptive innovation in the blockchain space, but this update opens the door to the wealth of data stored in legacy systems. Although the price action has been bumpy since Genesis, this kind of tangible development cannot be ignored by the market for much longer. At the end of the day what matters is the tech, and The Internet Computer has it.