Skip to content
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

[DISCUSSION] BlockTx => Subtrees via Libp2p #772

Open
sirdeggen opened this issue Feb 9, 2025 · 1 comment
Open

[DISCUSSION] BlockTx => Subtrees via Libp2p #772

sirdeggen opened this issue Feb 9, 2025 · 1 comment

Comments

@sirdeggen
Copy link
Collaborator

Summary

Teranode announces Subtrees on a topic of the Libp2p private DHT. We should listen to that rather than full blocks from SV Nodes using wire protocol.

Motivation

We should be prepared for Ternodes taking over the network next year.

Description

Using Libp2p we should listen to the subtree announcements from Miners. Once we have the subtree URLs we should download the subtree list of txids to create an index from txid => MerklePath. When Metamorph registers a submitted transaction, we can then lookup the appropriate subtree to calculate its Merkle path. The discussion here can be around specific implementation which isn't crystal clear yet. We expect that it will be cheaper for a miner to facilitate this Merkle path service rather than an independent since the download would not be necessary.

Early discussions around this topic were around whether to pre-calculate the sub merkle tree paths or not since this would allow the work to be distributed across the ten minute period between blocks. This assumes everyone will request their merkle path on creation of a block / every tx will send a callback to the originator.

Another discussion was around the compound paths possible with BUMP where it was expected that Overlays might request a single callback for all 10,000 of their transactions per block, or similar. This would greatly reduce the bandwidth required to get people their paths, pushing the load out to application specific networks.

@boecklim
Copy link
Collaborator

Hello @sirdeggen
How does this open issue relate to the Merkle service? Does this essentially mean the implementation of it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants