input-output-hk / cardano-sl

Cryptographic currency implementing Ouroboros PoS protocol
Apache License 2.0
3.76k stars 632 forks source link

Illegal content in the blockchain #2698

Open pgiacalo opened 6 years ago

pgiacalo commented 6 years ago

Just wondering whether the cardano project has looked into ways to mitigate against this potential legal issue related to illegal arbitrary data stored within the blockchain.

https://fc18.ifca.ai/preproceedings/6.pdf

Here is the abstract from the paper, for reference. -- Abstract -- Blockchains primarily enable credible accounting of digital events, e.g., money transfers in cryptocurrencies. However, beyond this original purpose, blockchains also irrevocably record arbitrary data, ranging from short messages to pictures. This does not come without risk for users as each participant has to locally replicate the complete blockchain, particularly including potentially harmful content. We provide the first systematic analysis of the benefits and threats of arbitrary blockchain content. Our analysis shows that certain content, e.g., illegal pornography, can render the mere possession of a blockchain illegal. Based on these insights, we conduct a thorough quantitative and qualitative analysis of unintended content on Bitcoin’s blockchain. Although most data originates from benign extensions to Bitcoin’s protocol, our analysis reveals more than 1600 files on the blockchain, over 99 % of which are texts or images. Among these files there is clearly objectionable content such as links to child pornography, which is distributed to all Bitcoin participants. With our analysis, we thus highlight the importance for future blockchain designs to address the possibility

SebastienGllmt commented 6 years ago

There's nothing really you can do about this unfortunately unless you are okay with getting rid of the immutable aspect of the blockchain. Imagine the following scenario:

Somebody puts illegal data in blockchain over multiple blocks in encrypted form A year later, they add the key to decrypt the data to the blockchain and public announce doing so

Now everybody has access to the data that was previously encrypted data and getting rid of it would mean you have to change an entire year's worth of history.

The reason doing so is not more widespread is because uploading data to the blockchain is fairly costly and downloading a copy of the blockchain to ever access the data is a pain. I'm sure people can come up with more efficient ways to transmit illegal content.

ProofOfKeags commented 6 years ago

I'm generally inclined to agree with this. The best thing we can try and do is make it so that you can (voluntarily) subscribe to one or more repositories that denotes "known bad" OP_RETURN data in your wallet, and have the wallet refuse to render it. But killing this at the persistence layer has dire consequences as far as the integrity of the system.

ballandiesmark commented 5 years ago

Hey there

Quick question: As a researcher from ETH Zurich, I am currently looking at various DLT systems. In particular, I am checking, if arbitrary data can be stored on chain. Looking at cardano-sl, I am having trouble to identify, if this is actually possible. Do you have a similar functionality as Bitcoins "OP_Return" included? If yes, could you guide me to the piece of code, where this is defined?

Help is very much appreciated! Thanks

SebastienGllmt commented 5 years ago

@ballandiesmark the amount of data you can store in Cardano per transactions is very limited and it's just metadata you append to a transaction (nodes ignore the data in it). It will change for Shelley which is the next major release of the protocol but exactly how hasn't been 100% finalized