Torrenting Sketch

We could add a reputation credit system for torrenting with each actor maintaining a list of past seeds, or “part proofs.” The length of this list, the number of file parts you have seeded to others, is essentially your reputation credit score. In order for this list to be verifiable, we would need each item to be signed by the leecher’s private key so that, with access to the public key via a key server, anyone can verify the seeder - call them Peggy, truly did seed the part. There is no incentive for Peggy to lie about her score, since each peer will run through the list and verify. Assuming this list will be quite long since one entry is added per file part per seed, we can use the fact that most torrents have several peers to divide up the work of verifying. Each peer will of course know its own public key and the number of other peers it is interacting with. This way, they can construct a Chord-style distribution of labor with each peer only being responsible for verifying the part proof which falls into its range. For example, if your public key hash begins with 0x36 and there are 41 other leechers, then you are only responsible for any part proofs beginning in the range 0x36 to 0x3C. Peggy has no reason to send proofs which do not begin with this string since the validator will not accept it, i.e. it will only waste Peggy’s bandwidth and time. Once each peer has validated their share of the transactions, they can broadcast any proof which is invalid, resulting in Peggy being excluded from leeching for some time period just high enough to discourage lying. One potential issue is how can the peers be sure that Peggy has given them some list of proofs which actually sums to the length she claims? For example, it is plausible Peggy could simply claim “Oh, I only have one proof in your range, but my score really is 5,000” to each and every peer and they would be none the wiser. One solution is to have each peer independently sum up the results from every other peer, but this is an O(n^2) solution. Another is we could have each peer send its sum to the “right” peer in the Chord distribution until it wraps back to the leftmost peer (in charge of the range starting at 0x00), who will then verify. This is an O(2N) solution. Another is we could have each peer “gate” its interactions with Peggy to the score it personally received. For example, if Peggy only gave the 0x36 peer one proof, then this peer will only seed to Peggy half as much as it would if Peggy had provided two proofs. This requires no other interaction with other peers and still incentivizes Peggy to be honest, but does require a completely uniform distribution of parts to be fair to Peggy. Note this is just a “sketch” of an idea which came to mind and not one to be seriously considered researched.