Description
For PeerDAS devnet testing, we're starting have stable devnets and looking to start doing some unhappy case testing.
We already have --malicious-withhold-count
, which allows the proposer to withhold a specified number of data columns during block publishing. It would be useful to have a flag that withholds custody columns over RPC too, for scenarios like:
- A proposer uses
--malicious-withhold-count
to withhold some data columns - this may trigger a data column by root request from the mesh peer, and we could make the proposer not serve this requqest and force them to get it via alternatives like distributed blob building and column reconstruction - this would help us test the effectiveness of the solutions - A node pretends to be a supernode in the network but don't actually serve the data
Proposed solution
Instead of touching all the RPC code paths to withhold data columns, we could simply have a CLI flag --advertise-false-custody-group-count
, that just advertise a fake custody group count, and make peers think the node custodies more columns - that way we don't have to touch any RPC logic. The node just won't serve data they don't have.
This flag should be a hidden flag and clearly states it's for testing only and should NOT be used in production.