BitVM Demo Denver
Pre-release
Pre-release
·
82 commits
to main
since this release
Demo Release
Full end to end test for a dummy circuited implemented. Thank you to @wz14 who showcased the transactions on a signet:
Mempool: https://mempool.bitvmnet.org/
Esplora API Endpoint: https://esplora.bitvmnet.org
By walking through the instructions in DEMO_INSTRUCTIONS.md, all test transactions of a successful disprove scenario have been sent to BitVM Signet. Here is the list and anyone can view them at https://mempool.bitvmnet.org/tx/{txid}.
- Peg in : https://mempool.bitvmnet.org/tx/4dd5d195073af820875b5f19dc2ab30862798af2ea63fc37aecbe1051f1e8688
- Peg in confirm : https://mempool.bitvmnet.org/tx/e9663b684cb15f255ef0a77fdcc5ffebcfa0ba06dc32b4650b3fab8d91da518f
- Peg out : https://mempool.bitvmnet.org/tx/095c21cc45331da7fdb45f8f56e184c4d983cf86f539fd32ee39cc44543e71bd
- Peg out confirm : https://mempool.bitvmnet.org/tx/1c74c2819717b3af854c2ab50b58001186e40f384fb8c1bd01791fce64cc7353
- Kickoff 1 : https://mempool.bitvmnet.org/tx/8d96aab47ef67279141ae0eeccf1b588ab9ad1d75fba1a6dd46a70845499006e
- Kickoff 2 : https://mempool.bitvmnet.org/tx/3c8d81f37e28f64b34a76e41b58788c94e1a7e7a0761c2d5a235aa956908243a
- Assert initial : https://mempool.bitvmnet.org/tx/8d386719cc3bc461e07c261a14419fd87b8e56374283b79e357b05b9fb3fd45c
- Assert Commit 1 : https://mempool.bitvmnet.org/tx/bb29da2a87879faf46c22fbb19a3961b226c4a6075bad5226a6802472fbb0871
- Assert Commit 2 : https://mempool.bitvmnet.org/tx/93e951de5ce6335f588f344ff58d54e1d813fcecc192a186bf7e19d712556680
- Assert Final : https://mempool.bitvmnet.org/tx/e7da86777532342521f80bbf2bfc477ebbab289866b6c2842673a006ec34512a
- Disprove : https://mempool.bitvmnet.org/tx/ee29855315760b5b839ad20c9ce19a1e235c54afc2431b2a527b97458c0ab8e5
Changelog
- Infinitely flatten code in preprocessJS by @JeremyRubin in #2
- Added a brief tldr of how a BitVM BTC bridge would look like by @alexeiZamyatin in #5
- Fix wording in bridge explanation by @lukechilds in #6
- Fix typo by @3for in #8
- Add u32_mul by @weikengchen in #12
- Avoid unnecessary intermediate conversion for u32_mul by @weikengchen in #24
- Experimental 30-bit limb implementation for u256 by @weikengchen in #26
- Fix u32 sub, add uint sub/cmp, add u32 1add by @weikengchen in #27
- add uint double/1add and u1, u2, ..., u30 to_bits by @weikengchen in #28
- Relocate the tests and add ubigint to bits by @weikengchen in #30
- optimize number of bytes for u30_add_nocarry by @wz14 in #33
- Winternitz checksum code optimization by @tomkosm in #34
- Alternative winternitz implementation, no digits on input. by @tomkosm in #36
- optimize Fq2 square by @Hakkush-07 in #37
- optimize fq2 and fq6 square by @Hakkush-07 in #41
- Port blake3 and dependencies by @tomkosm in #40
- add div2 and optimize fq6::square by @Hakkush-07 in #43
- Necessary changes on the BitVM side for the new execution engine by @weikengchen in #46
- add div3 and optimize Fq6.mul by @Hakkush-07 in #47
- improve u30_div3_carry and u30_shr1_carry by @Hakkush-07 in #49
- Optimize u32 rrot by @wz14 in #52
- add test for u32_std::compress() by @cyl19970726 in #55
- optimize for the specific_optimize by @bixia in #56
- Add sha256 by @wz14 in #54
- optimize of rshift by @bixia in #59
- optimize u32 and xor or not by @Hakkush-07 in #60
- improve rrot7 for u8 and u32 by @Hakkush-07 in #61
- optimize sha256 for 32 and 80-byte inputs by @Hakkush-07 in #62
- push_to_stack optimization by @tomkosm in #63
- More push_to_stack optimizations. by @tomkosm in #64
- Optimized Sha256 version working with u4 by @jonasmartin in #65
- Blake3 Optimization: from 103K to 45K by @jonasmartin in #67
- [On Proving Pairings 2/3] verify pairing with c and wi by @PayneJoe in #68
- Remove second rust-bitcoin-scriptexec dependency from #69 by @lucidLuckylee in #70
- [groth16's verifier] four pairings with one non-fixed on G2 by @zulunetwork-dev in #71
- add batched_scalar_mul and reduce cost of fflonk verifier by @wz14 in #73
- feat: Montgomery reduction and Karatsuba multiplication by @lucidLuckylee in #75
- feat: better bitcoin script macro by @lucidLuckylee in #77
- Complete version of algorithm 9 in On Proving Pairings by @PayneJoe in #83
- Add bridge progress by @justin-elementlabs in #79
- Optimized Fq multiplication using hints with w-width windowed method by @bbist in #87
- Fq-mul bug fix by @FatihSolak in #86
- G1 scalar mul optimization by @Hakkush-07 in #88
- Upgrade to v3 graph, add musig2 signing, improve client by @justin-elementlabs in #91
- ~50% Optimization of Field Multiplication with Lookup Table by @fiamma-dev in #89
- Integrate Stack Analyzer by @lucidLuckylee in #94
- TMUL Integration into Groth16 Verifier by @Hakkush-07 in #93
- [FIX] Fix running tests procedure by @ostadgeorge in #97
- TMUL Optimization by @FatihSolak in #99
- Fix: Non constant program flow in scalar_mul by @lucidLuckylee in #101
- Optimize "limb_add_with_carry_prevent_overflow" and "limb_lshift_with_carry_prevent_overflow" by @just-erray in #102
- optimize blake3 stack by @fiamma-dev in #105
- optimize u32_add_carry from 145 to 90 bytes by @Hakkush-07 in #106
- Affine versioned MSM by @PayneJoe in #114
- fix G2 element subgroup membership check by @dylanCai9 in #115
- Optimize Fq2 mul (hinted) to use 2 lc2 instead of 3 lc1 tmuls & Fix Fq neg by @Hakkush-07 in #116
- Hint msm affine by @dylanCai9 in #117
- feat: optimize winternitz by @sander2 in #121
- feat: Add helper functions to use signatures as witness by @archidoge0 in #123
- change algebra dependency to the version with new ATE_LOOP_COUNT by @Hakkush-07 in #124
- feat: implement the g2_subgroup check by @fiamma-dev in #125
- helper to dry-run transaction scripts by @sander2 in #130
- chunker of the Groth16 verifier program by @freddi8e in #129
- Winternitz Improvements in Generic Format by @just-erray in #127
- optimize sha; use structuredScript by @stillsaiko in #132
- New Blake3 Optimization by @jonasmartin in #136
- Integrate CLI and Winternitz Commit Logic to Client based on #131 + #134 by @justin-elementlabs in #138
- fix hint for pairing result by @freddi8e in #140
- Affine infinity fix by @Hakkush-07 in #139
- allow f (miller loop output) to be cubic residue by @Hakkush-07 in #141
- Disprove execution by @wz14 in #142
- Change G1Affine hinted check functions by @Hakkush-07 in #147
- Cleanup codebase with clippy and reduce warnings by @lucidLuckylee in #145
- Remove fflonk by @lucidLuckylee in #151
- fix(blake3_u4): issue with insufficient size of precompute table by @manishbista28 in #154
- fix: issue where precompute p function bakes runtime input by @manishbista28 in #155
- Chore clippy by @stillsaiko in #159
- chore(deps): bump to rust-bitcoin 0.32.5 by @storopoli in #158
- Fix Client tests, add Regtest functionality by @justin-elementlabs in #161
- feat: add hinted fp12 inverse by @manishbista28 in #153
- feat(curves): add hinted is_on_curve check by @manishbista28 in #156
- fix: ensure same line coeff in g2 affine dbl and add by @manishbista28 in #162
- Use
LazyLockto reduce dependencies by @AaronFeickert in #167 - doc: Informative README by @storopoli in #152
- Add CI.yml workflow by @stillsaiko in #135
- Add Chunker to Bridge by @justin-elementlabs in #175
- Refactor: Convert project to Cargo workspace by @ekrembal in #176
- fix issue 157 by @freddi8e in #163
- Update CI.yml workflow by @stillsaiko in #186
- Refactor - BN254 G1 and G2 curve operations by @Hakkush-07 in #177
- Bridge use global secp256k1 context by @eyusufatik in #185
- Refactor - Remove montgomery functions by @Hakkush-07 in #188
- feat(msm): add hinted w-windowed glv msm by @manishbista28 in #166
- feat: optimize g2 subgroup membership check by @manishbista28 in #173
- feat(utils): add g2 affine point endomorphism methods by @manishbista28 in #170
- CI: Use self hosted runner by @lucidLuckylee in #189
- Fix failing tests by @sevkett12 in #196
- chore: fix some typos in comment by @davidwoood in #199
- Refactor u4 and u32 by @just-erray in #201
- Add header chain circuit and its host with ELFs by @ozankaymak in #178
- Revert "Add header chain circuit and its host with ELFs" by @lucidLuckylee in #203
- CI: Add regtest bridge tests and compilation cache by @lucidLuckylee in #200
- Feat/transform bigint limbsize by @mukeshdroid in #198
- Refactor: Remove stack_hints and analyzer overhead by @lucidLuckylee in #204
- Refactor and reorder by @Hakkush-07 in #206
- Add Groth16 proof verification in Disprove transaction by @franklynot in #207
- Feat/blake3 u4 input compact representation by @mukeshdroid in #165
- Fix issue #209: Ensure all assertions in Blake3 negative test are reachable by @mukeshdroid in #211
- chore: remove redundant word in comment by @zoupingshi in #214
- Constant Pairing by @Hakkush-07 in #210
- End to End Tests + CLI Fixes + On-Disk Caching by @justin-elementlabs in #219
- Refactor Signatures and Hash by @just-erray in #217
- chore: correct links by @pranjalpokharel7 in #223
- BitVM Bridge CLI Ready for Demo by @franklynot in #224
- fix: typos in documentation files by @leopardracer in #225
- Feat/213 chunked verifier with folded fp12 by @manishbista28 in #215
- chore: Fix blake3 comment typos by @maximevtush in #227
- Change network to bitvm signet by @wz14 in #228
New Contributors
- @JeremyRubin made their first contribution in #2
- @alexeiZamyatin made their first contribution in #5
- @lukechilds made their first contribution in #6
- @3for made their first contribution in #8
- @weikengchen made their first contribution in #12
- @wz14 made their first contribution in #33
- @tomkosm made their first contribution in #34
- @Hakkush-07 made their first contribution in #37
- @cyl19970726 made their first contribution in #55
- @bixia made their first contribution in #56
- @jonasmartin made their first contribution in #65
- @PayneJoe made their first contribution in #68
- @lucidLuckylee made their first contribution in #70
- @zulunetwork-dev made their first contribution in #71
- @justin-elementlabs made their first contribution in #79
- @bbist made their first contribution in #87
- @FatihSolak made their first contribution in #86
- @fiamma-dev made their first contribution in #89
- @ostadgeorge made their first contribution in #97
- @just-erray made their first contribution in #102
- @dylanCai9 made their first contribution in #115
- @sander2 made their first contribution in #121
- @freddi8e made their first contribution in #129
- @stillsaiko made their first contribution in #132
- @manishbista28 made their first contribution in #154
- @storopoli made their first contribution in #158
- @AaronFeickert made their first contribution in #167
- @ekrembal made their first contribution in #176
- @eyusufatik made their first contribution in #185
- @sevkett12 made their first contribution in #196
- @davidwoood made their first contribution in #199
- @ozankaymak made their first contribution in #178
- @mukeshdroid made their first contribution in #198
- @franklynot made their first contribution in #207
- @zoupingshi made their first contribution in #214
- @pranjalpokharel7 made their first contribution in #223
- @leopardracer made their first contribution in #225
- @maximevtush made their first contribution in #227
Full Changelog: https://github.com/BitVM/BitVM/commits/v0.1.0-alpha