Что такое SideChain в блокчейне Ethereum и в криптовалютах?
SideChain - это механизм, позволяющий перемещать Ethereum (или другие криптовалюты) в другой, полностью независимый блокчейн, обменивать его там, а затем возвращать обратно в главный блокчейн.
Другими словами, сайдчейн (от англ. side chain – боковая цепь) - как следует из названия, представляет собой тип блокчейна, который существует наряду, «со стороны», его главной цепи.
Есть две концепции, которые вы должны понимать:
- главная цепь
- и боковая цепь.
Думайте о главной цепи как о шоссе, по которому могут перемещаться транспортные средства, а о боковых цепях, как о серии дорог, построенных рядом с шоссе (здесь автомобили могут двигаться быстрее), и они могут соединяться с шоссе, когда это необходимо.
Сайдчейны можно представить как шоссе
Таким образом, Сайдчейн - это отдельная цепочка блоков, которая присоединяется к родительской цепочке (главной цепочке или «MainChain») с помощью двусторонней привязки.
Двухсторонние привязки позволяют обмениваться активами между родительским блокчейном и боковой цепочкой; например, используя Ethereum в качестве главного актива.
Скорость, с которой эти активы обмениваются между главным блокчейном и дочерней цепочкой, обычно предопределена.
Боковые цепи не следует путать с хардфорками. Они могут показаться похожими, но с боковой цепью первоначальная цепь остается неизменной.
Зачем нужны сайдчейны?
Как сайдчейны, так и Каналы состояния (Ethereum State Channels) являются технологиями для улучшения плохой масштабируемости блокчейнов в целом.
Количество сайдчейнов можно увеличивать
Как сайдчейны, так и Каналы состояния (Ethereum State Channels) - оба следуют похожей модели:
- Заморозка состояния / активов.
- Выполнение транзакций вне блокчейна / основной цепи.
- Разблокировка состояния / активов из канала состояния / боковой цепи.
Но, несмотря на эту аналогию, между ними есть много различий, которые возникают из-за того, что в State Channels мы не используем отдельную цепочку блоков, тогда как в SideChain мы используем отдельную цепочку блоков. Посмотрим, каковы его последствия.
Со всей работой, которую должны выполнить главные цепочки, боковые цепи предлагают место для разгрузки и извлечения некоторой части работы.
Следуя аналогии между родителями и детьми, «дочерняя» цепочка имеет достаточно ресурсов, чтобы выполнить некоторые обязанности по дому, в то время как главная цепочка «родителей» готовит обед для всей семьи. Это может помочь сделать основной блокчейн немного более эффективным.
Как работают сайдчейны?
Давайте рассмотрим пример использования SideChain в обмене крипто-активами.
Чтобы использовать боковую цепь, «пользователь A» в главной цепочке должен отправить свои средства на адрес боковой цепи (либо заключить смарт-контракт).
Как только монеты окажутся на адресе выхода в боковую цепь, они будут заморожены. Это означает, что «пользователь А» больше не сможет использовать монеты где-либо еще. Это сделано для того, чтобы пользователь не мог обмануть систему, отправляя одни и те же монеты как в боковую цепь, так и в главную.
В качестве меры, обеспечивающей повышенную безопасность, связь отправляется через главную цепь и боковую, и разрешается период ожидания после того, как средства пользователя были перемещены на выходной адрес.
Упрощённая схема взаимодействия сайдчейна и главного блокчейна
Когда период ожидания заканчивается, соответствующее количество монет оказывается в боковой цепи. Затем «пользователь А» может потратить монеты на сайдчейне.
При переходе от боковой цепочки к главной пользователь отправляет монеты из боковой цепочки на выходной адрес, где они опять замораживаются. По истечении периода ожидания эквивалентное количество монет переводится в главный блокчейн.
Даниэль Лаример, СЕО BlockOne, очень хорошо объяснил возможности боковых цепей.
Эффективная межблочная связь является ключом к масштабируемости и развитию протокола. Один токен может легко мигрировать из одной цепочки поколений в другую, когда мы учимся масштабировать. Нынешние и будущие поколения [блокчейна] могут работать бок о бок.
Преимущества
Во-первых, боковые цепи являются постоянными, нет необходимости создавать новые боковые цепи каждый раз, когда вам нужно их использовать (в отличии от Каналов состояния или Lightning Network).
Сайдчейн предназначен для решения указанной задачи главной цепи. Это создает простое взаимодействие между различными криптовалютами. У разработчиков есть возможность провести Бета-тест своих монет, прежде чем выпустить их в главной цепочке.
Недостатки
Майнерам по-прежнему необходимо обеспечивать безопасность боковых цепей. Формирование новой боковой цепи является дорогостоящим решением.
К тому же нужны так называемые «федеративные группы», решающие, когда заблокировать и выпустить монеты, с которыми пользователь совершает транзакцию.
Хотя эта модель обеспечивает лучшую конфиденциальность и более высокие скорости, она также создает дополнительный слой между главной цепью и боковой цепью, и, как некоторые говорят, это может помешать дальнейшему развитию технологии.
Sharding против Sidechain
Часто возникает вопрос: чем отличается Sharding от SideChains или Plasma?
Кажется, что все три архитектуры включают в себя архитектуру с центральной «главной цепью», которая служит основой консенсуса системы, и набором «дочерних» цепочек, содержащих фактические транзакции пользователя.
Хэши из дочерних цепочек обычно периодически публикуются в главной цепочке.
Отличить SideChain от Plasma просто.
Цепочки Плазмы в Ethereum - это боковые цепи, которые имеют свойство, не связанное с хранением: если в цепочке плазмы есть какая-либо ошибка, то она может быть обнаружена, и пользователи могут безопасно выйти из цепочки плазмы и предотвратить потери средств.
Единственные издержки, с которыми сталкиваются пользователи, заключаются в том, что им приходится ждать период арбитража (оспаривания) и платить более высокую комиссию за транзакции в рамках (немасштабируемой) главной цепочки.
Обычные сайдчейны не имеют этого свойства безопасности, поэтому они менее безопасны. Однако проектирование цепей Plasma во многих случаях намного сложнее, и можно утверждать, что для многих малоценных приложений безопасность не стоит дополнительной сложности.
Так что насчет плазмы против шардинга?
Ключевое техническое отличие связано с понятием жесткой связи. Жесткая связь - это свойство шардинга в Ethereum, но НЕ свойство боковых цепей или плазмы, которое говорит о том, что действительность главной цепи («цепь маяков или Beacon Chain» в Ethereum 2.0) неотделима от достоверности дочерних цепей.
Иными словами, дочерний блок, который указывает недопустимый блок в главной цепи в качестве зависимости, по определению недействителен, и, что более важно, главный блокчейн, который включает недопустимый дочерний блок, так же недопустим.
Важность решения по масштабируемости должна быть главным приоритетом, если мы хотим, чтобы эта отрасль двигалась вперед.
Популярное онлайн-децентрализованное приложение, которое требует блокчейн технологии, может процветать, только если блокчейн не перегружается при значительном увеличении транзакций.
Источник: https://vitalik.ca/general/2019/06/12/plasma_vs_sharding.htmlВыводы
Борьба между двумя реализациями повышения масштабирования великолепна (сайдчейны, каналы состояния, плазма и шардинг).
Поскольку исследования все еще продолжаются, а практическое использование не широко распространено, мы не можем решить, кто будет победителем.
Возможно, придется объединить несколько подходов, чтобы сформировать гибридное решение.