Cayle Sharrock

Blockchain and Rust Developer

Experience

Head of Engineering

Tari Labs
2018-2024

Tari is a privacy-focused digital assets protocol.

Tari resolves the blockchain trilemma by employing a two-layer architecture. The base layer is a Mimblewimble-based cryptocurrency secured by proof-of-work. The second layer is a Byzantine Fault Tolerant (BFT) self-sharding assets protocol with Turing-complete smart contract capabilities focused on scaling and performance.

  • Joined as employee #1 in 2018
  • Recruited and managed a team of 20 engineers
  • Launched the first Tari testnet in April 2020 (Rust)
  • Invented TariScript, a dynamic scripting language for Mimblewimble
  • Layer 1 audits completed Q4 2023
  • Layer 2 testnet launched Q1 2024 (Rust)

Head of Engineering

Big Neon
2018-2020

Big Neon was a modern, mobile-first ticketing platform that moves beyond just selling tickets. It was based in Oaklnad, California.

Starting June 2018, my brief was to build an engineering team and deliver the first go-to-market version of Big Neon in 9 months. The first Big Neon tickets were sold in January 2019. Big Neon realised over $2 million dollars in sales before the Covid-19 pandemic shut down all events in the U.S. and abroad and effectively killed Big Neon as a going concern.

Head of Engineering

Yat Labs
2020-2021

Yat Labs is a digital services company that builds and maintains the Yat ecosystem. It is based in Nashville, Tennessee.

Yats are short emoji strings that serve as universal usernames for the Metaverse. Somewhere between a domain name and a social media handle, Yats allow you to unify your online brand or identity under one short, memorable emoji string.

  • Recruited and managed a team of up to 30 engineers.
  • Coded the MVP of Yat server (Rust).
  • Wrote and deployed Yat Gem NFT contract (Solidity)
  • Saw site grow from 0 to 71,000 users and $20mil in revenue in 2 years.

Senior Backend Engineer

Coinbase
2016-2018

Coinbase is a digital currency exchange headquartered in San Francisco, California.

  • Contributed to GDAX (Coinbase exchange) backend API (NodeJs).
  • Developed and maintained automated trading algorithms (NodeJs).
  • Developed and maintained query system for > 2TB of exchange log files
  • Wrote GDAX Trading toolkit (NodeJs, FOSS).

Founder and managing director

Nimbus Technologies
2012-2016
Nimbus Technologies was a process modelling and optimisation services company that served the chemical and mining industries in South Africa.
  • Bitcoin Mining Economics. Research into supply-side economics of Bitcoin.
  • MineTrak. Developed, marketed and offered support services for the industry-leading mobile mine planning application.
  • Process Modelling Consulting. Nimbus offered consulting and modelling services for Process and Business optimisation as well as training in Process Engineering modelling tools, with particular focus on gPROMS. Clients included 3 of the top 4 Universities in South Africa.

Senior Process Engineer

Sasol
2003-2015
Sasol is an international integrated energy and petrochemical company based in Johannesburg, South Africa.
  • Developed and maintained process models for Sasol's Fischer-Tropsch and Gas-to-Liquids plants.
  • Developed holistic techno-economic modelling paradigm that led to 40% saving in capital of $3bil process design.
  • Taught post-graduate Process Modelling computation course at University of Cape Town.
  • Chairman of Junior Engineers' Forum.

University of Cape Town

B.Sc.
1996-1999
Graduated with a BSc (Eng) in Chemical Engineering summa cum laude.

University of Cape Town

M.Sc.
2000-2001
Graduated with a MSc (Eng) in Chemical Engineering with thesis entitled "The design and modelling of a Pressure Swing Reactor".

UNISA

B.A.
2003-2006
Bachelor of Arts (Philosophy, Creative Writing and Literary Theory), University of South Africa. Graduated with Distinction.

The Tari Protocol


https://tari.com

A Layer 1 blockchain protocol based on Mimblewimble and secured by proof-of-work.

  • Lead developer and maintainer from project commencement in 2019 to 2024.
  • Core repository contains nearly 300,000 lines of Rust code.
  • Contributed most of the tari-crypto library, the core consensus state machine, merkle tree implementations, TariScript, and transaction protocols.

Key project information
https://tari.com

A Layer 1 blockchain protocol based on Mimblewimble and secured by proof-of-work.

  • Lead developer and maintainer from project commencement in 2019 to 2024.
  • Core repository contains nearly 300,000 lines of Rust code.
  • Contributed most of the tari-crypto library, the core consensus state machine, merkle tree implementations, TariScript, and transaction protocols.

Key project information

Yat


https://y.at

Unite your online presence under a single, memorable emoji word.

  • Recruited and managed engineering, dev-ops and security teams from 2020 to 2023.
  • Wrote first iteration of the emoji-id backend and REST API, including DNS features, url tags, rarity and pricing algorithm.
  • Created the self-minting mechanism for emoji-ids, which allows users to mint their own emoji-ids as NFTs.

Key project information
https://y.at

Unite your online presence under a single, memorable emoji word.

  • Recruited and managed engineering, dev-ops and security teams from 2020 to 2023.
  • Wrote first iteration of the emoji-id backend and REST API, including DNS features, url tags, rarity and pricing algorithm.
  • Created the self-minting mechanism for emoji-ids, which allows users to mint their own emoji-ids as NFTs.

Key project information

Tari payment server


Accept Tari payments on shopify with Tari payment server

Tari Payment server is a server that allows you to accept Tari payments for orders on your store. It runs independently of your store and your hot wallet, and is primarily responsible for one thing: matching payments to the hot wallet to orders made on the store.

Sole developer and maintainer of the project as of October 2024.

Key project information

Accept Tari payments on shopify with Tari payment server

Tari Payment server is a server that allows you to accept Tari payments for orders on your store. It runs independently of your store and your hot wallet, and is primarily responsible for one thing: matching payments to the hot wallet to orders made on the store.

Sole developer and maintainer of the project as of October 2024.

Key project information

The GDAX trading toolkit


https://www.coinbase.com/en-pt/advanced-trade/spot/BTC-USD

Provides all the tools traders need to create automated trading bots on GDAX and supported digital asset exchanges.

  • Coinbase’s most popular open-source project as of April 2018, with 800+ stars and 200+ forks.
  • Sole developer and maintainer from 2017 to April 2018.

Key project information
https://www.coinbase.com/en-pt/advanced-trade/spot/BTC-USD

Provides all the tools traders need to create automated trading bots on GDAX and supported digital asset exchanges.

  • Coinbase’s most popular open-source project as of April 2018, with 800+ stars and 200+ forks.
  • Sole developer and maintainer from 2017 to April 2018.

Key project information

Publications

Academic publications

# Author Title Journal Date
1 Sharrock, C. and van Heerden, S. TariScript: Bringing dynamic scripting to Mimblewimble Cryptology ePrint Archive 2023
2 McGregor, C. and Grove, J.J.C. and Crause, C. and Naude, H. and Sharrock, C.J. Sasol's ModCo™ detergent range alcohols Proceedings: South African Chemical Engineers Congress 2006
3 Sharrock, C.J. A process modelling framework in the Delphi Programming language Proceedings: SAIChe Western Cape chapter, Cape Town 2006
4 Sharrock, C.J. Plantwide holistic optimisation using gPROMS gPROMS Annual Meeting, London 2011
5 Sharrock, C.J. Process modelling across the technology development lifecycle: from laboratory experimentation to economic optimisation Advanced Process Modelling Forum, London 2012
6 Sharrock,C.J. and Coetzer, R. Selecting Robust Kinetic Models on Noisy Data Using the Bootstrap International Journal of Chemical Reaction Engineering Vol 5, 2007
7 Sharrock,C.J. and Coetzer, R. A method of selecting robust kinetic models on noisy data Proceedings: CRE XI - Green Reactor Engineering, Bilbao, Spain 2007
8 Sharrock, C.J. The Next Big Thing The Chemical Engineer February, 2016
9 Sharrock, C.J. Securing support for new ideas -- a cheat sheet for Innovators The Chemical Engineer October, 2014
10 Sharrock, C.J. The Wisdom of Crowds The Chemical Engineer July, 2015

Selected blog posts

Whitepapers and technical writing

# Title Abstract
1 Overview of Tari Network The aim of this proposal is to provide a very high-level perspective of the moving parts of the Tari protocol.
2 Base Layer Full Nodes (Base Nodes) The aim of this Request for Comment (RFC) is to describe the roles that [base node]s play in the Tari network as well as their general approach for doing so.
3 Base Node Architecture The aim of this Request for Comment (RFC) is to describe the high-level Base Node architecture.
4 Base Layer Consensus The aim of this Request for Comment (RFC) is to describe the fields that a block should contain as well as all consensus rules that will determine the validity of a block.
5 Consensus-level burn transactions The aim of this Request for Comment (RFC) is to describe the process of Burning UTXOs and to track the amount burned.
6 Sparse Merkle Trees: A mutable data structure for TXO commitments This Request for Comment (RFC) proposes replacing the current Mutable Merkle Mountain Range (MMMR) data structure used for tracking the commitment to the UTXO set, with a Sparse Merkle tree (SMT).
7 Staged Wallet Security This Request for Comment (RFC) aims to describe Tari's ergonomic approach to securing funds in a hot wallet. The focus is on mobile wallets, but the strategy described here is equally applicable to console or desktop wallets.
8 TariScript This Request for Comment (RFC) presents a proposal for introducing [TariScript] into the Tari base layer protocol. Tari Script aims to provide a general mechanism for enabling further extensions such as side-chains, the DAN, one-sided payments and atomic swaps.
9 TariScript Opcodes This Request for Comment (RFC) defines the opcodes that make up the TariScript scripting language and provides some examples and applications.
10 Digital Assets Network The aim of this Request for Comment (RFC) is to describe the key elements of the Tari second layer, also known as the Digital Assets Network (DAN).
11 The Tari Network Consensus Layer This Request for Comment (RFC) describe the consensus mechanism known as Cerberus as it is implemented in Tari. Tari implements the Cerberus variant known as Pessimistic Cerberus, for the most part, with Hotstuff BFT replacing pBFT as described in the Cerberus paper.
12 The DAN peg-in mechanism, or Turbine model Tari is used to power the DAN's economic engine. This RFC describes the motivation and mechanism of the Minotari to DAN peg-in mechanism.
13 The Tari throttle, or Layer 2 burn rate controller This RFC provides an introductory exploratory analysis into the mechanisms behind a proposed Tari throttle: a Layer 2 controller for the L2 fee burn rate to control the Tari circulating supply.
14 The Tari Cerberus-Hotsuff Consensus Algorithm This Request for Comment (RFC) describe the consensus mechanism known as Cerberus as it is implemented in Tari. Tari implements the Cerberus variant known as Optimistic Cerberus, for the most part, with Hotstuff BFT replacing pBFT as described in the Cerberus paper.
15 The Tari Virtual Machine This RFC describes the design goals and rationale for the Tari Virtual Machine (TVM).
16 Privacy-enabled Stablecoin contract design This Request for Comment (RFC) describes the a possible manifestation of a privacy-preserving stablecoin on the Tari Digital Assets Network (DAN).

Patents

# Author Title Jurisdiction Date
201202198 Sharrock, C. J. and Otto, F. and Julius, G. Conversion of olefin to alcohols, World 2013-10-03
US-11880830 Jain, N and Spagni, R. and Sharrock, C. J. Systems and methods for generating, securing, and maintaining emoji sequence digital tokens U.S. 2024-01-23
US-20220358169 Sharrock, C.J. Anti-spoofing for Emoji identifications U.S. 2022-11-10
US-20230048293 Sharrock, C.J. Providence Certification U.S. 2023-02-16

A non-scary intro to Elliptic curve cryptography

What are elliptic curves, and how do they help secure cryptocurrencies?

Introduction to the Advent of Code series

This series of 23 videos solves Advent of Code 2020 series of problems using idiomatic Rust.

If you're a beginner or intermediate level Rust coder and want to uncover some different ways of solving the AOC challenges, then this is the series for you!

Non-interactive protocols for Mimblewimble

Mimblewimble is a scalable, lightweight, private cryptocurrency protocol. One of its drawbacks is that transactions are interactive, meaning that the sender and receiver must communicate in order to complete the transaction.

Learn how Tari managed to add scripting into Mimblewimble to allow non-interactive transactions to take place.

Sovereign Money and Freedom. Where to From Here?

Money, energy, privacy and freedom are intertwined. Without private money, can we really be masters of our own outputs and therefore be free?