Cayle Sharrock
Blockchain and Rust Developer
Experience
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.
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.
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
- 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
- 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
University of Cape Town
M.Sc.
2000-2001
UNISA
B.A.
2003-2006
The Tari Protocol
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-cryptolibrary, the core consensus state machine, merkle tree implementations, TariScript, and transaction protocols.
Key project information
- Website
- Source code
- Rust, MySql
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-cryptolibrary, the core consensus state machine, merkle tree implementations, TariScript, and transaction protocols.
Key project information
- Website
- Source code
- Rust, MySql
Yat
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
- Website
- Source code
- Rust, Postgres, React, Typescript
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
- Website
- Source code
- Rust, Postgres, React, Typescript
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
- Website
- Source code
- Rust, MySql, Actix-web
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
- Website
- Source code
- Rust, MySql, Actix-web
The GDAX trading toolkit
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
- Website
- Source code
- Node.js, Typescript
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
- Website
- Source code
- Node.js, Typescript
Publications
Academic publications
Selected blog posts
| # | Date | Date |
|---|---|---|
| 1 | Jul 21, 2021 | Introducing the fungible joule |
| 2 | May 27, 2018 | So you think you need a blockchain, part 1 |
| 3 | Jul 8, 2018 | So you think you need a blockchain, part 2 |
| 4 | August 24, 2006 | A recipe for turning waste gas into Diesel |
| 5 | September 11, 2023 | How fast can Tari be? How to scale a PoW system to 4,000 TPS |
| 6 | September 22, 2022 | Pivoting on the DAN |
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
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?