The Computable Book

Introduction

The Computable protocol creates decentralized data markets. The global Computable network is made up of many individual markets. Each market conceptually holds a single collection of data and is created and controlled by the owners of this data. These owners could correspond to existing organizations, or could be a decentralized set of interested parties. The coordination and access control for these individual market instances is coordinated by a set of smart contracts. Each market allows for a set of associated financial operations. These operations allow interested “patrons” to support a particular data market with funds, “makers” to contribute data in return for partial ownership in the market, and “buyers” to purchase data from the data market. To facilitate these transactions, each market has a unique associated MarketToken.

Everything described above is implemented in a set of smart contracts which currently live on the Ethereum blockchain. The data itself doesn’t live on the smart contracts. Datasets can be very large (gigabytes, terabytes, petabytes, exabytes or more) and smart contract systems have limited “on-chain” storage. Consequently, it would be infeasible to store such large collections of data on Ethereum. For this reason, data lives “off-chain” in Datatrusts. A Datatrust is a software system that is responsible for storing data and coordinating with on-chain permissions layers. Note that many possible Datatrust implementations are possible by different vendors or groups, so long as each implementation responds to the API specified within this specification.

Users can interact with the raw smart contracts through downstream API libraries which allow for programmatic access to smart contract state. Taken together, the trio of smart contracts, datatrust, and user facing front-end provide for a type of “operating system” which allows a decentralized, distributed community of individuals to manage and grow a dataset. Decentralized control of data is the heart of the Computable protocol.

Protocol Flowchart

This website is an introduction to the core Computable protocol and downstream libraries. It is designed to be read end-to-end, book style, and will provide you with a working understanding of the full protocol and the libraries that enable interaction with it. This document is a living, versioned specification. As understanding of the core aspects of the Computable protocol grows, this document will be updated accordingly.

The site is organized in book format. It’s designed to be possible to read from end to end cogently. We try to provide additional context for newcomers to the field and explain intuitions and ideas and not just the raw mechanics. By the time you finish reading this book, you should be prepared to contribute to existing data markets, and even launch your own data market to get started on gathering new and interesting data. Even more importantly, you should have an understanding of the challenges of decentralizing control and ownership of data and a solid working understanding of the libraries Computable provides to help you tackle this problem. Welcome onboard to the Computable community! It’s going to be a ride!

Next Chapter