DAL: the DAL committee is implicitly a subset of the TB committee
What
Shard indexes assigned to an attester become the Tenderbake slots smaller than number_of_shards assigned to that attester.
Also closes #4540 (closed).
Why
Explicitly computing the DAL committee is not needed: there is no use of the fact that shard indexes per attester are contiguous. Therefore, shard indexes could simply be Tenderbake slots. This simplifies the protocol code in many places.
Also, computing the DAL committee at each block takes a bit of time (roughly 1ms). This is negligible for one block, but it does slow down tests which bake hundred of thousands of blocks.
Edited by Eugen Zalinescu