Tellor - Decentralized Oracle
Tellor team shared Minable Oracle Contract backstory, and how Daxia pivoted into Oracle space.
Hello! What’s your background, and what are you working on?
Hello Defiprime! Brenda, Nick, and Mike here - the three-headed Hydra of Tellor. Between Brenda being a former Supervisory Statistician for the US Department of Labor, Nick a former economist for the CFTC, and Mike a long time entrepreneur in media and business, we feel we have a pretty effective pool of experience to pull from in our ongoing journey in the crypto-space. We all got into crypto at different times, but all for the same reasons; building cool things promote freedom and a better world. The three of us all worked together on our previous project Daxia, but in early 2019 we pivoted to Tellor.
So what is Tellor? We are a decentralized oracle that securely brings off-chain data onto Ethereum. To enable this we created a protocol where staked Proof-of-Work miners compete to provide the data to the Tellor smart contract. Users (e.g. financial contracts on Ethereum) read from this on-chain database for use in their trustless applications.
What’s Tellor backstory?
Prior to building Tellor, the three of us worked on a derivatives protocol called Daxia. This is where we ran head-first into the oracle problem (you know, the fact that blockchains don’t have access to off-chain data and rely on some entity (centralized or otherwise) to provide it). At the time, Daxia’s smart contracts relied on a centralized service, Oraclize, to get prices to settle our derivatives contracts. As the saying goes, you are only as decentralized as your least decentralized aspect, therefore we were never content with this. Frustratingly, there was no good solution out there at the time, so our only choice was to build our own oracle. Early in 2018, we conducted research on oracles as part of an Ethereum Foundation Grant, so we felt primed to take this challenge on.
Tellor started off as a weekend hackathon project at Angelhack DC in July of 2018. There we put together the initial design for a Mineable Oracle Contract, a proof of work competition for price data on Ethereum. We dubbed this the Proof Of Work Oracle (POWO). We didn’t quite realize yet that we were onto something but continued tinkering away and after our 1st security audit not going as well we hoped (we didn’t have the right crypto-economic incentives and structure), we redesigned the oracle and began to feel more confident in the decisions we were making.
We soon realized this was the direction we wanted to go as a company and so we closed Daxia down and pivoted full time to building Tellor. Soon after we got accepted into Binance Labs and that really accelerated our efforts.
What went into building the Tellor?
Although initial designs began at Angelhack and during the latter days of Daxia, Tellor truly began in March 2019, and earnest development kicking off with the Binance Labs starting a month later. Over the course of just 6 months we finalized our technical design, had our contracts formally verified and audited by Certik, worked out any kinks on testnet and launched to mainnet Ethereum on August 1st.
We felt a good portion of the crypto landscape was in a sort of “forever-research” mode and we wanted to be the polar opposite of that. This informed our every decision from the initial idea so we kept our things simple with ready to deploy tech. Some decisions we made that reflect this are, the fact that we chose to do no pre-mine or ICO and align our incentives around delivering product, initially limiting scope to price feeds (numerical data) instead of a larger variety of data types and we opted for a more basic tokenomic and security scheme over more complex options.
These decisions also reflected our commitment to security over flashiness. We only wanted to build what we could make the strongest assumptions on and then upgrade/optimize from that foundation.
What that ended up looking like was a system where users request data and a network of staked miners compete to submit data points to our on-chain price feed. PoW provides randomness for selecting the miners, acts as a filter, and provides security by diversifying the parties securing the system.
Our network mints a token, Tributes (TRB), that is used for mining rewards, staking requirement, and for dispute resolution and governance.
In traditional blockchain systems (PoW), the success of an attack can be measured by how many blocks have to be “reorganized” in the system, that is, how long can the attacker sustain adding bad blocks to the system before the network effectively removes them and continues onward. In this sense, one can only grief the system for a period of time. We wanted to increase the cost to grief our system and further disincentivize that attack. So we added a staking requirement for participation in the mining (1000TRB) and we select 5 winning miners (instead of just 1) and use the median of their values.
As far as the stack we used, it was all solidity for the smart contracts (shout out to Truffle, Infura for the tools here) and then we built the miner in Go and the front end as a client-side react app. The interesting thing about our smart contracts is that we use delegate-call proxy contract to enable upgradeability, a really cool build to push into production.
For users/ limitations, we are a “slower” oracle than most are used to. A lot of oracles have this weird pitch that treats their values as final and instructs users to do so also. We believe that you need fallbacks on fallbacks, and Tellor is working hard to help teach the space that instantaneous oracle queries are not only hard but likely undesirable in the slow blockchain world. But to get users, we’ve built a robust npm package with user contracts and an entire mock tellor system to help them test it and get their applications running.
What’s your business model?
At the onset, we felt very strongly against a pre-mine and token sale model. We’ve written about it, many many others have as well, and I think at this point this space has a good grasp of the downsides of letting projects fund themselves this way. To cut to the chase though, we wanted to create a business model that aligned all incentives included on the dev-side of things and create a situation where, if we didn’t deliver, then we wouldn’t make money. So we chose a dev-share model. Tellor takes 10% of all the mining (inflationary) rewards in our system and we use that to fund the core needs of the project. This keeps us lean and mean and hungry to keep Tellor growing and improving.
In terms of our competition, we are quite familiar, and friends with, the other oracle projects. We believe it’ll take multiple oracles to secure DeFi and that there is plenty of space for different options depending on the mission of your dapp. We all go about it in different ways and there are trade-offs. We sacrificed speed and data amounts, because for us if you’re building something on a blockchain that requires near-instantaneous speed and finality:
So instead we provide an easy to implement price feed solution, that’s fully decentralized, and is meant for apps that value censorship-resistance & decentralization, over speed.
What’s your position on the regulatory landscape today?
Tellor is actually a Washington, DC based company so we’re very close to the regulators in a lot of aspects. That said, the whole crypto scene needs to just be honest and follow their instincts. The US regulators have made it clear that you can’t break the law, but have yet to give many specifics. We know the basics: no fraud, no promising returns, no blatant security or derivative products that could/ should be done on a centralized back end. We get it.
But that said, don’t wait for the regulators to give you approval on your bleeding-edge technology. They’ll take way too long and you’ll miss your opportunity. The regulators have actually been relatively reasonable not going after nascent projects that are pushing the technology forward and we expect that continue. The regulators like keeping it vague because it gives them a free option to jump on this if it becomes a problem, so self-policing is important. Overall we know that at some point the space will come into the crosshairs of the regulators, but fingers crossed we can grow both in the right way and fast enough as a space that we’ll be too decentralized and big for them to do anything about it.
What are your goals for the future?
This year we’d like to expand our oracle to be on alternate chains and we’re developing that currently. The plan is to build a PoS Tellor system on alternate chains utilizing the Tellor Token and the current network of the Tellor community to validate and provide data on the alternate chain.
Beyond that we are designing solutions to improve the oracle’s capabilities - things like faster block times and expanding on the types and amount of data submitted per block. We built Tellor as a system of upgradeable contracts where the Tellor community (TRB token holders) gets to vote on the implementation of the system’s upgrades.
In the end, what matters most to us is users and we believe we offer a compelling option for projects that don’t want to compromise censorship-resistance and decentralization to get off-chain data into their dapp.
What are your future thoughts for the DeFi market?
Defi is at some point going to differentiate itself. Right now you just see a lot of enthusiasts tinkering with cool ideas, but a lot of what’s currently being built doesn’t need to be built on a blockchain (or Ethereum to be specific). People don’t hedge or chase interest rates on small amounts of money in the real world and there’s no reason to think they’ll do so on Ethereum. The real movement is going to come from the core propositions of these systems which are censorship resistance and anonymity (soon). Applications that play to these features are going to be the winners in the long run and right now it’s just nice that we can all play around, but at some point, we’ll have to come as a space back to the original idea that we’re a revolution away from the traditional finance world, not an enhancement.