Sei sulla pagina 1di 34

DefinitioN

Parasitic computing refers to the


technique of using the resources of
one computer by another computer
without the knowledge of the former
.
Distributed computing networks turn
home users’ computers into part of a
virtual super computer that can
perform time-intensive operations.
cont…

Parasitic computing uses computation power of


the computers connected to the internet in
solving complex mathematical problem.

Eg: Traveling salesman problem


satisfiability problem
theory
To solve problems
Generate large number of candidate solutions.
Send the solutions to destination node.
Test the candidates for their adequacy.
If result is true, the solution is valid.
else drop.
The result from each were used to build a
solution.
cont…
The mathematical problem is split into a
large number of simple logic problems.

They tag a logic problem onto check


sum.
Web server would process the request.
If the check sum is false, then server
would not respond to the request.
The whole result combine to form the
result of the mathematical problem.
cont…

The target nodes are answering logical


questions without knowing of doing so.
This does not violate the security of the
unknowing server.
Potential candidate protocol include
TCP,HTTP, or encryption/decryption with
secure socket layer.
how to trick other computer’s?

NIF
ALU

NIF
ALU
NIF
ALU
levels of communication
Parasite node VALID Target web server

HTTP DROP
HTTP

TCP TCP

IP IP
Network Network
cont…
A single parasite node coordinates the
computations occurring remotely in the internet
protocols.
Each target node consist of
Arithmetic and Logic Unit (ALU)
Network InterFace (NIF)
A single home parasite initiates the computation,
sends messages to the targets directing them to
test and tabulates the result.
key Component
Checksum computation
Information sent across the internet is split it into
small chunks, or packets, that travel-often
independently of each other-to their destination.
Each packet bears a header that contains
Source address
Destination address
A numerical value related to the packet’s
content
When a computer receives a packet, it checks
for errors by performing a calculation and
comparing the result with the numerical value in
the packet’s header.
establishing a TCP connection
cont…
A connection is established with 3
messages,
– The initiator sends a SYN to a remote
node.
– If the remote node is willing to accept a
new connection, it responds with a
SYN/ACK message.
– Finally, the initiator sends an ACK
message.
computing with TCP checksum
The message received by the target server
contains
an IP header
a TCP header
a candidate solution
cont…
Is a + b equal to c???
The checksum value in a TCP packet
is determined by c.
The data contains 16 bit words a and b.
If a + b! =c, then TCP rejects the
segment.
A message is valid only if a + b=c.
cont…
The targeted computers are various web servers
physically located in North America, Europe, and
Asia.
There is no negative acknowledgement.
The sender will keep a copy of the message.
In distributed system, it is not possible to
distinguish between a lost message and delayed
message. So a message is assumed to lost after
some time out period.
checksum computation
The sender breaks the message
consisting of N bits into 16 bit words.
The K words are added together using
binary arithmetic.
The sender then performs a bit-wise
complement on the checksum.
The sender incorporates the complement
of the checksum into the header of the
message.
cont…
The receiving computer again breaks the
received message into 16-bit segments and add
them together.
The checksum obtained by the receiver has to
be 1111111111111111.
If any bit along the message has been corrupted
during transmission, the checksum obtained by
the target will be different from all ones, in which
case target drops the message.
N bits
a s1 s2 Sk
S1 +

b S2 +

Sk

sump 1110101011011011
p
sum 0001010100100100
c Create a new message of length N+16

sump s1 S2 sk
T p +S1+S2+…..+Sk
d SUM = SUM

Message correct
1111111111111111 : To HTTP
IF SUM =
Message corrupt
othrwise : drop
2-SAT Problem
cont…
The 2-SAT problem involves 16 variables and
the operations AND and XOR.
In order to get a TRUE answer for P, each
clause shown in separate parentheses needs to
be independently TRUE.
To evaluate the vale of we generate a 32 bit
message M that contains all 16 variables, each
preceded by a zero.
TCP groups the bits in two 16 bit segments and
add them together.
The sum can have 4 outcomes.
cont…
If the clause has an XOR operator, is true
only when the checksum is (01).
If the clause has an AND operator, is true
only when the checksum is (10).
To turn a package into parasitic message
the parasitic node prepares a package,
preceded by a checksum, and continued
by a 32 bit sequence(S1,S2).
algorithm
S=create TCP segment
S. checksum = checksum
For each x
S. pad= pad with zeros (x)
send S
receive answer
if answer=true write x is a
solution
implementation
There are several ways to implement the
basic algorithm.
concurrency: Each concurrent
computation requires a separate a TCP
connection to http host.
connection reuse: Before a TCP
connection can be used, it must be
established. Once established TCP
segments can be sent to remote host.
how it differs from others?
In cluster computing, many
computers pool in their resources
willingly.
Parasitic computing does not require
the willingness of any target
machine.
In cluster computing, special
softwares are needed. Here not
needed.
features
Parasitic computing theoretically offers the
chance to use the vast computational
power of the whole internet.
Several large computational problems can
be solved by engaging various web
servers physically located in different parts
of the world, each of which unknowingly
participated in the experiment.
cont…
Ethically challenging alternative for cluster
computing, as it uses resources without
consent of the computer’s owner
Parasitic computing does not compromise
the security of the targeted servers, and
access only those parts of the servers
that have been made explicitly available
for Internet Communication
problems
For parasites
Several computational cycles are taken
to process the possible solutions
Possibility of false negatives
Possibility of false positives
problems
For servers
Delays due to processing the
parasitic messages could cause a
denial of service
Almost impossible to prevent
someone from running a parasitic
job on your server
history
Parasitic computing was developed by the
scientist at the Notre Dame University,
Indiana(USA).
First Reported in journal ‘Nature’ in
2001 by Barabasi, Freech, Feong and
Brockman.
future
Enabling all the computers to swap
information and services they are needed
could lead to unparalleled emergent
behavior, drastically altering the current
use of the internet.
summary
Parasitic computing moves computation
onto what is logically the communication
infrastructure of the internet, blurring the
distinction between computing and
communication.
The current internet infrastructure permits
one computer to instruct other computer to
perform computational tasks that are
beyond the target’s immediate scope.

Potrebbero piacerti anche