Основната характеристика на технологията на разпределената книга е, че тя няма централен орган. Това означава, че в основата на технологията участниците трябва да се споразумеят за състоянието на регистъра. Това е основната част от всяка разпределена система и как тя се прилага, определя останалата част от архитектурата. Това се нарича консенсусен алгоритъм.
Поради огромния си характер, алгоритъмът за консенсус е сърцето на разпределена система. Това е централната част и нейното проектиране и изпълнение трябва да бъдат внимателно обмислени за тези, които искат да създадат протокол. Добрият консенсусен алгоритъм трябва да даде следните резултати:
1. Споразумение: Всички възли в мрежата трябва да достигнат резултата по отношение на състоянието на мрежата.
2. Толерантни към повреди: Алгоритъмът трябва да има способността да работи правилно, дори при наличие на дефектни или непочтени възли.
3. Прекратяване: Процесът на консенсус трябва да има ясна спирка, след което всички възли да вземат решение.
4. Почтеност: Всички възли трябва да постигнат окончателност в рамките на един консенсусен цикъл.
Това са основните характеристики на работещ консенсусен механизъм. Конкретните алгоритми могат да имат повече или различни версии на представените концепции, но по някакъв начин всички те се споделят от всеки децентрализиран протокол. Освен това алгоритмите за консенсус имат съществен слой от свойства, които трябва да имат, за да работят.
Това са:
1. Консистенция: Това свойство означава, че всички честни възли произвеждат една и съща стойност, която се счита за правилната.
2. Толерантност: Способността да се издържат на някои дефектни или нечестни възли и капацитетът на мрежата да се възстанови.
3. Живот: Докато броят на компрометираните възли е под границата на допустимо отклонение, те не могат да спрат или забавят мрежата да постигне консенсус.
4. Удостоверяване: Това свойство гарантира, че има механизъм за проверка на идентичността на участниците възли.
5. Структура на кворума: В разпределена система е необходим само минималният брой гласове.
6. Неотказване: Начин за проверка на самоличността на акаунта на подателя, така че той да може да оспори транзакцията.
7. Равен авторитет: Всички възли в мрежата трябва да имат еднакъв капацитет, без централен орган, способен да замени решение.
Отново, това е основен набор от свойства за идеален децентрализиран консенсусен алгоритъм. Не всички истински механизми там съответстват на този набор от правила. Един пример е IOTA, който има централен наблюдател, способен да модифицира решенията на възлите. За пуриста такова включване означава, че IOTA не е наистина децентрализирана мрежа, въпреки че има някои други свойства.
Преди да прегледаме най-често използваните консенсусни алгоритми, трябва да отбележим нещо. Тези, които ще обсъдим, работят в по-голямата си част с блокчейн. Тоест, структурата на данни, известна като блокчейн, е мястото, където те трябва да работят. Други структури от данни могат да се използват в децентрализирана мрежа, като насочена ациклична графика (DAG), Hashgraph и др. Те имат своите консенсусни алгоритми.
Това се каза, блокчейн остава най-популярната структура на данни. За първи път е внедрен с биткойн; Ethereum го прие и дори сега го използват нови протоколи от трето поколение като Cardano. Изглежда, че в обозримо бъдеще блокчейнът ще остане доминиращата технология.
Китай е начело на интеграцията на блокчейн. Разгледайте цялата им блокчейн стратегия и защо толкова бързо интегрират блокчейн технологията в своята икономика.
Видове консенсусни алгоритми
Тук ще дадем общ преглед на най-популярните в блокчейна.
Доказателство за работа
Доказателството за работа е първият жизнеспособен консенсус алгоритъм и все още най-широко използван. В него отделни възли се състезават за намиране на хеш функция, която представлява списъка с транзакции вътре в блока и nonce, добавен върху него. Nonce е число, което изисква функцията хеш да се предшества от брой нули, за да бъде валидна. Процесът на намиране на тази хеш функция е известен като добив.
Щракнете тук, за да прочетете всичко за пълното ръководство за архитектурата на биткойн.
Всички мрежови възли се конкурират в много хардуерния процес на добив, за да спечелят биткойн като награда. Мнозина критикуват, че енергийната интензивност на доказателствата за работа е разточителна и вредна за околната среда. Освен това разходите за добив на електроенергия и хардуер доведоха до централизирането на мрежата в няколко държави.
Това доведе до разработването на нови алгоритми за консенсус.
Доказателство за залог
Основната алтернатива на доказателство за работа (PoW), доказателство за залог (PoS), бързо набира сила в света на блокчейн. В него възлите в мрежата депозират основната валута на протокола и се заключват за известно време. Това им позволява да влязат в полуслучайна лотария, за да валидират следващия блок от транзакции.
Възможността да бъдете избрани зависи от количеството на заложените монети. Възел с депозит от 1000 монети е по-вероятно да бъде избран от този с 500. Това може да доведе до централизация, тъй като тези възли с по-големи пулове пари могат да доминират в мрежата. Дори и с тази възможност, поддръжниците твърдят, че PoS е по-евтино за работа от PoW, тъй като не е необходим скъп хардуер за валидиране на транзакции.
Делегирано доказателство за залог
Това е вариант на PoS. Тук заинтересованите страни използват своите монети, за да изберат кой възел ще валидира следващия блок от транзакции. Възлите, разпределени от участника, стават валидатори и отговарят за разпространението на блоковете в мрежата. Те могат да бъдат гласувани от заинтересованите страни, ако са бавни или се държат нечестно. В този модел има по-голямо ниво на централизация, тъй като възлите, които могат да станат валидатори, са с ограничен брой и се избират преди гласуването по някакъв друг начин.
Доказателство за изминало време
Това е предпочитан консенсусен алгоритъм на няколко блокчейна. Тук всеки възел генерира случаен период на изчакване, в който възел отива в режим на заспиване. Възелът, който се събужда първи, се превръща в следващия валидатор. Недостатъкът е, че самоличността на възлите трябва да се знае от системата, тъй като периодът на изчакване трябва да бъде случаен. В противен случай нечестните възли могат да измамят системата.
Консенсусният алгоритъм е в основата на блокчейн. Това е основното решение за проектиране, което определя какво е възможно и колко бързо ще изпълни останалата част от системата. За тези, които искат да се разработят в даден протокол или за инвеститорите, които се опитват да определят кой протокол ще бъде най-добрият в бъдеще, е от решаващо значение да разберат основите.