Какво е копаене на криптовалута?
Съдържание
Въведение
Как работи копаенето?
Могат ли да се копаят всички криптовалути?
Доказателство за работа (PoW)
Различни методи за копаене на криптовалута
Процесорно копаене
Копаене чрез графични процесори
ASIC копаене
Пулове за копаене
Заключителни мисли
Какво е копаене на криптовалута?
НачалоСтатии
Какво е копаене на криптовалута?

Какво е копаене на криптовалута?

Начинаещ
Published Dec 6, 2018Updated Mar 22, 2022
8m

Резюме

Копаенето на криптовалута се отнася до процеса на проверка и валидиране на блокчейн трансакции. Това е и процесът, който създава нови единици криптовалути. Работата, извършена от копачите, изисква интензивни изчислителни ресурси, но това е, което поддържа блокчейн мрежата сигурна. Честните и успешни копачи са възнаградени за работата си с новосъздадени криптовалути плюс такси за трансакции.


Въведение

Копаенето е процес, при който трансакциите с криптовалута между потребителите се проверяват и добавят към публичната книга на блокчейн. Операциите по копаене също са отговорни за въвеждането на нови монети в съществуващото предлагане в обращение.

Копаенето е един от ключовите елементи, които позволяват на биткойн блокчейна да работи като разпределен регистър. Всички трансакции се записват в peer-to-peer мрежа без нужда от централен орган. В тази статия ще обсъдим копаенето, както се случва в биткойн мрежата, но процесът е подобен при алткойните, които приемат същия механизъм за копаене.


Как работи копаенето?

Когато се правят нови блокчейн трансакции, те се изпращат в пул, наречен пул с памет. Работата на копача е да провери валидността на тези чакащи трансакции и да ги организира в блокове. Можете да мислите за блок като страница от блокчейн книгата, в която са записани няколко трансакции (заедно с други данни).
По-конкретно, възелът за копаене е отговорен за събирането на непотвърдени трансакции от пула с памет и сглобяването им в блок кандидат. След това копачът ще се опита да преобразува този кандидат блок във валиден, потвърден блок. Но за да направи това, той трябва да намери решение на сложен математически проблем. Това изисква много изчислителни ресурси, но всеки успешно добиван блок ще даде на копача блок награда, състояща се от новосъздадени криптовалути плюс такси за трансакции. Нека разгледаме по-подробно процеса на копаене.


Стъпка 1 - Хеширане на трансакции

Първата стъпка от копаене на блок е да вземете чакащи трансакции от пула с памет и да ги изпратите, една по една, чрез хеш функция. Всеки път, когато подадем част от данни чрез хеш функция, ние ще генерираме резултат с фиксиран размер, наречен хеш. В контекста на копаене, хешът на всяка трансакция се състои от низ от цифри и букви, който работи като идентификатор. Хешът на трансакцията представлява цялата информация, съдържаща се в тази трансакция.
Освен хеширане и листване на всяка трансакция поотделно, копачът добавя и персонализирана трансакция, в която сам си изпраща блок наградата. Тази трансакция се нарича трансакция с coinbase и е това, което създава чисто нови монети. В повечето случаи трансакцията с coinbase е първата, която се записва в нов блок, последвана от всички чакащи трансакции, които искат да потвърдят.

Стъпка 2 - Създаване на дърво на Merkle

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

Стъпка 3 - Намиране на валиднен хедър на блока (хеш на блока)

Хедърът на блока работи като идентификатор за всеки отделен блок, което означава, че всеки блок има уникален хеш. Когато създават нов блок, копачите комбинират хеша на предишния блок с основния хеш на своя кандидат блок, за да генерират хеш на нов блок. Но освен тези два елемента, те също трябва да добавят произволно число, наречено nonce.

Така че, когато се опитва да потвърди своя кандидат-блок, копачът трябва да комбинира основния хеш, хеша на предишния блок и nonce и да ги изпрати всички чрез хеш функция. Неговата цел е да създаде хеш, който се счита за валиден.

Основният хеш и хешът на предишния блок не могат да бъдат променени, така че копачите трябва да променят стойността на nonce няколко пъти, докато бъде намерен валиден хеш.

За да се счита за валиден, резултатът (хеш на блока) трябва да бъде по-малък от определена целева стойност, която се определя от протокола. При копаене на биткойн хешът на блока трябва да започва с определен брой нули. Това наричаме трудност при копаене.

Стъпка 4 - Излъчване на изкопания блок

Както току-що видяхме, копачите трябва да хешират хедъра на блока отново и отново, с различни стойности на nonce. Те повтарят тази работа, докато намерят валиден хеш на блок. След това копачът, който го е намерил, ще излъчи своя блок към мрежата. Всички други възли ще проверят дали блокът и неговият хеш са валидни и, ако е така, ще добавят новия блок в своето копие на блокчейна.

В този момент кандидат-блокът става потвърден блок и всички копачи преминават към копаене на следващия. Всички копачи, които не могат да намерят валиден хеш навреме, изхвърлят своя кандидат блок и надпреварата за копаене започва отначало.


Регулиране на трудността на копаене

Трудността на копаене редовно се коригира от протокола, като се гарантира, че скоростта, с която се създават нови блокове, остава постоянна. Това прави емитирането на нови монети стабилно и предвидимо. Трудността се коригира пропорционално на количеството изчислителна мощност (хешрейт), предназначена за мрежата.

Като такава, всеки път, когато нови копачи се присъединят към мрежата и конкуренцията се увеличава, трудността при хеширане ще се повиши, предотвратявайки намаляването на средното време за блок. За разлика от това, ако много копачи решат да напуснат мрежата, трудността при хеширане ще намалее, което ще направи по-малко трудно копаенето на нов блок. Тези корекции поддържат времето за блок постоянно, независимо от общата мощност на хеширане на мрежата.


Ами ако два блока се копаят едновременно?

Понякога се случва двама копачи да излъчват валиден блок едновременно и мрежата се оказва с два конкуриращи се блока. Тогава копачите започват да копаят следващия блок въз основа на блока, който са получили първи. Това кара мрежата да се раздели (временно) на две различни версии на блокчейна.

Състезанието между тези блокове ще продължи, докато следващият блок не бъде добит, върху който и да е от конкуриращите се блокове. Когато се копае нов блок, който и блок, който е дошъл преди него, ще се счита за победител. Блокът, който е изоставен, се нарича сирак или остарял блок, което кара всички копачи, които са избрали този блок, да преминат обратно към копаене на веригата на блока победител.


Могат ли да се копаят всички криптовалути?

Биткойн е най-популярният и утвърден пример за копаема криптовалута, но не всички криптовалути могат да се копаят. Копането на биткойн се основава на консенсусен алгоритъм, наречен доказателство за работа (PoW).


Доказателство за работа (PoW)

Доказателство за работа (PoW) е оригиналният блокчейн консенсусен механизъм, създаден от Сатоши Накамото. Той беше представен в бялата книга за биткойн през 2008 г. Накратко, PoW определя как блокчейн мрежата постига консенсус между всички разпределени участници без посредници на трети страни. Постига това, като изисква значителна изчислителна мощност, за да демотивира лошите участници.
Както видяхме, трансакциите в PoW мрежа се проверяват от копачи. За да спечелят правото да копаят следващия блок, копачите се състезават, като решават сложни криптографски пъзели със специализиран хардуер за копаене. Първият копач, който намери валидно решение, може след това да излъчи своя блок от трансакции към блокчейна и да получи блок награда.

Количеството криптовалута в блок наградата варира в различните блокчейн. Например, в блокчейна на биткойн, копачите могат да получат 6,25 BTC като награда за блок към декември 2021 г. Количеството BTC в наградата за блок намалява наполовина на всеки 210 000 блока (приблизително на всеки четири години) поради механизма на халвинг.


Различни методи за копаене на криптовалута

Няма единен метод за копаене на криптовалути. Оборудването и процесът се променят с появата на нов хардуер и консенсусни алгоритми. Обикновено копачите използват специализирани компютърни модули за решаване на сложни криптографски уравнения. Нека да разгледаме как работят някои от най-често срещаните методи за копаене.


Процесорно копаене

Копаенето чрез централен процесор (CPU) включва използване на процесора на компютъра за изпълнение на хеш функциите, изисквани от PoW. В първите дни на биткойн цената и бариерата за навлизане за копаене бяха ниски. Дори обикновен процесор можеше да се справи с трудността при копаене, така че всеки можеше да се опита да копае BTC и други криптовалути.

Въпреки това, тъй като повече хора започнаха да копаят и хешрейтът на мрежата се увеличи, печелившото копаене ставаше все по-трудно. На всичкото отгоре нарастването на специализиран хардуер за копаене с по-голяма изчислителна мощност в крайна сметка направи копаенето чрез процесор почти невъзможно. Днес копаенето чрез процесор вече не е жизнеспособна опция, тъй като всички копачи използват специализиран хардуер.


Копаене чрез графични процесори

Графичните процесори (GPU) са предназначени за паралелна обработка на широк спектър от приложения. Въпреки че обикновено се използват за видео игри или изобразяване на графики, те могат да се използват и за копаене.

Графичните процесори са сравнително евтини и по-гъвкави от популярния хардуер за копаене на ASIC. Някои алткойни могат да бъдат добивани с графични процесори, но ефективността зависи от трудността и алгоритъма на копаене.


ASIC копаене

Специфичната за приложения интегрална схема (ASIC) е проектирана да служи на една конкретна цел. В криптосвета се отнася до специализиран хардуер, разработен за копаене. ASIC копаенето е много ефективно, но скъпо.

Копаенето е съревнование. За да копаете печелившо, имате нужда от конкурентен хардуер за копаене. Тъй като ASIC копачите са на авангарда на технологиите за копаене, цената на единица е много по-висока от CPU или GPU. Също така, непрекъснатият напредък в ASIC технологията бързо прави по-старите модели ASIC нерентабилни, което означава, че те често трябва да бъдат подменяни. Това прави ASIC копаенето един от най-скъпите начини за копаене, дори без да се включват разходите за електроенергия.


Пулове за копаене

Тъй като блок наградата се дава на първия успешен копач, вероятността да се намери правилния хеш е изключително малка. Копачите с малък процент от мощността на копаене имат много малък шанс сами да открият следващия блок. Пуловете за копаене предлагат решение на този проблем.

Пуловете за копаене са групи от копачи, които обединяват своите ресурси (хеш мощност), за да увеличат вероятността за спечелване на блок награди. Когато пулът успешно намери блок, копачите ще разделят наградата поравно между всички в пула, в зависимост от количеството внесена работа.

Пуловете за копаене могат да бъдат от полза за отделните копачи по отношение на разходите за хардуер и електроенергия, но тяхното доминиране в копаенето поражда опасения за 51% атака върху мрежата.


Заключителни мисли

Копаенето на криптовалута е важна част от биткойн и други PoW блокчейни. Това е едно от нещата, които поддържат мрежата сигурна и емитирането на нови монети стабилно. Копаенето има определени предимства и недостатъци, като най-очевидните са потенциалните печалби, които получавате от блок наградите. Печалбите от копаене обаче могат да бъдат повлияни от редица фактори, включително разходите за електроенергия и пазарните цени. Няма гаранция, че ще реализирате печалби, така че преди да се заемете с копаене на криптовалута, трябва самостоятелно да проучите нещата и да оцените всички потенциални рискове.