2024.6.24 - 2024.6.30
2024.6.30
Robin discovered an interesting project on Delving Bitcoin:https://github.com/dgpv/bsst(Python language).
The project is positioned as: B'SST: Bitcoin-like Script Symbolic Tracer
It can symbolically execute opcodes, track the constraints imposed on values operated by opcodes, and show
conditions of script execution, possible failures, and potential data values, etc.
Supports Bitcoin script and Elements script.
Helps in analyzing and revealing potential issues in scripts.
2024.6.28
The official BitVM team has recently significantly optimized the compilation speed of therust-bitcoin-script library(better_scripts branch) and the Script size of the Fflonk Verifier and Groth16 Verifier.
Currently, the Script size of the Groth16 Verifier has been reduced from approximately 7GB to about 4GB; the script compilation speed has been reduced from over an hour to about 70 seconds.
Currently, the Script size of the Fflonk Verifier has been reduced from approximately 5.6GB to about 3.2GB; the script compilation and execution speed has been reduced from over half an hour to about 150 seconds.
2024.6.27
The BitVMX team released a blog sharing their thoughts on optimizing BitVM SHA256 script size:https://bitvmx.org/knowledge/optimizing-algorithms-for-bitcoin-script
For various existing algorithm implementations, simply translating normal implementations is not feasible, as the cost structure of Bitcoin scripts is completely different.
Clever application of lookup tables, with dynamic loading and unloading, to optimize.
The 1000 limit of the stack is one of the biggest challenges.
Logical operations are commutative (x & y == y & x), which can save almost half of the logical table. Implemented OP_MAX with 5 opcodes.
Currently, BitVMX can reduce SHA256 from 516K to 344K to 296K; Blake3 from 103K to 45K.
They have open-sourced the stack debugging tool:https://github.com/FairgateLabs/rust-bitcoin-script-stack(Rust) library.
Last updated