This might not be possible in our timeframe, but would be a huge win.
The only tricky design decision here is how to assign unique contribution tracking IDs. We could easily do something like UUID version 5, where each machine has its own sequence, and creates a UUID which includes its hostname as part of the hash input.
Anything that uses CTID (almost everything!) will have to know about the new UUID and use that as an index and identifier instead.