It would be nice to have a torrent system where noone that is uploading has all the data for a specific torrent (or at least they arent uploading the whole file to any specfic person... probably would be harder to prosecute in the event that some files become illegal)... You could take 1% of the billonaire's fortune and give it to the "victims" and everyone would be happy.
If you want to circumvent the law, you must find a legal technicality, not a technical technicality.
The key weakness in every smartass technical technicality to circumvent the law is forgetting that intent is core concept when the law is interpreted in the court.
Did the defendant have intent to do X? Did the defendant use some purpose build technique to avoid doing the most literal interpretation X ? .. Yeah, defendant is guilty of doing X.
IANAL, but afaik this depends on whether the legislation is English law or Latin law from origin. Where Latin law is more about the intent and english, and therefore US law, is more about the letter of the law. Perhaps the distinction is along a different axis but this is how I remember.
You are thinking about common law (originated in England) vs civil law (based on Roman law) In both systems intent is very important in criminal cases.
The real difference is between criminal law and contract law. In contract law. In contract law the intention is fixed by the language of the contract document. It matters less if matter if one party didn't intent to violate the contract. It is what it is.
Thank you for clarifying this. Do you have a link to some overview material on the differences between laws in different countries? Is the distinction between criminal and contract law the same in every region?
Basically, it's very hard to protect the security of users when a government seeks to prosecute dissidents. There's a lot to take into account. A simple "we saw an upload from IP address x.y.z.w containing <illegal file>" will be enough to hang whoever it is.
On second thought, I guess it would be a nice addition to let users control which files they're seeding, rather than the whole torrent. I'm just not sure it's enough to get them off the hook in the event of legal troubles.
Ideally, you'd want to come up with some way to pack files such that many files share the same chunks. Perhaps you could make the act of sharing (all or most of the) legal and illegal files indistinguishable.
You could have a protocol where every block of the file is actually two "random" blocks XOR'd together, but this doesn't really work. If you create a new 1GB torrent, you'll need 1GB of new (never seen before) blocks with ~100% probability, so it will be obvious who's seeding the data.
Or you could make the block size smaller (e.g. 1 bit) and tell the lawyers to piss off because 0 and 1 are public domain.
Off-topic meta discussion about that second link you posted. It is an example of a fourth-level municipal domain[0], which are a relic of the past internet. Sooke is a municipality on Vancouver Island.
Sadly, new domains of this sort were discontinued in 2010. A cool relic of the internet past and massive geek cred. I remember these URLs from my childhood and they make me very nostalgic.
> You could have a protocol where every block of the file is actually two "random" blocks XOR'd together
One implementation of this is the "Owner-Free File System"[0], but it is no longer being maintained.
> If you create a new 1GB torrent, you'll need 1GB of new (never seen before) blocks
If you XOR your 1GB file (X) with 1GB of blocks that already exist on the system (Y), you get a new set of 1GB blocks (Z), but it will be hard for an observer to prove that your Z blocks don't actually pre-date Y.
Your defence would be that someone generated Y based on your Z in order to frame you as having created X, when actually your Z, when combined with another set of random-looking blocks Y2 produce a different 1GB file, X2, which is completely legitimately.
Even if people aren't scraping the network to record the order of block creation, it will be mighty suspicious when the Y blocks are scattered randomly across the network, and the Z blocks are conveniently hosted in one place.
> Even if people aren't scraping the network to record the order of block creation
I'm not sure if "scraping the network" is possible if chunks have unguessable names. Also, it's possible that someone could have a file shared among friends (over TLS), for years, without it being publicly announced.
> it will be mighty suspicious when the Y blocks are scattered randomly across the network, and the Z blocks are conveniently hosted in one place.
I suppose it depends on how blocks are distributed in the system. If the blocks of Y are all served from y.com and you host your Z blocks on z.com, then both hosts will look equally suspicious is Y XOR Z produces an infringing file X. The owner of z.com just needs to be able to credibly claim that y2.com was already hosting the Y2 that XORs with Z to produce a legitimate file.
Alternatively, a single node could host Z, Y, and Y2, all created by users, with no logs kept of when each block was created or requested (and no search/listing function). Such wilful ignorance may not impress a court, but is roughly equivalent to running a non-logging VPN, or a chat service that doesn't retain metadata, or a Tor node, or an online encrypted backup service. The service could even offer to follow a DMCA takedown procedure, in case non-XORed non-encrypted blocks were stored on it.
One change in the v2 protocol stands out here. "Files that are identical can also more easily be identified across different swarms". Would this per file hash not make it easier for such a government to find illegal material shared by users. It appears v2 is not suitable for sharing of material which could get one in trouble.
I don't think this really matters in practice. The DHT is public and you can already scan it to find all the public torrents, all the files they contain, and what IPs are sharing them.
Can't this already be true? You do not need the entire torrent in order to seed downloads. Clients leeching know which blocks seeders are providing and will download what's available.
If you share significant parts of a copyright protected work, you're probably still on the hook. For most things, it's not actually the files that are copyrighted, it's the content encoded in them.
At some point, I suppose things get very fuzzy, e.g. you're just uploading a single second of an album, but I don't know who practically useful that would be.
>probably would be harder to prosecute in the event that some files become illegal
Cynically I'd assume they'd just use it to add a conspiracy to commit a crime charge to the list since you technically need to coordinate with other people.
No one can have all the files and BitTorrent works just fine. Though, I don't see why anyone wouldn't want the whole file. What's the point if you can't actually use what you downloaded?
You could or could not have all files, but you would never upload a whole file to a single user (ie: part of a file is possibly meaningless if you upload random chunks)
No reason you can't do this with the existing protocol. I'm not sure how much it helps from a legal POV and i suppose it depends upon your threat model, but, its fairly trivially doable.