Биткойн

Lightning Network и борбата с мащабируемостта в Биткойн системата

Криптовалутите са сравнително нови и за повечето хора те имат различни недостатъци. Спекулантите и търсачите на бързо забогатяване, например, гледащи на криптовалутите като начин за „пенсиониране“ в рамките на няколко дни, бързо биват застигнати от реалността. От другата страна, по-консервативните се страхуват от волатилността, което е разбираемо. Хората, закупили Биткойн през декември 2017 или началото на 2018 са загубили около 65% от инвестициите си, най-вероятно дори повече (този процент е по-голям, ако са „заложили“ на други криптовалути от топ 10).

След няколко години в тази сфера, разбираш, че волатилността в подобен нов пазар е нещо нормално. Желанието за бързо забогатяване за една вечер също изчезва, защото човек рано или става реалист. Един видим и наистина притеснителен проблем на криптовалутите е така наречената мащабируемост (scalability issue). Това е ахилесовата пета на Биткойн. Именно тя поражда критики от сорта на „не мога да си купя кафе с Биткойн“, „таксата по транзакцията е по-скъпа от самото плащане“, „трябва да чакам 10 или повече минути на опашка“ и други. Съгласни сме, но:

Биткойн не е пригоден за покупка на кафе, бира или семки от кварталното магазинче. С развитието на Биткойн и покачването в цената това е видно. Това важи със сигурност за така нареченото първо, основно ниво (first layer). Децентрализацията има цена. През годините бяха разгледани много идеи за подобряване на мащабируемостта. Ние от Hash.bg подкрепяме така наречения Segregated Witness (soft fork) и сме щастливи, че SegWit2x се провали. Hard fork-ове като Бикеш и неговите производни доказаха, че увеличаването на големината на блока не е решение. Няма и как да бъде.

Какво правим в такъв случай?

Винаги трябва да помните, че върху Биткойн работят едни от от най-добрите програмисти, икономисти и криптографи в света. Биткойн не е компания и в повечето случаи на тези хора не им се плаща, но те вярват в идеята и бъдещето на валутата. Разбира се, повечето от тях притежават „Х“ количество биткойни и имат така наречения „Skin in the game“, което ги мотивира допълнително. Тези хора не се примиряват с това, че в сегашната си форма Биткойн не може да бъде използван за малки и чести транзакции. Те се стремят да намерят решение на този проблем, но това отнема време.

Какво е Lightning Network?

Концепцията не е нова, но все още не е достатъчно развита и популярна. LN е протокол от вторo ниво, на английски известен като “Second layer”. Ще го опишем с пример, за да е по-лесно да се разбере как работи. Да приемем, че сте на лятна почивка и носенето на кредитни карти и кеш по плажа и във водата не е най-удобното нещо. В този случай оставяте 100лв. на бара и през цялата почивка поръчвате напитки. Консумирали сте за 80лв. и накрая на почивката си трябва да си вземете 20лв.

Lightning Network се основава на технология наречена разплащателни канали (payment channel). Тази технология е стара приблизително колкото Биткойн, но до момента нямаше възможност за широко приложение в блокчейн. Двама участници могат да отворят двустранен разплащателен канал след като и двамата подпишат със собствените си частни ключове, а поне един от тях депозира средства. По този начин те създават 2-от-2 Multisignature транзакция в блокчейна, с цел отварянето на така наречения „канал“ (LN channel).

Да приемем, че и двете страни са депозирали по 1 биткойн. Това ще означава, че в този канал има общо 2 биткойна. Двете страни са напълно защитени един от друг, защото изтеглянето на биткойните от канала изисква подпис и от двете страни (едната не може да мести средства без знанието на другата). Отварянето на канал от този вид отнема средно 10 минути (транзакцията трябва да бъде успешно добавена в блок). Веднъж след като това стане, участниците могат да прехвърлят средства помежду си в LN без ограничения и с минимални такси (около 2 сатошита).

Как работи LN?

Транзакциите в канала представляват преразпределение на средствата, съхранявани в него. Например, ако Дани иска да изпрати 0.5 BTC на Джон, тя ще трябва да му прехвърли правото на собственост върху тази сума. След това двамата използват частните си ключове, за да подпишат актуализирания балансов отчет. Действителното разпределение на средствата се случва, когато каналът се затвори. Алгоритъмът използва последния подписан баланс, за да определи кой какво получава. Ако Дани и Джон решат да затворят канала след посочената по-горе сделка, Дани ще получи 0.5 BTC и Джон ще получи 1.5 BTC.

Тук възникват множество въпроси. Един от тях е, какво ще стане, ако отношенията между двете страни не се запазят или някоя от страните загуби своя частен ключ. Не трябва да се забравя, че това е протокол от второ ниво. Това означава, че има различен вид „съдии“ и верификатори в сравнение с основното ниво (first layer) в Биткойн. Още преди отварянето на канала, по презумпция е създадена транзакция за връщане на първоначалната сума, при форсмажорни обстоятелства (refund transaction), от двете страни. Първата страна изисква от втората да подпише тази транзакция, която ще се осъществи само при нужда и vice versa. По този начин и двете страни имат застраховка, че подобен риск няма да възникне.

След създаването на канал страните могат да оперират без ограничения. Това е едно от главните предимства, може би към момента най-голямото, което носи LN. Участниците в Lightning мрежата обменят биткойни с минимална такса от няколко сатошита, а на децентрализирания публичен леджър, който съдържа в себе си всички транзакции и блокове (те са с ограничен размер) се записват само две транзакции – една за отваряне на този канал, и една за затваряне и изтегляне на средствата към оригиналните биткойн адреси.

Друг въпрос, който възниква, е дали трябва да се отваря нов канал всеки път, когато искаме да обменим биткойни с непозната за нас страна, с която не сме работили до сега? Било то човек или компания, отговорът е НЕ. Това би било катастрофално и подобно ограничение ще направи цялата мрежа ненужна и неизползваема. Още от името на протокола – Lightning network , може да се досетите, че целта е създаването на цяла мрежа, която с разрастването си да съкращава усилията на крайния потребител. Целта е да се създадат множество канали, като „прескачайки“ през тях парите да стигат до крайната цел. Това става автоматично и светкавично, без знанието на потребителя. Така например Алис трябва да изпрати биткойни на Дейв, но помежду им няма отворен канал. Плащането на Алис ще премине през канала и с Боб, след което през Керъл, за да стигне до Дейв.

Въпреки всичко казано по-горе, трябва да уточним, че LN все още е в ранен стадий на развитие. Все още няма софтуер, с който обикновените потребители да могат с 1-2 клика да отворят канал и направят плащане. Разработчиците на Lightning Network призовават потребителите за търпение, тъй като създаването на подобна мрежа изисква време. Обясненото до тук е възможно най-елементарно от мрежата, за да се придобият необходимите първоначални знания. В следващите статии ще засегнем техническите аспекти на протокола и как работи, ще обясним какво е routing и други детайли от системата. За да бъде изцяло възприета от Bitcoin обществото, Lightning Network ще трябва да докаже, че е безопасна и използваема, което ще отнеме време.

Related posts

Lightning 101: Какво е Lightning invoice?

Martin Tinchev

Lightning 101: Какво е Lightning нод?

Martin Tinchev

Multisignature и приложението му в Биткойн. Multi-sig адреси.

Boris Mirchev
UA-137508696-1