View in Telegram
Борьба с ветряными мельницами Вот уже две недели мы балансируем между разработкой новых фичей, поддержанием пользовательского интереса, общего продвижения по нашей роадмапе и попытками не уронить NEAR Protocol. Все началось с того, что в один прекрасный день время исполнения транзакций на claim у всех наших пользователей достигло нескольких часов. Мы и до этого замечали, что NEAR не справляется с нагрузкой, но не обращали внимание и просто радовались нашему успеху первенства на dAppRadar по числу уникальных транзакций в день. Ведь лошадка шла, кряхтя и фыркая, но шла. Она медленно, но верно везла свою большую повозку с нашими хотами… Но с того дня лошадка устала. Первым делом мы добавили механизм пендинг транзакций, ведь если пользователь делает перевод/свап/клейм и его транзакция попадает в очередь, то нет смысла нервировать юзера крутящимся бубликом, лучше вернуть ему старый добрый биткоин/эфириум стиль процессинга транзакций, где он проверяет статус в отдельном списочке (думали списочки это пережиток прошлого?). Но пока мы добавляли эту гениальную фичу - лошадка впала в кому, а пендинги стали вечными. Причиной перегрузки сети стал механизм шардинга, цель которого равномерно распределить трафик на сеть. Каждый аккаунт на NEAR (контракт или пользователь) относится к какому то конкретному шарду (всего их пока что 5), а номер шарда определяет алфавитный порядок адреса акаунта. Такой подход хорошо работает пока не выясняется, что на одном шарде сосуществуют самые крупные контракты, которые формируют 90% процентов всего трафика этого шарда, что полностью забивает пропускную способность. После того, как команда NEAR протокола рассказала нам про эту интересную особенность, мы ринулись выносить клеймы на L2. L2 это общее название механизма надстройки над сетью для масштабирования пропускной способности блокчейна. По факту пользователям не нужно делать ончейн транзакции клейма каждый раз, ведь можно хранить состояние централизовано и раз в какое то время синхронизировать его ончейн. Это существенно снизило нагрузку на сеть, но повысило общую сложность и соответственно породило новые баги, которые мы (вопреки общему мнению наших пользователей) стараемся исправлять 🙂 Хорошая новость в том, что команда NEAR тоже старается и делает все возможное чтобы это исправить и в настоящий момент запускает еще один шард для увеличения пропускной способности. Лошадке меняют подковы, чтобы она шла дальше ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily