<p>I hope this is the right place to ask a question on how does block-chain help this theoretical requirement. I have also asked this <a href="https://stackoverflow.com/q/32879696/919480">question on SO</a>; so far, no response. And, <a href="http://area51.stackexchange.com/proposals/89704/ethereum">Ethereum SE is still in Area 51</a> at the time of writing this.</p>

<p><em>If cross-posting is a violation of forum protocol, please let me know. I will delete from the other site and leave this as is.</em></p>

<p>Here goes ...</p>

<p>I am trying to understand <a href="https://en.wikipedia.org/wiki/Smart_contract" rel="nofollow noreferrer">Smart Contracts</a> through an anti-virus service idea. I hope, it matches the idea as expected of Smart Contract and Blockchain 2.0.</p>

<p><strong>Problem</strong></p>

<p>Suppose, I have received a 25 MB file from some one through some media. I would like to have it scanned for virus before I actually open it for use. How can I be sure that it is not infected?</p>

<p><strong>Traditional Solution</strong></p>

<p>Perhaps there is a cloud based service provided for virus scan - Virus Scanning as a Service (VSaaS). This provider has subscription plans based on file type, volume and frequency of scans. I could approach this provider to scan my file and receive a binary response as TRUE (clean) or FALSE (infected). But, I have no choice but to trust two things of the provider:</p>

<ul>
<li><p>Did the provider scan at all? Or, more generally, was 'work' done at all? Maybe, there is a tiny script to return TRUE and FALSE with 50% probability regardless of how many and what type of files are sent.</p></li>
<li><p>Was the provider's scan conclusive? Maybe, the provider does not have all of the virus signatures to scan successfully. So, the provider may respond with TRUE (clean) whereas, it is actually infected with the latest strain of a virus.</p></li>
</ul>

<p><strong>Smart Contract</strong></p>

<p>Can a distributed application (or, Smart Contract) resolve this problem? I know that the underlying blockchain provides a publicly available ledger that can verify:   </p>

<ul>
<li>If I have sufficient coins (say, BTC) to cover the scan service
request.</li>
<li>If a scan request (the transaction in this case) was made, to whom, when, etc.</li>
</ul>

<p>What I want to know is, the mechanism to confirm that a virus scan did actually happen in its entirety? Should multiple 'full nodes' do a virus scan of the same file? If so, am I now not spreading my ambiguity across multiple full nodes - in effect, different cloud providers in a conventional way?</p>

<p>How would an Ethereum platform address this requirement?</p>

CC BY-SA 3.0
2015-10-01T18:06:00.943Z
Some cryptosystems allow for proof of computation, but that's almost completely unrelated to Ethereum. Simply telling multiple people to do the same task and comparing the results isn't a solution because there's nothing stopping all of the "people" from being the same person. Virus scanning is a fair portion of snake oil regardless, you'll see extremely high false negative and false positive rates even just with off the shelf software.
Claris
CC BY-SA 3.0
2015-10-01T21:18:34.850Z
You don't want potential viruses embedded into a blockchain for everyone to download... (unless you want to take down the system)
AndyM
CC BY-SA 3.0
2015-10-02T03:00:34.500Z
Firstly, the focus is not so much on virus or files; it is whether an  intended task be executed without having to trust a centralized authority. This problem can be extrapolated to other areas. Consider the example of looking up weather of a certain place on some day. How do I know if the look-up actually happened? Secondly, I did a quick search on 'proof of computation cryptographic systems'; I got responses only on 'proof of work'. @Bitcoin an example, please?
cogitoergosum
CC BY-SA 3.0
2015-10-03T15:32:38.367Z
Found a similar question http://bitcoin.stackexchange.com/q/39162/6975
cogitoergosum
<blockchain><ethereum>
blockchain - Anti-virus service
cogitoergosum
# blockchain - Anti-virus service

(Asked by: username_0 on 2015-10-01)

I hope this is the right place to ask a question on how does block-chain help this theoretical requirement. I have also asked this [question on SO](https://stackoverflow.com/q/32879696/919480); so far, no response. And, [Ethereum SE is still in Area 51](http://area51.stackexchange.com/proposals/89704/ethereum) at the time of writing this.

*If cross-posting is a violation of forum protocol, please let me know. I will delete from the other site and leave this as is.*

Here goes ...

I am trying to understand [Smart Contracts](https://en.wikipedia.org/wiki/Smart_contract) through an anti-virus service idea. I hope, it matches the idea as expected of Smart Contract and Blockchain 2.0.

**Problem**

Suppose, I have received a 25 MB file from some one through some media. I would like to have it scanned for virus before I actually open it for use. How can I be sure that it is not infected?

**Traditional Solution**

Perhaps there is a cloud based service provided for virus scan - Virus Scanning as a Service (VSaaS). This provider has subscription plans based on file type, volume and frequency of scans. I could approach this provider to scan my file and receive a binary response as TRUE (clean) or FALSE (infected). But, I have no choice but to trust two things of the provider:

* Did the provider scan at all? Or, more generally, was 'work' done at all? Maybe, there is a tiny script to return TRUE and FALSE with 50% probability regardless of how many and what type of files are sent.
* Was the provider's scan conclusive? Maybe, the provider does not have all of the virus signatures to scan successfully. So, the provider may respond with TRUE (clean) whereas, it is actually infected with the latest strain of a virus.

**Smart Contract**

Can a distributed application (or, Smart Contract) resolve this problem? I know that the underlying blockchain provides a publicly available ledger that can verify:

* If I have sufficient coins (say, BTC) to cover the scan service
  request.
* If a scan request (the transaction in this case) was made, to whom, when, etc.

What I want to know is, the mechanism to confirm that a virus scan did actually happen in its entirety? Should multiple 'full nodes' do a virus scan of the same file? If so, am I now not spreading my ambiguity across multiple full nodes - in effect, different cloud providers in a conventional way?

How would an Ethereum platform address this requirement?

**Tags:** blockchain, ethereum

> **Comments:**
> **username_1**: Some cryptosystems allow for proof of computation, but that's almost completely unrelated to Ethereum. Simply telling multiple people to do the same task and comparing the results isn't a solution because there's nothing stopping all of the "people" from being the same person. Virus scanning is a fair portion of snake oil regardless, you'll see extremely high false negative and false positive rates even just with off the shelf software.  
> **username_2**: You don't want potential viruses embedded into a blockchain for everyone to download... (unless you want to take down the system)  
> **username_0**: Firstly, the focus is not so much on virus or files; it is whether an  intended task be executed without having to trust a centralized authority. This problem can be extrapolated to other areas. Consider the example of looking up weather of a certain place on some day. How do I know if the look-up actually happened? Secondly, I did a quick search on 'proof of computation cryptographic systems'; I got responses only on 'proof of work'. @Bitcoin an example, please?  
> **username_0**: Found a similar question http://bitcoin.stackexchange.com/q/39162/6975  

---

## 0 answers

