- PVSM.RU - https://www.pvsm.ru -

Немного о сайдчейнах, или как перевести криптовалюту в другой блокчейн

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

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

Немного о сайдчейнах, или как перевести криптовалюту в другой блокчейн - 1 [2]/ изображение Ardonik [3] CC [4]

Почему side

Представьте, что вы можете отправлять криптовалюту не только на адреса/кошельки других людей и централизованных сервисов, но и другие блокчейны. Это и есть [5] сайдчейн. Сайдчейнинг — это механизм [6], который дает безопасно использовать токены одного блокчейна в другом, сохраняя возможность обратного перевода. В этом случае оригинальный блокчейн называют основным, дополнительные блокчейны — сайдчейнами. Например, частная биткоин-сеть, способная переводить валюту в общедоступный блокчейн и обратно, будет считаться сайдчейном для этой сети.

Резиденты Stack Exchange предложили [7] аналогию, описывающую работу сайдчейнов. Федеральный резерв печатает доллары США по заказу правительства — это основной блокчейн. Однако туристы могут брать деньги и вывозить их в другие страны — сайдчейны — с иной экономической обстановкой. Однако эта валюта все равно будет подкрепляться правительством США.

Как это работает

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

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

После подтверждения блокирующей транзакции, в целевой блокчейн отправляется сообщение. В сообщении вы «прикладываете» доказательство, что монеты поступили на особый адрес в биткоин-сети, и отправителем являетесь вы. Далее, во втором блокчейне генерируется аналогичное количество токенов, и вы получаете над ними контроль.

Это выглядит так, как будто биткоины перешли из одного блокчейна в другой. При этом ни один биткойн не был создан из ничего или уничтожен. Мы их просто перевели. Теперь с этими монетами можно выполнять операции во втором блокчейне, следуя его правилам: например, платить «налог» на транзакции.

Чтобы вывести средства обратно в основной блокчейн, выполняются те же операции. Создается специальная транзакция, «замораживающая» монеты в сайдчейне, и токены генерируются в биткоин-блокчейне (если он был основным).

Разберем подробнее

Для перехода из основного блокчейна в сайдчейн, монеты замораживаются в первом и активируются во втором. Эта операция называется двойной фиксацией (two-way peg [8]). Есть несколько [9] вариантов её реализации.

Метод с одним хранителем

Валюта отправляется одному хранителю в основном блокчейне, пока средства активны в сайдчейне. Проблема решения в том, что оно централизовано. На практике этот подход мало чем отличается от простой передачи средств в биткоин-банки, например Coinbase или Xapo. Можно рассматривать эти банки как сайдчейны для биткоина.

Метод федерации

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

В начале года Blockstream представили [10] whitepaper [11] о «сильных федерациях», представляющий их видение принципов двойной фиксации и его реализацию в сайдчейне Liquid. Он используется для передачи биткоинов между биржами.

Вот код [12] для вычисления адреса цепочки, на который нужно отправить токены, представленный в документе Blockstream:

Немного о сайдчейнах, или как перевести криптовалюту в другой блокчейн - 2

Достоинствами метода с одним хранителем и метода федерации является то, что они не требуют внесения изменений в биткоин-протоколе.

Сайдчейн SPV

Это концепция, которая базируется [8] на децентрализованной фиксации two-way peg. Чтобы перемещать монеты в сайдчейн и обратно, этот тип фиксации использует SPV-доказательства [13]. Они доказывают существование транзакции в блоке с помощью специального набора данных.

SPV перемещает [14] биткоины между основным блокчейном и сайдчейном после того, как узнает, что сигнальная транзакция о переводе средств между цепочками была помещена в блок. Вот пример [15] запроса на GitHub, который позволяет активировать монеты в сайдчейне.

В отличие от других вариантов двойной фиксации, сайдчейны SPV не дают хранителю прямого контроля над средствами в главном блокчейне. Однако, способность майнеров формировать [16] мошеннические SPV-доказательства дает им косвенный контроль над монетами. Однако над решением этой проблемы ведется работа.

Drivechain

Drivechain [17] — это развитие идеи сайдчейнов. В драйвчейне о текущем состоянии блокчейна сообщают майнеры. Иными словами, майнеры являются хранителями средств и способны «размораживать» монеты пользователей, желающих перевести их назад в основной блокчейн. Концепция драйвчейна была предложена экономистом Bloq и создателем Bitcoin Hivemind Полом Шторцем (Paul Sztorc).

Главной аксиомой в понятии драйвчейнов является то, что майнеры — наименее «проблемные» хранители средств с точки зрения теории игр.

Гибриды

Также возможны гибридные методы, которые являются комбинацией описанных выше способов. Например, технология, разрабатываемая RSK Labs, объединяет [18] в себе драйвчейн с моделью федерации. И хотя федеративная модель будет использоваться в блокчейне RSK, она станет необязательной, если 90% майнеров биткоина решат совместно добывать RSK.

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

Сайдчейны лишены этой «неприятности» — основной блокчейн защищён от сбоев в сайдчейне. Поэтому экспериментальные продукты, по типу RSK, будут реализованы (с большой долей вероятности) с применением сайдчейна, а не расширенных блоков.

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

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

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

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

Автор: alinatestova

Источник [21]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/platezhny-e-sistemy/264008

Ссылки в тексте:

[1] провели первую транзакцию: https://habrahabr.ru/company/bitfury/blog/333864/

[2] Image: https://habrahabr.ru/company/bitfury/blog/338138/

[3] Ardonik: https://www.flickr.com/photos/ardonik/3273300715/

[4] CC: https://creativecommons.org/licenses/by-sa/2.0/

[5] есть: https://gendal.me/2014/10/26/a-simple-explanation-of-bitcoin-sidechains/

[6] механизм: https://bitcoin.stackexchange.com/questions/40770/would-sidechains-help-bitcoin-scale/40772#40772

[7] предложили: https://ethereum.stackexchange.com/questions/379/what-is-a-sidechain

[8] two-way peg: https://www.blockstream.com/sidechains.pdf

[9] несколько: https://news.bitcoin.com/5-ways-bitcoins-transferred-sidechain/

[10] представили: https://blockstream.com/2017/01/16/strong-federations-paper-released-liquid.html

[11] whitepaper: https://blockstream.com/strong-federations.pdf

[12] код: https://blockstream.com/sidechains.pdf

[13] SPV-доказательства: http://popeller.io/index.php/2016/08/30/spv-proofs-in-sidechains/

[14] перемещает: https://medium.com/@Chris_Stewart_5/op-withdrawproofverify-the-op-code-that-powers-spv-sidechains-cefce996a324

[15] пример: https://gist.githubusercontent.com/Christewart/4f16aecccea4b6345b595939af2eca8e/raw/ddfd638a702c27877362ddd7c054b928bf723fea/op_wpv_script_sig

[16] формировать: https://bitcoin.stackexchange.com/questions/43445/how-would-spv-proofs-be-verified-when-moving-assets-back-in-2-way-pegged-sidecha

[17] Drivechain: http://www.truthcoin.info/blog/drivechain/

[18] объединяет: http://www.rsk.co/blog/sidechains-drivechains-and-rsk-2-way-peg-design

[19] «Ваш следующий шаг к блокчейну»: релиз платформы Exonum от Bitfury Group: https://habrahabr.ru/company/bitfury/blog/333446/

[20] «Ультимативный» блокчейн-дайджест: материалы на Хабре и другие источники по теме: https://habrahabr.ru/company/bitfury/blog/332438/

[21] Источник: https://habrahabr.ru/post/338138/