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

Какво е Retargeting

На всеки 10 минути майнърите създават блок. Всъщност 10 минути е приблизителното време, понякога създаването може да се случи за 5 мин след създаването на предишния, понякога за 15. Това число варира спрямо изчислителната мощ на мрежата в съответния период. 10 минути на всеки е „перфектното“ време.

На всеки 2016-ти блок (приблизително на всеки две седмици) всеки Биткойн клиент съпоставя времето, за което са създадени последните 2015 блока, с перфекното време и съответно ретаргетира, модифицира целта с процентната разлика. По този начин прави решаването на проблема (Proof of Work) за всеки блок по-труден или по-лесен за следващите 2016 блока, така че отклонението от 10 минути на блока да е колкото се може по-минимално.

Еднократно ретаргетиране не може да промени трудността на копане с повече от 4 пъти в която и да е посока.

Ето графика на трудността през годините.

Дали може някой да влезне за 1500 блока с много мощен хардуер, да вдигне трудността до небето, и да се изнесе след ретаргетирането, като остави мрежата в mining loop, с което да я погуби? С биткойн – не, но с някои shitcoins се е случвало и е смях общо взето.

Какво е Halving

Въпросът, който мъчи много хора, е кой ги създава тези биткойни. Halving e процесът, при който се създават биткойни. От количеството идеи, заложени в биткойн, няколко са абсолютно непроменими. Една от тях е моделът на създаване на нови биткойни и тяхното разпределяне след създаването.

След като майнър създаде нов блок и обяви на всички участници, че има кандидат блок, всички трябва да го валидират. Веднага след успешна валидация, блокът се записва в блокчейна и всички започват копането на следващия. Понякога два майнъра могат да обявят създаването на нов кандидат блок в рамките на милисекунди, тогава блокчейнът се fork-ва временно, но това е тема за друг пост. Копачът, който е създал нов блок получава награда за свършената работа – тази награда се нарича Coinbase. Това са специален тип биткойни, които временно нямат input и не могат да се харчат в следващите 100 блока. Целта на тази забрана е именно заради възможното fork-ване на мрежата, което е на седмицата поне веднъж.

Halving процесът е свързан именно с тази награда. Тя се нарича Coinbase. Halving-ът е периодичното и прогресивно намаляне на награда за копачите – на всеки 4 години (210 000 блока) биткойните, включени в тази награда намаляват по 2. В началото бяха 50 биткойна на блок, след това бяха 25, в момента са по 12,5 след последния halving на юли месец миналата година. До 2140 стойността на награда прогресивно ще стигне 0, паралелно с това дефлационният характер на валутата неминуемо ще се усилва.

Според Bitcoin Core клиентът, main.cpp, първоначалният nSubsidy е бил 50 * coins, което е константа – 100 милиона satoshi.

bitcoin halving

В кода има ред, който казва:

Consensus.nSubsidyHalvingInterval = 210000;

С други думи на всеки 210 000 блока, количеството на биткойни, произведени за награда намалява наполовина. Мрежата работи и кодът следи колко блока са решени – в момента, в който стигне числото 210 000, се случва halving и намалява наградата наполовина.

На ред 1574 от кода е описано какво се случва, когато максималният брой на произведени биткойни достигне 21 милиона.

If (halvings >= 64)
return 0;

След като мрежата достигне 64 halving-а, производството на nSubsidy (биткойн) спира. Казано простичко след като 50 се раздели 64 пъти през около 4 години период за всяка итерация на делене – и последните сатошита ще са произведени – ще имаме 21 милиона биткойна в обръщение.

Използвал съм материали от coindesk.com
снимка – equities.com

Save

Save

Остави коментар