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 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Rozdział 3<br />
Bezpieczne <strong>bizantyjskie</strong> uzgadnianie<br />
Replikacja jest podstawową techniką s<strong>to</strong>sowaną w DHT do utrzymania danych,<br />
które zostały umieszczone w różnych węzłach systemu <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> pod odpowiednimi<br />
kluczami. Wprowadzenie replikacji skutkuje podwyższeniem <strong>to</strong>lerancji<br />
<strong>na</strong> uszkodzenia, jed<strong>na</strong>k wiąże się z koniecznością synchronizacji danych<br />
między replikami. W systemie, gdzie użytkownicy przyłączają się i odłączają w<br />
losowy sposób, techniki replikacji stają się bardzo skomplikowane. Replikacji<br />
moż<strong>na</strong> używać również w związku z różną popularnością obiektów dostępnych<br />
w systemie, dzięki czemu te bardziej pożądane przez użytkowników będą szybciej<br />
i łatwiej osiągalne. Problemy pojawiają się, gdy część replik zawodzi oraz<br />
gdy nie możemy mieć zaufania do działania poszczególnych elementów systemu.<br />
Heterogeniczność oprogramowania i częste umyślne działanie <strong>na</strong> szkodę systemów<br />
informatycznych wymusza s<strong>to</strong>sowanie takich algorytmów replikacji, które<br />
nie tylko zadbają o a<strong>to</strong>mowy dostęp do pożądanego obiektu, ale zagwarantują<br />
poprawność uzyskanych danych. W <strong>systemach</strong> <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong> odporność <strong>na</strong> przypadkowe<br />
bądź złośliwe zachowanie jest koniecznością, gdyż <strong>na</strong>wet mała liczba<br />
źle działających węzłów może spowodować utratę informacji.<br />
Ten rozdział ma <strong>na</strong> celu a<strong>na</strong>lizę obecnie s<strong>to</strong>sowanych algorytmów replikacji<br />
usługi, które zapewniają <strong>to</strong>lerancję bizantyjskich uszkodzeń. Na wstępie został<br />
opisany problem bizantyjskich generałów, który jest klasyczną ilustracją zagadnienia<br />
i wprowadzeniem do problemu <strong>bizantyjskie</strong>go uzgadniania. Następnie<br />
omówiono dwa algorytmy replikacji <strong>to</strong>lerującej błędy <strong>bizantyjskie</strong>, które s<strong>to</strong>sują<br />
całkowicie odmienne techniki, by ostatecznie osiągnąć podobny cel. Oba<br />
przedstawione w tym rozdziale algorytmy nie były projek<strong>to</strong>wane z myślą o <strong>systemach</strong><br />
słabo powiązanych, jed<strong>na</strong>k stanowią dobrą bazę dla algorytmu, który<br />
<strong>na</strong>dawałby się do zas<strong>to</strong>sowania w <strong>systemach</strong> <strong>peer</strong>-<strong>to</strong>-<strong>peer</strong>. Próba opracowania<br />
takiego algorytmu przedstawio<strong>na</strong> jest w <strong>na</strong>stępnym rozdziale.<br />
Większa <strong>to</strong>lerancja uszkodzeń i maskowanie błędów w <strong>systemach</strong> rozproszonych<br />
wymaga rozwiązania dwóch podstawowych problemów: