A Conversation with MakerDAO’s “Head of Oracles” - Mariano Conti

Launched a little over 12 months ago, MakerDAO has come to be recognized as one of, if not the most successful dapps on Ethereum. Built around a sophisticated programmatic governance system which produces a stablecoin called DAI, MakerDAO’s DAI has maintained a value pegged to $1 USD within some margin for over a year despite massive price drops in ETH.

To date, MakerDAO’s more than 5,000 Collateralized Debt Positions (CDP’s) have collectively held up to 1.6 million ETH. Users have been able to create numerous creative models of business using the platform, from leveraged borrowing, to creating businesses which are able to accept cryptocurrency in a viable manner for the first time thanks to the stability of DAI’s peg.

An essential part of MakerDAO’s CDP system working properly is to make sure it uses oracles in a resilient way so that price feeds are accurate to a certain degree all the time. This is no easy feat. We’re fortunate enough to have one of the people behind the technical success of MakerDAO, Mariano Conti, answer some questions we have about how he approached “the oracle problem.”

I was born in Buenos Aires, raised in Mexico City. Studied Engineering there, then had a mini midlife crisis at 30 and returned to Buenos Aires. There I discovered Bitcoin as a way to protect against a weak Peso and the inability to buy US dollars. The company I worked for paid a part of my salary in BTC. Then we discovered Ethereum and immediately wanted to get involved in whatever way possible. After talking to several projects, we found MakerDAO and I started outsourcing there as a trainee developer, learning Solidity and web3, working on what eventually became OasisDEX.

My day job involves a lot of Solidity and Node/Javascript. But my favorite is still Bash. Most of the tools we build at DappHub (another project I’m involved with) are written in Bash. These are the tools we use to build, test and deploy smart contracts, as well as CLI tools to read/write to the Ethereum blockchain. More at dapp.tools (shameless plug).

I’m also trying to learn Haskell since we have our own implementation of the EVM called hevm and that’s written in Haskell.

I should say that I’m now Head of Backend Services, which is a bigger team that also includes Oracles (but I still love saying “Head of Oracles” so I keep using it). My favorite part is also the scariest: Oracles are the weakest link of any blockchain project, and they just cannot fail. And architecting our systems so that they do not fail, or if they do they can recover, is rewarding and exhilarating.

It’s been stressful at times. When we released DAI I didn’t sleep for a week. I’d wake up in the middle of the night sweating to check the status of our oracles, even when I had alarms in place to blast me awake if anything happened.

Slowly I learned to trust the systems we built, so now I sleep fine. I still check the status of the oracles several times a day.

Originally the team was just me. I was tasked with either finding an existing solution for price feeds, or come up with my own. And building them in house was fun, I worked on everything from the smart contracts, to the APIs for gathering prices, to the software that each oracle runs.

Now we have Nik Kunkel, an amazing dev at Maker, who is handling what we call Oracles V2, so it’s not just me anymore. We spend more time researching trends, new technologies, ways to make the smart contracts cheaper, etc..

Also, several projects have come to us asking for Maker to handle their price feeds. Two of these projects are Augur and Polymath. We initially planned to only support the two price feeds necessary for Single-collateral DAI (ETH/USD and MKR/USD). But they trusted our technology and expertise, and it made sense for us to handle REP/USD and POLY/USD.

So now I talk a lot more with people from other projects, who either want us to run their price feeds, or want to integrate our existing oracles.

During Devcon4 and the whole Prague Blockchain Week, a lot of people came to talk to me about Oracles, that was amazing! Most of them knew me as “the Oracle guy”, which was pretty funny but also very cool. I realized there that our Oracles are being used by a lot of projects, and the fact that they trust them means a lot to me.

The Cryptokitties craze was insane. I had hard coded max gas prices in our software, I don’t remember, something like 50 Gwei per gas, a number I thought we’d never hit. And when I saw transactions paying 100, 150 Gwei and our oracles having trouble updating, I had a rough time. I had to rewrite our software’s whole gas strategy in a few hours and have everyone update just so we could keep running. It was stressful, but in the end, the software benefited from it since it’s now a lot more robust.

I haven’t really had any disheartening experiences. I’ve given plenty of talks about Oracles, met a lot of amazing people. Maybe I’ve just blocked any bad memories, but honestly, other than some tech issues, I can’t remember anything bad.

Living in Argentina with 45% yearly inflation, and having seen beforehand our Government freezing people’s bank accounts, taking away their life savings, I wake up every day thinking that what I’m working on matters. Some people I work with can’t wrap their heads around the Argentinian economy and the way it affects our daily life. I cannot for example wrap my head around the inflation in Venezuela, or the obstacles they face to pay rent, or even buy food.

And cryptocurrencies are a way around that. A lot of people in South America do not trust their banks or their governments. And us at Maker creating a stablecoin with all the good things that crypto brings, decentralization, low fees, transcending borders, censorship resistant, it can have a meaningful impact.

The success of DAI is very personal to me. I think South America is a great testbed to show the rest of the world how crypto will work in the future, because sometimes, there’s no other good way to transfer value down here, or to hold it. The use cases are very real and very urgent.

Short term, we need to make it easier to create and maintain new oracles. With Multi-collateral DAI launching soon, every token or asset we plan to use as collateral needs a reliable, decentralized and true price feed.

Longer term, we may have to work with other projects towards some sort of standard. Right now everyone is mostly doing their own thing, which is fine, but with increased adoption and the creation of new dapps, it’ll be easier if big projects can work together.

I’d love for our oracles to be STARK based. Doing all the computation off-chain then submitting a small proof that very cheaply verifies that several decentralized oracles independently ran some work.

I’d also like for Exchanges to start signing their API data with Ethereum private keys (or really any public/private key algorithm). We could cheaply verify on-chain that data came from whitelisted sources.

Or maybe have BLS signatures aggregating oracles’ signed messages.

2019 is looking very interesting :)

Witnet is a Decentralized Oracle Network being built to allow projects like MakerDAO and many others to remove some risk from their technical architecture by ensuring that data fed into their dapps is provably decentralized.

The Witnet network testnet launches at the end of January 2019 and is completely open source to the community for contributors interested in helping us build a more decentralized future.

Co-founder of @jetprotocol

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store