Двойното харчене може да подкопае цялото доверие в дадена криптовалута, поради което са положени толкова много усилия, за да се гарантира, че този тип измама няма да се случи.
Транзакциите с криптовалута са сигурни и надеждни благодарение на блокчейн технологията. Въпреки това, както при повечето иновативни системи, блокчейнът има експлоатируеми уязвимости, които могат да доведат до двойно харчене. Но какво е двойно харчене и как се предотвратява?
Какво е двойно харчене?
Двойно харчене възниква, когато един субект изразходва един и същ токен на криптовалута повече от веднъж. Това е причинено от дефект в цифровите валути, който ги прави лесно възпроизводими.
Информацията в блокчейн мрежата може да се променя по време на транзакции, при условие че са изпълнени определени условия. Когато тези условия са изпълнени, промененият блокове от транзакции може да влезе в блокчейна, което позволява на извършителя да придобие отново изразходвани преди това крипто токени.
За да разберете по-добре как се случва това, ето опростено описание на процеса. Когато транзакция се извърши в блокчейн мрежа, да речем биткойн, тя създава блок, който съдържа данните за транзакцията, данните от предишния блок и времеви печат. Блокът има криптиран код, наречен хеш.
The хора, които копаят биткойни в биткойн мрежата след това проверете транзакцията чрез консенсусен алгоритъм за доказателство за работа, затворете блока и създайте нов блок. Новият блок съдържа клеймото за време, хеша на предишния блок и данните за новата транзакция. След това победилият копач получава блокови награди (BTC) за проверка на хеша.
За да извърши успешно двойно харчене, извършителят трябва да изкопае таен блок, който изпреварва създаването на действителния блок. За да направи това, извършителят трябва да въведе тайния блок преди новия блок, така че мрежата, измамен да мисли, че това е най-новият набор от нарастващия блок, добавя фалшивия блок към непрекъснато нарастващия верига. След това извършителят може да си върне използваните преди това крипто токени.
Въпреки че двойното харчене е добре известен феномен в крипто пространството, няма документиран случай. Това е така, защото проверката на транзакциите е сложен процес, който изисква огромна изчислителна мощност. Фалшифицирането или дублирането на блок е интензивно, тъй като извършителите трябва да работят пред всеки друг копач в блокчейна.
Защо двойното харчене е проблем?
Двойното харчене е обида за сигурността на блокчейн мрежата. Това се случва, когато има използваема слабост.
Освен това се предполага, че блокчейн мрежата е сигурна и надеждна. Ако се случи двойно харчене в мрежа за криптовалута, това създава недоверие към тази криптосистема, демотивирайки инвеститорите. И в крайна сметка стойността на токена ще падне.
Освен това двойното харчене е цифрова кражба. Хакерът печели, докато някой друг в мрежата, обикновено търговец, губи. Извършителят запазва собствеността върху стоките на търговеца и крипто токена.
Примери за атаки с двойно харчене
Има различни форми на атаки с двойно харчене, които киберпрестъпниците използват. Ето някои от тях:
51% атака
Атаката от 51% е най-широко обсъжданата форма на двойно харчене. Това се случва, когато миньор (или група миньори) контролира по-голямата част (повече от 50%) от транзакциите за валидиране на изчислителната мощност в мрежата.
Когато това се случи, те могат да диктуват транзакции, да създават нови блокове, да възстановяват вече изразходваните крипто и да присъждат крипто токени. Това им дава силата да харчат двойно цифрови монети.
Атаката от 51% е по-малко вероятно да се случи в по-утвърдени криптовалути, като биткойн. Това се дължи на огромния брой миньори в мрежата и трудност при хеширане. Въпреки това криптовалутите с по-малки мрежи, като нови или разклонени, може да са изложени на риск.
През 2014 г. GHash.io, пул за копаене, който работи от 2013 до 2016 г., за кратко надхвърли 51% от изчислителната мощност на биткойн върху биткойн. Това развитие породи значителни опасения относно сигурността на мрежата. След това Gnash.io доброволно ограничи своята изчислителна мощност на 39,99%, за да възстанови доверието в мрежата.
Атака на Фини
Този тип атака с двойно харчене беше популяризирана и кръстена на Hal Finney. При атака на Finney хакерът не изисква 51% от мощността на хеширане. За да бъде успешен, търговецът трябва да приеме непроверена транзакция от хакера, който е миньор.
Хакерът генерира блок, където кредитира крипто жетони на себе си, като инициира транзакция от адрес X към адрес Y (и двата принадлежат на него), без да я излъчва към мрежата. Той продължава да извършва друго плащане със същите крипто токени от адрес X до адрес Z, който принадлежи на търговец.
Ако търговецът приеме непотвърдените транзакции без проверка от блокчейна, хакерът освобождава блока, който включва неговата първоначална транзакция. Мрежата анулира транзакцията с търговеца, след като търговецът е предоставил стоки или услуги на хакера. Това позволява на хакера да харчи двойно.
Race Attack
Тази атака е по-лесна за изпълнение от атаките 51% и Finney. При състезателна атака съществува „състезание“ между две транзакции.
Хакерът използва различни машини, за да изпрати един и същ токен на двама търговци. Ако търговецът изпрати стоки или услуги преди транзакцията да бъде потвърдена, той ще открие, че транзакцията не е била приета по време на процеса на копаене.
Как Blockchain предотвратява двойното харчене
Блоковите вериги предпазват от двойно харчене консенсусни алгоритми, като:
Доказателство за работа (PoW)
Доказателството за работа е силно конкурентен процес, който изисква огромно количество енергия. В този консенсусен механизъм миньорите използват сложни компютри, за да отгатнат хеша на транзакционните блокове.
Хешът е криптиран, уникален 64-цифрен шестнадесетичен код, който притежава всяка транзакция. Този процес изразходва изчислителна мощност, за да докаже автентичността на дадена транзакция.
След като транзакцията бъде потвърдена, успешният копач добавя транзакцията към децентрализирана цифрова книга. В края на процеса успешният копач получава награди за блокове в родния цифров токен.
Bitcoin, Bitcoin Cash, Litecoin, Monero и Dogecoin са популярни криптовалути, които използват този консенсусен алгоритъм.
Доказателство за залог (PoS)
В Proof-of-Stake участниците в крипто мрежата удостоверяват блокови транзакции и се наричат валидатори. Валидаторите предлагат (или „залагат“) някои от своите крипто токени в интелигентен договор, за да спечелят правото да проверяват транзакции, преди да ги добавят към разрастващата се блокова верига.
Мрежата избира честен валидатор въз основа на техните заложени токени и продължителността на залагането. След като бъде избран, победителят проверява транзакцията, която другите валидатори потвърждават.
Точно като PoW, валидаторите също получават награда под формата на доход след удостоверяване на нови транзакции. Ако мрежата намери някой валидатор за нечестен, той губи част или всичките си заложени токени като наказание.
Този процес е по-бърз и изисква по-малко изчислителна мощност и енергия от PoW. Следователно участниците в блокчейна могат ефективно да действат като валидатори.
Ethereum 2.0, Cardano, Tezos и Solana използват PoS.
Делегирано доказателство за залог (DPoS)
Този тип алгоритъм за консенсус на PoS задължава потребителите в блокчейна да използват своите цифрови токени, за да гласуват за честни валидатори, наречени „делегати“. Един делегат се избира произволно, за да валидира нови транзакции и да ги добави към блокчейн.
След плащане делегатът разпределя блоковите награди на потребителите, които са гласували за тях.
Криптовалутите, които използват алгоритъма DPoS, включват EOS, Ark, Tron и Lisk.
Все още няма случай, но двойното харчене е възможност
Въпреки че няма потвърдени случаи, появата на нови и раздвоени криптовалути и последните технологични постижения може да предизвикат двойни изненади за разходите. Следователно трябва да се защитите, като извършвате транзакции в защитени блокчейни на криптовалута. И като правило, изчакайте миньорите да потвърдят транзакциите, преди да пуснете вашите токени, стоки или услуги.