Виталик: многократные проблемы цифровой идентификации и технологии ZK

Автор: Виталик Бутерин

Составил: Саирша, Foresight News

В настоящее время использование доказательств с нулевым разглашением для защиты конфиденциальности в системах цифровой идентичности в значительной степени стало мейнстримом. Различные проекты паспортов с нулевым разглашением (прямой перевод ZK-passport, обозначающий проекты цифровой идентичности на основе технологии доказательства с нулевым разглашением) разрабатывают очень удобные для пользователей программные пакеты, которые позволяют пользователям доказывать наличие действительного удостоверения личности без раскрытия каких-либо деталей своей идентичности. World ID (прежнее название Worldcoin), использующий биометрические технологии для верификации и обеспечивающий конфиденциальность с помощью доказательств с нулевым разглашением, недавно преодолел отметку в 10 миллионов пользователей. Один из государственных проектов цифровой идентичности в Тайване использует доказательства с нулевым разглашением, а работа Европейского Союза в области цифровой идентичности также все больше фокусируется на доказательствах с нулевым разглашением.

На первый взгляд, цифровая идентичность на основе технологии нулевых знаний широко применяется и, кажется, станет большой победой для d/acc (примечание: концепция, предложенная Виталиком в 2023 году, которая утверждает, что с помощью технологических инструментов (таких как криптография, блокчейн и т.д.) следует продвигать развитие децентрализованных технологий, одновременно ускоряя технический прогресс и защищая от потенциальных рисков, балансируя инновации в технологиях с безопасностью, конфиденциальностью и человеческой автономией). Она может защитить наши социальные медиа, системы голосования и различные интернет-сервисы от атак ведьм и манипуляций со стороны роботов, не жертвуя при этом конфиденциальностью. Но так ли все просто? Существует ли риск для идентичности на основе нулевых знаний? В данной статье будут изложены следующие точки зрения:

  • Обертка с нулевыми знаниями (ZK-wrapping) решает множество важных проблем.
  • Риски, связанные с упаковкой идентичности на основе нулевых знаний, все еще существуют. Эти риски, похоже, не связаны с биометрией или паспортами; большинство рисков (раскрытие личных данных, подверженность принуждению, системные ошибки и т. д.) в основном исходят от жесткого соблюдения свойства «один человек — одна идентичность».
  • Другой крайностью является использование «доказательства богатства (Proof of wealth)» для борьбы с атакой ведьм, что в большинстве случаев применения оказывается недостаточным, поэтому нам нужно какое-то решение «псевдоидентичности».
  • Идеальное состояние теоретически находится между двумя крайностями, то есть стоимость получения N идентичностей составляет N².
  • Эта идеальная ситуация трудно достижима на практике, но подходящая «многообразная идентичность» приближается к ней, поэтому это наиболее реалистичное решение. Многообразная идентичность может быть явной (например, идентичность на основе социальных графов) или скрытой (существует множество типов идентичности с нулевым знанием, и ни один из типов не имеет долю рынка, близкую к 100%).

Как работает идентичность, упакованная в доказательства нулевого знания?

Представьте себе, что вы получили World ID, сканируя свой глаз, или использовали NFC-ридер на своем телефоне для сканирования паспорта, чтобы получить удостоверение личности на основе технологии нулевых знаний. Для аргументации этой статьи основные свойства обоих способов совпадают (существуют лишь некоторые незначительные различия, например, в случае множественного гражданства).

На вашем телефоне есть секретное значение s. В глобальном реестре на блокчейне есть открытое хэш-значение H(s). При входе в приложение вы генерируете уникальный для приложения идентификатор пользователя, то есть H(s, app_name), и проверяете его с помощью нулевых знаний: этот идентификатор соответствует какому-то открытому хэш-значению в реестре, которое происходит от того же секретного значения s. Таким образом, для каждого открытого хэш-значения для каждого приложения может быть сгенерирован только один идентификатор, но никогда не будет раскрыто, к какому открытому хэш-значению соответствует идентификатор, принадлежащий конкретному приложению.

Виталик: Многочисленные проблемы цифровой идентичности и технологий ZK

На самом деле, дизайн может быть немного сложнее. В World ID специализированный ID приложения на самом деле представляет собой хэш-значение, содержащее ID приложения и ID сеанса, поэтому различные операции внутри одного и того же приложения также могут быть взаимно отключены. Дизайн паспорта на основе доказательства нулевого знания также можно построить аналогичным образом.

Прежде чем обсуждать недостатки этого типа идентичности, необходимо сначала признать его преимущества. За пределами узкой области идентичности на основе нулевых знаний (ZKID), чтобы доказать свою личность сервисам, которым требуется проверка идентификации, вам придется раскрыть свою полную юридическую личность. Это серьезно нарушает принцип «минимальных привилегий» в компьютерной безопасности: процесс должен получать только минимальные привилегии и информацию, необходимые для выполнения своей задачи. Им необходимо доказать, что вы не робот, что вам исполнилось 18 лет или что вы из конкретной страны, но в результате они получают указание на вашу полную личность.

На данный момент наилучшим вариантом улучшения является использование косвенных токенов, таких как номера телефонов и кредитных карт: в этом случае субъект, который знает, что ваш номер телефона / номер кредитной карты связан с действиями в приложении, отделен от субъекта, который знает, что ваш номер телефона / номер кредитной карты связан с юридическим лицом (компанией или банком). Однако эта разделенность крайне уязвима: номера телефонов и другая информация могут быть вскоре раскрыты.

Используя технологию упаковки с нулевыми знаниями (ZK-wrapping, метод защиты конфиденциальности идентичности пользователей с помощью нулевых знаний, который позволяет пользователям подтверждать свою идентичность, не раскрывая чувствительную информацию), вышеупомянутая проблема в значительной степени решена. Однако далее следует обсудить менее упоминаемый момент: все еще есть некоторые вопросы, которые не только остаются нерешенными, но могут стать еще более серьезными из-за строгого ограничения «один человек — один идентификатор» в таких схемах.

Нулевое знание само по себе не может обеспечить анонимность

Предположим, что платформа нулевых знаний идентификации (ZK-identity) полностью функционирует как ожидается, строго воспроизводя все вышеперечисленные логические процессы, и даже найден способ долгосрочной защиты конфиденциальной информации нетехнических пользователей без зависимости от централизованных учреждений. Но в то же время, мы можем сделать реалистичное предположение: приложения не будут активно способствовать защите конфиденциальности, они будут придерживаться принципа «прагматизма», при этом их дизайн, хотя и заявляет о «максимизации удобства для пользователей», на самом деле, кажется, всегда будет склоняться к своим политическим и коммерческим интересам.

В таких условиях приложения социальных сетей не будут использовать сложные решения, такие как частая смена сеансовых ключей, а будут назначать каждому пользователю уникальный идентификатор приложения. Поскольку система идентификации следует правилу «один человек — один идентификатор», пользователь может иметь только одну учетную запись (что противопоставляется текущей практике «слабой идентификации» (weak ID), например, учетной записи Google, где обычный человек может легко зарегистрировать около 5 учетных записей). В реальном мире анонимность обычно достигается с помощью нескольких учетных записей: одна для «обычной идентичности», другие для различных анонимных идентичностей (см. «finsta and rinsta»). Таким образом, в этой модели анонимность, которую пользователь на самом деле может получить, вероятно, будет ниже текущего уровня. Тем самым даже система «один человек — один идентификатор», упакованная с помощью доказательства с нулевым разглашением, может постепенно привести нас к миру, где все действия должны зависеть от одной открытой идентичности. В эпоху нарастающих рисков (например, мониторинг с помощью дронов) лишение людей выбора защищать себя через анонимность может привести к серьезным негативным последствиям.

Нулевое знание само по себе не может защитить вас от принуждения

Даже если вы не раскрываете свое секретное значение s, никто не сможет увидеть общую связь между вашими учетными записями, но что если кто-то заставит вас раскрыть это? Государство может принудительно требовать раскрытия вашего секретного значения, чтобы проверить вашу всю активность. Это не пустые разговоры: правительство США начало требовать от заявителей на получение визы раскрытия своих учетных записей в социальных сетях. Кроме того, работодатели также могут легко установить раскрытие полной открытой информации как условие для найма. Более того, отдельные приложения на техническом уровне также могут требовать от пользователей раскрытия их личности в других приложениях, чтобы разрешить регистрацию (использование входа в приложение по умолчанию выполняет это действие).

Vitalik: Множественные дилеммы цифровой идентичности и ZK-технологий

Так же, в этих случаях ценность атрибута нулевого знания исчезает, но недостатки нового атрибута «один человек - один аккаунт» все еще остаются.

Мы, возможно, можем снизить риск принуждения за счет оптимизации дизайна: например, используя механизм многопартитных вычислений для генерации уникального ID для каждого приложения, позволяя пользователям и сервисной стороне участвовать в этом процессе. Таким образом, если операторы приложения не участвуют, пользователи не смогут доказать свой уникальный ID в данном приложении. Это увеличит сложность принуждения других к раскрытию своей полной идентичности, но не сможет полностью устранить такую возможность, и подобные схемы имеют и другие недостатки, такие как требование к разработчикам приложений быть активными реальными сущностями, а не пассивными смарт-контрактами на блокчейне (которые не требуют постоянного вмешательства).

Нулевая доказательство само по себе не может решить риски, не связанные с конфиденциальностью.

Все формы идентичности имеют пограничные случаи:

  • Основанный на правительственном удостоверении личности (Government-rooted ID), включая паспорт, не охватывает лиц без гражданства и не включает людей, которые еще не получили такие документы.
  • С другой стороны, такие государственные системы идентификации предоставляют уникальные привилегии обладателям многогражданства.
  • Паспортные органы могут подвергнуться хакерской атаке, а разведывательные службы враждебных государств даже могут подделать миллионы поддельных личностей (например, если российский стиль «партизанских выборов» станет более распространённым, то могут использоваться поддельные личности для манипуляции выборами).
  • Для тех, чьи биометрические характеристики были повреждены из-за травм или заболеваний, биометрическая идентификация будет полностью недействительной.
  • Биометрическая идентификация может быть легко подделана. Если ценность биометрической идентификации станет чрезвычайно высокой, мы даже можем увидеть, как кто-то специально выращивает человеческие органы, только чтобы "массово производить" такие идентификаторы.

Эти пограничные случаи представляют наибольшую опасность для систем, пытающихся поддерживать атрибут «один человек — одна личность», и не имеют никакого отношения к конфиденциальности. Таким образом, нулевые доказательства бессильны перед этим.

Полагаться на «доказательство богатства» для предотвращения атак ведьм недостаточно для решения проблемы, поэтому нам нужна какая-то форма системы идентификации.

В чисто криптоанархистском сообществе одним из распространенных альтернативных решений является: полное доверие к «доказательству богатства» для предотвращения атак ведьм, вместо создания какой-либо формы системы идентификации. Путем наложения определенной стоимости на каждую учетную запись, можно предотвратить легкое создание большого количества учетных записей. Такой подход уже имел прецеденты в Интернете, например, форум Somethingawful требует от зарегистрированных пользователей единовременной платы в 10 долларов, и если учетная запись будет заблокирована, эта плата не подлежит возврату. Тем не менее, на практике это не является настоящей криптоэкономической моделью, поскольку основным препятствием для создания новой учетной записи является не повторная оплата 10 долларов, а получение новой кредитной карты.

Теоретически, даже можно сделать так, чтобы платежи имели условный характер: при регистрации аккаунта вам нужно только заложить определённую сумму, и вы потеряете эту сумму только в случае блокировки аккаунта, что происходит крайне редко. С теоретической точки зрения, это может значительно увеличить затраты на атаки.

Этот подход показывает явные результаты во многих сценариях, но в некоторых типах сценариев он полностью не работает. Я сосредоточусь на двух типах сценариев, пока назовем их «сценарии, подобные универсальному базовому доходу (UBI-like)», и «сценарии, подобные治理 (governance-like)».

Требования к идентификации в сценариях, подобных универсальному базовому доходу (UBI-like)

Так называемый «сценарий универсального базового дохода» относится к ситуациям, когда необходимо распределять определенное количество активов или услуг среди крайне широкой (в идеале, среди всех) аудитории пользователей, не учитывая их платежеспособность. Worldcoin систематически реализует это: любой, кто имеет World ID, может регулярно получать небольшое количество токенов WLD. Многие раздачи токенов также пытаются достичь аналогичных целей более неформальным способом, стремясь, чтобы по крайней мере часть токенов попала к как можно большему числу пользователей.

Что касается меня лично, я не думаю, что стоимость таких токенов может достичь уровня, достаточного для поддержания жизнедеятельности. В экономике, управляемой искусственным интеллектом, с масштабом богатства, достигающим текущих тысяч, такие токены могут иметь ценность для поддержания жизни; но даже тогда, по крайней мере, проекты, возглавляемые государством с поддержкой природных ресурсов, по-прежнему будут занимать более важное место на экономическом уровне. Тем не менее, я считаю, что такие «мини-УБИ» действительно могут решить проблему: позволить людям получить достаточное количество криптовалюты для выполнения некоторых основных цепочных транзакций и онлайн-покупок. Конкретно это может включать:

  • Получить ENS имя
  • Опубликовать хэш в блокчейне для инициализации определенной идентичности с нулевым знанием.
  • Оплата сборов социальных медиа платформ

Если криптовалюты получат широкое распространение по всему миру, эта проблема исчезнет. Однако в настоящее время, когда криптовалюты еще не стали популярными, это может быть единственным способом для людей получить доступ к нефинансовым приложениям и связанным с ними онлайн-товарным услугам на блокчейне, иначе они могут полностью не иметь доступа к этим ресурсам.

Кроме того, есть еще один способ достичь аналогичного эффекта, а именно «всеобщее основное обслуживание (universal basic services)»: предоставление каждому имеющему идентификацию лицу права на отправку ограниченного количества бесплатных транзакций в определенном приложении. Этот способ может лучше соответствовать механизму стимулов и быть более капиталоемким, поскольку каждое приложение, извлекающее выгоду из этого подхода, может делать это без необходимости платить за не пользователей; однако это также связано с определенными компромиссами, а именно снижение универсальности (пользователи могут гарантировать доступ только к приложениям, участвующим в этой программе). Но даже в этом случае необходима система идентификации, чтобы предотвратить атаки с использованием спама, одновременно избегая исключительности, которая возникает из-за требования, чтобы пользователи платили определенным способом, который может быть недоступен для всех.

Последняя важная категория, которую стоит подчеркнуть, — это «Универсальный базовый залог (universal basic security deposit)». Одной из функций идентичности является предоставление объекта, который может использоваться для привлечения к ответственности, без необходимости в том, чтобы пользователи закладывали средства, соразмерные размерам стимулов. Это также помогает достичь цели: снизить зависимость порога участия от объема личного капитала (даже полностью избавиться от необходимости в каком-либо капитале).

Потребность в идентификации в сценариях, подобных управлению (governance-like)

Представьте себе систему голосования (например, лайки и репосты на социальной медиа-платформе): если ресурсы пользователя A в 10 раз больше ресурсов пользователя B, то и его право голоса будет в 10 раз больше, чем у B. Но с экономической точки зрения, каждая единица права голоса приносит A в 10 раз больше прибыли, чем B (поскольку объем A больше, любое решение будет оказывать более значительное влияние на его экономические аспекты). Таким образом, в целом голосование A приносит ему в 100 раз больше выгоды, чем голосование B приносит B. Именно по этой причине мы видим, что A будет вкладывать гораздо больше усилий в участие в голосовании, исследовать, как проголосовать, чтобы максимизировать свои цели, и даже может стратегически манипулировать алгоритмом. Это и есть основная причина, по которой «киты» могут оказывать чрезмерное влияние в механизме голосования с использованием токенов.

Виталик: Множественные проблемы цифровой идентичности и технологий ZK

Более универсальная и глубокая причина заключается в следующем: система управления не должна придавать одинаковую важность ситуации «один человек контролирует 100000 долларов» и «1000 человек совместно владеют 100000 долларов». Последняя ситуация представляет собой 1000 независимых индивидуумов, поэтому она будет содержать более богатую ценную информацию, а не высокую степень повторения информации от небольшого количества участников. Сигналы от 1000 человек также часто будут более «умеренными», поскольку мнения разных индивидуумов часто взаимно компенсируют друг друга.

Vitalik: Многообразные проблемы цифровой идентичности и ZK-технологий

Это относится как к официальным системам голосования, так и к "неофициальным системам голосования", например, к способности людей участвовать в культурной эволюции посредством открытого выражения мнений.

Это показывает, что система управления не будет действительно удовлетворена подходом «независимо от источника финансирования, все объемы средств одинаково принимаются». Системе на самом деле необходимо понимать степень внутренней координации этих объемов средств.

Следует отметить, что если вы согласны с моим описательным каркасом вышеупомянутых двух категорий сценариев (сценарий всеобщего базового дохода и сценарий управления), то с технической точки зрения необходимость в четком правиле «один человек — один голос» больше не существует.

  • Для приложений, похожих на универсальный базовый доход (UBI-like), действительно необходима следующая схема идентификации: первая идентификация бесплатна, количество доступных идентификаций ограничено. Когда стоимость получения большего количества идентификаций становится настолько высокой, что делает атаки на систему бессмысленными, это достигает эффекта ограничения.
  • Для приложений в сценариях, похожих на управление (governance-like), ключевым требованием является возможность оценить по какому-то косвенному индикатору, является ли ресурс, с которым вы имеете дело, под контролем единого субъекта или представляет собой некую «естественно сформированную» группу с низким уровнем координации.

В этих двух сценариях идентификация по-прежнему очень полезна, но требования к строгим правилам, таким как «один человек — одна идентичность», больше не актуальны.

Теоретически идеальное состояние: стоимость получения N идентификаций составляет N².

Из вышеизложенных аргументов видно, что существует два вида давления, ограничивающих ожидаемую сложность получения нескольких идентичностей в системе идентификации с противоположных концов:

Во-первых, нельзя устанавливать четко видимый жесткий лимит на "количество идентичностей, которые можно легко получить". Если человек может иметь только одну идентичность, то о анонимности не может быть и речи, и он может быть вынужден раскрыть свою идентичность. На самом деле, даже фиксированное количество больше 1 представляет собой риск: если все знают, что у каждого есть 5 идентичностей, то вас могут заставить раскрыть все 5.

Еще одной причиной поддержки этого является то, что анонимность сама по себе очень хрупка, поэтому необходимо иметь достаточно большой запас безопасности. С помощью современных инструментов ИИ стало легко связывать поведение пользователей на разных платформах, используя такие открытые данные, как привычки в словоупотреблении, время публикации, интервал между публикациями, обсуждаемые темы и т. д. Всего лишь 33 бита информации достаточно, чтобы точно определить человека. Люди могут использовать инструменты ИИ для защиты (например, когда я анонимно публиковал контент, я сначала писал на французском, а затем переводил на английский с помощью локально работающей языковой модели), но даже в этом случае не хочется, чтобы одна ошибка полностью положила конец своей анонимности.

Во-вторых, идентичность не может быть полностью связана с финансами (то есть стоимость получения N идентичностей равна N), потому что это позволит крупным субъектам легко получить чрезмерное влияние (что в свою очередь приведет к полной утрате голосов малых субъектов). Новый механизм Twitter Blue это иллюстрирует: ежемесячная плата за сертификацию в 8 долларов США слишком низка, чтобы эффективно ограничивать злоупотребления, и в настоящее время пользователи в основном игнорируют этот сертификационный знак.

Кроме того, мы, возможно, не хотим, чтобы субъекты с количеством ресурсов в N раз могли беспрепятственно совершать недобросовестные действия в N раз.

Исходя из вышеизложенных аргументов, мы надеемся на максимально легкое получение нескольких идентичностей при соблюдении следующих ограничений: (1) ограничение власти крупных субъектов в приложениях типа управления; (2) ограничение злоупотреблений в приложениях типа всеобщего базового дохода.

Если напрямую заимствовать математическую модель управления, упомянутую ранее, мы получим четкий ответ: если наличие N идентичностей приносит влияние N², то стоимость получения N идентичностей должна составлять N². Случайно, этот ответ также применим к приложениям универсального базового дохода.

Виталик: Многочисленные трудности цифровой идентичности и технологий ZK

Старые читатели этого блога, возможно, заметят, что это полностью совпадает с графиком из более ранней статьи о «квадратичном финансировании», и это не случайность.

Плюралистическая идентичность (Pluralistic identity) может реализовать это идеальное состояние

Так называемая «многоуровневая система идентификации» подразумевает наличие механизма идентификации без единого ведущего эмитента, будь то личность, организация или платформа. Эта система может быть реализована двумя способами:

  • Явная плюралистическая идентичность (Explicit pluralistic identity, также известная как «идентичность на основе социальной графики social-graph-based identity»). Вы можете подтвердить свою идентичность (или другие заявления, например, подтвердить, что вы являетесь членом определенного сообщества) через доказательства других людей в вашем сообществе, при этом идентичность этих доказателей также проверяется тем же механизмом. Статья «Децентрализованное общество» содержит более подробное объяснение такого дизайна, а Circles является текущим примером.
  • Имплицитная плюралистическая идентичность (Implicit pluralistic identity). Это текущее состояние, в котором существует множество различных поставщиков идентификации, включая Google, Twitter, аналогичные платформы в разных странах и различные государственные удостоверения личности. Очень немногие приложения принимают только один тип идентификации; большинство приложений поддерживают несколько, так как только так можно достичь потенциальных пользователей.

Виталик: Множественные проблемы под цифровой идентичностью и ZK-технологиями

Последний снимок идентификационной карты Circles. Circles является одним из крупнейших проектов идентификации на основе социальных графов.

Явная множественная идентичность естественным образом обладает анонимностью: вы можете иметь анонимную идентичность (даже несколько), каждая из которых может строить репутацию в сообществе через свои действия. Идеальная система явной множественной идентичности даже может не требовать концепции «независимых идентичностей»; напротив, у вас может быть нечеткое множество, состоящее из проверяемых прошлых действий, и вы можете в тонком режиме доказывать различные части в зависимости от необходимости каждого действия.

Доказательства с нулевым знанием упростят достижение анонимности: вы можете использовать основную идентичность для создания анонимной идентичности, предоставляя первый сигнал в частном порядке, чтобы новая анонимная идентичность была признана (например, путем доказательства с нулевым знанием, что у вас есть определенное количество токенов, чтобы иметь возможность публиковать контент на anon.world; или путем доказательства с нулевым знанием, что у ваших подписчиков в Твиттере есть определенная характеристика). Возможно, есть и более эффективные способы использования доказательств с нулевым знанием.

Кривая «затрат» скрытой множественной идентичности более крута, чем квадратичная кривая, но все же обладает большинством необходимых характеристик. У большинства людей есть некоторые формы идентичности, перечисленные в этой статье, а не все. Вы можете приложить определенные усилия, чтобы получить еще одну форму идентичности, но чем больше форм идентичности вы имеете, тем ниже эффективность затрат на получение следующей. Таким образом, это обеспечивает необходимый сдерживающий эффект против атак управления и других злоупотреблений, одновременно гарантируя, что угнетатели не могут требовать (и не могут разумно ожидать), чтобы вы раскрыли какой-либо фиксированный набор идентичностей.

Любая форма многослойной идентификационной системы (независимо от того, скрытая она или явная) изначально обладает большей устойчивостью к ошибкам: человек с инвалидностью руки или глаза все еще может иметь паспорт, а лица без гражданства также могут доказать свою личность через некоторые неправительственные каналы.

Следует отметить, что если рыночная доля какой-либо формы идентичности близка к 100% и становится единственным вариантом входа, то вышеупомянутые характеристики утратят свою силу. На мой взгляд, это является наибольшим риском для тех систем идентификации, которые слишком стремятся к «универсальности»: как только их рыночная доля достигает 100%, это приведет к переходу от многообразных систем идентичности к модели «один человек — одна идентичность», и, как упоминается в данной статье, такая модель имеет множество недостатков.

На мой взгляд, идеальным исходом текущего проекта «Один человек — одна личность» является его интеграция с системой идентификации на основе социальных графов. Основная проблема проектов идентификации на основе социальных графов заключается в их сложности масштабирования на миллионы пользователей. Система «Один человек — одна личность» может быть использована для начальной поддержки социальных графов, создавая миллионы «начальных пользователей», после чего количество пользователей станет достаточно большим, чтобы безопасно развивать глобальный распределенный социальный граф на этой базе.

Особая благодарность волонтерам Balvi, членам Silviculture и участникам команды World за участие в обсуждении.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить