- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
На шифре. Инсайдерская история криптовалютного бума - Лора Шин
Шрифт:
Интервал:
Закладка:
Эй, ребят
А вы знаете, что ваш мультисиг хакнули?
Почему никто не реагирует?
На кошельках с мультисигом, ссылающихся на убитые библиотеки, заморожены миллионы долларов
То есть контракты мультисига не работают и эфир нельзя снять
До людей не сразу дошло, что на 587 кошельках заперто – заблокировано навсегда – полмиллиона эфира (на тот момент 150 миллионов долларов), а виновник, ghost/devops199, говорит, что сделал это случайно. Проблема оказалась в том самом коде, который команда Parity наспех написала в последнюю ночь гулянок на Ибице, когда выкладывала патч после первого хака кошельков. И в этом коде нашлась даже не одна, а две смертельные уязвимости. Если вкратце, Parity создали банк и сказали, что в его хранилище можно спокойно сдавать деньги, и люди принесли туда эфир на сотни миллионов долларов. Но оказалось, что владельца у банка нет, и тогда devops199 назначил владельцем себя – а потом закрыл двери и уничтожил ключ, навсегда заперев деньги внутри. Кое-кто подозревал злой умысел, но другие видели в этом оплошность: «Тот, кто убил библиотеку, совершил понятную ошибку. Могу легко представить, что сам сделал бы так же. Мне бы и в голову не пришло, что можно убить контракт, который создал не я». Эти люди считали, что devops199 убил контракт, просто пытаясь отменить свой статус «владельца банка».
В 14:29 CEST devops199 вошел в чат и написал просто:
:(
Немного погодя он добавил: «Меня за это посадят?:(»
«Ты убил tx [транзакцию]?» – спросил Tienus.
Devops199 ответил:
да
я eth-новичок… просто учусь
«Теперь ты знаменитость хаха», – ответил qx133.
Сам Гэвин узнал об этом в Цюрихе, сходя по трапу самолета. В тот момент у него уже начался жар.
Две ошибки Parity состояли в следующем: во-первых, они разрешили назначать владельца для общественной инфраструктуры, а во-вторых, разрешили владельцу убивать контракт, что devops199 и сделал для целой кучи Parity-кошельков. Среди 587 пострадавших кошельков несколько принадлежали тем, кто провел ICO и набил кошельки эфиром с краудфандинга, в том числе Iconomi, потерявшей 34 миллиона долларов, а также Musiconomi с ICO поменьше, лишившейся 4,8 миллиона.
Но в основном замороженные средства принадлежали самой Parity. В ее кошельке лежали 306 276 ETH (95 миллионов долларов) – 60 % всего заблокированного эфира; 586 кошельков составляли остальные 40 %. Parity будто создали банк для собственных денег, но кто-то, проходя мимо, случайно запер дверь и выбросил ключ.
На Reddit не могли поверить, что Parity-мультисиг взломали – опять – и что баг находился в «исправленном» коде после прошлого взлома. Один пользователь сказал: «Как Parity могут так безалаберно относиться к мультисиг-кошелькам?.. В такой ситуации я не поддерживаю полный возврат средств для Parity».
Еще обиднее то, что команду Parity об этом уже предупреждали в августе, когда кто-то с GitHub посоветовал «инициализировать» кошелек (то есть, условно, назначить владельца банка). В последующем анализе Parity упоминали об этой рекомендации, но сказали: «На тот момент это считалось всего лишь способом повысить удобство использования… и откладывалось на будущее, до следующего штатного обновления». Хотя один из пользователей Reddit указал, что это бы решило только первую проблему, а не вторую: «Даже после инициализации у кого-нибудь осталась бы возможность убить библиотеку. Если бы какой-нибудь обиженный работник решил после увольнения все спалить, у нас был бы очень похожий сценарий». Программисты, просмотрев код, в шоке обнаружили, что функции по назначению себя владельцем и убийству контракта шли одна за другой.
Следом дискуссия тут же перешла к обсуждению того, как достать запертый эфир, – и, естественно, в списке появился хардфорк. В среду утром по берлинскому времени Виталик уклончиво твитнул: «Я намеренно воздерживаюсь от комментария касательно проблем с кошельками, разве что выражаю поддержку тем, кто старается писать простые и безопасные контракты кошельков либо проверяет и формально подтверждает безопасность существующих».
Однако год назад он сам писал Предложение по улучшению Ethereum (Ethereum Improvement Proposal, EIP) № 156 под названием «Возвращение эфира в обычных классах заблокированных аккаунтов». Это предложение «позволит пользователям с эфиром или другими активами в обычных классах заблокированных аккаунтов выводить свои активы», писал он. EIP касалось случаев, когда случайно создан контракт без кода, когда проводятся атаки с повтором на ETC или если потери вызваны ошибкой в библиотеке JavaScript. Виталик писал: «Примечание: во всех этих случаях законный владелец очевиден, его право можно математически доказать, и ни один пользователь не лишился активов». Он признавал, что предложение лучше считать «„операцией по спасению“, а не „техническим усовершенствованием“», и предлагал обсудить его, а не одобрять сходу. Хотя он выложил EIP 156 14 октября 2016 года, дискуссия продолжалась и 17 августа 2017 года.
Ветка с комментариями обрела вторую жизнь 7 ноября, когда разошлись новости о взломе Parity. Правда, один пользователь отметил, что в данном виде предложение не разблокирует замороженные кошельки, потому что в их адресах все-таки есть код.
Хотя Виталик и не высказывал своего мнения, Гэвин все равно давил на него, чтобы он сохранял нейтралитет и не мешал Parity вернуть свои средства. (Гэвин утверждает, что никогда ни на кого не давит.) Виталик не встал в позу, но все-таки был против хардфорка – он чувствовал, что сообществу нужен новый прецедент, чтобы показать: форк после The DAO не значит, будто теперь этого может потребовать любой. Когда он вносил EIP 156, ситуация была совсем иной: сумма заблокированных средств составляла куда меньше 150 миллионов, и они были утрачены намного раньше. К тому же он нисколько не сочувствовал Parity. Это уже второй взлом их кошелька. И из замороженных 150 миллионов бóльшая часть принадлежала Parity. Более того, и остальные деньги принадлежали лишь трем ICO: Parity, Iconomi и Musiconomi владели 85 % средств. Во многих мультисиг-кошельках хранились небольшие суммы эфира – от пары сотен до нескольких десятых эфира. К тому же Parity уже давно выставляли себя так, будто они намного профессиональнее команды Geth. Виталик не видел необходимости высказывать личное мнение; он полагал, что сообщество само выступит против возврата средств.
И оказался прав: сообщество к этому времени уже изменилось. Тогда казалось, что The DAO – это и есть Ethereum. Теперь же в ходе ICO-бума народились всякие Golem, BAT, Bancor и Status (а также более сомнительные проекты вроде Veritaseum и Dentacoin), а CoinMarketCap насчитывал 1 205 монет против 614 во время атаки The DAO; то есть деньги теряла всего пара компаний в целой экосистеме. Быть может, сумма в

