Алексей Маланов, Сергей Лурье — Сентябрь 17, 2019. 13:00
Мы приводим результаты оценки позитивного экономического и экологического эффекта, вызванного блокировкой веб-майнеров продуктами «Лаборатории Касперского». Совокупную мощность блокировки можно рассчитать достаточно точно по формуле <w>·N, где <w> — среднее значение прироста энергопотребления пользовательского устройства во время веб-майнинга, а N — число заблокированных попыток по данным Kaspersky Security Network за 2018 год. Данная мощность составляет 18,8±11,8 гигаватт (ГВт), что два раза больше, чем усредненная мгновенная мощность потребления всех майнеров биткойна в том же году. Для расчета энергии необходимо данную оценку мощности умножить на среднее время, которое пользовательские устройства тратят на веб-майнинг, т. е. по формуле <w>·N·t, где t — время, которое бы проработал веб-майнер, если бы не был заблокирован нашим продуктом. Поскольку мы не можем получить эту оценку по данным «Лаборатории Касперского», была использована информация из открытых источников сторонних исследователей, в соответствии с которыми оценка электроэнергии, сэкономленной пользователями наших продуктов, составляет от 240 до 1670 мегаватт-часов (МВт·ч). Если пересчитать по среднему тарифу на электроэнергию для населения (физических лиц), это составит от 900 тысяч до 6,3 миллиона рублей.
Так насколько же хорошо мы помогаем бороться с излишним энергопотреблением?
Майнинг криптовалют — энергозатратное мероприятие. По некоторым оценкам, майнеры биткойна потребляют столько же электроэнергии, сколько тратят жители Чехии — страны с населением более 10 миллионов (порядка 67 тераватт-часов в год). При этом, как мы уже отмечали, делают это с многократной избыточностью — но ровно до тех пор, пока это экономически оправданно. А как быть с теми, кто вынужден майнить не по своей воле? Речь идет о веб-майнерах — сайтах, которые используют ресурс пользовательских систем для майнинга криптовалют. Поскольку чаще всего это происходит вопреки желанию пользователей, такие сайты определяются защитными продуктами как вредоносные и блокируются.
В 2018 году продукты «Лаборатории Касперского» заблокировали 470 млн попыток загрузки скриптов и обращений к майнинговым ресурсам у пользователей, участвующих в Kaspersky Security Network. Можно ли оценить экономический (и экологический) эффект от этой, безусловно, положительной деятельности? Чтобы ответить на этот вопрос, нам пришлось разобраться с несколькими вещами.
1. Насколько сильно возрастает энергопотребление системы при нагрузке ее задачей майнинга криптовалюты?
Открытых данных по этому вопросу нам найти не удалось, поскольку большинство исследователей интересуются, так сказать, интегральным энергопотреблением криптомайнеров, т. е. сколько конкретная аппаратная реализация потребляет в целом и какая сумма в итоге уйдет на покрытие счета за электроэнергию. Данные по наиболее распространенным в майнинге системам можно найти на ресурсе miningbenchmark.net, принять осознанное решение об экономической целесообразности и, соответственно, майнить или не майнить. Нас же интересовал вопрос — какую долю от общего энергопотребления системы составляет прирост затрат именно на веб-майнинг, происходящий без такого осознанного решения со стороны пользователя.
Чтобы получить ответ, мы использовали измерительный стенд, собранный ранее для изучения скачков энергопотребления при обмене данными по USB-шине.
Воспользовавшись компьютерами 18 добровольцев (пользуясь случаем, хотелось бы всем им еще раз сказать спасибо), нам удалось экспериментально определить прирост энергопотребления 21 устройством в ходе майнинга Monero на CoinHive (самый распространенный хаб среди веб-майнеров). Если вкратце, то вот что нам удалось выяснить:
- Есть ли зависимость от типа процессора? Однозначно да.
- Есть ли зависимость от количества и типа памяти? Однозначно нет.
Это хорошо видно на этой картинке, показывающей прирост загрузки процессора с началом майнинга:
Как можно увидеть, объем используемой памяти не меняется и не зависит от степени загрузки процессора.
- Есть ли зависимость от скорости интернет-соединения? Не проверяли, во всех экспериментах скорость соединения с сетью была одинаковой.
- Есть ли зависимость от браузера? Однозначно нет.
- Есть ли зависимость от типа операционной системы? Скорее всего, нет.
Тут стоит пояснить, что у нас недостаточно данных для однозначного вывода относительно операционной системы. Мы видели слегка отличающиеся результаты для одной и той же аппаратной конфигурации, но работающей под разными операционными системами (Mac OS и Windows), разница укладывается в границы статистической погрешности, а количества точек недостаточно для достоверных выводов.
Для сравнения, примерно так выглядела загрузка процессора под Mac OS:
Ситуация полностью аналогична загрузке процессора под Windows: в режиме простоя она не превышает 10–12% и равна 100% во время веб-майнинга.
График зависимости измеренного энергопотребления от номинального TDP (thermally dissipated power) процессора, взятого из справочника, выглядит примерно так:
Красной линией отложен результат линейной аппроксимации вида ax + b, где a = 1,013±0,017, а b = -0,237±0,044 (определены по методу наименьших квадратов с учетом погрешности измерения в каждой точке), а также интервал значений, предсказываемых моделью с 95%-ной вероятностью. На графике видны выбросы (outliers), причем в сторону энергопотребления, превышающего TDP, их больше, нежели в сторону пониженных по сравнению с TDP энергозатрат. Однако в целом для целей дальнейшей аппроксимации мы будем использовать TDP в качестве оценки прироста энергопотребления в режиме веб-майнинга.
Вопрос 2. Но ведь у процессоров, входящих в состав устройств, блокирующих веб-майнеры, разный TDP. Как оценить вклад каждого из них?
Чтобы оценить структуру распределения процессоров по TDP, мы воспользовались случайной выборкой, содержащей около 1% от всего количества устройств, участвующих в Kaspersky Security Network. В этой выборке нам удалось идентифицировать 2497 типов, из которых экспериментально удалось определить параметры всего лишь 21 типа процессоров, что составляет 0,8% от общего числа типов процессоров в данной выборке. Справочную информацию о 1550 типах процессоров удалось подтянуть автоматически, поиграв с регулярными выражениями и «прочесав» (scrape) открытые источники, самым полезным из которых оказался PassMark CPU Benchmak. Информацию об оставшихся 947 типах процессоров пришлось добить вручную.
Средневзвешенное значение TDP по этим данным можно было бы вычислить, как
где fi — частота i-го типа процессора, а ni — количество процессоров i-го типа в распределении срабатываний. Однако распределение процессоров по TDP далеко от нормального, поэтому нам придется использовать более грубую оценку, покрывающую все значения TDP от 15 до 65 Вт, т. е. <w>=40±25 Вт.
3. Как оценить среднее время работы веб-майнера?
Это, пожалуй, самый сложный вопрос, поскольку продукты «Лаборатории Касперского» именно что блокируют работу веб-майнеров. В работе коллег из греческого Фонда исследований и технологий (FORTH) приводится оценка среднего времени работы веб-майнеров в 5,3 минуты. В совместной работе коллег из Калифорнийского университета в Санта-Барбаре, университета Амстердама и Утрехтского университета упоминается оценка среднего времени, которое люди проводят на веб-сайтах, где была зафиксирована веб-майнинговая активность. Она составляет порядка минуты.
Например, на момент написания данной статьи similarweb показывал, что среднее время визита на cnhv.co (зеркало coinhive.com) составляло 46 секунд. Таким образом, это самый волатильный параметр нашей формулы расчета энергопотребления Wtotal = <w>·N·t, где N — число срабатываний, а t — время, которое бы проработал веб-майнер, если бы не был заблокирован нашим продуктом. Если подставить соответствующие значения, мы получим оценку Wtotal от 240 до 1670 мегаватт-часов (МВт·ч). Это не так уж и мало, хотя, конечно, до значения в 67 тераватт-часов для совокупного энергопотребления биткойна не дотягивает пары порядков. Но это сравнимо с годовым энергопотреблением города населением в несколько сотен тысяч человек.
Кстати, максимальный объем электроэнергии, который могли бы потребить заблокированные нами майнеры (1,67 ГВт·ч), в разных частях света стоит по-разному. Так, европейцам за него пришлось бы выложить 250 тысяч евро, а жителям США — заплатить 200 тысяч долларов. Дешевле всего электроэнергия обходится жителям Китая или Индии – соответственно, им безалаберность в отношении веб-майнеров стоила бы всего 133 тысячи долларов. Дороже всех максимальное количество электроэнергии, которое могло бы быть сожжено веб-майнерами, обошлось бы жителям Японии – в полмиллиона долларов.
Также можно посчитать стоимость этой сэкономленной электроэнергии по усредненному тарифу для российских потребителей — от 900 тысяч до более 6,3 миллионов рублей! Или, если пересчитать это в выбросы углекислого газа по среднемировому значению IEA (Международного Энергетического Агентства при ОЭСР) в 475 кг/МВт·ч, мы предотвратили выброс от 115 до 800 тонн CO2 в атмосферу.
Чтобы попробовать уйти от значений электроэнергии, потребленной в течение не очень точно известного нам времени, можно пересчитать годовое энергопотребление майнеров биткойна в некую усредненную [мгновенную] мощность в гигаваттах, равную количеству энергии в гигаватт-часах, разделенную на количество времени в часах. В этом случае полученную величину мы сможем сравнить с «мощностью срабатывания» (<w>·N), которую мы в рамках нашей модели определили с известной нам точностью: для 470 млн срабатываний эта величина составляет 18,8±11,8 гигаватт (ГВт). Так вот, усредненная совокупная мощность энергопотребления майнеров биткойна составляет порядка 7,647 ГВт, т. е. в два раза меньше! Если вспомнить, что их энергопотребление мы в начале этого поста сравнили с потреблением жителей 10-миллионной Чехии, и покопавшись в данных EIA по странам ОЭСР, мы обнаружили, что 18,8 ГВт сопоставимо с мгновенной мощностью потребления жителей Польши — страны, где людей живет в три раза больше. А еще можно вспомнить про получившую печальную известность Чернобыльскую АЭС, четыре энергоблока которой до аварии в сумме вырабатывали порядка четырех гигаватт. То есть за год продукты «Лаборатории Касперского» блокируют мощность энергопотребления, эквивалентную выработке трех ЧАЭС или удвоенной мощности энергопотребления биткойн-майнеров всего мира.
Эпилог
Борьба с веб-майнингом ведется достаточно активно, как в юридической, так и технической плоскости. Однако пока есть экономическая выгода, кулибины от криптоиндустрии будут находить способы нагрузить процессор ничего не подозревающих жертв. Так, например, нам не составило большого труда найти зеркало CoinHive, и есть мнение, что создателям сайта и их соратникам удастся обходить блокировки и в будущем — разумеется, там, где не установлены защитные решения.
Самым действенным ограничивающим фактором, на наш взгляд, является ситуация на рынке криптовалют в целом: веб-майнеры продолжат существовать как угроза до тех пор, пока существуют возможности по выводу добытых таким путем криптоактивов в фиатную валюту.
А значит, защитным решениям еще предстоит довольно долго поработать на благо своих владельцев — и всего мира. Как бы пафосно это ни звучало.
Примечания.
- Учитывая, что мы определили зависимость прироста энергопотребления системы от TDP для нескольких последних поколений процессоров, доля которых менее 1% от числа типов процессоров, данные по которым есть в Kaspersky Security Network, мы планируем более детально изучить этот вопрос в дальнейшем.
- Распределение процессоров по TDP, определенное по случайной выборке примерно 1% от общего количества устройств, участвующих в Kaspersky Security Network, может не коррелировать с распределением TDP при срабатываниях на веб-майнеры, поскольку мы работаем с деперсонализированными статистическими данными и не можем сопоставить данные о типе процессора с данными о срабатываниях продукта «Лаборатории Касперского».