I might be misremembering things here but AFAICR, it went something like this:
MegaUpload existed as a file hosting service. It was widely used by pirates, and MegaUpload earned a lot of money off of hosting pirated files because users would buy subscriptions to MegaUpload specifically because of the pirated content that they could download, without the limitations that are placed on the users of the free tier.
With a paid subscription you got:
- Multiple parallel downloads
- Much faster speed
- No waiting time between downloads
A similar service was RapidShare, also popular with pirates.
Pirate sites would typically split downloads into multiple parts due to restrictions on upload size on MegaUpload, RapidShare and other file hosts like that. They would then upload these parts to MegaUpload and RapidShare and one or two other file hosts so that:
- If files were taken down from one host they might remain available for a bit more time from one of the other hosts
- Free users could speed up download times by simultaneously downloading the different part files from different hosts. So you’d start a download for part 1 from MegaUpload, part 2 from RapidShare and part 3 from some other host. Then you’d occasionally check on the slow progress and the countdowns from each sites before they allowed you to download another part, and continuing downloading parts from each as soon as they allowed you to again after you finished downloading a previous part from them.
The connection to Mega is that after MegaUpload was shut down, they started Mega and they made it so that all uploaded files were encrypted client side during upload and the URL contains a fragment with the encryption key so that it’s decrypted client side and the key is not shared with the server (unless of course the JS served by the server is modified to explicitly send the key to them either during upload or download).
This solved a problem for the pirates and it solved a problem for Mega.
Previously when a file was taken down, the host would usually make note of the hash of the file that was taken down and not allow that file to be uploaded and shared again.
Now, with encryption users could reupload the exact same parts without having to do anything on their end. And the users downloading did not have to do any extra steps either on their end either.
This benefits the pirates greatly. When you’ve spent 3 days downloading a bunch of part files and suddenly the remaining parts are all taken down and their hashes banned it sucked to be a pirate. But with this automatic encryption the same parts could be reuploaded and new links could be posted to pirate forums and the users could pick right up again where they were in the progress of downloading all the parts.
Less work for users uploading. Less work for users downloading. Happier users. More paying customers.
And in addition to more money, Mega also have less work to do as now when someone argues that they should police the uploads better they can point to the files all being encrypted and then not having the keys to decrypt the files there is no way that they actually can inspect the files they are storing for their users. (Again unless they modify the JS they serve to their users so that they intentionally send the key to the server.)
Of course, encryption benefits everyone. Not just pirates.
But at least to me it appeared strongly that the main motivation for building Mega and having it use this client side automatic encryption and decryption was very specifically because of the experience they had with takedown requests for intellectual property hosted on MegaUpload. It’s a neat way to cater to the pirates and encourages them to become paying customers of Mega.