Получите скидку 40%
🔥 Стратегия с подборкой акций от ИИ, «Технологические титаны», выросла на 7,1% за май. Куйте железо, пока горячо!Получить СКИДКУ 40%

В жертву эффективности: как работает параллельное выполнение транзакций в блокчейне

Опубликовано 27.02.2024, 00:12
© Reuters.  В жертву эффективности: как работает параллельное выполнение транзакций в блокчейне

Исследование Binance

Solana

Проблема последовательного выполнения

Параллельное выполнение призвано развести задачи и обрабатывать за раз большее количество транзакций, что должно благотворно сказываться на пропускной способности и обеспечивать лучшее масштабирование сети.

Специалисты из Binance обращают внимание, что эволюция вычислительных машин движется в сторону многозадачности и многопоточности. Доказательством может служить тот факт, что частоты процессоров за последние 20 лет не сильно ушли вперед – вместо этого увеличилось количество ядер. Это более эффективное решение, так как с подавляющим большинством задач несколько более слабых ядер справятся быстрее одного мощного.

Программирование следует этому тренду – современные решения пишутся таким образом, чтобы максимизировать положительный эффект от многопоточности. Поэтому в моде решения, где множество задач решается параллельно.

Как работает параллельное выполнение в блокчейне

Но есть ряд проблем, из-за которых последовательные блокчейн-решения являются более надежными и безопасными. Главная – зависимые транзакции. Что если параллельно будут обработаны две транзакции, в которых, например, один и тот же адрес отправляет криптовалюты на два разных адреса. Если выполнение этих транзакций будет полностью параллельно, то владелец кошелька сможет дважды потратить свои монеты. А такое не приветствуется.

Поэтому зависимые транзакции можно выполнять только последовательно. Зависимость транзакций – ключевой концепт, который означает, что:

  • Выходные данные одной задачи записываются на входные данные другой — например. Алиса переводит ETH Бобу (выход), а Вася (вход) передает ETH Кэрол.

  • Выходные данные нескольких задач записываются в одну и ту же ячейку памяти – например, и Алиса и Кэрол передают ETH Васе (выход).

  • Из этого очевидно, что распараллелить можно только независимые друг от друга задачи. Это, в свою очередь означает, что скорость блокчейна с параллельным выполнением всегда будет ограничена по самой длинной цепочке зависимых задач. И там не менее, независимых задач довольно много, поэтому для параллельных решений в блокчейне места предостаточно.

    Реклама третьих лиц – не является предложением или рекомендацией Investing.com. См. подробности здесь или удалить рекламу .

    Различные способы параллельного выполнения

  • Шардинг. Эксперты Binance отнесли к параллельному выполнению шардинг. Это справедливо на макроуровне (шарды действительно обрабатывают свои транзакции параллельно друг другу), однако на микроуровне каждая из шард внутри себя обрабатывает транзакции последовательно.

  • Параллелизм задач. Это когда одновременно обрабатываются несколько транзакций. Например, если в распоряжении ноды имеется 16 ядер, она может одновременно обрабатывать по 16 транзакций.

  • Параллелизм данных – одна инструкция для множества данных (Single instruction multiple data, или SIMD). SIMD – низкоуровневое решение, позволяющее эффективнее работать с данными. Оно полезно для хеширования и верификации.

  • Недостатки параллельного выполнения

    Авторы исследования суммировали уязвимые места параллельного выполнения и выявили ряд критических:

    • ситуация гонки (неопределенность результата, возникающая при неправильном определении независимых транзакций);

    • проблемы с повторным входом;

    • взаимоблокировки, когда две или более задачи бесконечно ожидают выполнения друг друга. Каждая из них не может выполниться до тех пор, пока не выполнится другая;

    • некомпонуемость, когда программный код сам по себе может быть правильным, но выдавать критические ошибки при использовании в разных условиях.

    Также условно критическими (то есть критическими в определенных ситуациях) видятся еще две проблемы:

    • инверсия приоритетов или состояние, при котором задача с низким приоритетом может косвенно блокировать задачу с более высоким приоритетом из-за неправильной работы планировщика;

    • нехватка ресурсов, когда некоторые задачи потребляют больше ресурсов, чем им положено, лишая другие задачи необходимых им ресурсов.

    Вывод

    Читайте оригинальную статью на сайте Bits.media

    Последние комментарии по инструменту

    Установите наши приложения
    Предупреждение о риске: Торговля финансовыми инструментами и (или) криптовалютами сопряжена с высокими рисками, включая риск потери части или всей суммы инвестиций, поэтому подходит не всем инвесторам. Цены на криптовалюты чрезвычайно волатильны и могут изменяться под действием внешних факторов, таких как финансовые новости, законодательные решения или политические события. Маржинальная торговля приводит к повышению финансовых рисков.
    Прежде чем принимать решение о совершении сделки с финансовым инструментом или криптовалютами, вы должны получить полную информацию о рисках и затратах, связанных с торговлей на финансовых рынках, правильно оценить цели инвестирования, свой опыт и допустимый уровень риска, а при необходимости обратиться за профессиональной консультацией.
    Fusion Media напоминает, что информация, представленная на этом веб-сайте, не всегда актуальна или точна. Данные и цены на веб-сайте могут быть указаны не официальными представителями рынка или биржи, а рядовыми участниками. Это означает, что цены бывают неточны и могут отличаться от фактических цен на соответствующем рынке, а следовательно, носят ориентировочный характер и не подходят для использования в целях торговли. Fusion Media и любой поставщик данных, содержащихся на этом веб-сайте, отказываются от ответственности за любые потери или убытки, понесенные в результате осуществления торговых сделок, совершенных с оглядкой на указанную информацию.
    При отсутствии явно выраженного предварительного письменного согласия компании Fusion Media и (или) поставщика данных запрещено использовать, хранить, воспроизводить, отображать, изменять, передавать или распространять данные, содержащиеся на этом веб-сайте. Все права на интеллектуальную собственность сохраняются за поставщиками и (или) биржей, которые предоставили указанные данные.
    Fusion Media может получать вознаграждение от рекламодателей, упоминаемых на веб-сайте, в случае, если вы перейдете на сайт рекламодателя, свяжитесь с ним или иным образом отреагируете на рекламное объявление.
    Английская версия данного соглашения является основной версией в случае, если информация на русском и английском языке не совпадают.