Calvin Kim

Bitcoin Developer Grant

Calvin has been contributing to the Utreexo project since 2019. His main interest is to improve the scalability in Bitcoin’s base layer.

Since 2017, he has been involved in Bitcoin with contributions such as:

  1. Localizations for Bitcoin Core and btcpayserver into Korean.
  2. Co-organizing and giving technical presentations at the Seoul Bitcoin Meetup.
  3. Leading a Bitcoin programming group in Korean.

His contributions to the Utreexo code was substantial in the first demo release of the project.

Calvin’s future work will be to:

  1. Lead implementing Utreexo into btcd (a bitcoin implementation in Go)
  2. Implement the Utreexo code in Rust
  3. Work on improving the initial block download time in Bitcoin

Grant Dates Amount

August 2020
US$30,000
June 2021 US$100,000

Total
US$130,000

Reports by Calvin Kim:

May 2021 – Out of Order Block Validation with Utreexo Accumulators

Calvin explains why the order in which blocks are validated does not matter under Utreexo. This is because the disk space savings make UTXO snapshots practical, which in turn allows for the parallelisation of the validation of the Bitcoin Blockchain. Calvin goes on to explain that one can check if an incoming transaction is valid by verifying the accumulator proof, getting rid of the need to access the UTXO set. This allows Utreexo nodes to eliminate disk access requirements, in exchange for more hashing, which can be an excellent trade-off. Calvin then discusses how Utreexo can change how we think about block validation.

May 2021 – Faster Blockchain Validation with Utreexo Accumulators

Calvin Kim announces the success in speeding up Bitcoin’s Initial Block Download (IBD) using the Utreexo client. While the speed improvement can vary depending on one’s local hardware and bottlenecks, the initial download and verification can be up to 62% faster compared to Bitcoin Core. Since many optimisations are yet to be implemented, the speedup is expected to increase. Calvin goes on to talk about how the IBD can be split up into multiple tasks, and therefore conducted by multiple computers. Eventually the plan is to implement Utreexo in C++ and get it merged into Bitcoin Core. While this may be a long way off, the C++ implementation has already been started.

February 2021 – Progress Towards Utreexo Goals

In this piece, 100x Group grantee Calvin Kim explores several claims about the benefits of Utreexo and the extent these advantages have been realised. Calvin explains the significant progress which has been made in the latest implementation of Utreexo, however there is plenty of additional work to do before ordinary users will be using the technology.

October 2020 – Current Status of the Utreexo Project

In this short piece, 100x Group grantee Calvin provides a quick update on the development of the Utreexo implementation. Calvin is now looking forward to focusing on performance, integration with existing Bitcoin implementations, and adding robust tests to the codebase.