Гостевой пост HodlX Отправьте свой пост
Проблема масштабируемости блокчейна в настоящее время является основным ограничением для массового внедрения технологии блокчейн. В стандартной конструкции блокчейна P2P без разрешения, представленной Сатоши Накамото, каждый узел должен обрабатывать все данные в сети..
Однако узлы в сети часто имеют разные возможности. В стандартном дизайне Накамото производительность сети ограничена производительностью самых слабых полных узлов в сети..
Один наивный подход к масштабированию сети блокчейнов – ограничение участия в сети слабых узлов. В этом случае сеть полагается только на так называемые «высокие узлы» с широкими и быстрыми сетевыми соединениями, которые могут обрабатывать большой объем данных..
Однако такая сеть неизбежно становится более централизованной, поскольку обслуживание высоких узлов часто обходится дороже. В этом контексте масштабирование, таким образом, достигается за счет децентрализации, которая, как известно, является наиболее ценной особенностью сетей блокчейн..
Исследователи по всему миру выдвинули разные предложения по решению проблемы масштабируемости. Наиболее перспективным считается шардинг. Тем не менее, нет единого видения того, как реализовать сегментирование, чтобы найти наилучший приемлемый компромисс среди множества параметров сети..
Такие проекты, как Ethereum 2.0, Algorand, Cardano, Near и Zilliqa, разработали собственные конструкции блокчейнов, основанные на сегментировании. Однако все эти проекты имеют схожую структуру в своем дизайне. Все они полагаются на алгоритм консенсуса PoS и псевдослучайный выбор валидаторов для комитетов шардов..
Чтобы участвовать в процессе проверки блока в рамках подхода сегментирования PoS, каждый участник блокирует некоторое количество монет на ставке. Например, в Ethereum 2.0 одна ставка не менее 32 монет соответствует 1 голосу во время раунда проверки блока..
Важно отметить, что каждый валидатор может делать несколько ставок и собирать несколько голосов. Таким образом, пользователь, поставивший определенное количество ставок, может стать валидатором на равном количестве разных шардов на основе псевдослучайного механизма выборов в комитет..
Некоторые сторонники шардинга PoS часто объединяют понятие «ставка» с понятием «валидатор». Я думаю, что многие читатели видели броские заголовки о том, что конкретная тестовая сеть для монеты X привлекла более 20 тысяч «валидаторов»..
Однако эта оценка не касается количества участников. Речь идет о количестве ставок. Невозможно узнать, кто сделал эти ставки. Может быть тысяча или сотня заинтересованных лиц. Также возможно, что большинство пакетов акций контролируется одним лицом. В этом случае ясно, что сеть централизованная..
Таким образом, предполагаемое обозначение вышеупомянутых долей этого единого объекта как отдельных валидаторов не только сбивает с толку и вводит в заблуждение, но и злонамеренно..
Наш подход состоит в том, чтобы отличать участников от их ставок. Для иллюстрации выполним некоторые расчеты. Предположим, что в сети есть D количество разных шардов, и какой-то участник ставит S количество ставок..
Тогда вероятность того, что этот участник будет избран валидатором с одним или несколькими голосами в конкретном сегменте с помощью идеальной псевдослучайной функции, равна
Кроме того, это математическое ожидание функции, которое достигает 1, если участник является валидатором, и 0 в противном случае. Сумма этих функций по всем шардам – это количество шардов, подтвержденных участниками..
Таким образом, математическое ожидание количества шардов, подтвержденных участником, определяется формулой:
Например, в тестовой сети Ethereum 2.0 количество шардов D равно 64. Согласно формуле, участник, заблокировавший 44 доли, будет проверять в среднем 32 шарда..
Это означает, что в среднем этот участник будет управлять 32 шардами, или ровно половиной данных в сети. Этот участник загрузит и обработает половину данных в сети. Можно возразить, что половина – это еще не все. PoS-сегментирование рекламировалось как серьезный прорыв в снижении нагрузки на слабые узлы в системе..
Однако это не такое уж большое улучшение, и таким участникам все равно придется обрабатывать большую рабочую нагрузку для обслуживания системы. Следовательно, слабые узлы не заметят ожидаемого улучшения производительности..
Кто-то может возразить, что нет необходимости фиксировать 44 ставки. Если у участника ограниченные ресурсы, он может заблокировать одну или две доли и обработать один или два шарда. К сожалению, схема сегментирования PoS предполагает, что комитеты сегментов перетасовываются каждую эпоху, чтобы предотвратить атаки со стороны адаптивных противников..
Адаптивные злоумышленники повреждают целевые узлы, например, с помощью DDoS-атак или атак eclipse. Поврежденные узлы теряют свои ставки из-за основного штрафа и покидают комитет. В конце концов, злоумышленник может получить контроль над всем комитетом. В
Напротив, в системе PoW узел может продолжить свою работу сразу после атаки..
Следовательно, перетасовка комитетов – важная часть шардинга PoS. После такой перетасовки комитеты переизбираются, а участники назначаются валидаторами на другие шарды..
К сожалению, для того, чтобы честно выполнять свои обязанности по валидации и проверке транзакций, участники с одной ставкой должны загрузить состояние этого шарда. Это довольно большой объем трафика.
Участники должны знать либо все неизрасходованные транзакции, либо все остатки на счетах, чтобы продолжить свою работу. Альтернатива – потерять ставку или стать марионеткой других узлов, которые обладают необходимыми данными..
Проведем некоторые расчеты. Предположим, что каждая ставка заблокирована примерно на 180 дней, и каждая ставка выбирается валидатором один раз в день. Обратите внимание, что приведенная выше формула отлично работает и в этом случае. Устанавливаем D = 64 и S = 180.
В среднем этот участник загружает состояние на 60 из 64 шардов. Это почти вся сеть. Другой пример. Предположим, участник заблокировал 4 ставки. Затем, через 11 дней, они загрузят почти 32 шарда, что составляет половину состояния сети..
Тем не менее, мы считаем, что нагрузку несут второстепенные заинтересованные стороны. На другой стороне монеты представлены богатые заинтересованные стороны со многими ставками. Представьте себе сервер с 64 блоками обработки, которые проверяют 64 шарда, где каждый блок обработки проверяет свой соответствующий шард. Управление этим сервером – довольно простая задача.
Всякий раз, когда происходит перестановка в комитете, нет необходимости загружать или обновлять какие-либо состояния сегментов. Необходимо только перетасовать ключи, связанные со ставками, между процессорами по результатам выборов комитета..
Таким образом, операция, которая является дорогостоящей для небольших заинтересованных сторон, является относительно дешевой для крупных заинтересованных сторон, использующих эти 64 процессора на сервере. Думаю, внимательный читатель понимает, что вышеупомянутый сервер является полноценным узлом. При таком дизайне те, кто может позволить себе запуск этого полного узла, сэкономят гораздо больше денег на сетевом трафике..
Кто-то может возразить, что 60 – это меньше, чем 64, и половина штата – это не все государство. Тем не менее, это не то долгожданное решение, которое стоит «миллиардного бюджета и 10 лет разработки»..
Тем не менее, небольшие заинтересованные стороны со слабыми узлами должны управлять огромным объемом данных или огромным объемом сетевого трафика. Это требование полностью противоречит цели масштабирования за счет сегментирования..
Различные проекты, которые ставят цель реализовать сегментирование доказательства доли владения, могут иметь разное количество сегментов, интервалы перетасовки комитетов и временные интервалы для блокировки доли..
Однако можно наблюдать «производительность ниже ожиданий» для любого практического набора параметров. Когда такие проекты сталкиваются с «задержками запуска», основные команды часто представляют их как проблемы разработки. Однако, как я только что описал, это простые конструктивные недостатки, присущие шардингу PoS..
Интересно, что не было необходимости внедрять сегментирование на основе доказательства доли, чтобы снизить нагрузку на мелких участников. Представим, что в проекте предлагается сегментирование на основе доказательства работы..
В отличие от проектов PoS, он предлагает настройку, удобную для слабых узлов, чтобы они могли управлять своими рабочими нагрузками. В этом случае все участники получают вознаграждение пропорционально их усилиям по обслуживанию сети. В результате запуск слабых узлов остается прибыльным..
Еще одним преимуществом шардинга PoW является отсутствие проблем, типичных для PoS, то есть атак без риска и атак с измельчением ставок. В результате доказательство работы предлагает лучший компромисс для масштабирования, чем доказательство доли.
Винод Манохаран – технологический предприниматель, основатель и генеральный директор Jax Multiversal Holdings, холдинговая компания, в портфель которой входят компании, занимающиеся онлайн-играми, платежные шлюзы и технологические компании Blockchain. Манохаран также является основателем JAX.Network, технологический стартап в Украине, специализирующийся на технологии блокчейн и, в частности, на решении печально известной Трилеммы масштабируемости блокчейна..
Рекомендуемое изображение: Shutterstock /ворона