<?= Html::encode($this->title) ?>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод

Источник: ru.investing.com

Топ 10 банков России
СберБанк
Лицензия: №1481
Альфа-Банк
Лицензия: №1326
ВТБ
Лицензия: №1000
Русский Стандарт
Лицензия: №2289
Международный Промышленный Банк
Лицензия: №2056 (отозвана)
Глобэкс
Лицензия: №1942
Национальный Банк Развития Бизнеса
Лицензия: №2795(отозвана)
Банк «ФК Открытие»
Лицензия: №2209
Банк Зенит
Лицензия: №3255