Каждый узел блокчейна — это путь в web3, динамичное цифровое достояние. Становится все более жизненно важным, чтобы ни одна организация не могла получить и укрепить контроль над этими путями.
Со временем web3 приспособился к требованиям удобства использования и масштабируемости, необходимым для обеспечения нового глобального Интернета. По мере того, как он развивался, развивалась и его узловая инфраструктура. Во всех экосистемах эта эволюция следовала повторяющейся схеме, заменяя децентрализованную идеологию централизованной производительностью и масштабируемостью; самоуправление узла очень часто продается за более практичные услуги поставщиков узлов SaaS. Эта тенденция связана с отсутствием нескольких важных механизмов: (1) собственного распределения, позволяющего децентрализованной, распределенной сети исполнителей узлов предоставлять RPC-сервис приложениям, (2) протокола, который согласовывает экономические стимулы между участниками сети, чтобы гарантировать отсутствие провайдер может получить централизованный контроль над сетью.
В этой статье исследуется траектория доступа к данным блокчейна и готовится к третьему и последнему действию: node3.
Итак, вы хотите получить доступ к данным блокчейна?
Удаленный вызов процедур (RPC) — это протокол связи запрос-ответ, позволяющий клиентам выполнять процедуры на удаленном сервере. Клиент отправляет запрос ретрансляции, а сервер отправляет ответ. Узел RPC — это узел блокчейна, который предоставляет свои конечные точки для приема вызовов RPC.
В web3 RPC является стандартным протоколом, который приложения используют для доступа к данным блокчейна. Каждый раз, когда пользователь открывает свой кошелек, отправляет транзакцию или торгует на DEX, он обращается к узлу RPC, чтобы запросить состояние блокчейна или отправить транзакции для распространения в одноранговой сети. Ранее мы исследовали , как RPC работает на низком уровне , используя примеры запросов из экосистем Cosmos и Osmosis.
Вы можете думать об узле как о личном шлюзе человека для участия в web3 — элементарной единице децентрализованной сети. Блокчейны были созданы с идеей, что все пользователи будут получать доступ к состоянию без доверия и проверять его, запуская и запрашивая свои собственные узлы. Учитывая отсутствие практичности в масштабе, эта служба с тех пор была абстрагирована, и сегодня приложения в основном используют узлы, управляемые централизованными объектами.
Поскольку этот новый интернет надеется оставаться децентрализованным (устойчивым к цензуре, без разрешений, принадлежащим пользователям) при одновременном повышении производительности в масштабе (например, данкшардинг, деревья верклей, Zk-свертывания), то и инфраструктура узлов должна быть такой же.
Так же, как эволюция от web1 к web3, инфраструктура узлов должна перемещаться от узла 1 к узлу 3.
Сближение к централизации
Доступ к данным в блокчейне следует той же эволюции, что и в Интернете.
Web1 и Node1: Интернет был построен с идеей одноранговой связи через такие протоколы, как HTTP и SMTP.
Пример: в эпоху Web1 пользователи Интернета обычно запускали свои собственные частные почтовые серверы. Точно так же node1 — это фаза web3, характеризующаяся собственными узлами, которые обеспечивают суверенный и не требующий доверия доступ к «децентрализованной сети».
Web2 и Node2: централизованные предложения обычно обеспечивают большее удобство использования и масштабируемость. Они управляют централизованными серверами и им доверяют пользовательские данные, обеспечивая доступ к услугам и поддерживая качество обслуживания.
Пример: в эпоху web2 пользователи больше не используют свои собственные почтовые серверы и отдают предпочтение централизованным, но более практичным предложениям, таким как Gmail или Outlook. Node2 — это движение к поставщикам централизованных узлов, таким как Alchemy или Infura, которые обеспечивают более высокую производительность в масштабе.
Web3 и Node3: новый децентрализованный интернет, который вводит цифровую нехватку и собственность, но построен на предпосылке, что каждый человек управляет своим собственным узлом.
Пример: Протокол Ethereum может принадлежать его пользователям в форме эфира. Но если node3 сочетает в себе лучшее из node1 и node 2 для обеспечения децентрализации и производительности в масштабе — как это выглядит?
Node1 — Запустите свой собственный узел
Запустите свой собственный узел
✅ Устойчивый к цензуре, производительный
❌ Не масштабируется
Публичные блокчейны построены с идеей, что пользователи будут запускать узлы и принимать участие в децентрализованной и распределенной сети без разрешений. Участники запускают клиент, который синхронизируется со своими коллегами, чтобы прийти к консенсусу по общему реестру.
Запуск собственной ноды — это первая итерация web3 — она дает вам ненадежный, проверяемый и не подвергающийся цензуре доступ к данным блокчейна. Запуск локального узла также значительно снижает задержку, и разработчики часто предпочитают его для участия в таких мероприятиях, как крупные монетные дворы NFT.
Одним из показателей децентрализации блокчейна является количество узлов, хранящих копию последнего состояния. Этому видению способствует запуск собственного узла.
Однако работа узла требует больших ресурсов, вычислительной мощности, большого объема памяти и ручного обслуживания. Например, для полного узла в Cosmos Hub требуется более 1,4 ТБ постоянно доступного хранилища данных.
Это делает работающие узлы плохим решением для доступа к данным блокчейна, и , как выразился Мокси, «если и есть что-то […], что мы узнали о мире, так это то, что люди не хотят запускать свои собственные серверы».
Node2 — Централизованные провайдеры
Общедоступные конечные точки RPC
✅ Простота в использовании — подключи и работай
❌ Не масштабируемый, не приватный, цензурируемый, ненадежный сервис
Чтобы разработчикам было проще взаимодействовать с блокчейном, сами блокчейны начали предлагать свою собственную общедоступную инфраструктуру. Эти бесплатные, альтруистически управляемые конечные точки позволяют разработчикам запускать приложения, не беспокоясь о раскручивании собственных узлов.
Однако общедоступные конечные точки RPC страдают от «трагедии общего пользования» — проблемы, характерной для всех обычных товаров. Из-за несоответствия стимулов между отдельными лицами и остальной частью сети пользователям предлагается максимизировать свою экономическую выгоду, эгоистично эксплуатируя бесплатный ресурс, что приводит к истощению.
Общедоступные конечные точки ограничены по скорости, чтобы смягчить этот эффект, что снижает их полезность для приложений производственного уровня, нуждающихся в масштабировании.
Поставщики NaaS
✅ Производительность, масштабируемость
❌ Полностью доверительные, а не частные, цензурируемые, непроверяемые данные
По мере внедрения блокчейна и роста сообщества разработчиков web3, профессиональные компании Node-as-a-Service росли, чтобы удовлетворить растущий спрос, неудовлетворенный ограниченными публичными конечными точками. Централизованный NaaS предоставляет масштабируемое решение, и во многих крупных экосистемах они являются наиболее распространенным способом взаимодействия разработчиков с блокчейном.
Хотя эти предприятия помогли снизить порог входа для разработчиков web3, их отношения с пользователями основаны на доверии, создавая единую точку отказа в дополнение к поверхности цензуры.
Централизованные провайдеры RPC сегодня являются самым большим противоречием в web3, и недавние события, такие как цензура Tornado Cash после санкций OFAC, показали, что они являются серьезной слабостью децентрализованного стека.
Несколько централизованных поставщиков
✅ Производительность в масштабе, высокое время безотказной работы, высокая целостность данных
❌ Дорогой, ресурсоемкий
Стремясь уменьшить зависимость от какого-либо одного провайдера, крупнейшие проекты теперь предпочитают создавать и управлять архитектурой с использованием n централизованных поставщиков узлов одновременно или в качестве резервных вариантов. Это ручная попытка обеспечить время безотказной работы и целостность данных, при этом команды разработчиков распределяют нагрузку по трафику и перекрестно ссылаются на ретрансляционные ответы от разных поставщиков. Целостность данных и время безотказной работы увеличиваются с увеличением количества используемых поставщиков.
Это еще далеко от идеала. Архитектуры «активный-активный» и «активный-пассивный» требуют больших ресурсов, и для их обслуживания требуется профессиональная команда DevOps.
Node3
✅ Децентрализованный, производительный, масштабируемый
Node3 — это последний акт доступа к данным блокчейна, сочетающий в себе лучшее из node1 и node2. Это достигается за счет создания ненадежной экосистемы подотчетной, ориентированной на стимулы передачи данных блокчейна без единой точки отказа.
Мы рассмотрим это более подробно во второй части этой серии.
Выводы:
Инфраструктура Node следует предсказуемой схеме, которая не может обеспечить долгосрочную устойчивость и собственный опыт работы с Web3 для пользователей.
Node1 — первая эволюция инфраструктуры узлов воплотила в себе ранний идеал криптосообщества: отсутствие доверия, независимость, конфиденциальность и возможность проверки.
Node2. С ростом внедрения «случайные» пользователи и приложения решили пожертвовать децентрализацией ради удобства и масштабируемости, уступив место Node2. Во многом зависящий от более удобной и масштабируемой централизованной инфраструктуры, сегодня web3 опирается на инфраструктуру web2.
Node3 — децентрализованный. Перформанс. Масштабируемость.
Lava
Lava — это масштабируемый протокол, который позволяет разработчикам получать доступ к данным RPC через любую цепочку блоков. Разработчики получают данные напрямую от независимых исполнителей узлов, которые несут финансовую ответственность за быстрое, надежное и точное обслуживание. С помощью Lava разработчики могут добавлять магию web3 в свои приложения без посредников.
Ответственность, а не доверие 🌋