Пост за гости на HodlX Изпратете вашата публикация
Липсата на мащабируемост е известна като основната пречка пред масовото възприемане на блокчейн технологията. Всички съществуващи блокчейн проекти търсят решения, които биха могли да подобрят производителността на тяхната мрежа. Много нововъзникващи проекти твърдят, че имат магически куршум, който може да реши проблема. Такива твърдения обаче не винаги са валидни. За съжаление много наблюдатели и инвеститори не осъзнават същността и корена на този проблем. Без задълбочено разследване и значителна техническа подготовка е трудно да се определят скритите тесни места и компромиси. В тази публикация ще обсъдим едно добре известно тесно място, което предотвратява мащабирането на Биткойн.
Малко след изобретяването на децентрализираната равнопоставена мрежа Bitcoin, изследователите се заинтересуваха от това, което определя границите на мащабирането на Bitcoin. Скоро основният проблем беше определен и описан по отношение на времето за разпространение на блока или забавяне на разпространението на блока.
Това е средно време, необходимо за новия блок да достигне до повечето възли в мрежата. В голяма децентрализирана мрежа като Биткойн, всеки път, когато се генерира новият блок, той се излъчва съгласно протокола за клюки. Ако някой възел има новия валиден блок, той информира свързаните с него възли за новото си притежание. След това възелът прехвърля този блок на онези възли, които са го помолили да направи това. Преди блокът да достигне всеки пълен възел в мрежата, той преминава през седем междинни възли. Важно е всеки честен възел да провери блока, преди да го предаде на други връстници. Очевидно цялото нещо отнема известно време. Всеки нов блок разтърсва мрежата и прави възли и Ethernet връзки между тях, работещи с пълна мощност.
Може да се спори, че от стартирането на мрежата има много подобрения в протокола за клюки. Например, предложението за подобрение на Bitcoin BIP 0152 въведе опцията за прехвърляне само на кратки идентификатори на транзакции, вместо на целия списък с транзакции, в тялото на блока. Ако обаче възелът няма тази транзакция в своя mempool, той трябва да помоли своите връстници да я прехвърлят в отделно съобщение. Ако в блока има голям брой такива транзакции, подобрението от BIP 0152 изчезва.
Тъй като предаването на данни е най-трудоемката част от блоковото реле, изследователите се заинтересуваха да определят колко време е необходимо, за да може пакет данни с определен размер да достигне 50%, 90% или 95% от възлите в мрежата. Установено е, че за блокове, по-големи от 20kB, забавянето на разпространението на блока е почти пропорционално на размера на блока.
Според изследване, публикувано през 2013 г., всеки допълнителен kB данни в блока причинява допълнителни 80ms забавяне на разпространението на блока. Оттогава всяка година се публикуват няколко академични статии и проучвания по тази тема. Те актуализират гореспоменатите данни и обсъждат различни предложения за подобрения. Освен това сайтът следи текущото състояние на биткойн мрежата и времето за разпространение на блока. Освен това той предоставя диаграми с исторически данни по този въпрос.
По-голямата част от добре установените блокчейн мрежи имат същия дизайн като Bitcoin. В резултат на това времето за разпространение на блока в тези мрежи се подчинява на същите правила. За съжаление, времето за разпространение на блока има огромен ефект върху сигурността на блокчейн. Колкото по-дълго е времето за разпространение в мрежата, толкова по-често миньорите добиват върху стари блокове. В резултат на това разклоняването на главната верига се случва по-често и процентът на сираците се увеличава. Дългото забавяне на разпространението води до така наречената дилема на верификаторите.
Някои възли могат да открият, че пропускането на стъпката за проверка на блока може да бъде печеливша стратегия. В този случай те са изправени пред риск от копаене върху грешен блок. Ако обаче времето за проверка на блока е значително, тази стратегия може да бъде печеливша. Изследователите установяват, че дългото забавяне на разпространението намалява съпротивлението на възела срещу 51% атаки и егоистичен добив.
За да се справят с гореспоменатия проблем, разработчиците на блокчейн често се опитват да запазят времето за разпространение на блока по-малко от 1% от средното време на блока.
Това важи за Bitcoin, Ethereum и други основни блокчейн мрежи, които се основават на консенсус за доказателство за работа. Поради тази причина времето за разпространение на блокове до 50% от възлите в биткойн мрежата често е под 6 секунди.
Въпреки че бързото реле на блока, подобно на описаното в BIP 0152, намалява средното време за разпространение на блока, в най-лошия сценарий може да отнеме повече време от основния протокол. Важно е дори в най-лошия сценарий забавянето на разпространението да бъде разумно, така че майньорите да поддържат своите възли синхронизирани през повечето време и винаги да проверяват предложените блокове.
Винаги когато хората говорят за мащабируемост на блокчейна, те споменават пропускателната способност на транзакциите на системата. Хората обаче забравиха, че подобренията в пропускателната способност на транзакциите не трябва да компрометират сигурността на мрежата или да повишават изискванията за съхранение на данни за възли, желаещи да участват в мрежата. Тези модификации могат да намалят броя на независимите валидатори на транзакции в мрежата, като по този начин намалят децентрализацията.
където
Bsize е размерът на блока в байтове;
Tsize е средният размер на записа на транзакцията в блока;
Btime е средното време между последователните блокове в блокчейна.
Очевидно е, че пропускателната способност на транзакциите може да се увеличи чрез увеличаване на размера на блока, чрез намаляване на размера на записа на транзакцията или чрез намаляване на интервала между блоковете. Трудно е да се намали размерът на записите на транзакциите. Вместо това може да се изпробват другите две опции. Тези действия обаче ще увеличат процента време, изразходвано за разпространение на блокове. По този начин сигурността и децентрализацията на мрежата могат да бъдат компрометирани.
Някой може да забележи, че в описания биткойн протокол мрежовите ресурси се използват неефективно. Всеки възел обработва и предава жизненоважните данни за нов блок само малка част от времето. Неговата мрежова честотна лента е наистина важна, но се използва изцяло само за няколко секунди наведнъж. През останалото време този възел предава само чакащи транзакции и спомагателни данни. Това наблюдение е вдъхновило изследователите да търсят по-ефективни дизайни на протоколи, които биха могли значително да подобрят пропускателната способност на транзакциите, без да нарушават сигурността и децентрализацията на мрежата. В следващата ни публикация ще обсъдим подходите за решаване на проблема с разпространението на блокове, предложени през последните години.
Vinod Manoharan е технологичен предприемач и основател и главен изпълнителен директор на Jax Multiversal Holdings, холдингова компания, чието портфолио включва компании за онлайн игри, платежни шлюзове и технологични компании Blockchain. Манохаран е и основателят на JAX.Мрежа, технологично стартиране в Украйна, фокусирано върху блокчейн технологията и по-конкретно, решаване на скандалната трилема за мащабируемост на блокчейн.
Препоръчано изображение: Shutterstock / whiteMocca