Мащабируемост на блокчейн – странични вериги и канали за плащане
Съдържание
Съдържание
Въведение
Проблемът с мащабируемостта на блокчейн
Какви са решенията за мащабиране извън веригата?
Въведение в страничните вериги
Въведение в каналите за плащане
Заключителни мисли
Мащабируемост на блокчейн – странични вериги и канали за плащане
НачалоСтатии
Мащабируемост на блокчейн – странични вериги и канали за плащане

Мащабируемост на блокчейн – странични вериги и канали за плащане

Средно ниво
Публикувано Feb 20, 2020Актуализирано Jan 14, 2022
8m

Съдържание


Въведение

Мащабируемостта най-общо се отнася до способността на системата да се разраства, за да удовлетвори нарастващото търсене. При компютрите може да повишите производителността на вашата машина, като надстроите нейния хардуер, така че по-бързо да изпълнява определени задачи. Когато говорим за мащабируемост в блокчейни, ние имаме предвид нарастването на техния капацитет за обработка на повече трансакции.
Протоколи като биткойн имат много силни страни, но мащабируемостта не е една от тях. Ако биткойн се управляваше в централизирана база данни, за администратор би било сравнително лесно да увеличи скоростта и производителността. Но ценностните предложения на биткойн (т.е. съпротивата срещу цензура) изискват много участници да синхронизират копие на блокчейна.


Проблемът с мащабируемостта на блокчейн

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

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

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

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

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


Какви са решенията за мащабиране извън веригата?

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


Въведение в страничните вериги

Какво е странична верига?

Страничната верига е отделен блокчейн. Това обаче не е самостоятелна платформа, тъй като е свързана по някакъв начин с основната верига. Основната верига и страничната верига са оперативно съвместими, което означава, че активите могат да преминават свободно от едната към другата.

Има няколко начина да се гарантира, че средствата могат да се пренасят. В някои случаи активите се преместват от основната верига, като се депозират на специален адрес. Те всъщност не се изпращат – вместо това са заключени в адреса и съответстваща сума се издава на страничната верига. По-проста (макар и централизирана опция) е да изпратите средства на попечител, който разменя депозита за средства в страничната верига.


Как работи страничната верига?

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

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



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

Тя може, например, да плати на Боб една странична монета за фланелка с качулка на Binance. Когато иска да се върне към биткойн, тя може да изпрати останалите си четири странични монети на специален адрес. След като трансакцията бъде потвърдена, четири биткойна ще бъдат отключени и доставени на адрес, който тя контролира в основната верига.


Защо се използват страничните вериги?

Може да се чудите какъв е смисълът на това. Защо Алис просто не използва биткойн блокчейн?

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

Разбира се, вероятно няма нужда от това ниво на сигурност за малки ежедневни плащания. Ако Алис плаща за кафе, тя няма да стои да чака трансакцията да бъде потвърдена. Би стояла в опашката и питието ѝ ще стане студено, докато си го вземе.

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

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

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

Плазмата на Ethereum е подобна, но има някои големи разлики. Прочетете повече за това: Какво е плазма на Ethereum?


Въведение в каналите за плащане

Какво е канал за плащане?

Каналите за плащане имат същата цел като страничните вериги на фронта за мащабируемост, но са фундаментално много различни. Подобно на страничните вериги, те изтласкват трансакциите извън основната верига, за да предотвратят раздуването на блокчейна. За разлика от страничните вериги обаче, те не изискват отделен блокчейн, за да функционират.

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


Как работи каналът за плащане?

В модели като популярната Lightning Network две страни първо ще депозират монети на адрес, който притежават съвместно. Това е адрес с много подписи, който изисква два подписа, за да бъдат изразходвани средства. Така че, ако Алис и Боб създадат такъв адрес, средствата могат да бъдат преместени само със съгласието на двамата.

Да кажем, че всеки депозира по 10 BTC на адрес, който сега съдържа 20 BTC. Би било лесно за тях да поддържат баланс, който започва да казва, че Алис и Боб имат по 10 BTC всеки. Ако Алис искаше да даде на Боб монета, те биха могли да го актуализират да показва, че Алис има 9 BTC, Боб има 11 BTC. Не би трябвало да публикуват в блокчейна, тъй като продължават да актуализират тези баланси. 



Когато му дойде времето обаче, да кажем, че Алис има 5 BTC, а Боб има 15 BTC. След това те биха могли да създадат трансакция, която изпраща тези салда до адреси, собственост на страните, да я подпишат и да я излъчват.

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

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


Насочване на плащане

Очевидно каналите за плащане са удобни за две страни, които очакват голям обем трансакции. Но нещата се подобряват. Мрежа от тези канали може да бъде разработена, което означава, че Алис може да плати на страна, с която не е пряко свързана. Ако Боб има отворен канал с Керъл, Алис може да ѝ плати, при условие че има достатъчно капацитет. Тя ще прехвърли средства към канала на Боб, който от своя страна ще ги насочи към Керъл. Ако Керъл е свързана с друг участник, Дан, може да се направи същото. 

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


Заключителни мисли

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

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