Application Callbacks [Send / Receive / Query]

IPFS is such a useful tool to decentralize, its an immensely exciting.

I am working on an exploratory social app that is backed by IPFS and am wondering how to attribute karma to CID providers, but also penalize content served by multiple IPFS users on the same address (VPNs, Federated Addresses, Ect) since this activity is largely associated with spam.

To accomplish this using the IPFS protocol I need to do operate low level queries for finding peers then attributing properties to these.

I am proposing some kind of optional application callback at a low level to allow IPFS apps to have some kind of social intelligence:

  1. if you respond to a query, what is the IPFS ID / Address
  2. if you receive information, from what IPFS ID / Address
  3. after you query a CID, report which IPFS ID’s / Addresses are providing the data.

I understand bitswap covers some of this but I am unsure of how to increase granularity or if there is some other limitation to accounting for the above.