July avatar

Retargeting vs Halving

ph1x

Published: 14 Jun 2017 › Updated: 14 Jun 2017Retargeting vs Halving

Retargeting vs Halving

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

Какво е 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 милиона биткойна в обръщение.

Leave Retargeting vs Halving to:

Written by

Blockchain enthusiast, FrontEnd Dev, Graphic/Logo/UX/UI Designer

Read more #bitcoin posts


Best Posts From July

We have not curated any of ph1x's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From July