Sidechain и Off-chain: как оно работает? Часть 1

Блокчейн — это, по сути, иммутабельная база данных, принимающая транзакции, тем самым изменяя своё состояние. Также эта система является децентрализованной, то есть все участники системы могут вносить в неё изменения.

Какая сегодня стоит проблема перед блокчейном? Можно сказать, что основной проблемы нет, зато есть целая группа проблем. Одна из этих проблем связана со скоростью выполнения транзакций. Для её понимания рассмотрим три базовых состояния транзакций.

  1. Транзакция была выпущена — это клиент. В нашем случае это ноды, отмеченные синим цветом. Когда клиент выпускает транзакцию, она должна попасть на другие ноды, в том числе на ноды, которые будут работать, как валидатор, то есть подтверждать транзакцию. И на это нужно время, иногда много времени. То есть это Latency.
  2. Валидация — процесс, поглощающий ещё больше времени. Когда транзакция попадает на валидатор, он должен сделать блок, то есть каким-то образом его смайнить или выпустить. И здесь, в зависимости от консенсуса алгоритма, правила могут быть абсолютно разные. И тут в принципе теряется очень много времени.
  3. Как следствие, после этого блок должен выпуститься, то есть валидатор выпускает блок, и он должен распространиться до других пиров в сети.

Итого у нас получаются 3 основные проблемы: — задержки (Latencies); — Block mint delay — блок может выпускаться не сразу, а через 10-15 секунд и даже 10 минут (всё зависит от реализации); — абонентская плата — если вы платите мало за транзакцию, то в первую очередь будут обработаны те транзакции, за которые заплатили больше (тут действуют простые экономические правила). То есть по факту вы можете ждать даже не 10 минут, а больше.

Что придумали для решения этих проблем?

Умные люди придумали простую вещь — Off-chain — операцию без цепочки. Это можно назвать некоторым паттерном своего рода. То есть речь идёт об операциях, которые относятся к блокчейн, но не выполняются на нём. Среди этих операций может быть всё, что угодно, например, отправка уведомлений. Или же это могут быть вещи, связанные непосредственно с передачей транзакций и оптимизацией, о чём мы, собственно, и поговорим.

Давайте рассмотрим работу блокчейна на примере следующей схемы:

То есть по факту мы говорим об оптимизации количества транзакций по конечному результату, что позволяет уменьшать их число. Естественно, это имеет свой профит.

Да, в базовом бизнес-кейсе всё будет работать хорошо. Но когда мы хотим более комплексную логику, возникают проблемы. Чтобы их обойти, и был придуман Sidechain — по сути, другая цепочка. В простом бизнес-варианте это может быть перевод денежных средств из биткоина в эфир и т. д.

Sidechain — тоже своеобразный паттерн, позволяющий переводить токены и любую другую валюту между двумя и более сетями.

Как же сделать собственный Sidechain, то есть, игнорируя публичный Sidechain, сделать его приватным, как обычный бэкенд? Как объединить эти два мира в принципе? Об этом читайте во второй части нашей статьи.

Следите за обновлениями блога!

Подробное выступление по этой теме смотрите здесь.