Double-spending
Double-spending atakiem nazywa się udane użycie tych samych środków dwukrotnie. Bitcoin jest obroniony od double-spending ataki tym, że weryfikuje każdą transakcję, która dodaje się do łańcuszka bloków (block chain), w celu tego, że środki, ktόre mieścią się w transakcji, nie były zużyte wcześniej.
Inne cyfrowe systemy zapobiegają double-spending atakom obecnością centralnego źródła autoryzującego, które idzie za określonymi biznes-regułami dla autoryzacji każdej transakcji. Ale Bitcoin wykorzystuje decentralizowany system, gdzie ogromna ilość węzłów, idąc za tymy samymy regulami, potwierdza transakcje bez jedynego kontrolującego węzła. Bitcoin ma wraźliwość do double-spending ataku na początkowym etapie znajdowania transakcji w sieci. Czym więcej u transakcji potwierdzeń, tym mniej ryzyka tego, że ona będzie wykorzystana w oszukańczych celach.
Spis treści
Rodzaje atakόw[edytuj]
Race attack[edytuj]
Sklepy i serwisy, które przyjmują spłatę, jeśli u transakcji 0 potwierdzeń, mogą być skłonne tak zwaną "Race attack". Na przykład, tworzy się 2 transakcji na te same środki, potem one podążają do różnych sklepów/serwisόw - w tym wypadku tylko jeden ze sklepów otrzyma koszty - ten, czyja transakcja pierwszej znajdzie się w block chain.
Sklepy mogą podejmować różne środki ostrożności dla obniżenia ryzyka od podobnego rodzaju ataków, ale jego zawsze warto mieć na myśli, jeśli przyjmujesz transakcje z 0 potwierdzeń.
Finney attack[edytuj]
Jeszcze jeden typ ataku, do którego są skłonne sklepy lub serwisy, które przyjmują transakcje z 0 potwierdzeń. "Finney attack" - to atak, który wymaga uczestnictwo minera, dla włączenia ponownych transakcji do bloku. Ryzyko tego ataku nie może być wyłączone, niezależnie od tego, jakie środki obrony wykorzystał sklep lub serwis, ale ona wymaga uczestnictwa minera i udanego zbiegu okoliczności. Ona kosztuje dużych środków i nie jest trywialnym zadaniem. Tak samo jak i z poprzednim sposobem ataku, sklep lub serwis muszą poważnie rozpatrzyć swoją politykę w celu transakcji z 0 potwierdzeń.
Vector76 attack[edytuj]
Rόwnież nosi nazwę "Atak z jednym potwierdzeniem" - to kombinacja dwόch poprzednich ataków, co daje złoczyńcy możliwość dwukrotnie zużyć środki z transakcji, która ma jedno potwierdzenie.
Brute force attack[edytuj]
Ten atak jest możliwy nawet jeżeli sklep lub serwis czekają na kilka potwierdzeń transakcji, ale wymaga dosyć wysoką wydajność sprzętu (hashrate) tego, ktόrzy atakuje. Złoczyńca odprawia sklepowi transakcję, którą opłaca towar/usługę, przedłużając w tej chwili minić odnogę łańcucha blokόw (block chain fork), do której jest włączona ta transakcja. Po N potwierdzeń sklep wysyła towar. Jeśli złoczyńca znalazł więcej, niż N bloków do tego momentu, on łamie swoją gałąź łańcucha bloków i odzyskuje swoje koszty, jeśli złoczyńcy to się nie udało - atak jest uważany za nieudany, i środki wyruszają do sklepu, jak i należy.
Sukces tego ataku bezpośrednio zależy od szybkości (hashrate) tego, ktόrzy atakuje, i ilości potwierdzeń, których czeka sklep/serwis. Na przykład, jeśli u tego, ktόrzy atakuje, znajduje się 10% potęgi obliczeniowej (hashrate) sieci Bitcoin, a sklep, dla udanego przeprowadzenia transakcji, czeka 6 potwierdzeń - wiarygodność sukcesu takiego ataku złoży 0.1%.
>50% attack”[edytuj]
Jeśli złoczyńca kontroluje więcej 50% potęgi sieci Bitcoin, wiarygodność sukcesu poprzedniego ataku staje 100%. W wyniku tego, że złoczyńca może generować bloki częściej, niż pozostała część sieci, - on może stwarzać swój własny łańcuch bloków, dopόki ona nie stanie dłuższa, niż "uczciwa" część sieci.