Аннотация. В этой статье мы исследуем, почему децентрализованные приложения (Dapps) обычно разрабатываются на базе системы эфира, а не биткоина. Мы перенесемся в март 2014 года, когда в сообществе разразились дебаты о том, должен ли децентрализованный протокол под названием Counterparty использовать блокчейн биткоина. Эти дебаты иногда называют «войной из-за OP_Return». Мы рассказываем историю использования OP_Return и сайдчейнов в блокчейне ВТС. В заключение мы утверждаем, что — нравится это кому-то или нет — наряду с другими факторами, именно культура сообщества разработчиков биткоина в 2014 году и негативное отношение к использованию данных транзакций с биткоином в альтернативных сценариях немало повлияли на решение разработчиков Dapps перейти в блокчейн Ethereum или другие системы.
Обзор
Нас часто спрашивают: почему децентрализованные приложения, например, распределенные биржи, обычно работают на базе блокчейна эфириума, а не биткоина? В конце концов, можно же создать распределенные биржи, системы именования или альтернативные токены на базе биткоина. Выбор блокчейна эфира обусловлен несколькими причинами, например: i. более гибкий собственный язык сценариев Ethereum лучше подходит для создания Dapps, ii. более быстрый блокчейн эфира делает Dapps более удобными для пользователей и iii. в системе биткоина действует более консервативное ограничение размера блоков, чем у эфира, что приводит к потенциально более высокой комиссии в блокчейне ВТС. Все эти факторы сыграли свою роль, но, на наш взгляд, их влияние часто преувеличивают. Самым важным фактором была культура. Некоторые пользователи и разработчики сети биткоина просто не хотели видеть связанную с децентрализованными приложениями активность в своем блокчейне, и успешно это предотвратили. Похоже, это произошло примерно в марте 2014 года; именно события этого периода и являются темой нашей статьи. В то же время сторонники других блокчейнов, в том числе эфириума, могли преувеличить эту позицию разработчиков биткоина и использовать ее, чтобы привлечь пользователей в свои собственные, на тот момент новые и неизвестные, блокчейны.
Протокол Counterparty
Как мы уже писали в отчете за сентябрь 2020 года, в начале 2014 года был запущен Counterparty — протокол на базе блокчейна биткоина, который позволяет создавать новые токены и торговать ими на распределенной бирже. Система Counterparty использует некоторые элементы данных транзакций с ВТС для выполнения определенных функций, например, создания токенов, отправки токенов или рыночной ставки на токен на распределенной бирже.
Если говорить кратко, то вначале Counterparty использовал опкод биткоина OP_CHECKMULTISIG для включения данных, связанных с Counterparty, в блокчейн биткоина. Предполагалось, что этот опкод будет использоваться для проверки подписи в транзакции P2SH (pay to script hash) с несколькими подписями. Пример транзакции Counterpaty от июля 2014 года можно найти здесь. В этой транзакции биткоин возвращается на адрес, с которого он был отправлен; также транзакция имеет три дополнительных выхода, скрипты которых представляют собой данные, связанные с протоколом Counterparty. В данном случае данные были связаны с созданием нового токена под названием TICKET. Использование OP_CHECKMULTISIG можно считать неправомерным, поскольку опкод для этого не предназначался. Сейчас Counterparty использует для хранения данных опкод OP_Return системы биткоина, что больше соответствует замыслу разработчиков. Хорошим примером может служить эта недавняя транзакция Counterparty, в которой используется OP_Return.
В начале 2014 года протокол Counterparty стал центром многочисленных экспериментов, активности разработчиков, инноваций и ажиотажа, благодаря чему ему удалось перехватить лидерство у конкурирующей платформы Mastercoin.
Что такое OP_Return?
OP_Return — это выход транзакции в системе ВТС, который доказано нельзя израсходовать. Эту функцию можно использовать для «сжигания» биткоина или хранения произвольных данных в блокчейне ВТС. Поскольку эти данные не включены в UTXO, считается, что хранение данных таким образом помогает масштабировать систему биткоина, ведь узлам, которые выполняют «обрезку» (pruning) данных, не нужно хранить данные OP_Return.
В соответствии с правилами консенсуса системы биткоина размер OP_Return не может превышать 10 000 байт. Например, в мае 2013 года кто-то воспользовался этим в следующей транзакции. Выход OP_Return в этой транзакции содержит текст песни 1987 года «Never Gonna Give You Up» в исполнении Рика Эстли, которую связывают с мемом Rickrolling.
До 2014 года транзакции, содержащие OP_Return, были нестандартными и не передавались обычными узлами в сети биткоина. Но если майнер добавлял эти транзакции, они считались действительными. В марте 2014 года была выпущена версия Bitcoin Core 0.9.0, в которой функция OP_Return была стандартным типом транзакций, и такие транзакции стали передаваться по умолчанию. В примечаниях к релизу говорилось следующее:
Это изменение не следует расценивать как разрешение на хранение данных в блокчейне. Изменение OP_RETURN создает доказано обрезаемый выход, чтобы не допустить внедрения схем хранения данных — некоторые из которых уже существуют — которые сохраняют в блокчейне произвольные данные, например, изображения, как бессрочно нерасходуемые TX-выходы, тем самым увеличивая базу данных UTXO биткоина. Хранение произвольных данных в блокчейне по-прежнему не приветствуется; менее затратно и гораздо более эффективно хранить несвязанные с ВТС данные в другом месте.
Источник: https://bitcoin.org/en/release/v0.9.0#opreturn-and-data-in-the-block-chain
В Bitcoin Core 0.9.0 транзакции передавались только с OP_Return размером не больше 40 байт; если данных было больше, транзакция считалась действительной, но не передавалась. Изначально предполагалось, что ограничение будет 80 байт, но после долгих обсуждений разработчики остановились на 40 байтах. Во избежание двусмысленности: ограничение на передачу OP_Return в выпущенной версии Bitcoin Core не изменилось.
В 2016 году в версии Bitcoin Core 0.11.1 ограничение на передачу данных наконец-то было увеличено до 80 байт, а в конце 2016 года в версии Bitcoin Core 0.12.0 лимит был поднят до 83 байт (текущий уровень). Это означает, что если сегодня кто-то хочет получить транзакцию с выходом OP_Return размером больше 83 байт, ему придется майнить ее самостоятельно или отправлять напрямую майнеру.
Войны из-за OP_Return
20 марта 2014 года один из главных разработчиков блокчейна биткоина того времени время, Джефф Гарзик, оставил сообщение в ветке, посвященной Counterparty, на форуме Bitcointalk. Джефф критиковал использование блокчейна протоколом Counterparty.
Пока я не видел схемы сброса данных в блокчейн, которую нельзя было бы безопасно заменить простым хэшем. Хранить данные в блокчейне нет никакой необходимости. Это все из-за умственной лени. Добавление временной метки хэша (данных) не менее безопасно, но более эффективно. Более того, вторичный блокчейн может быть доказано привязан к биткоину.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5796379#msg5796379
Джефф продолжил:
Опкод CheckMultiSig явно предназначен для хранения открытых ключей ECDSA, а не произвольных данных. Так стоит ли удивляться, что использование опкода не по назначению приводит к негативным, незапланированным или неизвестным последствиям? Транзакции Counterparty не проходят «в соответствии с правилами протоколами биткоина», они проскальзывают между ними, потому что никто не ожидал, что эта функция будет использоваться таким образом.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5827189#msg5827189
Это мнение Джеффа некоторым может показаться странным, учитывая, что в 2017 году он поддержал «крупноблочный биткоин», а это мнение о консервативном использовании пространства в блоке как-то слабо согласуется с поддержкой крупных блоков. Но в 2014 году этого кажущегося противоречия не было и в помине. Тогда мнение Джеффа в той или иной степени разделяли почти все активные разработчики того времени — даже те, кто впоследствии стал сторонником крупноблочного биткоина. Насколько можно судить, между взглядами на ограничение размера блоков и поддержкой крупноблочного биткоина нет простой корреляции. В то время Джефф был весьма уважаемым разработчиком, и это сообщение вызвало серьезный резонанс среди разработчиков и пользователей Counterparty.
Один из разработчиков Counterparty с ником «BitcoinTangibleTrust» ответил Джеффу следующее:
Ты абсолютно прав. Хранить данные в блокчейне нет никакой необходимости. Добавление временной метки хэша (данных) не менее безопасно, но более эффективно. Более того, вторичный блокчейн может быть доказано привязан к биткоину. Но Counterparty ХРАНИТ данные в блокчейне, используя 256 байт в каждой мультисигной транзакции типа «1 из 3», как говорится в примечании PhantomPhreak [соучредитель и ведущий разработчик Counterparty] ниже. Кроме того, все эти мультисигные транзакции обрабатываются майнерами.
Далее BitcoinTangibleTrust раскритиковал план разработчиков биткоина ограничить размер OP_Return всего 40, а не 80 байтами:
Если OP_RETURN должен был остановить/ограничить неизрасходованные выходы в мультисигных транзакциях и тем самым уменьшить «раздутость» блокчейна, то, боюсь, уменьшив размер OP_RETURN с 80 до 40 байт, вы только сделали мультисигные транзакции БОЛЕЕ ПРИВЛЕКАТЕЛЬНЫМИ для всех метапротоколов, а OP_RETURN — менее привлекательным.
Тут к разговору присоединился ведущий разработчик и соучредитель Counterparty с ником «PhantomPhreak»:
Суть в том, чтобы хранить данные во втором блокчейне, а хэши этих данных с временной меткой добавлять в блокчейн биткоина, причем размер хэшей должен быть меньше 40 байт. Мы этого не сделали не из-за «умственной лени», а скорее из-за сложности реализации. Протокол Counterparty — это не экспериментальный проект в области вычислительных наук; он должен быть максимально простым, чтобы быстро развиваться. Даже если нам придется хранить наши данные в мультисигных выходах, а не в слишком ограниченных выходах OP_RETURN. Определенно, в этой системе чем хуже, тем лучше.
На следующий день Джефф ответил:
Это называется халява. Учитывая, что подавляющее большинство — >90% —приложений для блокчейна биткоина связаны с использованием валюты, использование полноценных узлов как банальных терминалов для хранения данных — это просто злоупотребление сетевым ресурсом, который существует на добровольных основах. Сеть бесплатно передает данные транзакций, так почему бы этим не воспользоваться? Вместо того чтобы предложить пользователям что-то интересное, mastercoin и counterparty просто включили рубильник и начали использовать пиринговые узлы в сети биткоина как хранилища для ненужных данных. Неизрасходованный выход транзакции никогда не должен был использоваться как хранилище данных. Тот факт, что его можно для этого использовать, не значит, что это правильно, целесообразно или является оптимальным решением. База данных UTXO (unspent transaction output) — это база быстрого доступа для всей сети. Для каждого узла важно, чтобы эта база данных была как можно меньше и транзакции в сети обрабатывались как можно быстрее. Добавление произвольных данных в неизрасходованный выход — это самое настоящее злоупотребление в масштабах всей сети, и точка. Вся сеть за это расплачивается.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5815887#msg5815887
Джефф пользовался большим авторитетом в криптовалютном сообществе, большинство пользователей протокола Counterparty выразили готовность совместными усилиями решить эту проблему. Например, BitcoinTangibleTrust ответил так:
Спасибо, что поделился своими мыслями, Джефф. Значит ли это, что ты поможешь нам начать налаживать мосты с существующим сообществом разработчиков bitcoin core? Counterparty заинтересован в том, чтобы действовать как ответственный партнер, ведь нам нужен блокчейн биткоина, если мы хотим выжить. Пожалуйста, уточни, как мы можем начать совместную работу над этими вопросами?
Источник: https://bitcointalk.org/index.php?topic=395761.msg5816031#msg5816031
Другой разработчик Counterparty задал еще один вопрос:
Можно ли предотвратить использование протокола биткоина таким образом, как это делает XCP, не нарушив другие функции?
Если разработчики биткоина не могут заблокировать транзакции, связанные с Counterparty, то этот конфликт не имеет значения, и Counterparty может и дальше использовать блокчейн биткоина без разрешения. Разработчик биткоина и в то время оператор майнингового пула Luke-Jr вступил в дискуссию:
Майнеры должны бороться со злоупотреблениями.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5816503#msg5816503
Затем Luke-Jr предложил использовать для создания подобных систем конструкций типа сайдчейн с объединенным майнингом, что позволит избежать «раздувания» блокчейна.
Проблема не в новых уровнях блокчейна, а в том, что пользователей принуждают к чему-то, не считаясь с их желанием. Новые уровни можно создавать на основе добровольного согласия, не загрязняя блокчейн и не заставляя хранить данные тех, кто этого не хочет.
Luke также спросили, почему размер передаваемых данных OP_Return был уменьшен до 40 байтов, а не до 80 байтов, как первоначально планировалось. Он ответил следующими тремя пунктами:
- У слишком многих людей сложилось впечатление, что OP_RETURN — это функция, которую нужно использовать. На самом деле это совсем не так; это лишь способ «оставить окна незапертыми, чтобы нам не пришлось выбивать и менять стекла, если кто-то взломает дверь». То есть, чтобы уменьшить ущерб, который могут нанести системе люди, злоупотребляющие блокчейном биткоина.
- 40 байтов более чем достаточно для всех данных, которые нужно привязать к транзакции: 32 байта для хэша, плюс 8 байтов для уникального идентификатора (который на самом деле тоже не нужен!).
- Первоначальное предложение о 80 байтах было рассчитано на 512-битный хэш, но мы решили, что это слишком много.
Luke-Jr продолжил:
Надеюсь, что по мере возвращения майнинга к децентрализации терпимость к злоупотреблениям/спаму, будь то OP_RETURN или что-то другое, в сети снизится. Если у кого-то из вас есть обоснованный практический сценарий хранения хэшей в транзакциях, очевидно, майнеры серьезно его рассмотрят.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5817170#msg5817170
Тогда же майнинговый пул Luke начал отфильтровывать транзакции, связанные с Counterparty. К тому времени в сообществе Counterparty начали нарастать страх и неопределенность. Пользователям Counterparty нужно было, чтобы OP_Return весил 80 байтов, иначе они были бы вынуждены продолжать использовать опкод OP_CHECKMULTISIG. Но, учитывая комментарии Luke, повышение лимита до 80 байтов казалось маловероятным. Кроме того, некоторые опасались, что разработчики могут снизить лимит еще больше, и Counterparty просто не сможет использовать сеть. Разработчики биткоина были настроены не особенно дружелюбно по отношению к Counterparty, поэтому некоторые пользователи опасались, что продолжать использовать протокол биткоина будет все сложнее.
25 марта 2014 года в дискуссию вступил Виталик Бутерин, основатель блокчейна Ethereum. Он заявил, что обсуждать нужно комиссию: если вы платите достаточную комиссию, ваша транзакция должна быть включена в сеть на законных основаниях. Сегодня в сети Ethereum используется очень сложный алгоритм взимания комиссии, с несколькими уровнями/категориями тарифов и ставками для различных видов использования блокчейна, что, по сути, решает проблему OP_Return. Можно сказать, что SegWit в блокчейне биткоина также в некоторой степени решает эту проблему.
В том, что вокруг OP_RETURN развернулись такие баталии, виноват протокол. В идеальном мире понятие «злоупотребление» вообще не существовало бы; комиссия была бы обязательной и тщательно структурированной, чтобы точно соответствовать фактическим затратам, связанным с выполнением конкретной транзакции в сети. Если вы можете заплатить комиссию за свою транзакцию, вы должны иметь возможность ее выполнить, без лишних вопросов.
Источник: https://www.coindesk.com/markets/2014/03/25/developers-battle-over-bitcoin-block-chain/
27 марта 2014 года Counterparty изменил алгоритм проведения транзакций, чтобы обойти майнинговый фильтр Luke-Jr. Но уже на следующий день Luke прокомментировал это изменение:
Отличная новость! Мы добавили фильтр, который блокирует эту фигню меньше чем за 5 минут — и это всего 1 строчка кода.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5955613#msg5955613
Luke-Jr также назвал действия Counterparty насилием:
Это насилие, потому что вы заставляете пользователей загружать/хранить ваши данные, не спрашивая их. Каждый полноценный узел должен загрузить весь блокчейн (и неважно, можно его обрезать или нет!). Каждый полноценный узел дал согласие на загрузку и хранение данных финансовых транзакций. НЕ каждый полноценный узел давал согласие на хранение других данных. Для этого нужен 100% консенсус, а не просто согласие какой-то группы пользователей (т.е. не майнеров, не разработчиков) или даже большинства. Более того, каждый волен хранить данные, которых нет в блокчейне. Включение данных в блокчейн ничего не дает, кроме того, что вы навязываете эти данные тем, кто этого не хочет. Что это, если не насилие..?
Источник: https://bitcointalk.org/index.php?topic=395761.msg5826443#msg5826443
Конфликт с разработчиками биткоина
Как и следовало ожидать, возмущение разработчиков биткоина в конечном итоге вызвало раздражение и гнев со стороны некоторых разработчиков и пользователей Counterparty. Ниже приводятся некоторые их комментарии. Сначала пользователь с ником «porqupine» написал, что майнинговый пул Luke-Jr блокирует транзакции Counterparty:
Отлично! Вместо того чтобы ответственно заняться поиском решения, разрабы начали играть в кошки-мышки. Вы понимаете, что таким образом вы фактически кладете болт на сетевую нейтральность? И пытаетесь контролировать, какие транзакции можно и нельзя совершать в блокчейне. Что дальше — санкции в отношении тех, кто вам не нравится? Санкции за транзакции, которые передаются с узлов в странах, внешнюю политику правительств которых вы не одобряете?
Источник: https://bitcointalk.org/index.php?topic=395761.msg5955738#msg5955738
21 марта 2014 года porqupine продолжил:
Минуточку, а когда вы решили, что: каждый узел дал согласие на хранение данных типа X, а не Y? Знаете, я не соглашался и на хранение данных транзакций по отмыванию денег, связанных с продажей наркотиков и оружия, торговлей людьми и т. д. По сути, вы отрицаете нейтральность протокола и решаете, какие данные должны и не должны храниться в протоколе. Кроме того, вы говорите не от первого лица, а используете местоимение «мы/нас», создавая впечатление, что вы говорите от имени всех майнеров или пользователей протокола в целом.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5826584#msg5826584
Другие пользователи возмутились тем, что только Джефф и Люк, а не кто-то еще, имеют право блокировать определенные варианты использования блокчейна.
Не могу в это поверить. Не знал, что у биткоина есть владельцы. А я-то думал, что блокчейн принадлежит мне и еще миллиону человек.
Соучредитель Counterparty PhantomPhreak написал(-а):
Во-первых, транзакции Counterparty — это финансовые транзакции. Во-вторых, каждый полноценный узел дал согласие на загрузку и хранение данных блокчейна биткоина, не меньше. То есть данных транзакций, которые соответствуют протоколу биткоина, что, очевидно, относится и к транзакциям Counterparty. Ради бога, когда Сатоши создавал первый блок, он хотел изменить политику в сети… Вы смотрите на возможные варианты использования биткоина гораздо уже, чем остальные.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5826770#msg5826770
PhantomPhreak продолжил(-а):
Биткоин используется во многих приложениях, для которых он изначально не предназначался. Да, мы бы очень хотели использовать более элегантное решение, а не то, что имеем сейчас. Counterparty изначально был создан, чтобы использовать выход OP_RETURN для хранения всех данных сообщений, что, на мой взгляд, очень элегантно и минимально влияет на блокчейн. Мы спланировали все наши форматы сообщений с учетом ограничения в 80 байт, объявленного Гэвином в официальном блоге биткоина. Мы используем выходы мультисигных транзакций только потому, что у нас нет выбора. Мы не хотим расширять протокол биткоина. Мы хотим действовать полностью в рамках этого протокола, причем как можно проще и прямолинейнее, с точки зрения стабильности, безопасности и т.д.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5827473#msg5827473
…
Опять же, мы храним в блокчейне только данные финансовых транзакций, и мы платим за используемое место. Хранить данные финансовых транзакций в выходах OP_RETURN полноценным узлам ничуть не труднее, чем любые другие данные.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5827688#msg5827688
Пользователь с ником «bitwhizz» написал:
Не хотите хранить эти данные? Не храните! Все просто: не используйте биткоин, не загружайте блокчейн — и никаких проблем. Но мое согласие означает, что я верю, что биткоин можно использовать не только для транзакций, и поэтому у него нет владельцев. Зато в блокчейне есть функция OP_RETURN, я не понимаю, почему эту функцию нужно убрать из-за того, что вы не хотите хранить данные, в отношении которых вы можете сделать свободный выбор.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5827897#msg5827897
Пользователь «Anotheranonlol» сказал:
Я реально не понимаю, почему транзакция counterparty не считается финансовой транзакцией. Я также не понимаю, почему, если 1 узел из 1000 не хочет принимать эти данные, они по умолчанию должны быть запрещены. После недавнего кошмара с mt gox и огромного количества взломов, краж, закрытий и потерь, связанных с хранением капитала в централизованных организациях, казалось, что counterparty наконец предложил решение, которое позволяет децентрализованно и без доверия решить эту проблему.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5827776#msg5827776
Пользователь «Baddw» написал:
Самое смешное, что кто угодно и когда угодно может сохранять в блокчейне произвольные данные. Он уже использовался и используется для этой цели. Каждый, у кого есть свой биткоин-узел, уже должен это знать, а если нет, то об этом нужно предупреждать в уведомлении, которое появляется при установке Bitcoin-QT (если оно существует; не припоминаю, чтобы я его видел). Любая транзакция в сети биткоина может быть простой передачей средств, или любовной запиской, или сигналом для взрыва бомбы. Если вы уберете эту возможность, биткоину конец, и точка.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5827749#msg5827749
Baddw продолжил(-а):
Многие величайшие достижения в истории вычислительной техники (да и вообще в истории технологий) возникали случайно, в результате того, что люди использовали что-то не по назначению. Хорошо, что большинство изобретателей не настолько защищают свои изобретения, чтобы запрещать их «нецелевое» использование. Те, кто это делает, быстро теряют преимущество.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5827925#msg5827925
Из этих комментариев ясно, что многие пользователи и разработчики Counterparty были неприятно удивлены и даже разочарованы позицией разработчиков биткоина. Протокол Counterparty, как и Mastercoin, продолжил существовать, но вполне вероятно, что — хорошо это, или плохо — некоторые разработчики в результате этих дебатов покинули Bitcoin и вместо этого построили свои протоколы в других системах блокчейна, например, Ethereum. Именно эта ситуация в 2014 году, на наш взгляд, сыграла в этом главную роль. Но мы допускаем и другие мнения.
Сайдчейны с объединенным майнингом
В течение всей дискуссии вокруг OP_Return противники Counterparty и «раздувания» блокчейна часто писали о том, что решением для Dapps станет использование сайдчейнов с объединенным майнингом (merge mining). Говорят, что сам Сатоши предпочитал этот вариант и даже поддержал его в обсуждении системы доменных имен в декабре 2010 года.
Думаю, что BitDNS может быть полностью отдельной сетью и отдельным блокчейном, но при этом пользоваться процессорной мощностью сети биткоина. Нужно только сделать так, чтобы майнеры могли искать доказательства выполнения работы одновременно в обеих сетях.
Источник: https://bitcointalk.org/index.php?topic=1790.msg28696#msg28696
Существует множество трудностей с реализацией Dapp-систем в виде сайдчейнов, и сегодня мы понимаем эти недостатки лучше, чем в 2014 году, когда многие просто предполагали, что этот вариант может сработать.
- Сложность. Одним из главных недостатков этого метода является сложность в реализации и создании сайдчейнов. Спеша как можно быстрее выпустить протокол и захватить долю рынка, эти проекты не успевали создать полноценный сайдчейн и систему объединенного майнинга с блокчейном биткоина.
- Биткоин как собственный актив. Не исключено, что в сайдчейне будет невозможно использовать биткоин, который в нем не хранится, так как невозможно создать двустороннюю привязку без доверия. Это большой недостаток многих Dapps, которые, например, могут захотеть использовать пару с ВТС в качестве основной торговой пары на распределенной бирже. Похоже, в 2014 году этот недостаток еще не был обнаружен, и многие просто предполагали, что эта схема может как-то работать.
- Ограниченные преимущества масштабирования. Преимущества использования сайдчейна зависят от конкретного случая. Например, если вы хотите создать распределенную биржу, для обработки каждого бида, аска и мэтча могут потребоваться все гарантии безопасности основного блокчейна. При таком активном использовании основного блокчейна для каждого возможного действия каждого пользователя на бирже, преимущества масштабирования системы сайдчейна могут быть крайне незначительны. Подача заявки на покупку на бирже может занять всего 90 байт, а хранение хэша информации о заявке, структуры и сопутствующих данных, необходимых для идентификации, может занять около 50 байт, так что об экономии места речь не идет.
В марте 2014 года разработчик Counterparty xnova высказал свои возражения против сайдчейна:
Если я ничего не упускаю, нам все равно придется анализировать данные из блоков во втором блокчейне (по крайней мере, если речь идет о реализации на базе блокчейна биткоина или производного биткоина), чтобы получить свои сохраненные данные. Таким образом: *это не позволит SPV-клиентам Counterparty пользоваться преимуществами Counterparty по сравнению с функцией Colored Coin (т.е. DEx, беттингом, отзывом/возвратом активов, дивидендами, CFD и т. д.) * это снизит безопасность транзакций в протоколе Counterparty. * это значительно увеличит сложность реализации (т. е. увеличит вероятность ошибок и уязвимостей). Единственным сомнительным преимуществом будет *незначительное* уменьшение размера сохраненных данных в блокчейне (т.е., может быть, на 20–40 байтов меньше на транзакцию?). Я просто не вижу в этом смысла. Еще один момент: Counterparty может принести огромную пользу блокчейну биткоина, и это станет особенно очевидным, если/как только на первый план выйдут Ethereum (и другие подобные метамонеты типа «2.0»). Вот мое личное мнение: биткоину совсем не помешает присутствие в экосистеме протоколов с такими функциями, чтобы эффективно конкурировать с Ethereum и (будущими) системами по списку функций и прочих заманух — или же он рискует со временем устареть, по крайней мере, среди инвесторов и операторов финансовых рынков, которые могут привлечь миллиарды и даже триллионы долларов в экосистему биткоина, ведь он пользуется среди них все большим признанием, доверием и влиянием.
Источник: https://bitcointalk.org/index.php?topic=395761.msg5799174#msg5799174
Похоже, что некоторые из тех, кто видел решение проблемы в сайдчейне, не особенно интересовались приложениями Dapp и не экспериментировали с ними. Поэтому они никогда не задумывались о сложности создания распределенной биржи и о том, что в этом случае почти каждое действие каждого пользователя требует защиты. Большинство разработчиков биткоина довольно открыто говорили о том, что их интересует и что они хотят создать: деньги, устойчивые к цензуре и не связанные с политикой, электронные деньги и т.д. и т. п….
Заключение
После 2014 года большинство разработчиков, занимающихся децентрализованными приложениями, стали создавать их на базе Ethereum или других систем, а не на базе биткоина. Затем Ethereum достиг критической массы интереса разработчиков и набрал импульс к росту, и разработка Dapp на базе ВТС сошла на нет. Цель этой статьи — подчеркнуть, что основным фактором этого были не обязательная комиссия или виртуальная машина Ethereum и более продвинутые технические возможности Ethereum, а то, что многие пользователи и разработчики ВТС не хотели видеть Dapps на базе блокчейна биткоина и не были заинтересованы в их функциях. Хорошо это или плохо, но активные пользователи ВТС сознательно оттолкнули многих разработчиков Dapp. Некоторые биткоинеры считают, что большая часть активности в децентрализованных приложениях связана с мошенничеством или что эта активность нежелательна в блокчейне биткоина из соображений безопасности или по другим причинам. При этом некоторые популяризаторы альтернативных монет (например, Ethereum), возможно, преувеличивают влияние и значимость так называемых «войн из-за OP_Return», чтобы поддержать рост своих развивающихся систем.
С 2014 года многие изменили свои взгляды. Чтобы блокчейн биткоина продолжать существовать, пользователи должны платить комиссию за транзакции. После 2016 года, когда появилось много полных блоков и комиссии немного выросли, стало значительно больше тех, кто считает, что любая транзакция, за которую платится комиссия, имеет право на существование. Некоторые Dapps на базе Ethereum, например, биржи вроде Uniswap, или кредитные протоколы, такие как AAVE и Compound, оказались и успешными, и интересными (в определенной степени). Несмотря на это, вопрос о том, хотят ли пользователи ВТС иметь такие протоколы на базе ВТС, не говоря уже о том, будет ли кто-нибудь их создавать и использовать, остается открытым.