Как китайцы Биткоин пилили — про сегвит, хардфорк, bitcoin cash и опасности этой затеи
Авг 03
2017
ИнфоБезопасность, Криптовалюта altcoin, bch, bip91, bitcoin, bitcoin cash, BitcoinABC, btc, scamcoin, segwit, биткоин, китайцы No Comments
Несколько лет назад разбирался, как устроен биткоин, знаю, как он работает изнутри. Потом криптовалюты надолго отложил. А недавно наткнулся на обучающий курс про биткоин. Оказывается, это уже тренд, и даже домохозяйки торгуют биткоином, а инфобизнесмены во всю учат )
И как раз сейчас, 1-2 августа, с Bitcoin происходит забавное. Появился значит китайский[1] клон — bitcoin cash. Причём так удачно появился, что все сми трубят о раздвоении сети биткоин, к которому давно готовились. Но в действительности в статьях много путаницы, и произошло кое-что другое. Я б это назвал величайшим разводом в мире bitcoin, но прикол в том, что из-за толпы оно может даже взлететь.
Кстати, часть крупных бирж и кошельков не поддерживают bitcoin cash (BCH) и на то есть причины. С безопасностью BCH тоже косяки, расскажу ниже. А начать следует с появления BCH, а также с segwit и bitcoin fork.
Предыстория
Всё началось с того, что в сети bitcoin стала расти комиссия. Сеть устроена так, что в каждый блок записываются переводы между кошельками — транзакции. И эти новые блоки создаются примерно раз в 10 минут. Размер блока первоначально в bitcoin ограничен одним мегабайтом. То есть если переводов много, все они в блок не поместятся. Узел сети, создающий новый блок, включает в него переводы с наибольшей комиссией, а не вошедшие переводы попадают в очередь. Они будут подтверждены (попадут в блок), когда нагрузка на сеть уменьшится.
Таким образом, за последние пару лет комиссия выросла довольно значительно, а многие блоки подтверждаются долго. Решить этот затык решили увеличением размера блока почти[2] в 2 раза. Точнее, переход задумывался плавным, сначала блок сохранял обратную совместимость, но часть данных была выведена из него. Назвали это нововведение SegWit (Segregated Witness) (Позже запустится SegWit2x, который увеличивает блок ещё больше, но с потерей совместимости).
Просто так вносить изменения в правила bitcoin не сто́ит, желательно, чтоб все узлы договорились. Иначе произойдёт раздвоение сети: одни узлы будут создавать блоки по новым правилам, другие — по старым. Появляется та самая развилка (fork = вилка), начиная с которой каждая сеть пойдёт своей дорогой.
Раздвоение никому (почти) не нужно, из-за него цена валюты падает, т.к. появляется второй её клон. Клонируются также кошельки, в новых будет столько же биткоинов, сколько было в старом. Другими словами, из одной валюты получается две более слабые валюты либо одна валюта в итоге подавляет вторую. В теории :)
Такое разделение произошло в Ethereum, и появился Ethereum Classic и просто Ethereum.
Голосование / BIP91
Чтоб решить, как быть дальше, сообщество bitcoin приняло BIP91 (BIP — это такое дополнение в протокол bitcoin). Согласно нему, узлы, которые готовы поддержать обновление сети, особым образом меняли версию создаваемого блока. Голосование короче. И как только нововведение поддержит более 80% (?или 90%) узлов, считается, что голосование прошло успешно. Если голоса разделятся, будет две сети.
В итоге довольно быстро было достигнуто 80%, а затем и 100%. Произошло это на блоке №477120, 23 июля 2017г. Вся сеть поддержала нововведение. Посмотреть историю можно здесь. Любопытно, что там же видно голоса за другое нововведение «Bitcoin Unlimited» (BU). Это другой способ решения проблемы размера блока, но сделан он в виде отдельного форка софта узла и кошельков, а не через BIP.
С этим BU были свои косяки даже внутри его сети. Например, из-за ошибки в изменённом коде, один из пулов 2 февраля создавал блоки с ошибкой. Из-за других ошибок узлы подверглись атаке, падали от переполнений памяти итд. В общем, эта штука не взлетела, несмотря на то, что некоторые пулы поддерживали отделение.
Возвращаемся к BIP91 и 1 августа. На случай, если голосование не будет единогласным, есть дополнение BIP148. Согласно нему, 1 августа должно было произойти раздвоение сети. Но так как BIP91 приняли все, BIP148 не активировался, и 1 августа ничего не происходит.
Китайский манёвр
Но тут начинается самое интересное — такой вариант устраивал не всех. Китайцы (ViaBTC) просекли, что разделения не будет, и быстро во всей этой неразберихе создали bitcoin cash. Причём ещё раньше китайцы активно поддерживали Bitcoin Unlimited. А в мае тоже хотели разделить сеть, приняли соглашение про segwit2x — это обычный segwit + принудительное увеличение блока в 2 раза с потерей обратной совместимости. Но разделения не произошло, и китайцы запусти собственный клон без segwit и безо всякого голосования.
И назначили они активацию bitcoin cash как раз на 1 августа. (При том, что позже в сети bitcoin тоже увеличится блок.)
То есть получается такой расклад: все готовятся к разделению сети и удвоению блока 1 августа. СМИ активно эту тему мусолит, повторяя одни и те же предупреждения, мол кошельки во время перехода не трогайте, чтоб монеты не потерялись. И в то же время, из-за довольно высокой популярности биткоина среди масс, в новостях всё упрощается, отличия между segwit и BCH размываются, их практически никто не описывает. Тем временем активируется BIP91 и разделение отменяется. А немногим раньше появляются китайцы с той же датой и похожим описанием, запуская активную рекламную кампанию bitcoin cash.
Как вам? : )
В общем, китайцы по какой-то причине хотели разделить сеть, и это им удалось. Причём, мало кто понимает, что произошло.
А произошло то, что владельцы менее 5% (или около 1% из других источников) мощностей биткоина создали свою сеть, с курсом валюты почти в треть биткоина. Из ниоткуда взялось около 7млрд баксов, и на момент написания статьи BCH были на 3-4 месте среди криптовалют по объёму рынка.
Чуть ниже расскажу, чем это всё грозит, а опасностей для владельцев биткоинов довольно много. Но сперва ещё немного о цене BCH и безумии на биржах, тоже забавно получается.
Хотя убрал в черновик, а то многобукв, да и там только мои догадки, в биржах не сильно разбираюсь. Если коротко, 1) сеть BCH создаёт блоки очень медленно, по несколько часов, 2) на биржах объём BCH небольшой, 3) люди не могут ни ввести не вывести валюту (для переводов нужны новые блоки). В итоге новой криптовалюты на бирже мало, спрос, подогреваемый сми, растёт, цена поднялась до $750. Но после очередного блока (через 13 часов) упала, хотя тоже держится довольно высоко, около $400. Похоже на безумие из фильма «Золото» :)
Обновление (5 августа): BCC сто́ит уже менее $250.
Опасности
Вроде бы пользователи довольны, у них теперь два кошелька, пусть в одном монета с ме́ньшим курсом. Но есть несколько вещей, на которые следует обратить внимание.
- Софт и кошельки китайские, они хоть и имеют другое имя (BitcoinABC), но на некоторых системах используют те же места для хранения данных, что и оригинальные bitcoin-приложения, то есть перезаписывают имеющиеся данные своими. Есть вероятность потерять bitcoin кошельки, если ключи не сохранены особо.
- Ключи от кошельков BCH те же, что и для bitcoin. Вот тут довольно большая засада.
Уже есть мошеннические сайты, притворяющиеся BCH-кошельками. Если они получат ключи, то обчистят как BCH-кошелёк, так и bitcoin-кошелёк.
И китайцам я тоже не доверяю. Исходники кошельков вроде как открыты, но пользователи ведь не из исходников собирают приложения, а скачивают готовое собранное. А в собранном могут быть отличия от исходников. Например, авторы кошелька Electrum предупреждали, что неофициальная версия для BCH ведёт себя странно. Короче, есть вероятность бэкдоров/троянов. Не зря ж китайцы так хотели именно разделения, а не постепенного увеличения блока. И в рекламу судя по всему было вбухано немало денег. - Новая сеть похоже принадлежит одной группе людей. А значит возможна так называемая Атака 51%, когда владелец бо́льшей половины сети может принимать только собственные созданные блоки, а «чужие» блоки будут автоматом отменены через некоторое время.
Ещё странность: первые два блока в сети BCH были созданы ViaBTC, через некоторе время был ещё один блок. А остальные — создаются неизвестно кем. И в то же время ViaBTC продолжает создавать блоки в основной сети bitcoin. Кто создаёт блоки BCH — неизвестно. Были слухи, что для запуска BCH использовалась пачка AmazonEC2-инстансов, типа создать видимость поддержки новой сети. И возможно сейчас эти виртуалки и работают над созданием блоков. Только не ясно, зачем скрыли владельца.
Обновление (5 августа): блоков от ViaBTC стало больше, также появились блоки от Bitcoin.com[1], но подавляющее большинство блоков всё ещё неизвестно от кого.
Приколы
Ну и без приколов не обошлось: создание BCH было назначено на 1 августа, 15:20 по Москве — после этого должен был появиться первый блок в другой сети, блок №478559. И ViaBTC действительно создали блок с этим номером, но появился он в сети bitcoin :)
Другой прикол: третий блок BCH после разделения (№478561) был создан с версией, говорящей о поддержке segwit. То ли китайцы код криво правят прямо на серверах, то ли кто-то над ними подшутил.
Обновление (5 августа): в цепи BCC появился блок «созданный ViaBTC» с меткой поддержки SegWit (третий блок (см.выше) был от неизвестных авторов). Скорее всего шутка, т.к. создатель блока определяется по дополнительной информации, записанной в блок. И любой кто создал блок может указать в нём произвольную информацию, например «косить» под ViaBTC.
* * *
Вот такое событие.
Сейчас в тему криптовалют возвращаюсь, много чего любопытного появилось и происходит. Что найду, расскажу в блоге понятным языком.
Кому тоже любопытно — следите за блогом пока я буду следить за криптой ;)
1. Кроме китайцев (ViaBTC) в форке активно участвует и поддерживает его Roger Ver — bitcoin-инвестор и владелец Bitcoin.com .
2. В результате SegWit сам блок как бы не увеличивается (для обратной совместимости), но часть данных из него выносится. Из-за этого в блок помещается примерно в 1.8 раза больше транзакций.