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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.4 Algorytm SC-ABC 51<br />

Secure Causal A<strong>to</strong>mic Broadcast SC-ABC<br />

A<strong>to</strong>mic Broadcast ABC<br />

Multi-valued Byzantine Agreement MBA<br />

Bi<strong>na</strong>ry Byzantine Agreement BBA<br />

Broadcast Primitives<br />

Treshold cryp<strong>to</strong>graphy<br />

Rysunek 3.4: S<strong>to</strong>s pro<strong>to</strong>kołów algorytmu SC-ABC. Warstwa wyższa używa warstwy<br />

niższej w celu osiągnięcia wyniku. S<strong>to</strong>s pro<strong>to</strong>kołów korzysta z podstawowych<br />

mechanizmów rozgłaszania oraz kryp<strong>to</strong>grafii progowej.<br />

komunikacji. Dodatkową właściwością zapewnianą przez niezawodne rozgłaszanie<br />

jest <strong>to</strong>, że wysłany komunikat zostanie dostarczony co <strong>na</strong>jwyżej jeden<br />

raz. W większości przypadków złożoność tej operacji wymaga O(n 2 ) komunikatów,<br />

gdzie n oz<strong>na</strong>cza liczbę uczestników. Usługa niezawodnego rozgłaszania<br />

rozwiązuje uprzednio przedstawiony problem bizantyjskich generałów.<br />

Niekiedy ważne jest, by dało się potwierdzić, iż da<strong>na</strong> wiadomość została<br />

<strong>na</strong>prawdę dostarczo<strong>na</strong> do wszystkich uczestników. Właściwość taką posiada<br />

weryfikowalne rozgłaszanie (ang. Verifable Broadcast). Ogólnie, jeżeli jakiś<br />

uczestnik nie wie, czy <strong>na</strong>leży odebrać wiadomość m, <strong>to</strong> inny uczestnik może<br />

wysłać dla niego potwierdzenie, które określi, że wiadomość m powin<strong>na</strong> być<br />

dostarczo<strong>na</strong>.<br />

Nie zawsze zagwaran<strong>to</strong>wanie, że wszystkie wiadomości zostały dostarczone,<br />

jest możliwe. Może zdarzyć się, że któryś z uczestników nie jest osiągalny<br />

podczas wysyłania komunikatu. Pro<strong>to</strong>kół, który zezwala by wiadomość została<br />

doręczo<strong>na</strong> w innym terminie <strong>na</strong>zywa się spójnym rozgłaszaniem (ang. Consistent<br />

Broadcast). Złożenie opisanego poprzedniego pro<strong>to</strong>kołu i opisanego w<br />

tym akapicie prowadzi do weryfikowalnego spójnego rozgłaszania (ang. Verifable<br />

Consistent Broadcast) VCBC, który zakłada weryfikację dostarczenia wiadomości<br />

oraz zezwala <strong>na</strong> <strong>to</strong> by nie wszystkie wiadomości były odebrane w tym samym<br />

czasie przez wszystkich uczestników grupy.<br />

Kolejnymi cegiełkami użytymi do konstrukcji algorytmu SC-ABC jest potwierdzone<br />

<strong>bizantyjskie</strong> uzgadnianie (ang. Validated Byzantine Agreement)VBA,<br />

oraz a<strong>to</strong>mowe rozgłaszanie (ang. A<strong>to</strong>mic Broadcast) ABC.<br />

Bi<strong>na</strong>rne <strong>bizantyjskie</strong> uzgadnianie (ang. Bi<strong>na</strong>ry Byzantine Agreement) jest<br />

pro<strong>to</strong>kołem potwierdzonego <strong>bizantyjskie</strong>go uzgadniania, w którym zbiór możliwych<br />

do uzgodnienia war<strong>to</strong>ści ogranicza się tylko do v ∈{0, 1}. Wielowar<strong>to</strong>ściowe<br />

<strong>bizantyjskie</strong> uzgadnianie (ang. Multi-valued Byzantine Agreement) realizuje<br />

pro<strong>to</strong>kół potwierdzonego <strong>bizantyjskie</strong>go uzgadniania. Gdy ograniczymy

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

Saved successfully!

Ooh no, something went wrong!