Когда: Среда, 5 февраля 2020 г., 18:00 UTC Где: #monero-research-lab (freenode/matrix) Повестка дня: Приветствия Круглый стол Вопросы Ключевые моменты Несколько замечаний Большинство транзакций имеют 2 выхода Как ни странно, есть куча транзакций, которые имеют 11 выходов (причина неизвестна) Количество выходов резко падает до >2 (обратите внимание на ось Y), и только затем плавно уменьшается до 13. Были предложены причины, связанные с майнинг пулами, но я пока не совсем понимаю, как это произошло Журнал встречи: <sarang> Хорошо, давайте начнем <sarang> журнал встречи будет опубликован в повестке дня вскоре после окончания встречи <sarang> вначале ПРИВЕТСТВИЯ <sarang> привет <sgp_> привет <suraeNoether> доброе утро <UkoeHB_> hiya — sarang подождем минуту, возможно, кто-то еще присоединится к нам <sarang> тогда КРУГЛЫЙ СТОЛ, где каждый желающий может поделиться своими исследованиями <sarang> пожалуй, я пойду первым, и у меня есть что вам рассказать <sarang> я разработал пример кода для скрытого хранения данных в Bulletproofs и Triptych, работающий только на стороне проверяющего <Isthmus> Я частично здесь... у меня сейчас идёт совещание <sarang> несколько текущих проектов / вопросов были перенесены в monero-project / research-lab для дальнейших комментариев и обсуждения <sarang> код CLSAG для Monero (ветка clsag-plumbing) был почищен; спасибо UkoeHB_ за предложения и комментарии <sarang> помимо прочего, он теперь включает разделение доменов хеш-функций, которые мы надеемся использовать в другом месте для более надежной проверки кодовой базы <sarang> также пример кода CLSAG на Python, показывающий, как сделать умное извлечение индекса подписанта. Я предполагаю, что UkoeHB_ захочет дополнительно обсудить эту тему <sarang> еще я написал материал для ZtM о подтверждении транзакций <sarang> и разработал новый код на C ++, который обновляет доказательства входа / выхода для транзакций, чтобы исправить проблемы с Подписями Шнорра <sarang> (для него еще нужно придумать модульные тесты) <sarang> вот и всё, это моё обновление для круглого стола; какие-либо вопросы или комментарии, прежде чем эстафетная палочка перейдет к другому участнику? <suraeNoether> у меня есть вопрос — вы проводили работу над скрытым временем блокировки? <sarang> да <suraeNoether> я говорил об этом с isthmus и TheCharlatan <suraeNoether> у вас есть какие-нибудь заметки для дальнейшего чтения? <sarang> что конкретно? <suraeNoether> мы можем запланировать обсуждение этой темы на текущем канале и, как вариант, отразить всё в журналах встречи? <sarang> конечно <sarang> Давайте еще немного задержимся за круглым столом и уже потом уделим этому несколько минут перед окончанием встречи <suraeNoether> если мы реализуем их независимо от того, на чем конкретно остановится наш выбор (mlsag, clsag или triptych), это будет стоить нам очень дорого... И я хочу просто посмотреть, как всё это будет вписываться в будущие разработки monero <suraeNoether> пока это всё слова и не больше… я могу перехватить инициативу? <sarang> Конечно, давай, suraeNoether — sarang делает пометку о временных блокировках <suraeNoether> на прошлой неделе я потратил много времени на CLSAG и модели безопасности связываемых кольцевых подписей <suraeNoether> сейчас у меня есть много определений, и они не все относятся друг к другу в таксономии, и еще мне не совсем ясно, какие из них нам стоит использовать, а какие нет <suraeNoether> поэтому я начал работу над новым документом, который должен обобщить все это. Саранг и я решили объединить эти исследования в новый проект <suraeNoether> дополнительная причина заключается в том, что даже в определениях, не поддающихся обработке, не хватает многих ключевых значений, потому что они взяты из «кольцевых подписей» и сопоставлены со «связываемыми кольцевыми подписями» без каких либо связующих свойств <suraeNoether> в документе будет предложено новое определение связываемости, специально для связываемых кольцевых подписей, которое включают больше одного определения безопасности. Полагаю, что в течение нескольких лет будет установлен стандарт того, как нужно обрабатывать параметры связываемости для всех связываемых кольцевых подписей <suraeNoether> и это хорошие новости для MRL <Isthmus> отлично <UkoeHB_> поздравляю <suraeNoether> спасибо <sarang> это должно поднять важность препринта <suraeNoether> кроме того, в течение двух недель я подготавливал доклад для технологического симпозиума Blockchain в Fields Institute и занимался отладкой нового кода <suraeNoether> я чрезвычайно благодарен аудитору, который «мягко» указал нам на другой документ, где была допущена аналогичная ошибка, как и у меня <sarang> Наличие улучшений в моделях безопасности и новых конструкциях, похоже, теперь становится золотым стандартом <suraeNoether> он оказал нам очень большую услугу, чем мог бы себе представить <suraeNoether> моя работа на этой неделе будет включать в себя доработку нового проекта для CLSAG и начало широкомасштабного сбора данных о соответствии <sarang> Спасибо, suraeNoether <sarang> вопросы для suraeNoether? <UkoeHB_> если вы хотите *настоящей* работы в ключе CLSAG, то просто увеличьте количество связываемых ключей до общего количества, которое рассматривается в тексте публикации <sarang> Конечно, но это не даст точных результатов для нашего конкретного случая <sarang> вот почему мы не учли это <UkoeHB_> полагаю, что ранее nioc уже задавал вопрос о сопоставлении <UkoeHB_> для suraeNoether <sarang> 12:46 �<nioc>� у меня вопрос: каков статус проекта по соответствию, и как он будет использоваться в будущем, чтобы помочь выбрать подходящий размер кольца? <sarang> ^ этот вопрос, да? <suraeNoether> отличный вопрос, проект сопоставления - это то, что на первый взгляд кажется *ошибкой*, если сравнивать его с другими моделями создания регистров. Он уже сейчас генерирует правильные матрицы путаницы, и после устранения этой ошибки мне еще предстоит исправить большой блок кода, чтобы получить новые данные, и только затем проанализировать их <suraeNoether> если эта ошибка, как и все другие, просто является трехглавой гидрой.. то сейчас у меня нет ответа на эти вопросы, и я подозреваю, что смогу сузить радиус поиска проблемы <UkoeHB_> Является ли целью этого проекта создание регистров? <suraeNoether> у этого проекта несколько целей <suraeNoether> мы хотим оценить, что если злоумышленник сможет раздобыть «реальную» историю из регистра monero и сопоставит все данные, учитывая внешние подсказки (например, KYC) <suraeNoether> у меня есть метод вычисления оценки максимального правдоподобия для таких случаев с регистром (и код уже работает) <suraeNoether> и еще у меня есть метод для анализа этой оценки и сравнения ее с реальной историей без дополнения матрицей путаницы (и даже этот код у меня работает) <suraeNoether> также у меня есть симуляция, в которой можно сгенерировать данные из регистра, и подавляющее большинство полученных данных будут корректны <suraeNoether> проект возник из идеи теоретико-шутливой возможности отслеживаемости в регистрах Monero. Вы передаете мне данные из регистра и подсказки, я возвращаю вам свою лучшую догадку. Успех моего анализа оценивается вами, сравнивая лучшее совпадение с действительной истиной, которую вы скрываете от меня <suraeNoether> наша надежда такова, что график зависимости от размера кольца будет больше, чем 11... или это будет просто пустая трата пространства / времени <suraeNoether> мы еще надеемся заполучить данные регистров zcash, чтобы мы могли сравнить его с нашим регистром в реальных условиях, вместо того чтобы устраивать перепалки друг с другом на тему чья модель безопасности лучше <suraeNoether> но это самый последний пункт в списке моей работы <Isthmus> О! Я только что вспомнил, что Джинджер и я говорили о создании синтетического блокчейна: https://github.com/insight-decentralized-consensus-lab/CryptoNote-Blockchain-GAN/issues/1 — Isthmus я должен бежать на встречу, извините >_< <sarang> Ладно, какие-нибудь дополнительные вопросы? <suraeNoether> к сожалению, я не работал над этим сопоставлением с середины января, потому что актуальная модель безопасности CLSAG критически важна <sarang> еще должна выйти финальная ревизия документа CLSAG <sarang> что-то еще, suraeNoether? <sarang> кто-нибудь еще хочет поделиться интересными исследованиями? <Isthmus> Я сделал перерыв от анализа блокчейн-логов, чтобы провести кое-какой анализ журналов встреч <suraeNoether> Нет <suraeNoether> isthmus, lol, ты серьезно? <sarang> ? <Isthmus> Да, формальный анализ. <suraeNoether> у меня есть друг, с которым я могу познакомить вас в Эксетерском университете <sarang> на этом канале? <sarang> или в более широком смысле в криптографии? <Isthmus> Несколько шире <Isthmus> есть 7 *ошибок*, которые появляются в нашем канале <sarang> продолжай... <suraeNoether> чувак, пожалуйста, уточни.. <Isthmus> когда мы обсуждаем, как исправить утечку информации, и кто-то указывает, что есть и другие утечки информации <UkoeHB_> :O <suraeNoether> ах, да <suraeNoether> или обсуждает затраты на атаку 51% <Isthmus> или ошибки в коде <suraeNoether> ? <Isthmus> как это было несколько недель назад <suraeNoether> аааа <suraeNoether> я чувствую душок *отличной* статьи для medium <Isthmus> я имею в виду, почему мы должны работать над протоколом и кодом, когда однажды кто-то может запустить свою собственную версию на основе наших разговоров и ссылок <sarang> исходя из этого, получается, что вы проанализировали материал до настоящего времени, и у вас есть конкретные рекомендации, чтобы избежать таких ситуаций? <Isthmus> Это можно опровергнуть противоречием <Isthmus> Если 50% хэшрейта BTC перешло в BCH, делает ли это BCH новым BTC? <suraeNoether> почему мы должны исправлять утечки информации из наших разговоров под предлогом повышения анонимности? <Isthmus> О, черт! Я уже должен быть на встрече <Isthmus> чао! <sarang> -__- <sarang> очень интересно <Isthmus> Хм, даже не противоречие, а скорее, пример, демонстрирующий абсурдность всего <sarang> У нас еще осталось достаточно много времени до конца... кто-нибудь еще хочет поделиться чем-нибудь? <UkoeHB_> lol <suraeNoether> LOL «Я собираюсь использовать машинное обучение, чтобы вести анализ за всеми вашими разговорами и непременно выясню все ваши секреты» <UkoeHB_> хорошо, тогда позвольте мне — я работал над написанием различных идей -> новые вопросы будут размещены в повестке дня и моём отчете (с комментариями от Саранга). TxTangle (он же monero coinjoin) завершен и нуждается в тестах анонимности сетевого уровня. Текущие правки для ZtM2 находятся здесь: https://www.pdf-archive.com/2020/02/05/zerotomoneromaster-v1-0-23/zerotomoneromaster-v1-0-23.pdf <UkoeHB_> а мои идеи размещены тут: https://www.pdf-archive.com/2020/02/05/moneroideaskoe020520/moneroideaskoe020520.pdf <sarang> Да, часть идеи была переработана <sarang> это связано с извлечением индекса для CLSAG, о котором я упоминал ранее <sarang> если подписывающее лицо генерирует все не подписывающие скаляры через PRNG `s_i := H(seed,i)` (с соответствующими начальными данными), то можно утверждать, что этот индекс корректен <sarang> этот метод устраняет необходимость добавлять что-то к структуре цепочке и, следовательно, хорошо подходит для концепции неразличимости <sarang> Я использую его при условии, что одного UX достаточно <UkoeHB_> да, если ключ просмотра может восстановить эти скаляры, получается, что он знает, когда выход был использован <UkoeHB_> это работает, только если отправитель транзакции генерирует скаляры <sarang> основная проблема заключается в том, что это всего лишь опция, поэтому даже её случайное использование ставит под угрозу кошелёк отправителя <sarang> и мы должны быть максимально доходчивы, когда будем пытаться рассказать эту информацию всем пользователям <sgp_> хммм <sarang> и, насколько мне известно, эта опция работает в текущей схеме <sarang> поэтому мы должны будем сделать это рано или поздно <UkoeHB_> это оставляет открытым вопрос о данных, хранимых узлами, так как подписи скаляров продолжают сокращаться <sarang> это вполне разумный компромисс <sgp_> да, и как по мне, всё звучит логично <UkoeHB_> это может значительно увеличить объем данных, передаваемых удаленными узлами для кошельков только для просмотра <sarang> пересмотр сети для дополнительного функционала, приносящей пользу только одному пользователю, кажется лишним <sarang> этот подход подразумевает, что вы можете запустить полный узел (что хорошо для всей сети) и иметь полный набор функциональности для всех своих кошельков <sgp_> UkoeHB_: Я считаю, что игра стоит свеч <UkoeHB_> возможно, что вам потребуется получить гигабайты данных для транзакций за год <suraeNoether> хмммм <suraeNoether> именно это меня и беспокоит <sgp_> Я думаю, что это вполне нормально для кошельков только для просмотра <suraeNoether> вы детерминистически выбираете неподписанные скаляры из PRNG <sgp_> любой, кто использует несколько кошельков для просмотра, должен запускать свой собственный узел <suraeNoether> одна вещь, которую мы все знаем о Подписях Шнорра, это то, что если одноразовые нонсы выбираются детерминированно, это может повлечь извлечение приватных ключей <suraeNoether> по крайней мере, при определенных условиях <sarang> suraeNoether: да, именно поэтому выбор мнемонических слов очень важен <suraeNoether> Итак, мой вопрос: <sarang> UkoeHB_, я уже немногим ранее поднимал этот вопрос <suraeNoether> если мнемоническое слово выбрано из распределения с высокой энтропией и хранится в секрете, то в вычислительном отношении трудно обнаружить, что они вычисляются детерминистически <suraeNoether> я бы предпочел метод, который более сложен в вычислительном отношении <sarang> предположительно начальное слово представляет собой комбинацию из секретного ключа, индекса, образа ключа и т. д. <sarang> suraeNoether: как это вообще сработает? <sarang> извлечение данных подразумевает, что проверяемая сторона может сконструировать *ожидаемое* выходное значение <suraeNoether> мы используем PRNGs, потому что статистически RNGs не существуют <sarang> Что ж, сейчас мы отталкиваемся от предположения, что у пользователя есть доступ к чему-то вроде RNG <sarang> а это будет переход к PRNG <sarang> (как и должно быть) <sarang> Вы не можете делать извлечение данных с истинным RNG <suraeNoether> верно <sarang> Во всяком случае, это интересная тема, которая может быть полезна для следующего выпуска <sarang> но есть нюансы, связанные с UX, которые требуют дальнейшего рассмотрения <sarang> ладно, давайте двигаться дальше <sarang> другие темы, которыми вы хотите поделиться, UkoeHB_? <UkoeHB_> я надеюсь, что люди могут оставить своим комментарии и замечания в самом репозитории <sarang> Да, пожалуйста <sarang> намного лучше, чем делать комментарии в IRC <UkoeHB_> TLV, вероятно, наиболее важен для следующего обновления сети <sarang> лучше обсудить этот вопрос в канале разработчиков <sarang> это, скорее, вопрос конкретной реализации, чем математики <UkoeHB_> да <sarang> Я подниму этот вопрос на встрече разработчиков или просто в -dev канале <sarang> и тогда мы получим ответ на интересующий нас вопрос <UkoeHB_> ok <sarang> я знаю, что люди уже поднимали вопрос синтаксического анализа tx_extra, и это весьма пикантная тема <sarang> Кто-нибудь еще хочет обсудить другие темы? <UkoeHB_> О, последние обновления CLSAG уже добавлены в ZtM2 <sarang> превосходно <suraeNoether> я видел обновление vtnerd с dandelion++ <sarang> Да <sarang> ещё лучше <sarang> это в списке моих дел на предстоящую неделю <sarang> о которых мы сейчас и поговорим <sarang> Давайте быстро пройдёмся по КЛЮЧЕВЫМ МОМЕНТАМ <sarang> Я рассмотрю PR D++, проработаю некоторые дополнительные материалы по подтверждению транзакций, обновлю документ MPC для сублинейного протокола транзакций и напишу примеры скрытого хранения данных в RCT3. <suraeNoether> Завершить документ CLSAG и начать сбор соответствующих данных. Кроме того, первостепенная задача: делиться основными обновлениями в канале, пока основная работа не будет завершена <sarang> совсем забыл — еще мне предстоит написание тестов для новых доказательств входа / выхода <suraeNoether> Я займусь D++ сразу, как закончу основную часть работы <sarang> Да, с нетерпением жду материал CLSAG <sarang> кто-нибудь еще? <UkoeHB_> я сосредоточусь на multisig и надеюсь закончить txtangle (мне нужен советник по анонимности сетей, посоветуете кого-нибудь?) <sarang> вероятно, vtnerd <sarang> Я слышал, что если вы произносите его имя 3 раза, он получает 3 отдельных уведомления... <sarang> =p <sarang> что-то еще, прежде чем мы закроем официальную часть встречи? <sarang> (Я буду рад обсудить блокировку после того, как мы закончим) <sarang> Раз... <sarang> два... <sarang> Потрачено! Спасибо всем за участие; журналы будут опубликованы в ближайшее время Источник: Research meeting: 5 February 2020 @ 18:00 UTC #434 Перевод: Unholy (@Unholy) Редактирование: Mr. Pickles (@v1docq47) Коррекция: Kukima (@Kukima)