Ja vien pastāv vienprātības problēma, tad teorētiski nevar izvairīties no 51% uzbrukumiem. Uzbrucējs kontrolē galveno tīklu, izmantojot 51%. apgriežami bloki, kā rezultātā veidojas Double zieds.
priekšzināšanas
Kā decentralizētai sadalītai publiskai datu glabāšanas sistēmai blokķēdei nav centralizētas pārvaldības organizācijas pārvaldībai. Tā vietā to kopīgi uztur sadalīti mezgli, izmantojot kriptogrāfijas protokolus, un katrs mezgls uztur visu sistēmu. Virsgrāmatas konsekvence ir jānodrošina, izmantojot pamatā esošais konsensa protokols. Blokķēdēm ir dažādi praktiski pielietojumi dažādos reālās dzīves scenārijos, piemēram, publiskās ķēdēs, privātās ķēdēs un alianses ķēdēs. Dažādas ķēdes izmanto dažādus vienprātības algoritmus, piemēram, Bitcoin izmantoto PoW konsensu un Ethereum izmantoto PoW konsensu. , DPoS. vienprātība, ko izmanto EOS, un dažādos konsensa algoritmos iesaistītā drošība ir atšķirīga.
Šajā rakstā tiks detalizēti aprakstīti uzbrukuma riski, kas pastāv Bitcoin un Ethereum izmantotajos PoW konsensa protokolos.
PoW vienprātības mehānisms
Vispirms apskatīsim, kas ir PoW konsensa protokols.
No decentralizētas virsgrāmatas sistēmas viedokļa katram mezglam, kas pievienojas sistēmai, ir jāsaglabā pilnīga virsgrāmata, taču katrs mezgls nevar vienlaikus uzturēt kontus, jo mezgli atrodas dažādās vidēs un saņem atšķirīgu informāciju kuram mezglam ir tiesības kārtot kontus. Bitcoin un Ethereum blokķēdes atrisina decentralizētās grāmatvedības sistēmas konsekvences problēmu, izmantojot konkurētspējīgu grāmatvedību, tas ir, mehānismu, kas izmanto katra mezgla skaitļošanas jaudu, tas ir, "skaitļošanas jaudu", lai konkurētu par grāmatvedības tiesībām ir “ieguves rūpniecība”. )
Tomēr kuram ir tiesības decentralizētā sistēmā noteikt sacensību iznākumu? Bitcoin un Ethereum blokķēdes sistēmas tiek īstenotas, izmantojot vienprātības mehānismu, ko sauc par darba pierādījumu (PoW).
PoW (Proof of Work), tas ir, "Proof of Work" Vienkārši sakot, PoW ir sertifikāts, kas apliecina, ka darba gals ir paveicis noteiktu darba apjomu. Darba galam ir jāpaveic noteikts sarežģīts darbs, lai iegūtu rezultātu, un verificētājs izmanto rezultātus, lai pārbaudītu, vai darba gals ir paveicis atbilstošo darbu.
Veicot ieguvi, izmantojot vienprātību par darba pierādījumu, ir jāievēro trīs noteikumi:
Tikai viena persona var veiksmīgi reģistrēt kontus noteiktā laika periodā
Sacensties, lai iegūtu vienīgās grāmatvedības tiesības, risinot kriptogrāfijas mīklas (t.i., darba apliecinājumu)
Citi mezgli pārbauda un kopē grāmatvedības rezultātus
Piemēram, ņemot vērā virkni "blockchain", darba slodzes prasība, ko mēs sniedzam, ir tāda, ka mēs varam savienot veselu skaitļu vērtību virkni, ko sauc par nonce pēc šīs virknes, un veikt SHA256 jaukšanas operāciju ar sasaistīto virkni If Iegūtais jaukšanas rezultāts (izteikts heksadecimālā formā). veidlapa) sākas ar vairākām 0, tad pārbaude ir nokārtota. Lai sasniegtu šo darba pierādījuma mērķi, mums ir nepārtraukti jāpalielina nonce vērtība un jāveic SHA256 jaucējdarbība jaunajai iegūtajai virknei.
Hash (iepriekšējā jauktā vērtība, darījumu ieraksta informācijas kopa) = 29329385BNDH749 Hash (iepriekšējā jauktā vērtība, darījuma ieraksta informācijas kopa, nejaušais skaitlis nonce) = 000029329385BNDH749
Piemēram, bloka augstuma 512884 hash Bitcoin ir:
000000000000000000188d44fd53064469b17c3590a0c4df8e90626d11e25a69
Pierādījums darbam, kas nepieciešams, lai ģenerētu šo bloku caur grāmatvedību, ir 16**18 hash aprēķini, kas ir ļoti liels aprēķinu apjoms.
51% uzbrukums
Pēc īsas iepazīstināšanas ar vienkāršiem bloku iepakošanas principiem, izmantojot grāmatvedību un PoW, atgriezīsimies pie mūsu jautājuma, kas ir 51% uzbrukums un kas ir dubultu tēriņu uzbrukums?
Divkāršu tēriņu uzbrukums vienkārši attiecas uz uzbrukumu, kurā marķieris tiek izmantots, izmantojot vairākas maksājuma metodes, kas nozīmē, ka viena un tā pati valūta tiek iztērēta vairākas reizes. Ir daudz veidu, kā uzsākt dubultu tēriņu uzbrukumu, tostarp šādas formas:
51% uzbrukums
Rasu uzbrukums
Vector 76 uzbrukums
alternatīvās vēstures uzbrukums
Tas ir, ja uzbrucējs kontrolē vairāk nekā 50% no visa tīkla skaitļošanas jaudas, viņš var īstenot dubultu tēriņu, izmantojot 51% uzbrukumu.
Šeit mēs analizējam tikai 51% uzbrukuma procesu.
51% uzbrukums, kas pazīstams arī kā vairākuma uzbrukums. Šis uzbrukums nodrošina divkāršus izdevumus, kontrolējot tīkla skaitļošanas jaudu. Ja uzbrucējs kontrolē vairāk nekā 50% no skaitļošanas jaudas tīklā, tad periodā, kad viņš kontrolē skaitļošanas jaudu, viņš var mainīt bloku, veikt reversos darījumus un panākt dubultu tēriņu.
PoW konsensa protokolā blokķēdes sistēma ļauj vienlaikus pastāvēt vairākām dakšveida ķēdēm, un katra ķēde var paziņot ārējai pasaulei, ka tā ir pareiza. "Neatkarīgi no tā, kurā brīdī garākā ķēde tiek uzskatīta par galveno ķēdi, kurā ir visvairāk darba?"
Īsi simulēsim 51% uzbrukuma procesu:
Ja ir šāds uzbrucējs, tas apzināti pārraida pirmo darījumu pusei tīkla un otro transakciju pārraida uz otru tīkla pusi, un tad abās pusēs ir tieši divi kalnrači, lai iegūtu grāmatvedības tiesības gandrīz vienādi. laiks, un to attiecīgās uzskaites tiesības ir Bloks tiek pārraidīts uz šo brīdi, kad sākotnējā vienotā virsgrāmata ir sadalīta.
Tālāk, ja nākamais kalnracis izvēlēsies turpināt grāmatvedības uzskaiti, pamatojoties uz A, filiāle A būs garāka nekā filiāle B. Saskaņā ar blokķēdes noteikumiem tiks atpazīta garākā filiāle, īsākā filiāle tiks pamesta, un virsgrāmata joprojām būs spēkā. be atgriezīsies pie viena, un derīgs ir tikai viens darījums.
Šajā laikā tiek atpazīts A zars un apstiprināts attiecīgais darījums. Ja uzbrucējs iegūst preci, viņš nekavējoties pārvēršas par kalnraču un iegūst divas secīgas uzskaites tiesības un pēc tam pievieno divus blokus filiālei B.
Tad filiāle B kļūst par atpazītu filiāli. Šajā brīdī A filiāle vairs nav izveidota. tērēt uzbrukums ir veiksmīgi pabeigts. Problēma ir tāda, ka tad, kad B atpaliek, ir ļoti grūti piespiest to pārspēt zaru A, un veiksmes iespējamība ir ļoti zema, tomēr, ja uzbrucējs kontrolē vairāk nekā 50% no skaitļošanas jaudas visu tīklu, tad pat ja tas atpaliek, daudz, un tas ir tikai laika jautājums, kad viņš panāks. Šis ir iepriekš minētais "51% uzbrukums".
Bitcoin Gold 51% uzbrukuma gadījuma analīze
Reālajā blokķēdes pasaulē ir bijuši daudzi dubulti tēriņi, ko izraisījuši 51% uzbrukumi.
Piemēram, Bitcoin Gold (BTG monētas) dubulto izdevumu problēma ir 51% uzbrukums.
Uzbrucējs kontrolē vairāk nekā 51% no skaitļošanas jaudas Bitcoin Gold tīklā.
Tajā pašā laikā viņš nosūtīja šos BTG uz citu viņa kontrolēto maku Mēs nosaucām šo filiāli B.
Pēc darījuma apstiprināšanas filiālē A uzbrucējs nekavējoties pārdod BTG un saņem skaidru naudu. Šajā laikā zars A kļūst par galveno ķēdi.
Pēc tam uzbrucējs mīnu zarā B. Tā kā tas kontrolē vairāk nekā 51% no skaitļošanas jaudas, uzbrucējam ir liela varbūtība iegūt uzskaites tiesības, tāpēc drīz B zara garums pārsniedz galveno ķēdi (tas ir, atzara garumu). A), tad filiāle B kļūs par galveno ķēdi, un darījumi filiālē A tiks atgriezti, lai atjaunotu datus pēdējā pareizajā stāvoklī.
Citiem vārdiem sakot, filiāle A tiek atjaunota tādā stāvoklī, kādā uzbrucējs uzsāka pirmo darījumu, un BTG, ko uzbrucējs iepriekš bija konvertējis skaidrā naudā, atkal ir viņa rokās.
Visbeidzot, uzbrucējs nosūta šos BTG uz citu savu maku. Tādā veidā uzbrucējs kontrolēja vairāk nekā 51% no skaitļošanas jaudas, lai panāktu viena un tā paša marķiera "divkāršu tēriņu".
Saskaņā ar šī uzbrukuma blokķēdes datu ziņojumu, uzbrucējs veiksmīgi apgrieza 22 blokus. Šajā uzbrukumā iesaistītā Bitcoin Gold adrese ir saņēmusi vairāk nekā 388 200 USD BTG Pieņemot, ka visi šie darījumi ir saistīti ar dubultiem izdevumiem, uzbrucējs līdz 18,6 miljoniem no biržas, iespējams, ir nozagti naudas līdzekļi
Papildus dubultu tēriņu problēmai, kas radās Bitcoin Gold, ir daudz dubultu tēriņu uzbrukumu gadījumu, ko izraisījuši 51% uzbrukumi:
Anonīmā digitālās valūtas robeža reiz dažu stundu laikā ļaunprātīgi ieguva vairāk nekā 35 miljonus #xvg aptuveni 1,75 miljonu ASV dolāru vērtībā.
Japānas kriptovalūtu monacoin acīmredzot skāra bloka atskaitīšanas uzbrukums pēc tam, kad kalnracis ieguva līdz pat 57% no tīkla jaukšanas jaudas.
Litecoin Cash (LCC) oficiālās ziņas, LCC ir cietusi no 51% uzbrukuma.
Arī digitālā valūta #zen ir cietusi 51% uzbrukumu.
Nesen Ethereum Classic #etc cieta 51% uzbrukumu.

