Co-founder, API3 & Data Scientist, Gauntlet Networks

This is kind of a Part 2 to my post How Mesa DEX Works which I wrote on November 27th, three days before the API3 public token distribution. During the distribution — in fact, right at the beginning — a previously untapped exploit was used by an attacker to purchase approximately 1.6 million API3 tokens for relatively cheap, at $0.56 USD per token. This result in the API3 DAO to raise ~$680,000 less than expected under normal circumstances. (In case you’re wondering: the attacker resold all of those tokens on Mesa, at a higher price, within a day.)

In this post, I will explain what exactly that exploit was (it was relatively sophisticated and complex) and I will update some of my initial thoughts on Mesa / Gnosis Protocol. …


This is the final post in our series, “Getting APIs on the Blockchain”.

Image for post
Image for post
© iStock/smirkdingo, postprocessing by author

If you have been following this series from the beginning, I’m happy to say that you have already been introduced to the main elements and ideas behind API3’s design. This post simply shows how they fit together to solve the API Connectivity Problem.


In 2014, during my computer science masters, I had to write an 250-word “essay” for a scholarship application answering the question: “What do you think will be the future impact of data-driven computing on society?”

I re-read my response recently and found it interesting in light of modern day contexts. Note that this essay response was relatively controversial at the time and was the only selected essay with a negative sentiment.

Image for post
Image for post
Image generated by author

As much as the analysis of larger and larger data sets has been touted as the future of computing, data-driven computing has the potential to have adverse effects if the public does not become more data-literate. Arguably, the excitement and faith in data-driven computing has been this general feeling that data (in all of its many forms) represents some Truth, and the “bigger” the data becomes, the closer we come to this Truth. Anyone who has firsthand collected or analyzed data understands this isn’t the case: surveys are designed poorly, data is mislabeled, and (perhaps worst of all) incorrect conclusions are drawn. …


EDIT: I’ve written a Part 2 (“The Mesa DEX Exploit”) to this article that addresses the exploit that occurred during the API3 public token distribution event. I also amend some things mentioned in this article and include my updated thoughts on Mesa/Gnosis Protocol.

The API3 public token distribution will take place on Mesa DEX. There have been a lot of questions about how Mesa / Gnosis Protocol works and this article is meant to address that.

TL;DR

  • If you bid $X and the total demand (for tokens at price ≤ $X) is less than the supply, then it is extremely probable you are guaranteed your bid (at price $X or lower). That is, you’ll never overpay the price you set in the auction. …

This is the 7th and penultimate post in our series, “Getting APIs on the Blockchain”. We have thus far, among other things, introduced the API Connectivity Problem and highlighted several major components of our solution — namely, first-party oracles and quantifiable security. This post highlights another major component of our design.

Image for post
Image for post
Gerardo Dottori, Ascending Forms (or Ascending Forces). 1930, Comune di Perugia, Perugia. (Detail.)

Much has been said — and much is yet to be said— about decentralized governance in the form of DAOs (decentralized autonomous organizations). This is because, the more we discuss the various approaches to DAO operation, the more in need we are of an objective function in which to measure the success of a DAO in order to compare good/bad/better DAO structures and operational mechanisms. The creation of any objective function in this realm inevitably approaches the question of: how do we optimally organize human beings? …


Image for post
Image for post
Detail from Book of Hours, Italy 1470–1480, MS G.14 fol. 13v

This is the 6th post in our series, “Getting APIs on the Blockchain”.

Engineering is the art of modelling materials we do not wholly understand, into shapes we cannot precisely analyse, so as to withstand forces we cannot properly assess, in such a way that the public has no reason to suspect the extent of our ignorance.

— Dr. A. R. Dykes, British Institution of Structural Engineers

If we were to ask a structural engineer “How much can your bridge support?” and we were to receive the answer “I assure you, sir, it has 21 beams of the highest quality steel”, we would be wise to not cross that bridge. …


This is the fifth post in our series, “Getting APIs on the Blockchain”.

This particular article in our series might seem a bit out-of-place at first, so let me provide a bit of context. Previously we discussed the significance of APIs and the problem with connecting existing APIs to the blockchain. We then began to introduce some of the components of our solution via defining first-party oracles (and, in particular, comparing them with third-party oracles).

Now, why are we discussing staking? As we introduce the components of our solution to the API Connectivity Problem, eventually comes the elucidation of our chosen security model. In particular, we move away from oracle-level staking as an approach to security. This article gives a relatively short and informal argument as to why. …


The text below used to live as a pdf on my little academic website a while ago. In 2014, I was tutoring a few students and I started wondering about how to scale my services. I wanted to know if you could manipulate prices (in a fair way) to incentivize students to spread the word of my services. Could I come up with a pricing mechanism that would benefit my tutees and also work in my favour?

I re-read this a few months back and showed it to a friend. He said that this was essentially a bonding curve. I hadn’t thought about that — I never actually drew the curve. So, I copy-and-paste the original text below. I think it’s a cute little read and could also potentially show what a bonding curve is (or at least what it attempts to achieve) in a first principled manner.


This is the third post in our series, “Getting APIs on the Blockchain”. Previously, we defined and contextualized the importance of modern-day web APIs and introduced The API Connectivity Problem.

Image for post
Image for post
Cocoons of a parasitic wasp on a tomato hornworm © Wordpress / pattyler1

Originating from and (unfortunately) still associated with its historical and mystical connotations — namely, a person with divinatory abilities — a blockchain oracle is simply a piece of software that takes information that lives outside of the blockchain and records it onto the blockchain, effectively acting as a bridge between off-chain and on-chain worlds (a bridge with varying degrees of security, I must note).

Our series Getting APIs on the Blockchain won’t focus too much on oracles — in particular, because we focus our sights on the API Connectivity Problem rather than the Oracle Problem — however, we will dedicate a few articles to oracles, given they are a necessary part of the solution to the API Connectivity Problem. You need an oracle node that records data from off-chain APIs onto the blockchain. …


This is the second post in our series, “Getting APIs on the Blockchain”. See our first post here where I define “API” via some computer science history.

Image for post
Image for post
Floating Islands by Sviatoslav Gerasimchuk

As discussed in our previous blog post: APIs permeate our digital world and allow developers to build applications at a rate and at a complexity never before seen. In recent years, businesses are increasingly using APIs to monetize their data and services through completely API-centric business models. However, existing APIs are not natively compatible with blockchains and the decentralized applications that operate on them.

Just as Web 2.0 was marked by interoperability, user-generated content, and participatory culture, Web 3.0 is defined by decentralization. Practically, this means the distribution of computation and consensus across a network. To enforce these network-wide consensus rules, nodes in the network must verify global network states by computing proposed state changes — in the form of transactions — locally. …

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