Пост за гости на HodlX Изпратете вашата публикация
Проблемът с мащабируемостта на блокчейн в момента е основното ограничение за масовото възприемане на блокчейн технологията. В стандартния дизайн без разрешение P2P блокчейн, въведен от Сатоши Накамото, всеки възел трябва да обработва всички данни в мрежата.
Въпреки това, възлите в мрежата често имат различни възможности. В стандартния дизайн на Nakamoto производителността на мрежата е ограничена от производителността на най-слабите пълни възли в мрежата.
Един наивен подход за мащабиране на блокчейн мрежа ограничава участието на мрежата за слаби възли. В този случай мрежата разчита само на така наречените „високи възли“ с широки и бързи мрежови връзки, които могат да обработват голямо количество данни.
Такава мрежа обаче неизбежно става по-централизирана, тъй като поддръжката на високи възли често е по-скъпа. В този контекст мащабирането се постига с цената на децентрализацията, която е известна като най-ценната характеристика на блокчейн мрежите.
Изследователи от цял свят излизат с различни предложения за решаване на проблема с мащабируемостта. Засенчването се счита за най-обещаващо. И все пак няма обща визия за това как да се приложи шардинг, за да се намери най-добрият приемлив компромис сред многобройните параметри на мрежата.
Проекти като Ethereum 2.0, Algorand, Cardano, Near и Zilliqa са разработили свои собствени блокчейн дизайни, базирани на шардинг. Всички тези проекти обаче имат подобен модел в своите проекти. Всички те разчитат на алгоритъм за консенсус за доказателство за залог (PoS) и псевдослучайна селекция на валидатори за комитети за парчета.
За да участва в процеса на валидиране на блока съгласно подхода на PoS Sharding, всеки участник заключва някакво количество монети в залога. Например, в Ethereum 2.0, един залог от поне 32 монети съответства на 1 глас по време на кръг за валидиране на блок.
Важно е да се отбележи, че всеки валидатор може да направи множество залози и да събере множество гласове. Като такъв потребителят, заложил определен брой залози, може да стане валидатор на равен брой различни парчета въз основа на псевдослучайния механизъм за избор на комисии.
Някои поддръжници на PoS шардинг често свързват понятието „залог“ с понятието „валидатор“. Мисля, че много читатели са виждали завладяващи заглавия, че дадена тестова мрежа на coin X е привлякла над 20 хиляди „валидатори“.
Тази оценка обаче не се отнася до броя на участниците. Става въпрос за броя на залозите. Невъзможно е да се знае кой е поставил тези залози. Може да има хиляда или сто заинтересовани страни. Възможно е също така по-голямата част от дяловете да се контролират от един субект. В този случай е ясно, че мрежата е централизирана.
Следователно, предполагаемото етикетиране на гореспоменатите залози на този отделен обект като отделни валидатори е не само объркващо и подвеждащо, но и злонамерено.
Нашият подход е да разграничим участниците от техните залози. За илюстрация нека направим някои изчисления. Нека приемем, че има D брой различни парчета в мрежата и някои участници залагат S брой залози.
След това вероятността този участник да бъде избран за валидатор с един или повече гласа в конкретния парче от идеалната псевдослучайна функция е
Също така, това е математическо очакване на функцията, която достига 1, ако участникът е валидатор, и 0 в обратния случай. Сборът от тези функции за всички парчета е броят на парчетата, които са потвърдени от участниците.
По този начин математическото очакване на броя парчета, потвърдени от участник, се дава по формулата:
Например в тестовата мрежа Ethereum 2.0 броят на парчетата D е 64. Според формулата участник, който заключи 44 залога, ще валидира средно 32 парчета.
Това означава, че средно този участник ще управлява 32 парчета или точно половината от данните в мрежата. Този участник ще изтегли и обработи половината от данните в мрежата. Може да се твърди, че половината не е цялото. PoS Sharding беше рекламиран като основен пробив за облекчаване на натоварването на слаби възли в системата.
Това обаче не е толкова голямо подобрение и такива участници все пак ще трябва да обработят голямо натоварване, за да поддържат системата. Следователно слабите възли няма да забележат очакваното подобрение в производителността.
Може да се твърди, че няма нужда да се заключват 44 залога. Ако участникът има ограничени ресурси, той може да заключи един или два залога и да обработи един или два парчета. За съжаление, PoS шардинг дизайнът предполага, че комитетите за парчета се разбъркват всяка епоха, за да се предотвратят атаки от адаптивни противници.
Адаптивните противници корумпират целеви възли, например чрез DDoS или атаки на затъмнение. Повредените възли губят своите залози поради основното наказание и напускат комисията. В крайна сметка злонамерен актьор може да получи контрол над цялата комисия. В
за разлика от това в системата PoW възелът може да продължи работата си веднага след атаката.
Следователно разместването на комитети е важна част от PoS шардинга. След такова пренасочване комитетите се преизбират и участниците се определят като валидатори на други парчета.
За съжаление, за да изпълняват честно своите задължения за валидиране и да проверяват транзакциите, участниците с един залог трябва да изтеглят състоянието на този парче. Това е доста голям трафик.
Участниците трябва да знаят или всички неизразходвани транзакции, или всички салда по сметките, за да продължат работата си. Алтернативата е да загубите залога или да се превърнете в марионетка на други възли, които притежават необходимите данни.
Нека направим някои изчисления. Да приемем, че всеки залог е заключен за около 180 дни и всеки залог е избран за валидатор веднъж на ден. Забележете, че формулата по-горе работи перфектно и в този случай. Поставяме D = 64 и S = 180.
Средно този участник ще изтегли състоянието на 60 от 64 парчета. Това е почти цялата мрежа. Ето още един пример. Да приемем, че участникът е заключил 4 залога. След това, след 11 дни, те ще изтеглят близо 32 парчета, което представлява половината от състоянието на мрежата.
И все пак ние отчитаме натоварването, което носят незначителните заинтересовани страни. Другата страна на монетата представлява богатите заинтересовани страни с много залози. Представете си сървър с 64 процесора, които валидират 64 парчета, където всеки процесор проверява съответния си парче. Управлението на този сървър е доста проста задача.
Всеки път, когато се извърши разместване на комитет, не е необходимо да се изтеглят или актуализират състояния на осколки. Необходимо е само да се пренастроят ключовете, свързани със залозите между обработващите единици, в съответствие с резултатите от изборите в комисията.
По този начин една операция, която е скъпа за малките заинтересовани страни, е относително евтина за голяма заинтересована страна, използваща тези 64 процесора на сървъра. Мисля, че внимателният читател разбира, че гореспоменатият сървър е пълен възел. При този дизайн тези, които могат да си позволят да изпълняват този пълен възел, ще спестят много повече пари за мрежов трафик.
Може да се твърди, че 60 е по-малко от 64 и половина от държавата не е цялата държава. Въпреки това не дългоочакваното решение струва „бюджет от милиард долара и 10 години развитие“.
И все пак малките заинтересовани страни със слаби възли трябва да управляват огромно количество данни или огромно количество мрежов трафик. Това изискване напълно унищожава целта за мащабиране чрез рязкост.
Различните проекти, които си поставят за цел да приложат доказателство за залагане, могат да имат различен брой отломки, интервали за пренареждане на комисии и интервали от време за заключване на залог.
Въпреки това може да се наблюдава „производителност под очакванията“ за всеки практически набор от параметри. Винаги, когато такива проекти са изправени пред „забавяне на стартирането“, основните екипи често ги представят като проблеми за развитието. Те обаче са, както току-що описах, обикновени дизайнерски недостатъци, присъщи на PoS шардинга.
Интересното е, че нямаше нужда да се прилага шардинг въз основа на доказателство за залог, за да се намали натоварването на малките участници. Нека си представим, че проектът предлага шардинг въз основа на доказателство за работа.
За разлика от PoS дизайна, той предлага настройка, удобна за слаби възли, така че те да могат да управляват своите натоварвания. В този случай всички участници се възнаграждават пропорционално на усилията им за поддръжка на мрежата. В резултат на това стартирането на слаби възли остава рентабилно.
Друго предимство на PoW Sharding е липсата на проблеми, типични за PoS, т.е. В резултат на това доказателството за работа предлага по-добър компромис за мащабиране от този, който би могъл да бъде заложеният.
Vinod Manoharan е технологичен предприемач и основател и главен изпълнителен директор на Jax Multiversal Holdings, холдингова компания, чието портфолио включва компании за онлайн игри, платежни шлюзове и технологични компании Blockchain. Манохаран е и основателят на JAX.Мрежа, технологичен стартъп в Украйна, фокусиран върху технологията Blockchain и по-конкретно, решаването на скандалната трилема за скалируемост на Blockchain.
Представено изображение: Shutterstock /wirow