Биткоин продолжает укрепляться после недавнего спада. На положительную динамику влияет развитие блокчейн-технологий и череда событий в криптовалютной экосистеме.

Приложила к этому руку и компания Bitfury Group. Например, в начале июля мы провели первую транзакцию в Lightning Network c использованием биткойн-протокола. Задача этой сети — ускорить транзакции и снизить издержки на их проведение.

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

/ изображение Ardonik CC

Почему 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, будут реализованы (с большой долей вероятности) с применением сайдчейна, а не расширенных блоков.

Работа на перспективу


Технология сайдчейнов дает реализовывать интересные вещи в биткоин-пространстве. Например, можно реализовать сайдчейн, который майнится только сотрудниками одной компании. Этот сайдчейн будет некой реализацией кошелька компании с открытыми транзакциями. Также сайдчейн может майниться сотней компаний, состоящих в федерации — такой блокчейн будет менее подвержен цензуре.

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

Дополнительное чтение по теме:

Комментарии (2)


  1. pewpew
    19.09.2017 13:03

    В чём отличие сайдчейна от операций внутри кошелька, пусть и большого?
    Вот например, есть у меня кошелёк. На нём 1000 btc. В рамках этих 1000 btc я могу создать систему на чём угодно, хоть на ракушках с моря. Разумеется, если пользователи моей валюты будут мне доверять. Внутренние рассчёты производятся в ракушках. А я уже перевожу транзакции дальше в btc. Ракушки я эммитирую на основании того, как их оценивают в других валютах. Всем выгодно.
    Не ясно, почему сайдчейн должен быть основан именно на блокчейне. И почему эта система вдруг стала новой.


    1. thatsme
      19.09.2017 19:49
      +2

      Да хоть ракушками, лишь-бы протокол мог удостовериться, что кол-во ракушек и Bitcoin соответствуют друг-другу. Посмотрите на проект Rootstok (RSK)
      И никаких ICO, т.к. стоимость привязана к Bitcoin. На биржах RSK никто не торгует — нет смысла когда цена к Bitcoin привязана. Но сеть впечатляет, — до 2к тх/с on chain и 20к off chain (Visa в среднем 2к/с). Так-что хоть ракушки, лишь-бы это соответствовало концепции trustless, когда Вам не наслово будут верить о кол-ве ракушек, а протоколом это будет верифицироваться.