It may sound tedious but it's not. I'm very good with computers and I know how this sort of thing would work.
How so? We just need to compare the codes with a tool like this: http://text-compare.com/ (not the same but close to this). Then we see what has changed. There are two ways a code can be different: Additions and Changes. We see what has changed. If someone copies code it would look like this "orginalcode,additions". We ignore the additions. If they had erased one of the lines in the middle of code originalcode would still be the same minus a few characters. We then use this and search for the original code in the new code with a few characters tolerance. I see how this might slow it down for people who upload tracks but what method doesn't? This is a big dilemma. Do we slow others down for the sake of stopping copiers, or do we let them go fast at the cost of allowing copiers to continue to do what they do.
Think of how long it would take to do that process for every single track in the database. Upload times would slowly increase over time as well. Not only that, but for those with slower internet connections, uploading would be hell. You're right though, that would definitely work.