Blockchain poisoning

imagioimagio Member Posts: 3
How can ethereum deal with illegal content inserted into the blockchain? For example what would stop somebody from making the blockchain illegal from day 1? Wouldn't simply creating a contract that stores some widely illegal pornography or other material instantly and irreversibly make using ethereum illegal in most of the world?

Comments

  • mquandallemquandalle FranceMember Posts: 50 ✭✭
    First, every node is free to accept a block or not. If there is a consensus (51%) in the network to not accept some kind of contracts then we can simply consider that they are invalid.

    Second, if there is no consensus to ban a contract, a node could still run a light client with only the content he has accepted. For instance if a muslin user doesn't want to support contracts that provide some interests, they can just ignore these (both as a user and as a miner).

    There is already some pornography on the internet, that doesn't make the whole network illegal. Each computer will still be free to run the code he wants to run and to store the content he agrees to store. I guess we'll have to build some tools to simplify the management of a black list.
  • imagioimagio Member Posts: 3
    It seems that some sort of tool would be necessary, but given the nature of the blockchain wouldn't it be very very difficult for the network to reject contracts that contain illegal content? Having 51% of a large network agree on something like that sounds near impossible. Determined malicious users would likely try again and again to poison the network with bad content resulting in a never ending battle to contain them.

    Some existing cryptocurrencies have explicitly rejected the idea of any sort of arbitrary data storage for this exact reason (dogecoin rejected attaching messages to transactions because of it). It seems like a problem that ethereum needs to solve in order to avoid the ire of media and governments.

    As for users choosing to support some contracts over others doesn't that increase the risk of forks in the blockchain?
  • imagioimagio Member Posts: 3
    Hmm, while that post says

    "However, with the introduction of Block Protocol 2.0 (BP2), we have a protocol that, while not getting past the fundamental blockchain scalability flaw, does get us partway there: as long as at least one honest full node exists (and, for anti-spam reasons, has at least 0.01% mining power or ether ownership), “light clients” that only download a small amount of data from the blockchain can retain the same level of security as full nodes."

    It also says at the end

    "All miners essentially have to be full nodes; asking the network for block data for every nonce is prohibitively slow. Thus there will be a larger number of full nodes in Ethereum than in Bitcoin."

    So it seems that in the current design miners must have the whole blockchain. That might make it very hard for people to mine in some jurisdictions. Even if that were not the case, how would users filter out illegal content? A user could not be expected to do it by hand. Perhaps voluntarily maintained blacklists users could subscribe to in order to comply with local laws would work, but that sounds messy and requires users to trust the blacklist maintainers.

    It may be an unsolvable issue given the mutable nature of laws and the immutable nature of a blockchain.
  • oliverkxoliverkx Member Posts: 85
    While I do understand the notion of "illegal content" (e.g. child pornography), I am not 100% sure what an "illegal contract" might be. But if what makes a contract illegal is the content that is associated with it, then one possible solution might be to store the content in a separate block chain. Or rather, in multiple separate block chains.

    Imagine a system analogous to RAID 5 storage: use (for example) four block chains for storing your data. Each data entity (e.g. JPG image) is broken-up into four chunks, and each chunk is stored in a separate block chain. Each chunk on its own contains insufficient data to reconstruct the full JPG image. So, unless you have all four blocks, you (or any court or law enforcement agency) cannot tell whether the data you're looking at is legal or illegal. It's just anonymous data.

    Now, while each miner needs the full contract-chain, all miners don't need to also process all four data-chains. Each miner can be assigned just one of the four data block-chains, and thus, be certain not to have any illegal content stored on their hardware.

    The contract would keep track of all chunks making up its associated data, so any light-client who wants to see that data can request it from the various block chains.

    Note that this system has another positive side-effect, in that it reduces the size of the core block-chain, and the overall amount of data each miner has to store and process, and thus improves scalability.
Sign In or Register to comment.