1/ Oracle computation is playing an increasingly important role in the #Chainlink Network
It started with verifiable randomness (VRF), but now we are seeing the rising adoption of Chainlink Keepers
What are Keepers and why do they matter? Find out more below 👇🧵
2/ Chainlink Keepers is a transaction automation solution powered by a decentralized network of oracles
These oracles continuously monitor on-chain smart contracts & trigger their execution based on predefined conditions
This ultimately enables more advanced, feature-rich dApps
3/ Keepers are important because, contrary to popular belief, smart contracts are *not* actually autonomous or self-executing
Rather, they are "asleep" by default, and need to "awoken" to make any state changes or do anything interesting
4/ "Waking up" a smart contract involves someone or something making an on-chain transaction that "pokes" the relevant contract to do something
Once awoken, the smart connect runs prewritten code and does all the magical things we want it to do
5/ This "waking up" process is initiated an Externally Owned Account (EOA), in other words: an address controlled private key holder
A private key holder creates a transaction off-chain (describing what the contract should do), submits it to the blockchain network to be executed
6/ This private key holder is responsible for monitoring the smart contract off-chain
They track for conditions that may require the creation and subsequent submission of an transaction on-chain
Conditions include the passage of time, an off-chain/on-chain event, or any combo
7/ More specifically here are some example conditions
- The market price of an asset shifts and a loan needs to be liquidated
- 24 hours pass and an elastic supply token needs to be rebased
- Yield in a yield aggregator is ready to be harvested for compounding gains
- Many more
8/ An interesting property is that Keepers are calling on-chain functions that have already been pre-written
Validation is performed on-chain before any state change is executed
This means for most use cases, Keepers *cannot* be malicious, they can only be unreliable
9/ However, that isn't to say that having an unreliable Keeper is okay
Many functions that need to be called are mission critical and time sensitive
If a function isn't called when it was supposed to, funds can be at risk
10/ For example, liquidations protect lending protocols from insolvency, if a liquidation function isn't called fast enough, the loan position can become toxic
Furthermore, elastic supply tokens rely on a rebase function being called to manage monetary policy, it's fundamental
11/ Therefore Keepers need to be highly reliable and responsive so that smart contracts will be triggered exactly when needed and no later
An unreliable Keeper solution means unreliable smart contracts, this is definitely something to be avoided
12/ So who are the Keepers?
Using humans is extremely inefficient, error-prone, and generally a waste of resources
So in most cases, Keepers are usually off-chain bots that are told what to monitor and autonomously begin working
13/ However, spinning up a centralized Keeper bot to monitor and trigger your contact is a central point of failure
A single bot can experience downtime, run out of funds for gas, get stuck in a loop, or get turned off if the dApp developer forgets to pay the cloud bill
14/ Therefore, what is needed is a decentralized network of bots (nodes) that collectively work together to monitor and subsequently triggers a smart contract
This ensures if one or even a few Keeper bots go down, the contract can still be triggered as expected
15/ However, naive implementations of Keeper networks have bots competing amongst one another
This leads to priority gas auction (PGA) wars, where Keeper bots keep raising the gas price they're willing to pay in order to call the function first and get paid
16/ The Keeper bots that pays the most in gas fees ends up succeeding and getting paid, while all the other competing Keepers waste their gas and aren't compensated (since the work was already done)
17/ As a result, naive Keeper network implementations naturally centralize over time, with a small number of well capitalized Keeper nodes getting all of the rewards
This decreases the reliability of that network as there are less entities monitoring the contract
18/ Additionally, this design flaw also directly raises the costs for developers who need automation, because payment is directly tied to how much in gas was spent
(Payment is usually priced by the USD value of gas fees paid during the trigger plus a premium)
19/ Even worse, many Keeper implementations are generally unproven and use a set of anonymous nodes that are of questionable reliability and quality
This means users have to not only pay more, but get weaker reliability guarantees from a more centralized network
20/ Chainlink Keepers is an implementation that overcome these issues and provides the most decentralized and reliable transaction automation solution across the blockchain ecosystem
21/ Chainlink Keepers consists of the same set of oracle node operators that already secure over $80B in value for Chainlink Price Feeds
Such oracles nodes are deployed with redundancies in mind, featuring fallback clients and run their own blockchain full nodes
22/ Chainlink Keepers also use a rotating node selection framework
Conditions are checked by all nodes, and a single node is selected to make a transaction
If the selected node fails to make a transaction after a period of time, more nodes are selected to submit a transaction
23/ This mitigates any gas auction war, as Keeper are not competing amongst one another, subsequently lowering costs for users as pricing is paid in LINK and determined by the USD value of the transaction's gas costs plus a 20% premium
24/ In the Chainlink Keeper Network, there different entities and terminology
Client Contracts: Smart contracts that need external entities to service their maintenance tasks
Keepers: Chainlink nodes that execute registered Upkeeps
Upkeeps: Tasks that needed to be executed
25/ Registry: The contract through which anyone can create and manage Upkeeps, and node operators can perform Upkeeps
Through this model, Keepers will always be paid for the successful completion of work and the conditions for triggering a contract is made clear
26/ There are many more technical details on how Chainlink Keepers works
But the general idea is that Chainlink oracles autonomously monitor on-chain contracts through oracle computation and trigger their execution when conditions are met
2/ Oracle computation is the process of using decentralized oracle networks (DONs) to perform off-chain computation on the behalf of smart contracts, while being anchored to a blockchain to generate trust-minimization
3/ Just like how data delivery extends the capabilities of smart contracts through added connectivity, oracle computation extends smart contracts with scalability, cost-efficiency, privacy, and additional features that cannot be realistically achieved on a blockchain itself
"The research-driven initiative combines @WOOnetwork’s liquidity provision strategies with @Chainlink’s robust oracle technology to create customized Chainlink oracles based on WOO’s market data"
"Whether you’re a backend developer, a web developer, or new to development work altogether, there’s a path for you to succeed and plenty of people who are happy to help"
"Oracle computation uses decentralized oracle networks (DONs) to perform off-chain computation on behalf of smart contracts while remaining anchored to blockchains to create trust-minimization guarantees"
3/ "We’re excited to announce that @Codi_Finance, a DEX with an IDO launchpad protocol, is integrating #Chainlink Price Feeds on the @solana blockchain"
"Smart contract developers can use @Chainlink Price Feeds in combination with the high-throughput & low fees of the @terra_money blockchain to build increasingly sophisticated #DeFi applications"-@stablekwon
2/ "#Chainlink Price Feeds are the industry standard oracle solution in #DeFi, so it is exciting to see its expansion to the @terra_money ecosystem, allowing for an upgraded oracle mechanism for @mirror_protocol"
3/ "With the widely adopted #Chainlink Price Feeds now on the @terra_money Testnet, we are gearing up to improve @anchor_protocol’s savings product with the most time-tested oracle solution in the industry"
"@TheGreatsArt (supported by @TheHashmasks) uses the industry-leading open-source oracle network @Chainlink to access a verifiably tamper-proof source of randomness through its Chainlink VRF service"
2/ "@Afenblockchain is leveraging #Chainlink VRF, the most widely used verifiable RNG solution for smart contracts, in order to bring enhanced transparency and fairness to the winner selection process of the program"
3/ "Ultimately, integrating #Chainlink VRF will help further a more transparent and fair platform experience for users participating in our (@AlohaDefi) community games and events"