Копането на биткойн е процес, чрез който информацията за транзакциите на биткойн се валидира и съхранява в блокчейна. Това също е стимул за хората да предоставят своята изчислителна мощност, за да помогнат за поддръжката на мрежата, като по този начин гарантират, че транзакциите са валидно изпълнени и защитени.
Транзакциите се събират от миньорите в така наречените „блокове“. Всеки блок съдържа хеш на предишния блок, като по този начин всички блокове заедно образуват верига, откъдето идва и терминът „блокчейн“. Можете също да посетите Биткойн революция ако се интересувате от търговия с биткойни.
BTC транзакция
За да добавите друга транзакция към блокчейн, трябва да я „копирате“.
Копането не е само за добавяне на нови транзакции в блокове – това е също така да се уверите, че всичко във вашата версия на блокчейна е точно. По-специално, той потвърждава, че нито една от вашите транзакции няма да бъде обезсилена от последващи транзакции и така всички ваши сделки ще бъдат завършени, както се очаква.
Когато бъде инициирана нова транзакция, тя трябва да влезе в ред, за да бъде копана в блок. Транзакциите са изброени в реда, в който са получени от всички в мрежата. Миньорите имат софтуер, който избира кой сделки отидете на следващия ред за своя блок, така че няма гаранция, че дадена транзакция ще бъде добавена към следващия блок, но обикновено само транзакциите с висока такса остават жизнеспособни достатъчно дълго, за да се гарантира включване в няколко блока.
Когато софтуерът за копаене избира нов набор от транзакции, които да работи на всеки 10 минути или около това (текущата средна стойност), той избира според критерии, предназначени да дадат предимство на „честните“ миньори пред „измамните“, които се опитват да правят неща като двойни разходи.
Първият миньор, който добави даден набор от транзакции в блок, получава своя блок добавен към края на блокчейна, а след това всички други възли в мрежата започват да работят по разширяването на тази верига (оттук и „блокчейн“). Когато вашият биткойн софтуер влезе в мрежата peer-to-peer и започне да слуша за нови транзакции, той няма начин да разбере кои са предназначени за вас и кои може да са насочени другаде. Причината, поради която можем да се доверим на нашия биткойн софтуер, е, че няма никой друг, на когото трябва да има доверие; всеки възел, свързан към биткойн мрежата, валидира всяка транзакция, преди да я приеме за реална. Ако се опитвате да получите някой, който изобщо не ви вярва (и да кажем, че е способен да управлява възел в биткойн мрежата), трябва да го заблудите.
За да заблудите възел, трябва да включите някои данни във вашата транзакция, които казват на техния софтуер, че е валиден, дори и да не е. Това се нарича "пренасочване". На практика това означава, че поне една от другите транзакции във вашия блок ще бъде невалидна от вашата, защото харчите монети от друга транзакция, която се е случила по-късно в хронологичен план, но е поставена по-рано в списъка на mempool от някой друг. Помислете за получател, който се опитва да измами търговец, като изпраща копие на едни и същи пари няколко пъти; само един ще спечели и ще стане валиден, докато всички останали ще загубят средствата си за това, че са завършили на второ място. Начинът, по който процесът на копаене решава кои транзакции са невалидни и кои са валидни, е според това дали имат „по-висок“ или „по-нисък“ хеш от текущия блок. Всъщност, ако изобщо промените някой аспект на транзакция в новия си блок — например увеличите таксата й, за да бъде по-висока — това ще създаде напълно различна хеш стойност и по този начин различен резултат. Процесът на копаене използва определени данни от всяка транзакция, за да генерира уникален идентификационен номер, който му помага да следи кои транзакции влизат в кои блокове. Този идентификационен номер се нарича корен на Merkle.
Последователността от събития за копаене на блок
Последователността на събитията за минното дело един блок по принцип върви така:
1) Софтуерът за копаене събира нови транзакции от peer-to-peer мрежата и ги поставя в mempool (списък с транзакции, чакащи да бъдат копани в блок).
2) Софтуерът за копаене избира транзакциите от mempool, които плащат достатъчно такси, за да бъдат включени в новия блок.
3) Софтуерът за копаене изчислява подходящ nonce (случайно число). 4) Софтуерът за копаене използва nonce заедно с други данни за текущия блок, за да генерира друго число: хеша на блока.
5) Ако този хеш не отговаря на определени специфични изисквания, той се връща към стъпка 3 за още веднъж. Ако е така, значи успешно сме копали нов блок!
Всичко това се извършва чрез хардуер за „копаене“ — ASIC, специално проектирани за обработка на SHA-256, използвайки ефективна комбинация от хардуер и софтуер. За да спечелите възможно най-много биткойни с вашия хардуер за копаене, искате да изчислите хешовете възможно най-бързо.
