Skip to content

Commit 9d88159

Browse files
authored
Merge pull request #5 from bitlayer-org/main
fix developer preview demo
2 parents 64f5e90 + 9176435 commit 9d88159

3 files changed

Lines changed: 66 additions & 42 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ BitVM is the foundational element to bridge BTC to second layers such as sidecha
2929
- [Robin Linus at BitDevs meetup at Stanford (slides only)](https://docs.google.com/presentation/d/12gHxC1bR6Nb7A5IzkRvIdw44l1zP1Tn1ea_DnTbA61Q/edit?usp=sharing)
3030
- [BitVM: Smarter Bitcoin Contracts at ZKProof in Berlin](https://www.youtube.com/live/VIg7BjX_lJw)
3131
- [Introducing BitVM at MIT Bitcoin Expo 2024](https://www.youtube.com/watch?v=nhR_g9hPnqM)
32-
- [ETHDenver-2025-DEMO](./demo/)
32+
- [Developer Preview DEMO](./demo/)
3333

3434
## About BitVM Alliance
3535

demo/README.md

Lines changed: 65 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,17 @@
1-
# ETH-Denver-2025-DEMO
2-
3-
4-
This demo showcases the latest research and development achievements of the [BitVM project](https://bitvm.org/).
1+
# BitVM-Developer-Preview
52

3+
This demo showcases the latest progress of the [BitVM project](https://bitvm.org/).
64

75
It presents the first real-world use case of BitVM: the complete protocol process [BitVM Bridge](https://bitvm.org/bitvm_bridge.pdf).
86

9-
107
This demo marks a significant milestone for the BitVM project as it moves toward the next critical stage: a code audit of the foundational library.
118

129

13-
# Process Set
14-
15-
16-
- peg-in
17-
- peg-out-Happy path
18-
- peg-out-Unhappy path
19-
20-
21-
# Reproduce Demo
22-
23-
24-
Developers can use the following stuff to reproduce the processes in the local environment.
25-
26-
27-
[Code base tag](https://github.com/BitVM/BitVM/releases/tag/v0.1.0-alpha)
28-
29-
30-
[Instructions](https://github.com/BitVM/BitVM/blob/main/DEMO_INSTRUCTIONS.md)
31-
32-
33-
# Public Signet Transactions
34-
35-
36-
A public signet is set up for the BitVM development and testing. People can check the transactions in public signet explorer.
10+
# Public Signet Transactions(Txns)
3711

12+
A public signet([bitvmnet](https://docs.bitlayer.org/docs/BitVMBridge/BitVMNet)) is set up for the BitVM development and testing.
13+
14+
People can check the transactions in public signet [explorer](https://mempool.bitvmnet.org/).
3815

3916
## Txn Graph
4017

@@ -144,38 +121,85 @@ href="https://mempool.bitvmnet.org/tx/ee29855315760b5b839ad20c9ce19a1e235c54afc2
144121
</div>
145122
146123

147-
## Txn List
148-
Peg in: [https://mempool.bitvmnet.org/tx/4dd5d195073af820875b5f19dc2ab30862798af2ea63fc37aecbe1051f1e8688](https://mempool.bitvmnet.org/tx/4dd5d195073af820875b5f19dc2ab30862798af2ea63fc37aecbe1051f1e8688){:target="_blank"}
124+
## Transaction Explanation
149125

126+
> Following the terms in [bitvm bridge paper](https://bitvm.org/bitvm_bridge.pdf)
150127
151-
Peg in confirm: [https://mempool.bitvmnet.org/tx/e9663b684cb15f255ef0a77fdcc5ffebcfa0ba06dc32b4650b3fab8d91da518f](https://mempool.bitvmnet.org/tx/e9663b684cb15f255ef0a77fdcc5ffebcfa0ba06dc32b4650b3fab8d91da518f){:target="_blank"}
128+
### Roles
152129

130+
**Alice** is a peg-in user, who wants deposit `v` BTC into a BitVM2 instance.
153131

154-
Peg out: [https://mempool.bitvmnet.org/tx/095c21cc45331da7fdb45f8f56e184c4d983cf86f539fd32ee39cc44543e71bd](https://mempool.bitvmnet.org/tx/095c21cc45331da7fdb45f8f56e184c4d983cf86f539fd32ee39cc44543e71bd){:target="_blank"}
132+
**Bob** is a peg-out user, who wants withdraw the `v` wrapped BTC to Bitcoin.
155133

156134

157-
Peg out confirm: [https://mempool.bitvmnet.org/tx/1c74c2819717b3af854c2ab50b58001186e40f384fb8c1bd01791fce64cc7353](https://mempool.bitvmnet.org/tx/1c74c2819717b3af854c2ab50b58001186e40f384fb8c1bd01791fce64cc7353){:target="_blank"}
135+
### Peg in
136+
[https://mempool.bitvmnet.org/tx/4dd5d195073af820875b5f19dc2ab30862798af2ea63fc37aecbe1051f1e8688](https://mempool.bitvmnet.org/tx/4dd5d195073af820875b5f19dc2ab30862798af2ea63fc37aecbe1051f1e8688){:target="_blank"}
158137

138+
Alice deposits `v` BTC on Bitcoin into a BitVM2 instance via a PegIn transaction. In this stage, Alice has a chance to retreat her funds.
159139

160-
Kickoff 1: [https://mempool.bitvmnet.org/tx/8d96aab47ef67279141ae0eeccf1b588ab9ad1d75fba1a6dd46a70845499006e](https://mempool.bitvmnet.org/tx/8d96aab47ef67279141ae0eeccf1b588ab9ad1d75fba1a6dd46a70845499006e){:target="_blank"}
140+
### Peg in confirm
141+
[https://mempool.bitvmnet.org/tx/e9663b684cb15f255ef0a77fdcc5ffebcfa0ba06dc32b4650b3fab8d91da518f](https://mempool.bitvmnet.org/tx/e9663b684cb15f255ef0a77fdcc5ffebcfa0ba06dc32b4650b3fab8d91da518f){:target="_blank"}
161142

143+
Alice sends PegIn Confirm transaction to confirm the peg-in operation. The sidesystem verifies that the PegIn transaction was included in the Bitcoin blockchain and mints `v`wrapped BTC to Alice's account in the sidesystem. Alice can now freely use wrapped BTC on the sidesystem.
162144

163-
Kickoff 2: [https://mempool.bitvmnet.org/tx/3c8d81f37e28f64b34a76e41b58788c94e1a7e7a0761c2d5a235aa956908243a](https://mempool.bitvmnet.org/tx/3c8d81f37e28f64b34a76e41b58788c94e1a7e7a0761c2d5a235aa956908243a){:target="_blank"}
145+
### Peg out
146+
[https://mempool.bitvmnet.org/tx/095c21cc45331da7fdb45f8f56e184c4d983cf86f539fd32ee39cc44543e71bd](https://mempool.bitvmnet.org/tx/095c21cc45331da7fdb45f8f56e184c4d983cf86f539fd32ee39cc44543e71bd){:target="_blank"}
164147

148+
Bob wants to withdraw the `v`wrapped BTC back to Bitcion. For this, he burns the `v`wrapped BTC using a Burn transaction on the sidesystem, which makes the wrapped BTC unspendable. At this stage, one of the m operators effectively fronts the `v`wrapped BTC from their own funds. The operator compete to publish the PegOut transaction in order to claim the associated fees, and Bob get BTC from this transaction.
165149

166-
Assert initial: [https://mempool.bitvmnet.org/tx/8d386719cc3bc461e07c261a14419fd87b8e56374283b79e357b05b9fb3fd45c](https://mempool.bitvmnet.org/tx/8d386719cc3bc461e07c261a14419fd87b8e56374283b79e357b05b9fb3fd45c){:target="_blank"}
150+
### Peg out confirm
151+
[https://mempool.bitvmnet.org/tx/1c74c2819717b3af854c2ab50b58001186e40f384fb8c1bd01791fce64cc7353](https://mempool.bitvmnet.org/tx/1c74c2819717b3af854c2ab50b58001186e40f384fb8c1bd01791fce64cc7353){:target="_blank"}
167152

153+
The PegOut Confirm transaction will reveal related transaction IDs in both source network (SideSystem Network) and destination network (Bitcoin Network).
168154

169-
Assert Commit 1: [https://mempool.bitvmnet.org/tx/bb29da2a87879faf46c22fbb19a3961b226c4a6075bad5226a6802472fbb0871](https://mempool.bitvmnet.org/tx/bb29da2a87879faf46c22fbb19a3961b226c4a6075bad5226a6802472fbb0871){:target="_blank"}
155+
### Kickoff 1
156+
[https://mempool.bitvmnet.org/tx/8d96aab47ef67279141ae0eeccf1b588ab9ad1d75fba1a6dd46a70845499006e](https://mempool.bitvmnet.org/tx/8d96aab47ef67279141ae0eeccf1b588ab9ad1d75fba1a6dd46a70845499006e){:target="_blank"}
170157

158+
The operator initiates a claim to recover the pre-funded amount of `v`BTC from BitVM2. This is done by publishing the Kickoff 1 transaction. This transaction opens a commitment and challenge period, during which all challengers perform this verification on their local machines and publish the challenge transaction. For the purpose of demo, the following transaction happened in the challenge path by default.
171159

172-
Assert Commit 2: [https://mempool.bitvmnet.org/tx/93e951de5ce6335f588f344ff58d54e1d813fcecc192a186bf7e19d712556680](https://mempool.bitvmnet.org/tx/93e951de5ce6335f588f344ff58d54e1d813fcecc192a186bf7e19d712556680){:target="_blank"}
173160

161+
### Kickoff 2
162+
[https://mempool.bitvmnet.org/tx/3c8d81f37e28f64b34a76e41b58788c94e1a7e7a0761c2d5a235aa956908243a](https://mempool.bitvmnet.org/tx/3c8d81f37e28f64b34a76e41b58788c94e1a7e7a0761c2d5a235aa956908243a){:target="_blank"}
174163

175-
Assert Final: [https://mempool.bitvmnet.org/tx/e7da86777532342521f80bbf2bfc477ebbab289866b6c2842673a006ec34512a](https://mempool.bitvmnet.org/tx/e7da86777532342521f80bbf2bfc477ebbab289866b6c2842673a006ec34512a){:target="_blank"}
164+
The operator must publish the Kickoff 2 transaction immediately, committing to the current time TS. This time TS marks the start of a superblock measurement period that lasts for the period (e.g. 2000 blocks), during which the operator must observe all blocks on the main chain and identify the heaviest superblock SB.
176165

166+
### Assert initial
167+
[https://mempool.bitvmnet.org/tx/8d386719cc3bc461e07c261a14419fd87b8e56374283b79e357b05b9fb3fd45c](https://mempool.bitvmnet.org/tx/8d386719cc3bc461e07c261a14419fd87b8e56374283b79e357b05b9fb3fd45c){:target="_blank"}
168+
169+
Assert transactions are a family of transactions that reveal all the intermediate states of the SNARG verifier program. Assert Initial transaction is a preparation transaction to efficiently send asserts transaction.
170+
171+
### Assert Commit 1
172+
[https://mempool.bitvmnet.org/tx/bb29da2a87879faf46c22fbb19a3961b226c4a6075bad5226a6802472fbb0871](https://mempool.bitvmnet.org/tx/bb29da2a87879faf46c22fbb19a3961b226c4a6075bad5226a6802472fbb0871){:target="_blank"}
173+
174+
Assert Commit 1 transaction is the first parallel assert transaction which contains half of all the intermediate states.
175+
176+
### Assert Commit 2
177+
[https://mempool.bitvmnet.org/tx/93e951de5ce6335f588f344ff58d54e1d813fcecc192a186bf7e19d712556680](https://mempool.bitvmnet.org/tx/93e951de5ce6335f588f344ff58d54e1d813fcecc192a186bf7e19d712556680){:target="_blank"}
178+
179+
Assert Commit 2 transaction is the second parallel assert transaction which contains another half of all the intermediate states.
180+
181+
### Assert Final
182+
[https://mempool.bitvmnet.org/tx/e7da86777532342521f80bbf2bfc477ebbab289866b6c2842673a006ec34512a](https://mempool.bitvmnet.org/tx/e7da86777532342521f80bbf2bfc477ebbab289866b6c2842673a006ec34512a){:target="_blank"}
183+
184+
Assert Final is the final transaction to close all assert transactions. all the intermediate states form an execution trace of the SNARG verifier program.
185+
186+
### Disprove
187+
[https://mempool.bitvmnet.org/tx/ee29855315760b5b839ad20c9ce19a1e235c54afc2431b2a527b97458c0ab8e5](https://mempool.bitvmnet.org/tx/ee29855315760b5b839ad20c9ce19a1e235c54afc2431b2a527b97458c0ab8e5){:target="_blank"}
188+
189+
SNARG verifier program is splited into leafs of a Taptree. Disprove transaction allows anyone to challenge a part of SNARG verifier program. This is possible if and only if the operator made an incorrect claim about one of the intermediary states. Anyone can read the commitments made by the operator from the execution trace and provide them as inputs to the script in one of the leaves.
190+
191+
192+
# Reproduce Demo
193+
194+
195+
Developers can use the following stuff to reproduce the processes in the local environment.
196+
197+
198+
[Code base tag](https://github.com/BitVM/BitVM/releases/tag/v0.1.0-alpha)
199+
200+
201+
[Instructions](https://github.com/BitVM/BitVM/blob/main/DEMO_INSTRUCTIONS.md)
177202

178-
Disprove: [https://mempool.bitvmnet.org/tx/ee29855315760b5b839ad20c9ce19a1e235c54afc2431b2a527b97458c0ab8e5](https://mempool.bitvmnet.org/tx/ee29855315760b5b839ad20c9ce19a1e235c54afc2431b2a527b97458c0ab8e5){:target="_blank"}
179203

180204

181205
# About

demo/graph.png

64.8 KB
Loading

0 commit comments

Comments
 (0)