Механиката на биткойн копаенето

Шест потвърждения

Единственото изключение от това правило е случая, в който злонамереният нападател има късмет. Както знаем, трудността на мрежата се регулира така, че да отнема средно 10 минути, за да се намери валиден блок. Следователно, на един нападател, който държи 10% от мрежата, са нужни средно 100 минути, за да намери валиден блок (или 200 минути при 5% и т.н.), но това са средни стойности. Теоретично е възможно нападателят да има късмет и да уцели блок в рамките на минута, дори когато са му нужни средно 100. Ако този блок съдържа двоен харч, тогава е възможно фалшивата транзакция  да се включи в блок-веригата, а легитимната такава да бъде отхвърлена (мрежата ще приеме, че легитимната сделка е двоен харч). Колкото по-назад в блок-веригата е една транзакция, толкова повече пъти атакуващият системата трябва да има късмет и да изкопае блок преди останалата част от мрежата, за да разшири веригата си повече от основната. От гледна точка на вероятностите, шансовете за такава атака намаляват експоненциално с всеки следващ блок. Това е равносилно на печалба от лотарията няколко пъти подред. В представянето на идеята си Сатоши Накамото изчислява вероятностите нападателят да успее да направи двоен харч. В следващата таблица Q e процента от цялата мрежа, която контролира потребителя, а P e вероятността той да замени Z брой блокове.

q=0.1

z=0 P=1.0000000

z=1 P=0.2045873

z=2 P=0.0509779

z=3 P=0.0131722

z=4 P=0.0034552

z=5 P=0.0009137

z=6 P=0.0002428

z=7 P=0.0000647

z=8 P=0.0000173

z=9 P=0.0000046

z=10 P=0.0000012

 

q=0.3

z=0 P=1.0000000

z=5 P=0.1773523

z=10 P=0.0416605

z=15 P=0.0101008

z=20 P=0.0024804

z=25 P=0.0006132

z=30 P=0.0001522

z=35 P=0.0000379

z=40 P=0.0000095

z=45 P=0.0000024

z=50 P=0.0000006

 

Solving for P less than 0.1%…P < 0.001

q=0.10 z=5

q=0.15 z=8

q=0.20 z=11

q=0.25 z=15

q=0.30 z=24

q=0.35 z=41

q=0.40 z=89

q=0.45 z=340

 

Може да се види, че атаки с дял 10% от мощността на мрежата ще имат шанс за успех 0.024% и затова е препоръчително, ако продавате нещо скъпо да изчакате транзакцията да е отразена шест блока назад във веригата или казано накратко – да имате шест потвърждения преди да предадете стоката.

Това е всичко за сега. Статията стана дълга. Не разясних как работят басейните за добив (mining pools), но ще оставя това за следващия път. Надявам се, че се забавлявахте и научихте нещо ново. Ако имате въпроси или коментари, не се колебайте да попитате в нашия биткойн форум.

 

Optimization WordPress Plugins & Solutions by W3 EDGE