Would it be possible to make using Bitcoin illegal by posting child porn or similar highly illegal content in the message of a transaction? There are methods for having 'thin clients' that don't download the entire transaction history - would these be immune to an attack like this? How difficult would it be to track the sender of such material?
Would it be possible to make using Bitcoin illegal by posting child porn or similar highly illegal content in the message of a transaction?
Bitcoin, as a decentralised provision network of sorts, may have the same protections as given to ISPs and content providers. So unless the government is gunning for Bitcoin anyway - I'd say no, Bitcoin can not be rendered illegal this way.
There are methods for having 'thin clients' that don't download the entire transaction history - would these be immune to an attack like this?
Obviously if you don't download the illegal content nor upload any intent to download specifically that type of content - you should be safe with a thin-client. But it limits the security of Bitcoin network considerably if only thin-clients were possible.
How difficult would it be to track the sender of such material?
Not very difficult. Bitcoin is not an inherently anonymous protocol. If the communication between nodes is not encrypted with ephemeral TLS sessions, a mix service wouldn't provide any meaningful anonymity either.
This might be a bit tricky because people generally tend to map binary data sequences to representations of real-life objects automatically, often conveniently slipping to lax and negligent assumptions. What is often left out is the importance of encoding, which is the essence that gives data a meaning. Without encoding, it's just a meaningless bitstream.
Now, the thing with the encoding is that, given a "right" encoding, you can basically turn any binary data into arbitrary "image" (or text; or give it any other meaning). Even this answer might be considered to convey an illegal material, if a carefully-crafted encoding scheme is used to interpret it.
When questioning the legality of binary data, a highly motivated prosecutor could surely come up with an encoding scheme which, when used to interpret the data in the Blockchain, would reveal an illegal material. However, a reasonable judge would probably dismiss it because it isn't the natural encoding intended to be used in the protocol. I'm not a lawyer, but I believe the intent would be a key factor here, so people using Bitcoin (and sharing the Blockchain) should not be prosecuted if they're only using it for the intended purpose, interpreting the data as specified in the Bitcoin protocol. Otherwise, anybody using the Internet could be prosecuted for anything.
On the other hand, a person who inserted such a data on purpose (re-encoding them to a compatible format and sending as a transaction output), could probably face a criminal prosecution, if reliably found.
Disclaimer: I'd like to add that law is not an exact science (actually is not exact nor science) and thus might be hard to grasp for technical people who strive to always find definite answers. Also, all decisions might be politically or otherwise motivated.