The project called Zilliqa uses a similar mechanism to blocks-on-blocks (BoB) architecture. While their approach is different, it still batches transactions into different sub-blocks (shards) that then get assigned to different nodes - or in their case DS community members. Inside https://github.com/Zilliqa/Zilliqa/tree/master/src/libNode and their general repo you will find this implemented.
Rewrite or implement a function/several functions of Zilliqa code in Go specifically to do with the DS committee or a modified version of it. A transaction is sent to a masternode (single node) which puts it in a pile of other transactions, batches it up and assigns to it a validator group hash that is the root of the tree containing validators of that group.
Not More Than A Code Snippet
Please Help Me Out