Partnership with Google?

Example of how Chainlink can help smart contracts retrieve data from Google

On June 14, Allen Day, a Google Cloud Developer Advocate wrote a blog post describing how BigQuery data can be made available to an Ethereum smart contract — using a Chainlink oracle smart contract. He demonstrated how Chainlink, as the middleman can serve as a communication bridge between Ethereum and Google’s enterprise cloud data warehouse. Now that it is made possible for dApps to access real-world data easily, it opened up a new realm of use cases where they are highlighted in the blog post.

Speculative bets on popular events like sports or future events are the most obvious use case for prediction marketplaces. With a decentralized oracle network to retrieve actual data feeds, the bet can now be effectively settled on-chain as it feeds the smart contract accurate information about the outcome of events taking place in the real world. This could give a huge boost to the usage and reliability of prediction marketplaces.

As the decentralized finance ecosystem quickly gaining traction, the health of the network is becoming increasingly important to DeFi projects building on Ethereum. Different aspects of the blockchain network such as block times and gas fees are important information that developers require in order to reduce their exposure to the possible risks that might be created. All this data can be accessed through the interaction of the smart contract with the data warehouse using the help of oracles.

As transaction privacy is often targeted as a weak point of blockchain and the demand for it is starting to grow, submarine sends is a mitigation strategy implemented to conceal transactions to keep your on-chain activity confidential so as to prevent exploitation of data. However, this causes blockchain bloat which is a growing pain for maturing blockchains. With an oracle, not only will there be no bloat produced, the operating scope is extended to all historical chain data rather than limited to the constraints of the Ethereum smart contract.

With how big the scale of this announcement was perceived by the public especially with a tech giant like Google involved, the market reaction was hardly a surprise as prices skyrocketed 70% within an hour of publication. This served to be the big push that LINK needed to reach its new all-time high at $1.95 USD, at the point of writing. There is definitely more than meets the eye to Chainlink as opposed to most cryptocurrencies where it is speculator-driven hype. Google integrating Chainlink as its approach to building hybrid blockchain/cloud applications is a testament to its potential in bringing smart contracts one step closer to widespread adoption.

What is Chainlink trying to solve?

To understand the magnitude of the problem that Chainlink is trying to solve, we must first understand a few technical terms that could be daunting to a newbie in the crypto world.

Smart Contract

A smart contract is a digital agreement that self-execute based on specific conditions that are written into the code when they are met. Since it is run on a decentralized blockchain, it is tamper-proof as it is irreversible and transactions are traceable which makes it fully transparent.

Decentralized Oracle

A blockchain cannot access data outside of the network due to the way consensus is reached around blockchain transactions. This is where the Oracle steps in and plays an important role by supplying information to the blockchain so it can be used to trigger smart contract execution when the pre-defined conditions are met. It is a data feed provided by a third-party service, designed for use in smart contracts. To put it simply, oracles act as data sources for smart contracts.

However, it is possible that the information supplied by the oracle is inaccurate. If so, this would directly affect the smart contract and might cause errors in execution. This would then defeat the purpose of the smart contract. A decentralized oracle network will consist of multiple oracles that will minimize the chances of false reporting. By having multiple oracles transmitting information, it eliminates the single point of failure. Probability-wise, the information provided is more likely to be correct.

Now that we have a greater understanding of the terms above, let’s talk about the issue at hand.

Importance of Chainlink

Smart contracts enable financial instruments to be built on the blockchain which gives rise to an ecosystem of decentralized finance where projects are working on different financial instruments — insurance, lending, leverage trading, etc. The reason for the recent popularity that decentralized finance is gaining can be attributed to the fact that it is more transparent than the traditional financial system and the control & access of financial instruments are not just limited to the big players, giving everyone an equal playing field.

However, the biggest issue with smart contracts today is that they are unable to interact with any external resources outside of the network and this technical limitation is a headache to developers as it hinders many potential functionalities that dApps can offer. This is a huge concern to be tackled if we want to attract more developers to build their products on the blockchain. The majority of the dApps requires external data sources for their smart contracts to execute protocols. Here is when Chainlink comes into play — by connecting both the outside world and the blockchain so that smart contracts are able to utilize the data residing in the legacy systems.

In the case of Chainlink, they will have a large number of node operators to provide a decentralized oracle network. The nodes will undertake jobs to retrieve and provide data to smart contracts. They are rewarded with LINK tokens and build up their node reputation if they do their job properly. (supplies the correct data with no downtime) Their node reputation will be penalized if they are providing false data. Since node operators are incentivized with the payment of LINK tokens for work done and their reputation is at stake, it would be of their best interest to provide the correct data required to the smart contract. With a good node reputation, the operators are more likely to receive more requests of data from smart contract creators and the integrity of the oracles is also ensured.

Case study: Synthetix

Synthetix is a partner of Chainlink and has its own trading platform for synthetic assets. Synthetix Exchange has recently been experiencing huge growth in the volume of synthetic assets being traded. This is a strong affirmation that the market demand for synthetic assets is definitely increasing. However, as it is gaining traction, one crucial factor to take note is that maintaining an ACCURATE price for all synthetic assets is a must — no one wants to buy above or sell below the market price with reference to the weighted average of prices across all exchanges.

Currently, the team controls all the price oracles and the nature of the oracle is kept secret to prevent manipulation or attacks on the integrity of the price Oracle. We as users of the exchange have to trust that the oracle used is providing correct information of the price and is constantly updating it with 100% uptime. The team is aware of this weakness and this is where the partnership with Chainlink comes in handy. They planned to decentralize price feeds by allowing people to run chainlink nodes to supply price feeds for the exchange. With a variety of price feeds and the node operators being financially incentivized to always be honest, the price of each synthetic asset will be more accurate in comparison to the real-time market price.

UPDATE: Price feed failure was believed to be exploited by an arbitrage bot

Statistics of Synthetix Exchange during the exploit

A brief summary of the Oracle incident that happened on 25th June 2019

Synthetix’s price feed for the KRW failed to report the correct price due to issues with the Oracle One of the trading bots on the exchange picked up on this price error — several trades were made with sKRW and generated huge amounts of profits Bot converted sKRW to sETH, making 37 million of synthetic ether (sETH) according to Etherscan. It is worth around USD $11 billion, albeit being illiquid Total sUSD debt owed for each minter increased to an abnormally large amount because this huge gain is made against all the debt in the system where every minter shares a part of the debt in proportion to the initial debt ratio. Find out more about the monetary policy here. An approximate of $170 million of exchange fees were generated through all these trades The team quickly reacted to the issue after being notified. Any further transfers were disabled within the system by stopping the oracle from sending rates to the smart contract. Trading on the Synthetix Exchange was also halted The team reached out to the owner of the bot and a bounty was offered in exchange to reversing the trades which would resolve the issue An agreement was settled on and the bot owner converted the sKRW at a rate that restores the debt to the correct value The excess fees in the fee pool were burned by the team which brings the whole system back to equilibrium Transfers and trading have been resumed after the issue has been resolved

The aftermath of the incident

Media

The Block, a cryptocurrency news outlet, released an article shortly after the incident. The article was also referenced on multiple media sites and this sparked a huge discussion on Reddit. This has definitely put a dent in Synthetix’s public image and might be very difficult to recover from such reputational damage.

Community confidence

The whole process of containing this situation took the team close to 15 hours. I was very impressed at the professionalism displayed by the team in handling of the issue. The team was transparent in the way they went about to fix this issue as updates were given constantly on Discord to give reassurance to the community.

Basing on the general consensus on Discord where most of the Synthetix community hang around, many of them have praised the team for the quick response in resolving the issue and as a result, gained even more confidence in the capabilities of the team.

Actions taken by Synthetix going forward

Synthetix Improvement Proposals (SIPs)

Taken from the idea of Ethereum Improvement Proposals (EIPs), anyone can send a proposal on GitHub where they will suggest what improvements can be done to the network and will be voted on by the community members.

Essentially, we have implemented a defence mechanism against frontrunning. If the oracle detects that a bot is inserting a tx with a higher gwei into the oracle tx block, it will then frontrun that tx to raise the fee percentage to 99%, which will effectively cause the frontrunner to be slashed. — Kain, founder of Synthetix

Frontrunning the oracle generates risk-free profits. By implementing this SIP, the bot owner would think twice before using the bot to front-run the oracle as their whole capital is at stake. The risk here would be far too great to take as they could lose their capital in an attempt to front-run the oracle.

Higher priority towards Chainlink integration

In the AMA with Kain Warwick, Founder of Synthetix and Justin Moses, CTO held by Messari on Telegram, the oracle problem was addressed. The integration of Chainlink is currently underway to replace the current oracle which would aid in decentralizing the price feeds and minimize the chances of the same incident from happening again.

Key takeaways from this incident

This incident has gathered lots of publicity from the cryptocurrency community outside Synthetix as it highlighted the vulnerabilities of centralized price oracles. Most Ethereum based protocols can suffer from an oracle attack due to vulnerable data feed systems. This brings attention to the fact that smart contracts still do not have the ability to receive external data in a decentralized way. There are many great projects out there but without having reliable oracles to fetch accurate data, it limits the scope of what the project can do. This is a pressing matter and that is why many projects are turning to Chainlink as a solution to this problem.

Touching on the sensitive issue of the owner of the smart contract being able to disable transfers within the system, my opinion is that it is currently still the starting phase where DeFi projects are being trialed and tested, I believe a certain level of centralization is still needed to fix any issues along the way if things go awry. In this case, the team was able to prevent the bot from doing any further trades on the exchange. If not stopped in time, there might be bigger repercussions.

Complete decentralization would take time as the crypto space matures.

Once Chainlink has been successfully integrated into the system and their oracle is in place, it would be a huge stepping stone for Synthetix towards the path of their roadmap to decentralization.

Conclusion

Chainlink has the first-mover advantage and their competition is nowhere near to what it has achieved. Many reputable crypto projects are partnering with Chainlink as it is positioning itself to become the bridge between blockchain and real-world applications. Google’s integration of Chainlink further solidifies this statement and I personally believe it will lead the way to build a new generation of smart contracts by empowering it with new capabilities. Chainlink will be one of the key players in facilitating the adoption of blockchain technology and become the standard for decentralized oracle solutions.

If you are interested to find out more about Synthetix, check out my beginners’ guide!

I would love to hear your views on the comments down below! Have a safe day out there trading in this wild, wild west!