Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey there Bazo community 👋
This is the complementary PR for the implementation of self-contained proofs in the bazo-miner.
Proof Calculation
The client of the Bazo blockchain plays an important role for self-contained proofs. A user is only able to create a self-contained proof if it can provide one Merkle proof for each transaction it was involved in. In other words, a user needs to keep track of all transactions where the sender or the receiver of the transaction equals to the user's address. The client software of the blockchain must be adapted to these requirements. We distinguish between always-on and just-in-time client software which we discuss below.
I decided to implement a just-in-time mechanism. When the command line is executed to send a FundsTx to the network, the client first syncs with the blockchain (in code here and here)
Upon receiving a block, the algorithm processes as follows:
Proof Verification
Proofs are verified by the bazo-miner, which are explained here.
Limitations
Final Words
This project was submitted in fulfillment of the requirements for the degree of Master of Science in Engineering. A paper with formal definitions will be uploaded shortly and mentioned here.
Happy Holidays 🎄
Roman