Авторы:
(1) Чжунтанг Луо, Университет Пердью ([email protected]);
(2) Рохан Мурукутла, Supra ([email protected]);
(3) Аникет Кейт, Университет Пердью / выше ([email protected]).
II. Ожидания от доступности блокчейна
III. Подход I: ведение реестра локально — запуск полного узла
IV. Подход II: запрос к стороннему узлу реестра как услуги (NAAS)
V. Подход III: Легкий узел — внешний запрос и локальная проверка
VI. Заключительное замечание и ссылки
Аннотация — Хотя многие исследования сосредоточены на различных методах защиты блокчейна, информация о цепочке должна быть доступна конечным пользователям, чтобы быть полезной. В этом документе с изложением позиции рассматриваются различные способы, с помощью которых конечные пользователи могут получить доступ к блокчейнам. Мы наблюдаем, что между двумя крайностями — запуском полного узла и полным использованием доверенной сторонней службы — появляется множество решений, касающихся легких узлов. Мы анализируем эти решения на основе трех основных свойств веб-коммуникаций: целостности, доступности и конфиденциальности. Мы пришли к выводу, что в настоящее время лучший способ получить доступ к блокчейну, сохраняя при этом эти три свойства, — это запустить полный узел. Мы считаем крайне важным, чтобы будущие сервисы доступности блокчейна создавались с учетом этих трех ожиданий.
Блокчейн — это группа узлов, пытающихся поддерживать публично проверяемый реестр транзакций, защищенный от взлома. После своего первого предложения в виде биткойна [41] в 2009 году блокчейны приобрели большую популярность как финансовые инструменты. Успех большинства известных блокчейнов, таких как Биткойн и Эфириум [20], во многом можно объяснить их децентрализованной природой и способностью обрабатывать сложные транзакции с помощью продвинутых криптографических примитивов. Учитывая большой рынок, блокчейны могут стать ведущей инновацией в секторах финансов и электронной коммерции в 21 веке.
Многие существующие исследования и инновации в области блокчейн-инфраструктуры сосредоточены на безопасных и эффективных способах ведения публичного реестра участвующими узлами (известного как протокол уровня 1). Однако отметим, что получение информации из хорошо обслуживаемого реестра также является нетривиальной задачей. Обеспечение доступности блокчейнов для каждого пользователя имеет важное значение, если они хотят играть более важную роль в повседневной жизни — публичный реестр по определению полезен только до тех пор, пока люди могут с ним взаимодействовать.
Учитывая недавний растущий общественный интерес к блокчейнам, каждый месяц с ними взаимодействует все больше пользователей, совершая до 875 000 транзакций в день для популярных блокчейнов, таких как Ethereum [20]. Попытка извлечь полезную информацию из потока транзакций требует мощного оборудования даже для обычного пользователя блокчейна, который не занимается деятельностью, приносящей прибыль (например, майнингом), и похоже, что механизм стимулирования в большинстве блокчейнов не приспособлен для борьбы с проблема.
В большинстве протоколов блокчейнов, таких как Биткойн и Эфириум, участвующие узлы (майнеры в системах доказательства работы и валидаторы в системах доказательства доли) заинтересованы в ведении реестра, получая небольшую комиссию при предложении нового блока бухгалтерская книга. Хотя участвующие узлы в этих протоколах блокчейна заинтересованы в сборе транзакций и трансляции необработанных блоков для обеспечения своей прибыли, они не заинтересованы в публикации уточненной информации о реестре, который они поддерживают. Рассмотрим эти два примера: (1) Пользователь хочет знать, сколько монет находится в его биткойн-кошельке. (2) Пользователь хочет знать текущий статус смарт-контракта, который он хочет выполнить.
Как и в этих примерах, большая часть информации, которую хотят знать пользователи, не связана напрямую с необработанными блоками, которые публикуют майнеры и валидаторы. Пользователи могут полностью доверить свои активы сторонней бирже и получать информацию от биржи, но этот подход является весьма рискованным, о чем свидетельствует недавний коллапс FTX [31]. Поэтому пользователям блокчейна необходимо разработать метод извлечения такой информации из блоков либо с помощью некоторой вычислительной мощности, которой они владеют, либо с помощью стороннего поставщика услуг.
В этой статье мы сравниваем на практике два текущих метода, которые пользователи применяют для получения уточненной информации из блокчейнов. Один из методов предполагает запуск полного узла локально. Этот метод обычно способен извлечь большой объем информации из блокчейна без внешней зависимости. Однако в некоторых случаях сохраняются дополнительные индексы для обеспечения более быстрого запроса, например узлы архива Ethereum и узлы Solana RPC. Другой метод — обратиться к стороннему поставщику услуг. Мы замечаем тенденцию, заключающуюся в том, что по мере роста стоимости эксплуатации полного узла, особенно в Ethereum, многие пользователи обращаются к сторонним сервисам, которые несут свои собственные риски безопасности. Мы видим, что запуск полного узла и полное использование доверенной сторонней службы представляют собой две крайности в отношении доступности блокчейна: одну с минимальной надежностью и максимальными требованиями к оборудованию, а другую с максимальной надежностью и минимальными требованиями к оборудованию.
Мы также замечаем, что когда требуемые данные в блокчейне специфичны и ограничены, например, когда пользователей интересует только один адрес, которым они владеют, пользователям доступно определенное программное обеспечение кошелька. В то время как некоторые программы кошельков напрямую запрашивают данные у внешнего узла, другие могут загружать часть блокчейнов и напрямую анализировать ее на предмет информации, которая интересует пользователей. Мы классифицируем программное обеспечение как отдельные легкие узлы. Между тем, мы обрисовываем недавнюю тенденцию в реализации универсального светового узла, который может предоставить любую информацию
пользователей, а не один адрес [12], например, предложенный Ethereum [24]. Текущие исследования также включают в себя так называемые сверхлегкие узлы, такие как Flyclient [10], которые на шаг ближе к использованию стороннего сервиса, предоставляющего дополнительный контекст для проверки (в этом контексте также известного как проверяющий), чем традиционные легкие узлы, которые полагаются на только на полных узлах. На рисунке 1 показан список различных методов доступа к блокчейнам.
Мы считаем, что среди множества способов доступа к блокчейнам по-прежнему важно изучать основы любого веб-сервиса: целостность, доступность и конфиденциальность. Блокчейн сам по себе представляет собой технологию децентрализации, однако слишком большая зависимость от небольшого числа третьих сторон противоречит этой предпосылке. Без метода проверки правильности данных целостность может быть нарушена, если указанные третьи лица предоставят неверные данные. Поскольку слишком большая зависимость от выбранных третьих сторон в обеспечении доступности может повлиять на доступность, если они не смогут или не захотят предоставлять услуги. Конфиденциальность также является проблемой, которую необходимо учитывать при обращении к третьей стороне.
Мы изучаем существующие на рынке протоколы и обнаруживаем, что многие из них могут иметь недостатки хотя бы в одном из этих аспектов. В настоящее время лучшим способом доступа к блокчейну с сохранением целостности, доступности и конфиденциальности по-прежнему является локальный запуск полного узла. Мы считаем важным обратить внимание на эти три аспекта при разработке любого протокола взаимодействия с блокчейнами для обеспечения функциональности.
Этот документ доступен на arxiv под лицензией CC BY-NC-ND 4.0 DEED.