As we prepare to deploy Truebit’s second major release, Veritas, we would like to take this opportunity to extend our gratitude to the focused efforts of the community which have made this milestone possible. Others unnamed here have also made substantial contributions, and they know who they are ;)

Truebit’s decentralized computation odyssey began four years ago. In early 2015, Loi Luu, Jason Teutsch, Raghav Kulkarni, and Prateek Saxena at National University of Singapore (NUS) identified the so-called Verifier’s Dilemma, a phenomenon which explains the need for Ethereum’s gas limit. Their research culminated in the first academic paper about Ethereum. On July 4, 2015, Bitcoin witnessed a six-block fork which caused the referees of their CCS submission to re-evaluate the practical merits of their theory-based results. Jason, inspired by the impact of current events, set forth on an ambitious mission to expand the computational power of smart contracts.

A follow-up paper with NUS colleagues Sanjay Jain, Prateek Saxena, Frank Stephan, and Jason explored the canonical concept of “verification game.” Upon learning of this joint work in February 2016, Vitalik Buterin connected Jason with Christian Reitwießner from Ethereum who had concurrently drafted a blog post on the same topic and was implementing a scrypt verifier for use in Dogethereum. Jason and Christian joined forces as cryptoeconomic pioneers, and in March 2017 they publicly disseminated the concept of “forced error” in a whitepaper detailing the Truebit protocol. Over the ensuing months, they decided that Truebit would benefit from nascent WebAssembly architecture (Wasm).

Ocean Protocol founder Trent McConaghy and Polychain Capital partner Ryan Zurrer assisted with Truebit’s transition from academic concept to start-up organization. At the time, blockchain resources were scarce, and Jason spent much time breaking regulatory ground in various jurisdictions with support from attorney Florian Glatz. In June 2017, Jason introduced the concept of ICO to officers at the Monetary Authority of Singapore! In July, Farzad Sadeghi signed on and delivered Truebit’s first lines of code.

Truebit’s core team and community continued to grow. In September 2017, Ryan Zurrer’s close friend, Robbie Bent, formally joined Truebit. Robbie assumed the role of investor relations as, by now, an overwhelming number of funds were reaching out to the project. Robbie was instrumental in gaining visibility for Truebit through his contributions to Merry Merkle, interviews for ETH Prize, and organizing events & speaking engagements. At the same time, Matt Condon’s Steak Network, a comedic mixture of computer vision and Truebit application, raised funds for Truebit’s #ArtProject led by artist Jessica Angel. By early 2018, Truebit’s core team would move into a house together near San Francisco where they would welcome the crypto bubble into their living room, host regular meetups and out-of-town guests, and stage a notable Dogethereum software demo.

September 2017 marked a new phase for Truebit’s development as Sami Mäkelä took up the reins. Within weeks of joining the team, Sami had independently designed and built the first-ever verification game and filesystem prototypes for blockchain and deployed them onto Kovan Testnet. After completing stable versions of the off-chain interpreter, on-chain stepper, and Wasm preprocessing steps, Sami went on to architect all other parts of Truebit Veritas. From 2018–2019, he led the development of the Truebit-OS client, just-in-time compiler, compilations tools, and improved the filesystem. In recent weeks, Sami has designed some tutorials to help developers explore, appreciate, and build applications with Truebit. In November 2017, Harley Swick and Sina Habibian joined the team. Harley went on to build major components of Truebit’s incentive layer and Truebit-OS. Meanwhile Sina helped greatly with publicity and assisted at the interface of development and operations.

In May 2018, Truebit faced publicity and financial setbacks. Truebit’s highly visible team members Robbie and Sina abruptly left days before Truebit closed its funding round. Fortunately, the engineers who were contributing code remained committed to the project, and the team maintained its steady development cadence despite substantially diminished external relations.

Over Summer 2018, Truebit annexed development contributions from key technical talents and integrated its technology with the Livepeer project. Transmute founder and open-source contributor Orie Steele built a user-friendly Truebit Toolchain for compiling generic code to Truebit tasks. Surya Bakshi, Andrew Miller’s graduate student at University of Illinois, also joined Truebit’s core team. In addition to research efforts, Surya built part of Truebit’s incentive layer. Later, in 2019, Surya authored new smart contracts for Truebit’s new interactive coin offerings (IICO) platform which improved upon Kleros’s eariler implementation and refined the design proposed in the earlier IICO whitepaper by Jason Teutsch, Vitalik Buterin, and Christopher Brown. New York design firm BKDF worked closely with Surya to integrate a new UX/UI for the IICO system. Last but not least, Jessica Angel converted to a full-time operations, communications, and design role and continued Truebit’s Maker Space tradition at ETH Denver. We are especially grateful to Ben Sprecher, and Ocean founders Don Gossen, Trent McConaghy, and Bruce Pon for their enormous support during this transition period.

Due to the uncertainties of the blockchain domain, the Truebit team seldom makes promises about the future. Looking back, however, we are proud of what our team has delivered in terms of research, engineering, art, and giving back to the community.

A retrospective of Truebit’s active codebase

We review the major components of the current Truebit implementation.

Off-chain interpreter (Sami Mäkelä) https://github.com/TrueBitFoundation/ocaml-offchain/commits/master

Based on WebAssembly reference interpreter.

Aug 28, 2017: Started working on the Truebit VM offchain interpreter.

Sep 12, 2017: Verification game contract, most test programs running on the OCaml interpreter, simple web3.js client for testing.

Nov 1, 2017: File system, running emscripten generated programs.

Dec 4, 2017: Floating point emulator.

On-chain stepper (Sami Mäkelä)

https://github.com/TrueBitFoundation/webasm-solidity/commits/master

Sep 13, 2017: Moved solidity contracts and the test node to new repo (from ocaml-offchain repo).

Sep 26, 2017: Offchain interpreter in Solidity (used for testing).

Oct 27, 2017; File bundles as input.

Verification game on Rinkeby testnet.

Dec 22, 2017: IPFS files.

Just-in-time compiler (Sami Mäkelä)

https://github.com/TrueBitFoundation/jit-runner

Mar 22, 2018: First attempt of snapshotting state from JIT.

Apr 19, 2018: Running tasks with JIT.

Nov 19, 2018: Limiting stack size.

Dec 19, 2018: Working version of snapshotting state from JIT.

Truebit-OS client (Harley Swick, Sami Mäkelä, Orie Steele)

https://github.com/TrueBitFoundation/truebit-os/commits/master

Mar 29, 2018: Started new client (Truebit-OS).

Jun 4, 2018: Integration with Wasm contracts started (code from webasm-solidity repo was merged here).

Main achievement was merging the incentive and dispute resolution layers.

Sep 5, 2018: Scrypt test working in Truebit-OS.

Sep 12, 2018: Deterministic generation of secrets.

Incentive layer at Kovan.

Oct 30, 2018: Metering tasks.

Jan 8, 2019: Refactored filesystem.

Feb 19, 2019: At Görli testnet.

Original repo for incentive layer contract (Harley Swick and Surya Bakshi)

https://github.com/TrueBitFoundation/incentive-layer/commits/master

Getting data from Ethereum blocks (Sami Mäkelä)

https://github.com/TrueBitFoundation/eth-patricia/commits/master

WebAssembly preprocessing task (Sami Mäkelä)

https://github.com/TrueBitFoundation/wasm-preprocessing/commits/master

Tool to help run C , C++, and Rust programs in Truebit (Sami Mäkelä, Orie Steele)

https://github.com/TrueBitFoundation/emscripten-module-wrapper/commits/master

Dockerized Toolchain for compiling tasks (Orie Steele)

https://github.com/TrueBitFoundation/truebit-toolchain/commits/master

Jun 18, 2018 Truebit Toolchain start date.

Scripts to compile libraries to WebAssembly, now with samples (Sami Mäkelä)

https://github.com/TrueBitFoundation/wasm-ports/commits/v2

Other ideas and demos