Изображение, показващо разнообразната природа на криптовалутите и всичко, което можем да се правим с тях.

Криптографски и Консенсусни Алгоритми

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

Какво е Криптографски Алгоритъм?

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

Криптографски Алгоритми или Консенсусни Алгоритми?

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

Две инфографики, показващи възможността да се използват едни и същи или различни ключове за криптиране на данни.

Какво Представляват Консенсусните Алгоритми?

Консенсусните алгоритми се намират в основата на криптовалутите и да позволяват на мрежата да остане децентрализирана, но в същото време да бъде справедлива. Съществуват няколко консенсусни алгоритми, всички обслужващи различни цели и най-важното, имащи различни критерии, чрез които решават как да постигнат консенсус. Двата най-често срещани и широко използвани в света на крипто са proof of work (алгоритъмът, използван в мрежата на bitcoin, от където е започнало всичко), който постига споразумение, основано на това, кой е извършил най-много „работа” – означаващо кой е разрешил математическия проблем най-бързо; и proof of stake, който постига споразумение, основано на това, кой има най-много залози в блок веригата. Към момента, може би се питате, за какво са ни изобщо алгоритми. Следващите два параграфа ще ви дадат отговора на този въпрос.

Сравнение На Консенсусните Алгоритми

Иронично, но все още не е постигнат консенсус, относно кой е най-добрият алгоритъм за постигане на консенсус в блок веригата. С толкова много начини това да бъде направено: PoW, DPoS, Proof of Weight, Proof of Authority, Directed Acyclic Graphs, изглежда има толкова много алгоритми за постигане на споразумение в децентрализираната мрежа, че трябва да си зададем въпроса кое е добре, и кое не е. Изглежда, че в зависимост от целта, заинтересовани страни и плановете за бъдещо развитие и разработка на мрежата, условията, добри или лоши са взаимозаменяеми и това, което не е било достатъчно добро преди шест месеца, сега е най-добрият вариант за текущата ситуация на блок веригата.

Алгоритъм Разработен от Консенсус Механизъм PoW Монети ASIC AMD GPU NVIDIA GPU INTEL CPU AMD CPU
Sha – 256 Агенция за национална сигурност POW BTC, BCH ASIC miner 8 Nano Pro  N/A N/A N/A N/A
Ethash Vitalik Buterin PoA, PoSpac, PoS, PoW ETH,ETC Innosilicon A10 ETHMaster RX VEGA 64 RTX 2080 Ti Can’t load DAG Can’t load DAG
Scrypt Colin Percival POW LTC,NLG Innosilicon A6 LTCMaster N/A N/A N/A N/A
CryotoNight v8 Monero team POW XMR Asic – resistant RX VEGA 64 RTX 2080 Ti Xeon E7-8870 v3 Threadripper 2990WX
x11 Evan Duffield POW DASH Spondoolies SPx36 N/A N/A N/A N/A
Equihash Alex Biryukov & Dmitry Khovratovic POW Zcash Spondoolies SPx36 RX VEGA 64 (515 Sol/s) RTX 2080 Ti N/A N/A
Blacke256 R14 J-P Aumasson & Luca Henzen & Willi Meier POW Decred MicroBT Whatsminer D1 N/A N/A N/A N/A
Blake2b NebulousINC POW SIA StrongU STU-U2 N/A N/A N/A N/A

Често Задавани Въпроси

  • Какво е Функция на Хеширане?

    Инфографика, обясняваща какво е функция за хеширане и как работи.

    Функциите на хеширане са математически функции, които вземат всякакъв вид данни за входящата стойност, независимо какви са – букви, цифри, файлове и от този вход извличат и връщат определен изход. Например, функцията за хеширане md5 ще върне 32-знаков изход, независимо какво има на входа. Ако напишете md5 (“hello user”) функцията ще върне 32-знаков изход. При криптовалутите, функциите за хеширане са комбинирани в криптографски алгоритми. Два добри примера тук са криптографския алгоритъм на Bitcoin – SHA-256, който се състои само от една функция за хеширане SHA-256, даваща името на алгоритъма и криптографския алгоритъм на DASH – X11, който се състои от … познайте… 11 криптографски функции за хеширане, като blake, bmw, groestl, keccak са някои от тези 11 функции.

  • Какво е Византийски Толеранс за Сривове (BFT) и Проблем На Византийките Генерали?

    Често срещан проблем в блокчейна и децентрализираните мрежи е това, което хората наричат Проблем На Византийките Генерали. Представете си ситуация, в която имаме група от византийски генерали, застанали в предната част на града, вземащи решение дали да го атакува или не. Всеки генерал командва военен батальон и общо трябва да постигнат консенсус относно това, какъв ще бъде плана за действие – всяка атака или всяко отстъпление се съобщава чрез пратеници. Нещата се усложняват още повече, когато се въведе следното понятие, някои генерали са предатели и искат да саботират консенсуса и някои от пратениците – умишлено или неволно. За решаването на този проблем и постигането на консенсус, най-малко две трети + 1 от генералите трябва да бъдат лоялни в поддържането на консенсус сред всички. Обратно в света на блок веригата – да се каже, че системата притежава Византийски Толеранс за Сривове означава, че системата може да функционира правилно в случай на повреда или несъответствие в информацията и да остане в консенсус.

  • Какво наричаме проблем на двойното харчене (double-spending)?

    Ако погледнем назад във времето, когато златото е било използвано като форма на валута, ако някой иска повече злато, трябва да отиде и да го изкопае от планините, и дори и да го направи, това, че ще намери злато не е гарантирано – един добър естествен начин за контролиране на валутното обращение и на стойността в икономиката. Преминаваме бързо няколкостотин години напред в дигиталния свят, където дори валутите са цифрови. Проблемът тук се състои в липсата на механизъм за контрол на валутното обращение, което означава, че, за разлика от случая със златото, където не можете да отидете при свой приятел и да копирате златото му, с цифрова валута можете просто да копирате файла, папката или каквото и да е в цифров формат, в рамките на секунди, което води до така наречения проблем на двойното харчене. Това е мястото, където алгоритмите, описани в предишния раздел идват на помощ, за да ни помогнат в изкуственото управление на валутното обращение и да ни позволят да разполагаме с единен начин за постигане на споразумение. Например, в proof of work мрежите, сложността на математическия проблем се коригира на всеки Х на брой блокове, за да се гарантира, че има изкуствен контрол върху паричното предлагане и участниците в мрежата не могат просто да копират и поставят нови пари в обращение.

.