Kaspa Workshop – UTXO State Processing July 16 2024
In this workshop, we walked through the Kaspa Rust codebase and studied the unique challenges of UTXO state processing on general DAGs and how the Kaspa consensus engine was designed to address these challenges
Michael Sutton- Lead Kaspa Developer
Georges Künzli (Tiram) Core Kaspa Developer
Code link: https://github.com/kaspanet/rusty-kaspa
Session Outline
Brief/prerequisites
00:05:40 – Virtual, Sink, Mergesets, chain-based DAG ordering
-Block status 00:15:18
-Codebase overview 00:25:12
-Header data structure 00:26:56
-UTXO model – Tx, inputs, outputs and UTXO structures 00:28:34
-Storage and services layers 00:36:10
-Block processing pipeline 00:37:04
In-depth code walkthrough — Virtual/UTXO state processor
-Resolve virtual state — pseudo code 00:48:08
-UTXO diffs, UTXO views 01:00:53
-Calculate and verify UTXO state for a single block 01:23:09
-Calculate UTXO state changes along a chain update/reorg 01:37:11
-Sink search algorithm (full search) 01:44:48
Sanity checks and implications
-Get return address or input amounts for recent transactions 01:46:17
-P2P and fast relay (broadcast before UTXO validation) 01:51:44
-Live TN11 01:54:40
-Mempool – Consensus sync gap (if DAG is wider than expected) 01:56:10
by Kaspa
simple network management protocol
#kaspa to the moon
Thanks everyone
H O D L🍀🌪
Appreciate all your hard work.
Great work
谢谢你们
Thanks for your effort