10.03.2015 Views

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

56 Rozdział 3. Bezpieczne <strong>bizantyjskie</strong> uzgadnianie<br />

Pro<strong>to</strong>kół 3.5.1: Verifable Consistent Broadcast - VCBC<br />

dla uczestnika P i oraz z<strong>na</strong>cznika ID.j.s<br />

ROZPOCZĘCIE:<br />

¯m ←⊥;¯μ ←⊥<br />

W d ←∅; r d ← 0 (d ∈{0, 1} k′ )<br />

PO ODEBRANIU WIADOMOŚCI ( ID.j.s, in, c-broadcast, m ):<br />

send ( ID.j.s, c-send, m ) i<br />

PO ODEBRANIU WIADOMOŚCI ( ID.j.s, c-send, m ) l :<br />

if j = l ⎧and ¯m = ⊥<br />

⎪⎨ ¯m ← m<br />

then oblicz udział ν podpisu S 1 dla ( ID.j.s, c-ready, H(m) ) i<br />

⎪⎩ send ( ID.j.s, c-ready, m, ν ) i do P j<br />

PO ODEBRANIU WIADOMOŚCI ( ID.j.s, c-ready, d, ν l ) l :<br />

if i = j and ν l jest poprawnym udziałem w S<br />

⎧<br />

1<br />

W d ← W d ∪{ν l }<br />

⎪⎨<br />

r d ← r d +1<br />

then if r d = ⌈ ⌉<br />

n+t+1<br />

{ 2<br />

scal udziały w Wd w jeden S<br />

⎪⎩ then<br />

1 podpis progowy μ<br />

send ( ID.j.s, c-fi<strong>na</strong>l, d, μ ) i do wszystkich P<br />

PO ODEBRANIU WIADOMOŚCI ( ID.j.s, c-fi<strong>na</strong>l, d, ν ) j :<br />

if H(¯m) =d and ¯μ = ⊥ jest poprawnym podpisem S 1<br />

{¯μ ← μ<br />

then<br />

zakończ ( ID.j.s, out, c-deliver, d, ¯m ) i<br />

Realizacja weryfikacji<br />

PO ODEBRANIU WIADOMOŚCI ( ID.j.s, c-request ) l :<br />

if ¯μ ≠ ⊥<br />

then send ( ID.j.s, c-answer, ¯m, ¯μ ) i do P l<br />

PO ODEBRANIU WIADOMOŚCI ( ID.j.s, c-answer, m, μ ) l :<br />

if ¯μ ≠ ⊥ and μ<br />

jest poprawnym<br />

⎧<br />

podpisem S 1 dla ( ID.j.s, c-ready, H(m) ) l<br />

⎪⎨ ¯μ ← μ<br />

then ¯m ← m<br />

⎪⎩ zakończ ( ID.j.s, out, c-deliver, d, ¯m ) i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!