8

This critique of Ethereum presents leeching Parasite Contracts as a problem. A Parasite Contract accesses data from other contracts (which may be charging fees for the data), and offers the same data for free.

It extends the argument to claim that ultimately all contracts will fail.

Because of this, any Host (external-data contract) can’t grow to a significant size without being invaded by Parasites and leeched to death

While the basic premise may be valid, what are the main reasons why the extended conclusion might be wrong?

  • 1
    Paul Sztorc's critique of Oracles is worthy of significant debate but IMHO such a debate is not appropriate for the stackexchange question and answer format. Rather it belongs in either reddit or an academic paper. – JackWinters Jan 21 '16 at 23:28
  • Questions, just like answers, should be able to stand on their own without links in case the links break, right? Can you add more information from the link to your question? – Shelvacu Jan 22 '16 at 18:51
4

Assuming that the premise is valid (which I don't believe it is), the main reason why the extended conclusion is wrong is that this is a slippery slope fallacy: https://yourlogicalfallacyis.com/slippery-slope

Specifically, the author states:

Ethereum allows anyone to make a smart contract about anything. In other words, it has no ability to move intelligently along the autonomy-coordination tradeoff. The autonomy it provides will actually prevent many things from taking place.

Followed by

The Parasite Contract

Behold this outline for a Smart Contract:

  1. Offer all the functionality of a pre-determined “Host” Oracle Contract.
  2. Wait for the Oracle to report. In other words:
    1. Access the database of the Host’s blockchain (by tracking things like block number, block date, SPV proofs, etc).
    2. Scan the database for anything perfectly-correlated to the External Data fetched by the Host Oracle (contract state, payouts to certain addresses).
  3. Use that Host-Data to alter the Parasite’s state (without paying the Host anything).

Because of this, any Host (external-data contract) can’t grow to a significant size without being invaded by Parasites and leeched to death...

Instead of engaging with specifics of the problem the author has jumped to extreme hypotheticals and no proof is presented to show that such extreme hypotheticals will actually occur.

The reason this fictitious 'parasite contract' would never work is because compute resources require Gas. Gas is applied outside of the context of running the transaction. You can't just "Use that Host-Data to alter the Parasite’s state (without paying the Host anything)". The host is earning the gas.

| improve this answer | |
  • "You can't just 'Use that Host-Data to alter the Parasite’s state'", yes you can. You can just monitor the block-chain and storage. You an see everything the oracle stores. So if I own an oracle contract I could send it a closing stock price every day. A parasite can observe what I send in to my oracle contract and copy that, then send that value to their own oracle contract. – Fraggle Oct 2 '16 at 15:03
3

I'm not convinced that the premise is sound. Data provided by any "oracle" vulnerable to that sort of parasite attack would just as easily be accessible to potential customers using the same methods. The point being that it is not an architecture that could be used for a commercial oracle in the first place.

Just because data is publicly accessible does not mean it's publicly readable: while I haven't spent any real effort thinking about how a commercial oracle might work mechanically, it seems to me that published data would most likely be encrypted in such a way as to only be readable by subscribers.

| improve this answer | |
  • 1
    Remember- nothing on the blockchain is private. See blog.ethereum.org/2016/01/15/privacy-on-the-blockchain – Tjaden Hess Jan 21 '16 at 22:09
  • 1
    Exactly. An oracle is an interface between the blockchain and, well, data not on the blockchain. It would stand to reason that a commercial oracle would handle distribution of subscription keys off-chain. Encrypted on-chain (public) data is of no use to a parasite. – jimkberry Jan 22 '16 at 4:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.