Metaprogramming
616 subscribers
103 photos
1 video
157 links
μετά- «между, после, через» (греч.)

Жизнь программиста за пределами программирования: алгоритмы, психология, инвестиции, иное.
加入频道
Ложная квантовая криптоугроза

Forward secrecy ("секретность наперёд"? русского перевода хорошего не придумали) это принцип криптографии, заключающийся в обеспечении надёжности шифрования даже при условии (потенциального) будущего взлома. Речь идёт, фактически, об использовании случайно сгенерированных одноразовых (сессионных) ключей в такой манере, что утечка в будущем участвующих в шифровании мастер-ключей не скомпрометирует эти сессионные ключи – следовательно, не обеспечит доступа к переписке.

Весь современный интернет невозможен без криптографии. Автоматически подразумевается, когда вы видите иконку замочка в адресной строке, что даже если трафик будет перехвачен (что может сделать любой промежуточный узел, начиная от владельца wi-fi сети и заканчивая частными организациями обслуживающими международные узлы обмена; про полицейские службы и не говорю), никто, кроме отправителя и получателя не сможет получить доступ к содержанию.

Звучат опасения из-за развития "квантовых компьютеров": за счёт "физического параллелизма", возникающего при использовании "квантовых битов" (в отличие от "классических") многие алгоритмы дешифровки перебором получают значительно большую теоретическую скорость. На практике прогресс в реализации квантовых вычислений выглядит, похоже, лишь немного лучше прогресса в холодном термоядерном синтезе ("через 10 лет будет мирный термояд", и так 70 лет). Да и фактор этот малозначимый: многие существующие алгоритмы шифрования не имеют уязвимостей к квантовым вычислениям.

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

Для распространённых алгоритмов даются оценки типа "потребуется 300 триллионов (sic) лет, чтобы взломать перебором". Это на одно универсальное ядро. Что, если на специальной карточке ядер 10000? Что, если есть 100 стоек по 10 устройств с такими карточками? Что, если есть 100 этажей таких стоек? Так уже миллиард набежал. Ещё два-три-четыре порядка осталось на бэкдоры (периодически всплывают), и вот, оказывается, цифры получаются вовсе не астрономические.

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

#programming
"Как часто вы думаете о Римской Империи?"

Каждый день, каждый день...
Служебное сообщение

Удалял удалённые аккаунты из подписчиков, чтобы не искажали статистику, и по-моему кого-то случайно из живых исключил. Не имел такого намерения, вину возлагаю на UI-дизайнеров телеграмма.
Схема владельцев планетарной социальной сети и сервиса обмена сообщениями: анонимные фонды, смотрящие от разведслужб, управленцы.
Договоры в цифровой форме

Продолжим в нескольких следующих заметках рассматривать определённые информационно-технологическо-юридические аспекты существования современного общества и государства и связанные с ними затруднения.

Недавно вышли новости о том, что суды начали рассматривать смайлик "👍" как аналог подписи к договору. Сначала был освещён случай за рубежом, а потом аналогичный в РФ. Кратко перескажем.

В канадском случае фермер продавал зерно холдингу. Отношения между сторонами были длящиеся, переговоры между фермером (владельцем собственной компании) и зерновой компанией (в лице менеджера по закупкам) проходили неформально. Условия поставки обычно обсуждались в ходе телефонного звонка, после чего менеджер делал набросок контракта, подписывал на бумаге, отправлял фотографию в WhatsApp фермеру, тот отвечал согласием. Примеры выражений согласия адвокаты приводят следующие: "Выглядит хорошо", "окей", "угу", наконец "👍". В последнем случае поставка не была произведена. По мнению истцов (зерновой компании) фермер нарушил условия заключенного договора. По мнению ответчика смайлик означал "ознакомился", а не "согласен/подписываюсь". Истцам удалось убедить суд, что все выражения, включая последний смайлик, формируют синонимический ряд, и если предыдущие высказывания служили для сторон сортом финальной подписи/одобрения и не вызывали разногласий, то и смайлик следует понимать в том же смысле.

В российском деле речь идёт о поставке торгового киоска на колёсах. Заключив договор в обычной форме, стороны прописали, во-первых, юридическую значимость сообщений в мессенджерах, во-вторых, необходимость определить некоторые частные параметры киоска (цвет корпуса) в рамках отдельного соглашения в определённый срок, наступающий за несколько месяцев до оговоренного срока поставки. Обсуждение прошло в WhatsApp, клиент назвал цвет ("жёлтая полоска на белом фоне"), поставщик поставил палец вверх. Киоск поставлен не был, клиент потребовал вернуть задаток, дело дошло до суда. В суде поставщик заявил, что никакого доп. соглашения не было и поставку он не мог провести из-за не согласованных дополнительных условий. Суд, взяв во внимание переписку, с доводом не согласился, постановив считать её тем самым заключенным соглашением.

Как видим, случаи в самом деле любопытные. Резюмируем парой частных мыслей:

1. Смайлики в момент своего появления служили прикольным средством иллюстрации эмоций для неформального общения. По инерции и видимо с прицелом на облегчение обучения искусственного интеллекта на выборках публичных диалогов (это ведь саморазметка текста эмоциональными маркерами) они получили более широкое применение, в итоге оказались внедрены в стандартную таблицу символов Unicode. В стандартных шрифтах имеется более 3500 смайликов. Число совершенно безумное. Ещё более безумен тот факт, что среди них нет однозначно понимаемого смайлика со значением "понял, одобряю, взял в работу".

2. Цифровизация делового оборота приводит к снижению бюрократических издержек, большей скорости принятия решений и заключения сделок. Происходит изменение культуры общения: за каждым словом надо следить, любое высказывание из переписки с деловыми контактами может быть использовано в суде. Может быть это в целом хорошо, ведь "слово купеческое" и должно быть законом: уговор дороже денег. Но ведь кроме слова есть ещё и "рукопожатие". Ритуал нужен для однозначного и взаимно понятного сторонам и заинтересованным наблюдателям отделения этапа "предварительных переговоров" от "окончательного согласия". Подобные судебные казусы должны стать предметом рассмотрения не столько юристов, сколько UX-дизайнеров мессенджеров: что мешает добавить режим "делового общения", обыграв в интерфейсе необходимость подобного деления реплик? Решить можно десятком способов, например выделяя финальные слова в рамочку с метками, имитирующими подпись участников диалога (и запрещая после этого модифицировать и удалять соответствующее сообщение).

#philosophy
Слева: юристы рассуждают, как должен быть поставлен смайлик. Приходят к тому, что вариант с отдельно стоящим должен считаться заключением контракта, а штемпель поверх полученного сообщения не должен.

Справа: моя нарисованная на коленке вариация на тему того, как это могло бы выглядеть. Дарю в общественное пользование! :)
К теме подлинности документов на разных носителях

Краледворская рукопись – древнечешский эпос, недействительность которого доказывали 100 лет.

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

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

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

Но следует ли торопиться?

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

Конечно, в "большой истории" возникают казусы типа "Краледворской рукописи": в 19-м веке "за шкафом на чердаке церкви" нашли древнечешский эпос, который 70 лет пытались прописать в мировой исторический блокчейн, но в итоге свою ноду-валидатор чехам не утвердили, рукопись окончательно объявили подделкой в начале 20-го века. (Понятно, что через 100 лет весь "национальный эпос" Европы будет считаться подделкой 18-го века. А всех других стран – 19-го.)

В частных делах, однако, где нет мешающего химическому анализу политического фактора, возраст документа установить можно вполне точно. (Подобные вопросы, кстати, фоном ставятся, среди прочего, в недавнем рассказе Д.Е. Галковского.)

А как установить возраст цифрового документа?

Во-первых, где электронный документ хранить? Облака становятся платными, закрываются, сбоят. Флешки и SSD-накопители теряют заряд. HDD размагничиваются. Кассетные системы хранения дорогие, неудобные, стандарты слишком часто обновляются. Остаётся, выходит, пытаться среди казалось бы вышедших из употребления BluRay дисков выбирать хорошие бренды специальных архивных болванок и верить на слово, что заявленный срок хранения в 50 лет они выдержат?

Так 50 лет это срок небольшой. Не уберёшь в шкаф "навечно", надо раз в 30 лет доставать и перезаписывать. Желательно в том же шкафу хранить привод. А к приводу компьютер, т.к. для его подключения не будет разъёмов. А к компьютеру сисадмина нанять, который раз в 10 лет будет перезапись делать.

Во-вторых, как подтвердить подлинность цифрового документа?

Экспертизу намагниченности пластин диска проводить вероятно теоретически возможно, но достаточно бессмысленно, получается ещё более неудобная бумага. А экспертиза цифровой подписи ничего не даст. Через 50 лет текущие алгоритмы, как мы обсудили ранее, не будут считаться стойкими. Следовательно, можно будет задним числом производить подделки, неотличимые от подлинников. Следовательно, никакие старые цифровые документы не будут приниматься к рассмотрению.

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

О чём в другой раз.

#programming #philosophy
Цифровые реестры и блокчейн

Итак, примем, что цифровую подпись, сделанную по стандарту года X (например, 2020-го) всегда можно задним числом подделать в году Y (например, 2050-м). Для простоты условно вообще будем считать, что "срок годности" криптографии 10 лет.

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

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

1. Подпись от 2020 - подлинная
2. Подпись от 2030, подтверждающая предыдущую - подлинная
3. Подпись от 2040, подтверждающая предыдущую - подлинная
4. Подпись от 2050, подтверждающая предыдущую - подлинная

Каждую следующую подпись ставит очередной произвольный нотариус, который автоматически проверяет целостность предыдущей.

Если пропущен хотя бы один интервал, например в 2050-м году мы спохватились, что документ от 2030-го не был подписан в 2040-м, документ оказывается безвозвратно утрачен. Поскольку очередной нотариус не может проверить подпись двадцатилетней (в нашем условном описании) давности, ведь настолько старые документы уже могут оказаться подделкой из-за устаревания алгоритмов.

Дополнительно, каждый отдельный нотариус может оказаться скомпроментирован: может выясниться (причём тоже задним числом), что его приватный ключ стал доступен другим лицам и т.п. И в таком случае документ будет безвозвратно утрачен. Если безопасность хотя бы одного ключа всей цепочки хотя бы в один момент времени до проставления подписи будет вызывать сомнения, весь документ обесценивается.

Чем длиннее цепочка, тем больше шансов что в ней будут недочёты.

Наконец, отдельная проблема возникает, если документ должен доказать не только то, что было, но и то, что ничего сверх того не было. "Вася владел квартирой всё это время и никто другой". Вася ведь может продать квартиру, но при этом сохранить свой оригинальный документ (до внесения изменений), и принести его в очередной раз на валидацию через 10 лет... Т.е. формальной проверкой верности подписей не обойтись.

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

Не трудно видеть, что ни один "электронный государственный реестр" чего бы то ни было в мире (да хотя бы денег на банковских счетах) не соответствует этому требованию.

Блокчейны, впрочем, периодически "форкаются", т.е. разветвляются. Когда какая-то из операций вызывает несогласие значительного количества участников системы, они делают свою копию реестра, исключая операцию, вызвавшую разногласия. Форки расходятся и никогда больше не объединяются вместе из-за технических особенностей технологии.

Если разделение одной "монеты" на две параллельно существующих мир переживает легко и незаметно (пользователи "голосуют деньгами и ногами" и одна стремительно падает в цене, а другая сохраняет прежнюю ценность), то как быть с внезапным удвоением права собственности, например, на квартиру, которое было в блокчейне прописано? Могут возникнуть понятные проблемы...

В общем, чернилами на бумаге (на пергаменте, выдавливанием на тонкой золотой пластине, ...) оно как-то надёжней на больших промежутках времени.

#philosophy
"Коллапс модели": появилось множество публикаций, наглядно иллюстрирующих деградацию вывода ИИ (любого сорта) при обучении на своём материале. Работает для изображений, текста, для всего. Вот вам и отличие искусственного интеллекта от естественного.
ИИ, смерть социологии и коллапс моделей

В "Истории гиперинформации" вышел пост (и следом ещё один, в явном виде артикулирующий некоторые идеи первого), посвящённый новым лингвистическим моделям (LLM) и их будущей роли эталонных социологов для высшего эшелона государственного управления.

Предполагается, что к президенту на стол придворный социолог будет класть мнение, основанное не на ряде опросов (или на результатах выборов – своеобразном "предельном опросе"), а мнение, основанное на общении с нейросеткой, которую настраивают на беседу запросами вида "представь, что ты 30-летний программист из Нью-Йорка с доходом $300000 в год". И дальше напрямую без всяких соцопросов, на основе мнения в твиттерах и фейсбуках, на которых нейросеть и обучали, выясняют нужные мнения.

В пределе и сам социолог не нужен, остаётся только диалоговое окно нейросети.

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

Нейросеть анализирует мнения в твиттере, потом пишет в него же, потом сама же повторно учится на написанном... В итоге каждая итерация будет приводить ко всё большему и большему вырождению порождаемого контента и "рекомендаций" вплоть до сведения к повторению примитивных штампов и даже буквально невнятному блеянию. Самой дорогой ценностью станет база данных текстов интернета за 2021 год, "чистые данные" :) Интересно, приведёт ли это в будущем к появлению странных артефактов, например станут ли исторически незначимые и пародийные Байден с Трампом персонажами уровня Марка Антония и Октавиана Августа :)

Несмотря на это частное замечание, оригинальная схема периодизации (нумерации) контр-культур, которую автор постепенно обрисовывает, чрезвычайно любопытная!

#neuronetworks #philosophy
Вкратце про владение английским языком в России

(По следам очередной дурацкой темы на Хабре.)

Помню лет 10 примерно назад ехал я в метро по своим делам и ко мне обратились две молодых черонокожих вероятно американки, спросив как им добраться до нужной станции. Я подтвердил путь, к которому они и собирались идти (кажется, названия станций на стене тоннеля не дублировались по-английски). Подошли они ко мне совершенно спокойно, задать вопрос "говорите ли вы по-английски?" им даже не пришло в голову. Удалились также отнюдь не рассыпаясь в благодарностях, а дежурно кивнув и коротко бросив "thanks". Я оказался первым человеком у них на пути сразу после возникшего мимолётного замешательства и попытки сопоставить схему с реальностью.

Это всё, что надо знать об уровне владения английским языком в России.
Можно ли научиться коммуникации: уточняем вопрос

Е-Нутрия (по следам тезисов из другого канала) поставил вопрос: можно ли научиться коммуникации?

Конечно, такая лобовая постановка вопроса абсурдная, поскольку все люди коммуникации как-то обучились. Каждый в разной мере успешности. Причём нельзя сказать, что дети это делают как-то "между делом", скорее напротив, осваивают вполне целенаправленно будучи мотивированы своими приоритетными целями: получением пищи, познанием, развлечением и пр.

Т.е. вопрос в том, можно ли взрослого человека научить "чему-то коммуникативному", что он не освоил в детстве?

И снова в положительном ответе сомнений нет: во взрослом возрасте вполне можно изучить, например, иностранный язык. При этом акцент, конечно, сложно выправить, но акцент это ведь не нехватка обучения, а результат переобучения (первым/основным языком).

Опять же, едва ли у кого-то есть сомнения, что классические курсы риторического мастерства (или новомодные курсы "как писать резюме и проходить собеседования") могут быть вполне результативны. А могут быть и нет, так заведомо ложной рекламы во всех сферах достаточно, вопрос ведь в другом. Т.е. письменной и устной формальной коммуникации тоже можно научиться.

Отдельным пунктиром в параллельной ветке идёт вопрос "можно ли формализовать невербальную коммуникацию". Думаю, если люди как-то ухитряются описывать язык дельфинов, при том что там серьёзные проблемы уже на уровне первичного кодирования возникают, то уж сами себя как-нибудь описать могли бы. Т.е. вопрос стоит ставить иначе: какие силы препятствуют мейнстримному изучению невербальной (в сочетании с верабльной: см. предыдущие заметки по "смысловым рефлексам") коммуникации людей? Но это отдельная тема.

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

Ответ положительный, приведём далее небольшую иллюстрацию.

#psychology