Replies: 6 comments 2 replies
-
From the linked radicle issue:
We here wouldn’t reply on IPNS and just plain pubsub (not IPFS pubsub - whatever that means exactly). Pubsub/gossipsub is used by a lot of blockchain projects to gossip (meta) data. It is known to perform reasonably well in these other contexts. I can provide a list of examples with links to code if that does not convince yet. |
Beta Was this translation helpful? Give feedback.
-
Yeah, we should actually prioritize this ☝🏼 In our case it seems like a no-brainer anyways. |
Beta Was this translation helpful? Give feedback.
-
I think an additional distinction is that validators need all the data in a timely manner. Regular full nodes, not so much. |
Beta Was this translation helpful? Give feedback.
-
Would full nodes lag a single block? I dont understand how other nodes in the network would get state? |
Beta Was this translation helpful? Give feedback.
-
It might actually be not too difficult to use the tendermint p2p stack for a first implementation. But it is questionable wether or not this is a good idea.
After we have clarity around all these, we can make a pragmatic and quick decision. I still feel like libp2p is the right answer here though. |
Beta Was this translation helpful? Give feedback.
-
This is no longer relevant in its current form: validators and fullnodes will continue to operate as before in tendermint mostly. They will be augmented to broadcast signed headers & fraud proofs to the other Celestia specific node types. Similarly they will serve the data to sampling nodes. |
Beta Was this translation helpful? Give feedback.
-
There are some loose ideas of using libp2p for block data gossiping. Mainly because it easily enables a simple requirement we have: gossiping block data should only happen to validator nodes (who need all data) and not to full nodes (who can download a part of the data and rely on DAS for validity).
The team is planning to write an ADR that would also touch upon pubsub or gossiping (@Wondertan in particular expressed interest in writing this). This is needed anyways and will further clarify the pros&cons of different approaches (e.g. modifying the tendermint consensus reactor and using the tendermint native p2p for this purpose layer instead).
There are some concerns around libp2p this voiced in other places.
E.g. quoting @musalbas:
Beta Was this translation helpful? Give feedback.
All reactions