-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chunked DA txs #925
Chunked DA txs #925
Conversation
* Add vout index for prev tx * replace prev_tx logic with prev_utxo logic * remove RawUTXO --------- Co-authored-by: eyusufatik <[email protected]>
* depend only on wtxid * verify merkle root of coinbase tx, use zkvm efficient sh256 and bitcoin merkle tree * remove unused asserts * pr fixes * pr fixes
* get ready for test fixes * fix tests * reactivate some of the verifier tests * fix remaning bitcoin-da tests * cleanup
* Add merkle tree tests (#995) * Add merkle tree tests * Add 1 tx test to bitcoin compare --------- Co-authored-by: yaziciahmet <yaziciahmetcleargmail.com> * Fix errors/lints --------- Co-authored-by: Ahmet Yazıcı <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Genuine question: Is there an E2E test that uses bitcoin-da?
Not really. Esad dumped a bitcoin block with txs (see mock_txs.txt) and all tests passed (except for CI but I will fix it). Tests are: parse seq commitment, verify inclusion etc. |
waiting on @jfldde for e2e bitcoin framework 🙄 |
Description
This PR implements a new DA tx format. Here is the format: #871 (comment)
Also instead of txids we use wtxids for prefixes. So we don't try to find nonces for txid, we find nonces so that wtxid matches a specific prefix. It was done for #991 better inclusion proof (O(log N) instead of O(N)).
In order to speed up proofs when a DA block has both zkproof and seq commitment I implemented a trick to parse only DA tx that are related to our proofs. Before we had 1 prefix, but now there are two of them (#972). Before the prefix was 00, now they are:
Where light_client - zkproofs (diffs), batch_proof - currently only a tx with sequencer commitment, but will be extended with forced transactions sometime in the future.