Overcoming free-riding behavior in peer-to-peer systems | Synapse