Биткоин продолжает укрепляться после недавнего спада. На положительную динамику влияет развитие блокчейн-технологий и череда событий в криптовалютной экосистеме. Приложила к этому руку и компания Bitfury Group. Например, в начале июля мы провели первую транзакцию в Lightning Network c использованием биткойн-протокола. Задача этой сети — ускорить транзакции и снизить издержки на их проведение.
Развиваются и другие решения, которые должны положительно повлиять на экосистему блокчейнов. Например, технология сайдчейнов. Они действуют параллельно с основным блокчейном и могут использоваться, например, для тестирования его новых функций.
Почему side
Представьте, что вы можете отправлять криптовалюту не только на адреса/кошельки других людей и централизованных сервисов, но и другие блокчейны. Это и есть сайдчейн. Сайдчейнинг — это механизм, который дает безопасно использовать токены одного блокчейна в другом, сохраняя возможность обратного перевода. В этом случае оригинальный блокчейн называют основным, дополнительные блокчейны — сайдчейнами. Например, частная биткоин-сеть, способная переводить валюту в общедоступный блокчейн и обратно, будет считаться сайдчейном для этой сети.
Резиденты Stack Exchange предложили аналогию, описывающую работу сайдчейнов. Федеральный резерв печатает доллары США по заказу правительства — это основной блокчейн. Однако туристы могут брать деньги и вывозить их в другие страны — сайдчейны — с иной экономической обстановкой. Однако эта валюта все равно будет подкрепляться правительством США.
Как это работает
По сути, сайдчейны позволяют криптовалюте перемещаться из основного блокчейна в другие блокчейны, где их можно подкреплять новыми функциями: повышенной конфиденциальностью или умными контрактами.
Перевод валюты в сайдчейн выполняется в несколько этапов. Сперва биткоины отправляются на специально созданный адрес. Поступив на этот адрес, криптовалюта блокируется. Биткоины «замораживаются» и «освободить» их может только владелец, который докажет, что заблокированные средства больше нигде не используются.
После подтверждения блокирующей транзакции, в целевой блокчейн отправляется сообщение. В сообщении вы «прикладываете» доказательство, что монеты поступили на особый адрес в биткоин-сети, и отправителем являетесь вы. Далее, во втором блокчейне генерируется аналогичное количество токенов, и вы получаете над ними контроль.
Это выглядит так, как будто биткоины перешли из одного блокчейна в другой. При этом ни один биткойн не был создан из ничего или уничтожен. Мы их просто перевели. Теперь с этими монетами можно выполнять операции во втором блокчейне, следуя его правилам: например, платить «налог» на транзакции.
Чтобы вывести средства обратно в основной блокчейн, выполняются те же операции. Создается специальная транзакция, «замораживающая» монеты в сайдчейне, и токены генерируются в биткоин-блокчейне (если он был основным).
Разберем подробнее
Для перехода из основного блокчейна в сайдчейн, монеты замораживаются в первом и активируются во втором. Эта операция называется двойной фиксацией (two-way peg). Есть несколько вариантов её реализации.
Метод с одним хранителем
Валюта отправляется одному хранителю в основном блокчейне, пока средства активны в сайдчейне. Проблема решения в том, что оно централизовано. На практике этот подход мало чем отличается от простой передачи средств в биткоин-банки, например Coinbase или Xapo. Можно рассматривать эти банки как сайдчейны для биткоина.
Метод федерации
Второй вариант — заменить одного хранителя системой нотариусов, применяя метод мультиподписи. В этой модели федерация должна подписать все перемещения средств между блокчейнами, что повышает устойчивость, исключая единую точку отказа.
В начале года Blockstream представили whitepaper о «сильных федерациях», представляющий их видение принципов двойной фиксации и его реализацию в сайдчейне Liquid. Он используется для передачи биткоинов между биржами.
Вот код для вычисления адреса цепочки, на который нужно отправить токены, представленный в документе Blockstream:
Достоинствами метода с одним хранителем и метода федерации является то, что они не требуют внесения изменений в биткоин-протоколе.
Сайдчейн SPV
Это концепция, которая базируется на децентрализованной фиксации two-way peg. Чтобы перемещать монеты в сайдчейн и обратно, этот тип фиксации использует SPV-доказательства. Они доказывают существование транзакции в блоке с помощью специального набора данных.
SPV перемещает биткоины между основным блокчейном и сайдчейном после того, как узнает, что сигнальная транзакция о переводе средств между цепочками была помещена в блок. Вот пример запроса на GitHub, который позволяет активировать монеты в сайдчейне.
В отличие от других вариантов двойной фиксации, сайдчейны SPV не дают хранителю прямого контроля над средствами в главном блокчейне. Однако, способность майнеров формировать мошеннические SPV-доказательства дает им косвенный контроль над монетами. Однако над решением этой проблемы ведется работа.
Drivechain
Drivechain — это развитие идеи сайдчейнов. В драйвчейне о текущем состоянии блокчейна сообщают майнеры. Иными словами, майнеры являются хранителями средств и способны «размораживать» монеты пользователей, желающих перевести их назад в основной блокчейн. Концепция драйвчейна была предложена экономистом Bloq и создателем Bitcoin Hivemind Полом Шторцем (Paul Sztorc).
Главной аксиомой в понятии драйвчейнов является то, что майнеры — наименее «проблемные» хранители средств с точки зрения теории игр.
Гибриды
Также возможны гибридные методы, которые являются комбинацией описанных выше способов. Например, технология, разрабатываемая RSK Labs, объединяет в себе драйвчейн с моделью федерации. И хотя федеративная модель будет использоваться в блокчейне RSK, она станет необязательной, если 90% майнеров биткоина решат совместно добывать RSK.
Ещё одна идея, похожая на концепцию сайдчейнов, называется расширенными блоками. Эти блоки позволяют пользователям присоединяться к блокам транзакций с другими правилами подтверждения. Основным отличием будет то, что обновленные полные узлы биткоина подтверждают транзакции в расширенном блоке. Однако здесь возникает сложность — границы между расширенными блоками и биткоин-сетью размыты, поэтому проблемы в расширенных блоках могут вызвать проблемы во всем блокчейне.
Сайдчейны лишены этой «неприятности» — основной блокчейн защищён от сбоев в сайдчейне. Поэтому экспериментальные продукты, по типу RSK, будут реализованы (с большой долей вероятности) с применением сайдчейна, а не расширенных блоков.
Работа на перспективу
Технология сайдчейнов дает реализовывать интересные вещи в биткоин-пространстве. Например, можно реализовать сайдчейн, который майнится только сотрудниками одной компании. Этот сайдчейн будет некой реализацией кошелька компании с открытыми транзакциями. Также сайдчейн может майниться сотней компаний, состоящих в федерации — такой блокчейн будет менее подвержен цензуре.
При этом технология сохраняет такие достоинства, как децентрализованная безопасность и прозрачность транзакций.
Дополнительное чтение по теме:
- «Ваш следующий шаг к блокчейну»: релиз платформы Exonum от Bitfury Group
- «Ультимативный» блокчейн-дайджест: материалы на Хабре и другие источники по теме
- 1-я транзакция в Lightning Network c использованием биткойн-протокола
Автор: alinatestova