Непроменими ли са наистина блок-веригите и Bitcoin?

Направихме задълбочен анализ на концепцията за блок-веригите, какво приложение намират при Bitcoin и дали са неизменими или не.

Винаги, когато заговорим за блок-веригите (blockchain), възниква въпросът за неизменимостта. Има различни гледни точки по темата, но когато се стигне до това, всеки търси отговор на един единствен въпрос – непроменими ли са блок-веригите и Bitcoin? Краткият отговор е – Не, блок-веригите и биткойните не могат да се променят. Дългият отговор е, че все още трябва да знаете причините, които стоят зад този отговор, за да разберете какви са последиците.

Преди да задълбаем в темата, важно да разберем основите на блок-веригите. Няма да навлизаме обаче в съществени технически подробности, тъй като това само по себе си е отделна тема. И така, какво представляват блок-веригите? Много хора взаимозаменяемо използват термините блок-вериги и Bitcoin, но те не са едно и също нещо. Блок-веригата е концепция, идея. Bitcoin е първото и основно приложение на тази идея. Може да има и други различни реализации на базата на блок-веригите, които нямат никаква връзка с Bitcoin. Всъщност се наблюдава значителен напредък и в други области като интелигентни договори, междубанкови споразумения и т.н., които са по-интересни от Bitcoin.

По своята същност блок-веригите са просто distributed ledger. За разлика от обикновените парадигми, при които има централен доверен орган, който контролира нещата, блок-веригите осигуряват мрежа, в която няма нито една точка на власт. Не е нужно да се „доверявате“ на когото и да е, защото самата система прави почти невъзможно, за който и да е, да поеме контрола. Тази децентрализация е това, което я прави толкова могъща и привлекателна за обикновените хора.

Bitcoin е криптовалута, базирана на блок-веригите, която не се регулира от никого. Трансакциите са мигновени и има минимална такса при всяка трансакция, което я прави много популярна за плащания в световен мащаб. Въпреки това, валутата няма истинска стойност, тъй като тя не е подкрепена от нищо. Стойността й зависи изцяло от това колко хора са готови да платят и е пряко свързана с доверието, което хората имат в системата. Ето защо виждате цената на Bitcoin да пада, всеки път когато излезе негативна новина относно блок-веригите. (Можете да прочетете повече за Bitcoin тук.)

И така, какво е неизменимост и защо трябва да ви е грижа за това? По принцип неизменимостта се отнася до нещо, което не подлежи на промяна след създаването си. Тези, които са част от света на софтуерното програмиране, знаят значението на неизменимите обекти. В контекста на блок-веригите неизменимостта носи подобен смисъл, но много по-голямо значение. За да обясним защо е толкова важно, нека да говорим конкретно, като вземем примера за Bitcoin.

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

За да започнете нова трансакция, излъчвате съобщение с подробности за нея, като например „платете Bob 9 BTC“. Но как света да узнае, че вие, а не някой друг е този, който извършва трансакцията? Ето защо, използваният от вас Bitcoin софтуер/портфейл създава цифров подпис от вашия личен ключ, който е известен само на вас (на вашата система) и е уникален за всяка трансакция. Други ще използват съответния публичен ключ за декриптиране на съобщението. Следната диаграма обяснява потока на високо ниво:

Предвид това обаче, че трансакцията минава през мрежи и компютри, на които не може да се има доверие, как гарантирате, че съобщението е неизменимо и някой не променя детайлите в него? Начинът, по който работи цифровият подпис, е ако съобщението бъде променено, се обезсилва целия подпис и следователно всеки знае, че е бил подправен. След това трансакцията ви отива в зона с непотвърдени трансакции. Хората, които участват в мрежата Bitcoin, избират някои от тези транзакции и се опитват да ги добавят към съществуващия блок. За да се добави трансакцията обаче, трябва да се реши един математически пъзел (SHA256 Hash, за да сме точни). Намирането на решение за този пъзел отнема време, което отбелязва много важна характеристика в инфраструктурата на Bitcoin, както ще видим по-късно. И така, много хора ще се опитат да решат този пъзел. Който е в състояние да го реши пръв, може да добави трансакцията към съществуващия блок и ще получи малък процент от Bitcoin като награда. По-долу можете да видите пояснителна диаграма за това. Обърнете внимание, че последната трансакция има показалец към по-старата трансакция, оформяйки така блок.

Поради естеството на Bitcoin инфраструктурата, може да има няколко разклонения на блок-веригата, съдържащи противоречаща информация. Откъде да знаете на кой да се доверите? Правилото е, че по-дългото разклонение е това, на което може да се има доверие, а по-късото се връща към зоната с непотвърдени трансакции. Ето защо има период на изчакване, след като извършите трансакция, а за първоначалния период той обикновено е рискован и непотвърден. Някои портфейли отбелязват транзакцията в червено, за да покажат същото.

Сега въпросът ни възниква отново. Дали блокът наистина е непроменим? Възможно ли е злонамерен нападател да го промени в своя полза? Отговорът е, че той не е 100% непроменим, но математическият пъзел, който разгледахме по-рано, прави промяната почти невъзможна. За да успее нападателят, той трябва да създаде верига от блокове, която е по-дълга от вече съществуващите. Разпределението и отнемащото време естество на процеса правят практически невъзможно някой да направи това.

Но какво да кажем за вече приетия блок? Дали е предразположен към модификации? Да, но отново, тъй като възлите са разпределени, нападателят ще трябва да поеме контрола над голям брой компютри в мрежата. Вероятно ще е нужно нападателят да поеме контрола над 51% от компютрите, оттам и името „51% атака“. Но тогава логичният аргумент би бил, че ако някой има контрол над толкова много компютри, би било по-изгодно да печели биткойни копаейки и играейки честно, вместо да лъже системата.

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

Това беше ли ви от полза? Споделете го!