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.

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

grupy zleceniami odnowienia stanu.<br />

Podczas odzyskiwania stanu musi <strong>na</strong>stąpić wymia<strong>na</strong> kluczy, gdyż stare klucze<br />

mogły zostać przechwycone przez atakującego. Odpowiedź zawiera numer<br />

sekwencji zlecenia n R przez co replika może wyz<strong>na</strong>czyć H R = ⌊n R /K⌋×K+L,<br />

<strong>na</strong>stępnie oblicza H = max(H M ,H R ), która <strong>to</strong> war<strong>to</strong>ść jest górnym z<strong>na</strong>cznikiem.<br />

Używając wszystkich zebranych informacji rozpoczy<strong>na</strong> proces pobrania<br />

stanu [CL00] 8 .<br />

Ważnym założeniem jest <strong>to</strong>, by proaktywne odzyskiwanie stanu nie było<br />

realizowane przez więcej jak jedną replikę równolegle (o ile nie wiadomo ze<br />

100% pewnością, że niepoprawnie realizuje zlecenia), gdyż w ten sposób <strong>na</strong>raża<br />

się usługę <strong>na</strong> niepoprawne działanie. Okres w jakim usługa <strong>na</strong>rażo<strong>na</strong> jest <strong>na</strong><br />

załamanie jest równy T v =2T k + T r , gdzie T k oz<strong>na</strong>cza czas wymiany kluczy, T r<br />

jest czasem od załamania repliki do czasu odzyskania przez nią pełnej informacji<br />

o aktualnym stanie usługi [CL00].<br />

Do niewątpliwych zalet BFT <strong>na</strong>leży zaliczyć: łatwą implementację i możliwość<br />

adaptacji do wielu systemów. Z<strong>na</strong>cząca wadą tego algorytmu jest konieczność<br />

wykrywania niepoprawnie działającej repliki głównej, czyli uzależnienie od<br />

czasu odpowiedzi tzw. (ang. failure detec<strong>to</strong>rs), oraz szeregu parametrów, które<br />

muszą być dos<strong>to</strong>sowane do środowiska, w celu zagwaran<strong>to</strong>wania żywotności i<br />

efektywności.<br />

3.4 Algorytm SC-ABC<br />

SC-ABC jest s<strong>to</strong>sem pro<strong>to</strong>kołów używających tzw. kryp<strong>to</strong>grafii progowej, nowoczesnej<br />

techniki kryp<strong>to</strong>graficznej, która bardzo ogólnie zostanie omówio<strong>na</strong><br />

w kolejnym paragrafie tak, by umożliwić zrozumienie sposóbu działania algorytmu.<br />

SC-ABC został opracowany przez grupę badawczą z labora<strong>to</strong>rium IBM<br />

w Zurichu, głównie przez K. Kursawe oraz V. Schoupa. S<strong>to</strong>s pro<strong>to</strong>kołów rozpoczy<strong>na</strong><br />

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

BBA, <strong>na</strong>stępnie wielowar<strong>to</strong>ściowe <strong>bizantyjskie</strong> uzgadnianie (ang. Multi-valued<br />

Byzantine Agreement) MBA, a<strong>to</strong>mowe rozgłaszanie (ang. A<strong>to</strong>mic Broadcast)<br />

ABC. Pro<strong>to</strong>kołem <strong>na</strong>jwyższego poziomu jest algorytm bezpiecznego przyczynowego<br />

rozgłaszania (ang. Secure Causal A<strong>to</strong>mic Broadcast) SC-ABC. Pro<strong>to</strong>kół<br />

jest w większym s<strong>to</strong>pniu asynchroniczny niż miało <strong>to</strong> miejsce w BFT, poprzez<br />

zas<strong>to</strong>sowanie elementów losowych, co pociąga za sobą istnienie pewnego niezerowego<br />

prawdopodobieństwa tego, iż pro<strong>to</strong>kół poprawnie nie zakończy działania.<br />

Twórcy algorytmu tłumaczą, że praktycznie żaden pro<strong>to</strong>kół nie gwarantuje<br />

całkowitej poprawności, gdyż zależy od różnych założeń, które w środowisku<br />

usługi.<br />

8 Opis procesu transferu stanu został pominięty, gdyż jego konstrukcja może zależeć od samej

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

Saved successfully!

Ooh no, something went wrong!