← Back to team overview

p2psp team mailing list archive

Re: Prevention of pollution attacks (GSoC)

 

>
> Could you explain at length the previous formula? (anyway we think that it
> also works perfectly)

Sorry, I didn't understand your question. Do you mean

> *N = (n - 1) * (n - 2) / 2*
>
or

> http://p2psp.org/en/p2psp-protocol?cap=indexsu11.xht#x20-160004.11
>
 ?

If you mean *N = (n - 1) * (n - 2) / 2* so it's a simply combination (n-1,
2).
Btw, n is size of the team without splitter.

2015-03-31 14:33 GMT+05:00 Cristóbal Medina López <
cristobalmedinalopez@xxxxxxxxx>:

> Hi Ilshat,
>
> We think that the formula is fine. Only one question (see bellow):
>
> El lun., 30 de marzo de 2015 a las 14:58, Ilshat Shakirov (<
> im.shakirov@xxxxxxxxx>) escribió:
>
>> Hello!,
>>
>> I got a new results from experiments with new parameters (2 trusted and
>> one attacker), and it doesn't match with expected results from
>> http://p2psp.org/en/p2psp-protocol?cap=indexsu11.xht#x20-160004.11
>> (formula 11)
>> But I deduced new formula (only for these params for now (T=2, A=1)):
>>
>> ​
>> , where n is team size.
>> ​Let me explain it:
>> It just a formula for expected value for discrete random variable. So let
>> describe our discrete variable:
>> We have n peers, 2 trusted peers and one attacker. Size of each node's
>> peer list is* n - 1*. Number of possible permutations for 2 trusted
>> peers in attacker's peer list is *N = (n - 1) * (n - 2) / 2.*
>>
>
> Could you explain at length the previous formula? (anyway we think that it
> also works perfectly)
>
>
>>
>> The probability for getting only one poisoned chunk in the netowrk is *P(1)
>> = (n - 2) / N*; (because we're getting only one poisoned chunk when
>> trusted peer is the first in attacker's peer list, so there is n-2 variants
>> of this situation).
>> Next, *P(2) = (n - 3) / N*, P(x) =* (n - x - 1) / N*
>> The max possible number of poisoned chunks in network with 2 trusted peer
>> and one attacker is n - 2 (n - attacker - trusted);
>> So, we must only to compute expected value as sum of *P(x)*x*.
>>
>> Formula can be easily generalized to different numbers of attackers and
>> trusted peers, but first I want to know your opinion about it.
>> What do you think? =)
>> <https://en.wikipedia.org/wiki/Discrete_random_variable>
>>
>>
> Please, check that the following python code implements your formula:
>
> x = 0.0
> n = 10
> for i in range(1,n-2):
>     y=2.0*i*(n-i-1)/((n-1)*(n-2))
>     print y, i
>     x+=y
> print x
>
> Thanks,
> Regards.
>
>
>
>>
>> 2015-03-29 1:43 GMT+05:00 Ilshat Shakirov <im.shakirov@xxxxxxxxx>:
>>
>>> Hello!,
>>>
>>> Sorry for the delay in the response.
>>> I have just improved the Peersim impl of P2PSP:
>>> - malicious peer connects to the team after some delay (magic constant
>>> :))
>>> - *CHUNK *message have 4 times more delay than other messages (hello,
>>> goodbye, etc.)
>>> - trusted and malicious peers are chosen randomly at the begin of
>>> simulation
>>>
>>> I have performed new experiments with these improvements, it can be
>>> accessed at the same doc -
>>> https://docs.google.com/spreadsheets/d/1pc6yb87xJy8gNkWSWvvCvjAjR6WBFdOzCbPvO-zEooU/edit#gid=0
>>> - it has 2 new tabs - raw2 and result2.
>>> *raw2 *tab have 2 sets of data - the first one was performed without
>>> different latencies, and the second one was performed with different
>>> latencies.
>>> Could you please evaluate results? What the next steps you want to see
>>> with peersim impl of p2psp? =) I want to perform experiments with different
>>> numbers of trusted peers and attackers, in order to confirm theroretical
>>> analysis given in paper.
>>>
>>> Also, I want to store all the logs from each experiment in the same
>>> place. I want to use dropbox for this (shared dir). What do you think? =)
>>>
>>> Currently, Im preparing scripts (bash and bat) to run simulation, so
>>> there will be possible to perform experiments without setting up IDE.
>>>
>>> ps Could you please include me to sim project on github? Or we will work
>>> with pull requests? =)
>>>
>>> Thanks in advance!
>>>
>>>
>>> 2015-03-20 18:48 GMT+06:00 Vicente Gonzalez <
>>> vicente.gonzalez.ruiz@xxxxxxxxx>:
>>>
>>>>
>>>>
>>>> 2015-03-20 9:59 GMT+01:00 Ilshat Shakirov <im.shakirov@xxxxxxxxx>:
>>>>
>>>> I don't know the procedure you are using to add peers to a team (how
>>>>>> the peers contact the splitter, receives the list of peers of the splitter
>>>>>> and send the [hello] message to the peers that are in the list), but I
>>>>>> suppose that this procedure is similar to one used in a real team.
>>>>>
>>>>> Yes, the peers are added to team as it described in DBS of rules (new
>>>>> peer sends HELLO to splitter, splitter sends list of peers, peer sends
>>>>> HELLO to rest of team).
>>>>>
>>>>
>>>> OK.
>>>>
>>>>
>>>>> I have new hypothesis - how much time is spent for sending chunks?
>>>>> and for sending simple messages, like HELLO/GOODBYE. In peersim
>>>>> implementation there is no difference in times between these two types of
>>>>> message. If it's able to send 2 or more simple messages while one chunk is
>>>>> sending, then simulation results will match with expected results.
>>>>>
>>>>
>>>> When a peer is introducing himself to the rest of the team only sends
>>>> [hello]s. To interlace [hello]s and chunks, the splitter should send first
>>>> to it a chunk, and this is done after receiving the list of peers from the
>>>> splitter. This does not happen.
>>>>
>>>> In my opinion, a better result (not only for this experiment) could be
>>>> obtained if you assign a latency to each message that depends on the
>>>> message's length.
>>>>
>>>>
>>>>> This means that if the peer 34 were the trusted peer, the attacker
>>>>>> would send only one poisoned chunk before it is reported. For this reason,
>>>>>> I think that the order of the peers in the lists should have some influence
>>>>>> in the average number of poisoned chunks.
>>>>>
>>>>> There is such results already. I.e. cell D43 in google sheet
>>>>> <https://docs.google.com/spreadsheets/d/1pc6yb87xJy8gNkWSWvvCvjAjR6WBFdOzCbPvO-zEooU/edit#gid=0>.
>>>>>
>>>>>
>>>>
>>>> I see :-)
>>>>
>>>>
>>>>>
>>>>> Also, I can remove the latency for simple messages (like hello and
>>>>> goodbye), and (I suppose) results will match with expected results.
>>>>>
>>>>
>>>> No. Please, consider first my idea (longer messages will take more time
>>>> traveling that shorter ones).  And, randomize, if possible, the order (or
>>>> time) in which peers join the team.
>>>>
>>>>
>>>>>
>>>>> An accurate P2PSP simulator is very interesting for researching the
>>>>>> performance of the P2PSP. Any kind of advance/facility in this direction is
>>>>>> really appreciated :-)
>>>>>
>>>>>
>>>>
>>>>> Ok, I will begin to write readme file about performing experiments =)
>>>>>
>>>>
>>>> Again, thanks. Your work will be very helpful!!
>>>>
>>>> Best,
>>>> Vi.
>>>>
>>>> --
>>>> Vicente González Ruiz
>>>> Depto de Informática
>>>> Escuela Técnica Superior de Ingeniería
>>>> Universidad de Almería
>>>>
>>>> Carretera Sacramento S/N
>>>> 04120, La Cañada de San Urbano
>>>> Almería, España
>>>>
>>>> e-mail: vruiz@xxxxxx
>>>> http://www.ual.es/~vruiz
>>>> tel: +34 950 015711
>>>> fax: +34 950 015486
>>>>
>>>
>>>
>>

GIF image


Follow ups

References