Състоянието на мащабиране на Ethereum

блог 1NewsDevelopersEnterpriseBlockchain ExplainedEvent and ConferencesPressБюлетини

Абонирайте се за нашия бюлетин.

Имейл адрес

Ние уважаваме вашата поверителност

Обяснено на HomeBlogBlockchain

Състоянието на мащабиране на Ethereum

Кратък преглед на предизвикателствата и решенията за мащабиране на мрежата Ethereum. От ConsenSys24 април 2018 г. Публикувано на 24 април 2018 г.

Раждането на Enterprise Ethereum през 2017 г.

Разработчиците на Ethereum отдавна знаят, че мащабирането на мрежата е предмет, който си заслужава да бъде обсъден и инвестиран. Въпросът не се разлива съвсем от общността на разработчиците, обаче до края на 2017 г., когато децентрализираното приложение (dApp), наречено CryptoKitties, привлича толкова много трафик, че започва да забавя мрежата. В допълнение към латентността на мрежата, цената на газа – таксата, необходима за изпълнение на всяка операция в рамките на договор за блокчейн Ethereum – скочи, докато потребителите се състезаваха за валидиране на транзакциите им.

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

„Трилемата“

Една от теориите на блокчейн технологията е, че мрежата може да поддържа само две от следните: сигурност, децентрализация и мащабируемост. Тази „трилема“ – както стана известна – беше предизвикателството на разработчиците на Ethereum, тъй като те се стремят да поддържат основните принципи на блокчейна (децентрализация и сигурност), като същевременно го скалират за широко приемане и прилагане. Някои от по-непосредствените поправки за мащабируемост, например, силно въздействат върху сигурността или децентрализацията:

  1. Използването на altcoins е едно теоретично решение на проблемите с мащабируемостта. Вариантът е да се откажете от идеята за една блокчейн, от която се извършват всички транзакции, и вместо това да приемете модел, при който съществуват множество алткойни, които работят на отделни блок-вериги. Намаленият трафик на блокчейн би позволил на това съзвездие на блокчейн да се мащабира. Въпреки това, с по-малко възли, действащи върху всяка блокчейн, всяка блокчейн е по-податлива на атаки и злонамерени потребители. Следователно използването на алткойни поддържа децентрализация и подобрява мащабируемостта, но оказва сериозно влияние върху сигурността.
  2. Увеличаване на размера на блока е друго теоретично решение на проблемите с мащабируемостта. Ако общността на Ethereum гласува за увеличаване на размера на всеки блок, всички възли все още могат да изпълняват всички операции, но повече транзакции могат да бъдат извършени за същия период от време, следователно ускорявайки мрежата. При по-големи размери на блоковете обаче всяка транзакция изисква повече енергия и все по-малко възли ще могат да изразходват това количество енергия. Резултатът ще бъде бъдеще, когато мрежата се поддържа от шепа суперкомпютри с огромна процесорна мощ, необходима за проверка на всеки блок. Следователно увеличеният размер на блока поддържа защитата и подобрява мащабируемостта, но силно намалява степента на децентрализация на мрежата.

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

Разработват се четири основни протокола, които ще разглеждат проблемите на мащабируемостта. Sharding, Plasma и Raiden бяха предложени специално за подпомагане на скалата на Ethereum. Четвъртият протокол, Casper, е много по-широк по обхват, но ще има последици от мащабируемост наред с много други.

Засенчване

Sharding е един от методите за мащабиране, който поддържа всички транзакции в оригиналната блокчейн, следователно известен като решение „on-chain“. Sharding адресира проблема, че всички транзакции в Ethereum са последователни, тъй като всеки възел трябва да обработва всяка транзакция. Sharding позволява операциите да се изпълняват едновременно една до друга, поради което се увеличава броят на транзакциите в секунда, които общата блокчейн може да обработва. С шардинг мрежата Ethereum е разделена на множество групи възли. Всяка от тези групи е парче и всеки парче обработва всички транзакции, които се случват в рамките на тази група. Това позволява на всички парчета да обработват различни транзакции едновременно

Във всеки парче, определени възли, наречени „събирачи“, редовно създават „съпоставяне“ или набор от информация за този парче. Всяко сравнение съдържа следната информация:


  1. Информация за това, от какъв парче произхожда съпоставянето.
  2. Информация за състоянието на парчето преди прилагането на транзакциите.
  3. Ще бъде приложена информация за състоянието на парчето след транзакциите.
  4. Цифрови подписи от ⅔ на съпоставителите, потвърждаващи информацията в съпоставката

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

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

Плазма

Плазмата е друг метод за мащабиране, който обработва транзакциите „извън веригата“, т.е. не на основната блокчейн на Ethereum. Плазмата позволява много блокчейни (наречени „дъщерни вериги“) да произхождат от оригиналната блокчейн (наречена „коренна верига“). Следователно всяка дъщерна верига може да обработва и поддържа собствени записи на транзакциите, като същевременно разчита на основната сигурност на главната верига. С плазмата кореновата верига е глобалният механизъм за налагане на изчисленията във всички дъщерни вериги. Коренната верига обаче трябва да бъде изчислена само ако възникне спор в една от дъщерните вериги. Този метод позволява на цяла мрежа от дъщерни вериги да разделя всички транзакции в блокчейна, за да оптимизира най-добре скоростта и ефективността. Ако възлите на дъщерна верига желаят, те могат да изпратят изходна транзакция и да експортират запис на своите транзакции в основната верига.

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

Raiden

Raiden е друго решение за мащабиране извън веригата, което позволява на възлите да поддържат запис между тях, без да изисква коренната верига да проверява всяка транзакция. Два възела могат да отворят „държавен канал“ между тях, който е двупосочен канал между потребителите. „Съобщенията“ – под формата на транзакции – възникват между двата възела и се подписват от всяка страна, за да се гарантира неизменност. Raiden е особено полезен за чести и очаквани плащания – т.е.потребител, който знае, че ще плаща на компания 10 долара на седмица за услуга, или потребител, който знае, че ще харчи редовно пари в местния си магазин за хранителни стоки. С транзакции, записани и проверени между тези два възела, вместо на всеки блок, основната верига се освобождава от огромно количество трафик. По всяко време всеки участник в държавен канал може да избере да затвори транзакцията и нетният резултат от всички транзакции се експортира в основната блокчейн и се включва в следващия блок. Това означава, че след една година абонамент за услугата от $ 10 на седмица, потребителят може да накара блока да провери една транзакция от $ 520 вместо 52 отделни транзакции от $ 10.

Решението Raiden се предлага с едно основно предупреждение и едно основно предимство. Предупреждението е, че възлите могат да комуникират само със своите „съседи“ – което означава, че ако възел A и възел B имат отворен държавен канал, а възел B и възел C имат отворен канал за изявления, възел A не може да изпраща средства директно към възел C. Транзакциите обаче могат да бъдат препращани по канали по такъв начин, че да не могат да бъдат откраднати или заключени по пътя. Възел A може да изпрати транзакция до възел C, като използва възел B като посредник по такъв начин, че възел B не може да открадне средствата. Като основна полза Raiden драстично намалява цените на газа за всяка транзакция. Транзакциите, които се случват извън веригата между възлите, изискват по-малко газ за обработка, отколкото транзакциите, които се случват в основната верига.

Каспър

Casper е протокол, чрез който текущият модел за доказателство за работа (PoW) на Ethereum ще се промени на Proof of Stake (PoS). Понастоящем с PoW миньорите трябва да изразходват енергия, за да решат криптографско уравнение и да добият блок. Те са възнаградени, ако решат уравнението, но процесът изисква огромна енергия (и ще продължи да изисква все повече и повече). Това е скъпо и енергийно неефективно, като в момента струва $ 1,2 милиарда щатски долара годишно за поддържане на PoW модела.

В PoS „валидаторите“ заместват миньорите и те „валидират“ (вместо моите) блокове върху блокчейна. Вместо да изразходват енергия за определен блок, валидаторите залагат средствата си за определен блок. Блокът, в който са заложени най-много средства, се проверява и добавя към блокчейна. По същество валидаторите „залагат“, че определен блок ще бъде добавен към веригата, като заключи средствата си в договор, докато бъде добавен следващият блок. Те се възнаграждават, ако са заложили на правилния блок. Те губят средствата си, ако действат злонамерено, като се опитват да валидират блок с невярна или корумпирана информация.

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

Окончателното пускане на Casper ще бъде предшествано от две итерации на протокола: Casper FFG и Casper CBC. Тези итерации ще бъдат внедрени в Ethereum, за да тестват PoS в мрежата и да идентифицират потенциални проблеми, преди да преминат изцяло.

Casper FFG

Casper FFG (Friendly Finality Gadget) ще бъде първата итерация на Casper, вероятно пусната по време на следващия хард форк на Ethereum, Константинопол. В Casper FFG блоковете все още се добиват с PoW. На всеки петдесет блока обаче валидаторите се намесват, за да тестват PoS механизма. Тази „контролна точка“ използва PoS протокола за оценка и потвърждаване на окончателността. Окончателността означава, че една операция е пълна и изцяло неизменна. Във FFG валидаторите залагат средства, за да финализират предишните петдесет блока от веригата.

Каспер CBC

Casper CBC (Correct-by-Construction) ще бъде втората итерация на Casper. Обикновено протоколът е официално определен и след това е доказано, че отговаря на всички дадени свойства. При CBC протоколът PoS е само частично определен и след това допълнително фино настроен, за да задоволи свойствата, които е трябвало да следва. По същество, вместо да бъде напълно дефиниран от самото начало, протоколът се извлича активно и постоянно. Това се постига чрез прилагането на доказателство, известно като „идеален противник“, което може да предизвика изключения, грешки и бъдещи грешки на протокола.

Окончателният протокол на Каспер вероятно ще бъде разгърнат с научни данни от FFG и CBC. Протоколът е много по-широк по обхват, отколкото просто мащабируемост, включително подобрения в енергетиката и сигурността. По-малко енергия на възел, необходимо за добавяне на блок към веригата, обаче означава, че мрежата ще подобри настоящите трудности при мащабиране. Въпреки че Casper не е разработен специално за справяне с проблемите с мащабирането, той със сигурност ще има положително въздействие върху способността на мрежата да се справя с по-голям трафик.

Поглед надолу по пътя

Четирите предложения по-горе не се изключват взаимно – всички те могат и вероятно ще бъдат приложени до известна степен, за да помогнат на мрежата Ethereum да се мащабира с течение на времето. Мащабирането ще бъде най-важното за разработчиците на Ethereum през 2018 г. Тъй като все повече и повече популярни dapps се разработват и стартират, ще видим непрекъснато фино настройване на наличните опции за мащабиране, за да позволи на Ethereum пълния му потенциал.

Абонирайте се за нашия бюлетин за най-новите новини за Ethereum, корпоративни решения, ресурси за разработчици и др. Имейл адрес Изключително съдържаниеОтчет за DeFi на Ethereum Q3 2020Доклад

Отчет за DeFi на Ethereum Q3 2020

Отчет за DeFi на Ethereum Q2 2020Доклад

Отчет за DeFi на Ethereum Q2 2020

Пълно ръководство за бизнес мрежи на BlockchainРъководство

Пълно ръководство за бизнес мрежи на Blockchain

Как да изградим успешен блокчейн продуктУебинар

Как да изградим успешен блокчейн продукт

Въведение в токенизациятаУебинар

Въведение в токенизацията

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map