Bitcoin Developer Grant
Jeremy Rubin is the founder of Judica, a Bitcoin R&D Lab. He has been a Bitcoin contributor since 2016, but has worked in the community since 2013. Previously, Jeremy co-founded Scaling Bitcoin and the MIT Digital Currency Initiative.
Jeremy’s main contributions to Bitcoin focus on code changes that deal with resource utilisation, performance, and security. Previously, he implemented a novel cuckoo cache algorithm which improved block validation times.
Currently, Jeremy is working on a rewrite of many of the Bitcoin mempool’s (the store of pending transactions) central algorithms that should make nodes faster, and more resistant to denial of service attacks. These contributions may also help with solving issues pertaining to transaction pining for layer two protocols like Lightning.
Jeremy is also the author of CheckTemplateVerify (BIP-119), a proposed Bitcoin upgrade which uses a hash to specify exact transaction(s) that can spend a coin when an output is created, committing to UTXO to the following:
- number of inputs,
- the sequences,
- the tx version,
- the lock time,
- the index of the input being spent, and
- the exact outputs to be created.
This can add smart contracting capabilities to Bitcoin, for instance allowing systems such as wallet vaults or congestion controlled batch payments. Jeremy is also building Sapio, a programming language framework for designing smart contracts based on CheckTemplateVerify.
Jeremy founded Judica, Inc to serve as an R&D lab with the goals:
- Complete critical infrastructure work on the mempool
- Maintain BIP-119 CheckTemplateVerify
- Develop the Sapio programming language
- Engage in basic research on future upgrades to Bitcoin
One can watch Jeremy describe the potential features that can be achieved by combining Sapio with CheckTemplateVerify at the Bitcoin Reckless VR meetup which occurred on 11 July 2020.
100x Group has provided this grant to Judica to support its work towards improving the mempool infrastructure.
Reports by Jeremy Rubin:
In this piece 100x Group grantee Jeremy Rubin describes a smart contract that can be used to verifiably commit to losing coins if Taproot does not activate by a certain date. Jeremy explains a novel and interesting methodology of using smart contracts on Bitcoin, in order to conduct these “bets”. However, in our view, in practise this limited type of betting is unlikely to make a significant contribution to resolving Bitcoin’s apparent softfork activation methodology predicament.