Sorry if this seems like a dumb question, but since transfers are over TCP and verified on receipt of each segment (at least i hope they are verified!), couldn't the hash also be downloaded from the source, meaning that each file would only have to be hashed by the original supplier of that file ?
Following on from that, since the client already has the hash of that file, it can be shared instantly (well after a file list refresh)
Mike :)