For decentralized systems to be useful, we need to get data in and out. Unlike centralized web services, decentralized applications can’t just pull data from anywhere. The data in blocks on the blockchain has been mutually agreed by network participants, so any external data must go through a cryptographically secure verification process before being used in smart contract. This is the realm of oracles or trusted data feeds. But connecting smart contracts to data inputs through a single node, creates the same problem which smart contracts themselves seek to avoid, a single point of failure. Different projects are targeting particular data such as FOAM with location, but we believe there is a requirement for a more general purpose decentralized oracle network that can be used to connect any smart contracts to external data sources and APIs in a tamper-proof, secure and reliable way.
Chainlink can be considered both middleware and query in the Convergence Stack and has built a network that enables smart contracts to get provably secure access to data feeds, APIs and payments. The network does this by connecting on-chain smart contract to chainlink nodes. These nodes are paid for the work they perform collecting and transmitting data from external APIs. It is still early days in the development of the oracle network and API access but the company has some early traction with the likes of SWIFT, Zeppelin OS, and Request Network that bodes well for the teams ability to acquire customers. Building out a decentralized oracle network is a huge technical, customer acquisition, and incentive design and game theory challenge. But for web3 apps to be truly useful we must get accurate and verifiable data into smart contracts from the real world. Chainlink has the opportunity to build a foundational piece of infrastructure for The Stack.