> For the complete documentation index, see [llms.txt](https://www.bitvm.club/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.bitvm.club/bitvm-weekly-report/2024.6.24-2024.6.30.md).

# 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 the[rust-bitcoin-script library](https://github.com/BitVM/rust-bitcoin-script/tree/better_scripts)(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.
