Драйвчейны: как два новых предложения могут изменить ДНК Биткойна
В скором времени в Биткойн-систему могут добавить давно анонсированную функциональность под названием «сайдчейн». Это стало возможно благодаря паре новых предложений.
Сама концепция сайдчейнов, которую чаще всего ассоциируют со стартапом Blockstream (их команда считается создателем этой концепции), направлена на упрощение системы. Она должна упростить добавление в Биткойн новых возможностей, что раньше считалось весьма сложным процессом из-за архитектуры системы. Короче говоря, сайдчейны призваны дать пользователям возможность перемещать криптовалюту между различными блокчейнами Биткойна, соблюдая разные правила. К примеру, это позволит добавить на блокчейн новые методы сохранения конфиденциальности транзакций или систему умных контрактов, подобную Ethereum, не изменяя при этом сам блокчейн Биткойна.
Биткойн-консультант по вопросам безопасности Серхио Демиэн Лернер (Sergio Demian Lerner), который всячески поддерживает идею добавления в систему сайдчейнов, объяснил, что сайдчейны позволят устранить сложности, с которыми сейчас сталкиваются разработчики при расширении возможностей Биткойна.
В интервью CoinDesk он заявил:
«Улучшение Биткойн-сети можно сравнить с ремонтом самолета во время полета».
Есть и другая команда, работающая над предложениями, теоретически позволяющими добавить сайдчейны в официальный код Биткойна. В конце сентября Лернер продемонстрировал образец кода, который мог бы добавить эту функциональность в Биткойн, а экономист Bloq Пол Шторц (Paul Sztorc) в интервью CoinDesk сказал, что он уже работает над собственным кодом.
Оба предложения называют «драйвчейнами» — это интерпретации сайдчейнов, впервые описанные Шторцем в ноябре 2016. Каждый из этих проектов предлагает набор новых возможностей, называемых системой операций, которые теоретически можно добавить в Биткойн путем изменения типа «софтфорк» (обновление, не требующее обновления программного обеспечения на полных узлах сети, но для принятия которого достаточно обновления майнеров).
Тем не менее в основе этих проектов лежат разные идеи реализации системы операций, а их создатели не планируют объединять их в одно решение (во всяком случае пока).
Два подхода
Во время передачи между сайдчейнами, биткойны пересылаются от одного блокчейна к другому. Во всяком случае, выглядит это именно так. Но в действительности, биткойны из одной сети (например, Биткойна) блокируются в основном блокчейне Биткойна, и в то же время разблокируются на сайдчейне, в который они «передаются». Основное различие драйвчейнов и традиционных сайдчейнов состоит в том, кто именно в конечном счете предоставляет необходимую информацию для передачи биткойнов туда и обратно- пользователи или майнеры.
В версии Лернера, драйвчейн полагается на майнеров, которые становятся «алгоритмическими хранителями полномочий». Он также сможет работать с программами, которые будут держать майнеров в курсе относительно остальных сайдчейнов, подключенных к сети. Лернер объяснил, что майнеры наблюдают за состоянием сайдчейна, и когда он, имея абсолютное согласие (например, сто подтверждений), даёт команду, они выполняют согласование действий, чтобы убедиться, что все согласны с тем, что команда достоверна.
«Если все согласны, они проведут платеж, используя заблокированные средства», – также добавил он.
Лернер представил новый Биткойн-скрипт под названием OP_COUNT_ACKS, который реализует функционал вышеупомянутого драйвчейна (Биткойн-скрипты подобны смарт-контрактам) в виде 600 строк кода, что, по его словам, будет небольшим изменением. Помимо прочего, он вспомнил о Segregated Witness ? последнем крупном изменении в Биткойне. Полагается, что эта возможность будет весьма полезной, после того как её активируют. Код официально добавлен в Биткойн, и майнеры начали активировать изменение с декабря.
Хотя это изменение рассматривается как решение для масштабирования, ему также приписываются и другие преимущества. «SegWit предусматривает новую систему для легких софтфорков — следящую систему управления версиями скриптов. Наш BIP использует эту систему для добавления нового кода операций без ограничений предыдущей системы софтворкинга», — объяснил Лернер.
Отдельные попытки
Шторц работает над аналогичным кодом, который вскоре будет обнародован. Но в то время как Шторц и Лернер ведут дискуссии и сотрудничают, создается впечатление, что каждый из них считает свой собственный проект лучшим и хочет продолжать работать над ним отдельно.
В основном Шторц критикует Лернера за то, что он использует сайдчейн из другого своего проекта, Rootstock, для которого характерны такие же смарт-контракты, как и на платформе Эфириум, при этом он вовсе не является копией Биткойна.
«Драйвчейн — это новая идея. Поэтому есть определенный риск. Я не в восторге от того, что эти две новые идеи пытаются объединить», — сообщил Шторц. Проведя аналогию с изобретением молотка, Шторц отметил, что остальные различия скрыты в деталях. Допустим, при изобретении молотка, инструмента, который никогда прежде не существовал, его изобретатели обсуждают, из какого материала он должен быть изготовлен: из камня или дерева. При достижении консенсуса в конечном итоге каждый может внедрить свой проект в Биткойн в виде софтфорка.
Опасный потенциал
Но опять же, мы говорим об обновлении, которое разработчики сравнивают с ремонтом самолета во время полета. Сайдчейны кажутся предложениями, предназначенными для решения этой проблемы, но чтобы добавить эту функцию в Биткойн-сеть, технологии потребуется преодолеть препятствия, впрочем как и другим оптимизациям и дополнениям вроде SegWit.
Технический инженер Blockstream Рассел о’Коннор (Russell O’Connor) описал некоторые потенциальные проблемы с кодом операций Лернера. Все они сводятся к тому, что код операций зависит от значений данных, характерных для блока, в который добавляется транзакция. Он объяснил, что другие коды операций, недавно добавленные в Bitcoin Core, «были тщательнейшим образом сконструированы чтобы это предусмотреть».
Также следует отметить, что предложения, возможно, еще даже широко не обсуждались. Разработчик Bitcoin Core Питер Тодд (Peter Todd) отказался обсуждать новый код операций драйвчейна из-за прошлых патентов Лернера, связанных с Биткойном, и сказал, что он будет отклонять предложение, «пока эта ошибка не будет исправлена».
Лернер ответил, что не планирует патентовать драйвчейн. Кроме того, он сказал, что другие разработчики Биткойн-протокола, включая Мэтта Коралло (Matt Corallo) и Питера Вайле (Pieter Wiulle), готовы обсуждать изменения.На вопрос о патентной стратегии Шторц ответил, что он «вообще не собирается» ничего патентовать, даже для защиты авторских прав. Помимо адресной критики, каждый сайдчейн-проект вызвал бурю скептических обсуждений, которые сводятся к вопросам безопасности. Чаще всего под вопрос ставится жизнеспособность сайдчейнов.
«Основная дискуссия ведётся по поводу того, что будет, если майнерам дать больше власти, и какими могут быть долгосрочные последствия. Более конкретно, вопрос в том, что случится, если Биткойн-сайдчейн обретет такую популярность, что [майнерам обеих цепочек блоков] придется пользоваться самыми передовыми компьютерами, чтобы превзойти майнеров-одиночек», — объяснил Лернер.
При Шторц сохраняет оптимизм, невзирая на критику. Некоторым из аспектов, подвергшимся критике, он собирается посвятить очень длинную запись в блоге.
«Философия почти разработана. Код по большей части готов. Мы уже довольно близки к цели», ? сказал он.
В конце Лернер добавил:
«Мы преисполнены энтузиазма и верим, что это может произойти уже в 2017 году».
Источник.