Перевод Журнал встречи cообщества Monero от 2017-10-30

Тема в разделе "Статьи", создана пользователем Antonio, 17 дек 2017.

  1. Antonio

    Antonio Monerano

    Регистрация:
    14 сен 2017
    Сообщения:
    11
    Симпатии:
    4
    Журнал встречи cообщества Monero от 2017-10-30
    Опубликовано: dEBRUYNE / fluffypony
    30 Октября 2017


    Журнал
    <sarang> Поехали
    <suraeNoether> Приветствуем всех на нашей второй официальной (третьей неофициальной) встрече. Fluffypony, dEBRUYNE, luigi1111, knaccc.
    <suraeNoether> Еще… ArcticMine… еще… кого ещё мы должны отметить? Moneromooo.
    <luigi1111w> Официальная встреча учитывается среди неофициальных?
    <suraeNoether> Внутри
    <suraeNoether> А официальная встреча также считается неофициальной? Это какой-то подвид связи? Ну да ладно
    <suraeNoether> kenshi84 тоже здесь
    <suraeNoether> Итак, на самом деле у меня нет какой-то определенной темы на сегодня. Я хочу вместе с sarang поделиться с группой информацией о том, чем мы занимались последние несколько недель, и если кто-то ещё проводил какие-либо исследования достойные внимания, давайте о них тоже поговорим
    <suraeNoether> sarang, хочешь начать?
    <sarang> Да, конечно
    <sarang> Я много работаю, преимущественно читая о новых интересных вещах.
    <sarang> Накопители с хеш-основой (хеш-накопитель) являются интересной темой,
    где вы можете использовать взаимосвязь интересующей вас пары, для того, чтобы доказать принадлежность или ее отсутствие в настройках
    <sarang> Изящность в том, что менеджер настроек - не доверенный
    <suraeNoether> Ты несколько раз об этом упомянул. Все ли хеш-накопители специализируются на криптопарах?
    <suraeNoether> Или вы используете пару по-разному
    <sarang> О, я имею ввиду, что структура задействует пары элементов, в отличие от отдельных элементов
    <suraeNoether> А, ясно
    <sarang> Это новая структура, она дает отличную производительность
    <suraeNoether> Можем ли мы использовать хеш-накопитель без доверенной настройки, чтобы сделать что-то похожее на кольцевые подписи?
    <sarang> Именно это меня интересует
    <sarang> Модели безопасности должны быть проанализированы в этом новом контексте.
    <silur> sarang, порядок этих пар как-то влияет на безопасность?
    <sarang> Нет
    <silur> Хорошо
    <sarang> Что он делает?
    <sarang> Он предлагает быстрый способ, демонстрирующий принадлежность или наоборот, используя пары
    <hyc> …напомнило мне цветные фильтры, быстрая установка принадлежности
    <suraeNoether> hyc, прости, забыл тебя отметить
    <hyc> Нет проблем
    <sarang> Я также продолжаю исследования обобщенных (совокупных) подписей, кое-кто довел до моего сведение surae, некоторое время назад
    <sarang> Идея заключается в том, что вы можете сжать набор подписей в одну единственную подпись
    <suraeNoether> Цветные фильтры hyc позволяют сделать быструю установку непринадлежности, не быструю установку принадлежности, и оба основаны на хеше
    <sarang> Верификация по-прежнему линейна
    <sarang> Но пространство постоянно
    <sarang> Есть тут, конечно, один недостаток, он заключается в требовании билинейной карты между группами со сходными свойствами
    <sarang> Очевидно, что до сих пор остается открытым вопрос о том, возможно ли получить совокупность, которая не требует полной линейной верификации
    <suraeNoether> Я не понимаю, совокупные подписи используют пары
    <sarang> Те, которые я видел, используют билинейные карты для верификации третьей стороны
    <sarang> Это умная и довольно простая настройка
    <suraeNoether> Я нашел несколько новых видов подписей, на которые мы могли бы обратить внимание, у меня есть список
    <sarang> Определенные трудности есть в способе учета моделей безопасности
    <sarang> И есть некоторые оговорки, касающиеся повторяющихся сообщений
    <sarang> Конечно, субадреса уже вышли
    <sarang> SPECTRE, вот что на моих с surae радарах
    <suraeNoether> andytoshi дал ссылку на свои наброски об атомарных свопах, и, по крайней мере, с одним видом подписей из тех, что там представлены, я вообще не знаком. И я забыл, как называется эта подпись. Совокупная подпись? Что-то типа этого
    <sarang> Я так же все еще работаю над подтверждением доказательства-выполнения работы
    <sarang> Если это будет идеально исполнено, то мы можем предложить существенную экономию в блокчейн пространстве/анализе
    <sarang> Логарифмически
    <suraeNoether> Последние несколько недель я трачу по нескольку часов на мультиподписи… завтра дам ссылку на текущую версию. Мне пришлось изменить схему, для того, чтобы получить несколько выходов для аккаунта, что, на самом деле, не такая огромная работа, но довольно значительно изменило нотацию в whitepaper
    <sarang> Это постоянно движущаяся цель
    <suraeNoether> Завтра я дам ссылку на текущую версию, сразу после того, как сам еще раз пробегусь по тексту
    <suraeNoether> Да, кольцевые мультиподписи непросты
    <suraeNoether> Но я также учитываю перспективу, как уже сказал sarang
    <suraeNoether> У меня есть текущая рабочая реализация на моём github… Но это отнимает кучу времени, организовать N блоки, которые не масштабируются
    <sarang> Хочешь озвучить этот email?
    <suraeNoether> Я общаюсь с Sompolinsky, одним из авторов
    <suraeNoether> Да
    <suraeNoether> Я спрашивал о заявленном ими постоянном (константном) времени реализации, и он мне ответил
    <suraeNoether> Так, работаю с частями, и только организация постоянного числа блоков позволяет получить время вычисления до константы
    <sarang> Но за еще не установленную плату
    <suraeNoether> Это определенная хитрость
    <suraeNoether> Да
    <suraeNoether> Существует такой тип атаки, когда кто-то намеренно выбирает блок глубоко внутри протокола blockDAG
    <suraeNoether> Это провоцирует каждый узел сети формироваться глубоко внутри blockDAG. Довольно мерзко.
    <suraeNoether> Моей первой мыслью было наше стандартное разделение между полными узлами и легкими узлами
    <sarang> И это ударит по мне по принципу DoS?
    <suraeNoether> Ну… типа того. Это DoS в том смысле, что якобы честные блоки могут быть использованы в атаке
    <suraeNoether> И это не совсем атака, с точки зрения безопасности, это атака, которая провоцирует майнеров увеличивать мощность CPU
    <sarang> Точно
    <sarang> Вот это я имею ввиду
    <suraeNoether> Поэтому моя первая мысль была о том, что полные узлы формируют топ 2% протокола blockDAG в течение всего времени, а легкие узлы лишь возвращаются к определенному # поколения из частей и избегают блоки, которые находятся слишком близко к базовому (genesis) блоку
    <suraeNoether> Оба вида узлов могут выполнять свою задачу в постоянном (константа) времени. У полного узла константа больше, у легкого узла - меньше
    <sarang> Это напоминает мне одно недавнее обсуждение игнорирования достаточно старых блоков
    <sarang> Плюсы и минусы этого…
    <suraeNoether> Ну мы уже отклоняем блоки, если их временные метки изолированы
    <sarang> Так ты думаешь, что атака не имеет значения из-за ограничения по времени?
    <suraeNoether> Временные метки, на самом деле, не проблема, проблема там, где размещаются блоки в дереве. Мы не можем отклонить блоки, которые находятся глубоко в blockDAG, потому что я не вижу удачного способа двум разным майнерам сойтись во мнении, что значит “очень глубоко”.
    <suraeNoether> Я считаю, что разделение на полные/легкие узлы, как описано выше, позволит избежать большинства атак
    <suraeNoether> Но это … непросто
    <suraeNoether> Тем не менее
    <suraeNoether> Мои предположения о том, как добиться этого постоянного времени, были верны…алгоритм может определить порядок частей без какой-либо информации от старших по структуре файлов
    <suraeNoether> Вот чем я занимался - мультиподписи, я упоминал о них уже на этой неделе.
    <suraeNoether> Я все более уверен в том, что мы закончим с этим очень скоро. Обзор кода движется вперед бит за битом (хах)
    <suraeNoether> Кто-нибудь еще работает над какими-то интересными проектами? Я знаю, что мы обсуждали здесь недавно PRNG (генератор псевдослучайных чисел), и мне интересно, над чем работают люди
    <sarang> Ах да, PRNG
    <sarang> У меня нет никакой новой информации, так как я не уверен, ведут ли сейчас разработчики какую-то активную деятельность
    <sarang> Также было проведено исследование об использовании keccak вместо SHA-3
    <silur> Я работаю над quantum-hard shuffle, который может быть использован для конструирования PRNG-ов.
    <suraeNoether> silur: это очень круто. Говоря “работаю”, что ты имеешь ввиду… пишешь paper? работаешь над кодом?
    <silur> пишу paper
    <suraeNoether> И что делает shuffle "сложным"?
    <sarang> Определение конечного состояния без прохождения всех шагов?
    <silur> Попытка выявить предыдущее состояние элементов из набора
    <silur> Или "подглядывание в карты"
    <sarang> Классно, получается это односторонняя функция?
    <suraeNoether> Да
    <suraeNoether> Очень здорово
    <suraeNoether> silur, а ты студент, профессор, любитель?
    <suraeNoether> Я так до сих пор и не прочитал ту paper про shuffle, которую ты отправил мне :(
    <silur> Я стану профессором со следующего сентября в крипте
    <sarang> Мои поздравления!
    <suraeNoether> Поздравляю!
    <silur> Я на грани выхода из группы основателей ethereum
    <silur> Спасибо :)
    <sarang> Есть еще интересные проекты?
    <sarang> Или предложения, в каком направлении нам двигаться дальше?
    <unknownids> Поздравляю!
    <suraeNoether> Я также читаю краткие posets (частично упорядоченные множества), которые являются… новой структурой данных. Кстати, для любопытных, каждый DAG (Directed Acyclic Graph) вызывает poset, а каждый poset - это DAG
    <suraeNoether> Структура данных
    <sarang> Да, эта poset paper выглядит довольно интересно
    <suraeNoether> Они значительно компактнее, чем представление DAG, с использованием старших трехсторонних матриц, и они позволяют константному времени определять, предшествует ли один элемент другому
    <sarang> Я полагаю, что компромисс памяти и времени будет всегда интересен
    <suraeNoether> Таким образом, использование этих структур вместо структуры данных, которыми я пользовался, приведет к сокращению времени вычислений примерно на 75% (но это все же квадратично…)
    <silur> Ух ты
    <suraeNoether> https://arxiv.org/pdf/1204.1957.pdf
    <suraeNoether> И, наконец, еще одна вещь, о которой я размышляю, это идея andytoshi для выходов, где "адреса меняются". Мои лучшие мысли состоят в том, чтобы каждый вывод был адресован группе адресов назначения, где у каждого адреса есть своя фиксированная точка времени, но все используют образ ключа (каким-то образом)
    <suraeNoether> Действительно задача состоит в том, чтобы придумать представление единичного образа ключа для единичного выхода, но с несколькими адресами назначения, где у каждого адреса своя точка времени
    <suraeNoether> Или это, может быть, возможное решение проблемы andytoshi насчет атомарного свопа возврата транзакции.
    <suraeNoether> Вот над этим всем я работаю
    <suraeNoether> Кроме silur, кто-нибудь еще решает какие-то забавные задачи?
    <suraeNoether> Или, может быть, не забавные
    <sarang> http://nick.mtvnimages.com/nick/pro...-fun-song-16x9.jpg?maxdimension=&quality=0.60
    <suraeNoether> Окей
    <moneromooo> Насчет PRNG. Я перенес PRNG Bitcoin в Monero, на github можно найти, если кому-то интересно.
    <moneromooo> Я добавил противоречивый патч, он будет запущен, либо изменен.
    <suraeNoether> Это как-то касается PRNG?
    <moneromooo> Я добавил выбор /разработчик/пользователь при запуске.
    <sarang> Можешь дать ссылку, moneromooo ?
    <suraeNoether> Ну посмотрим
    <moneromooo> Размышляю, что это будет нормально работать, если “пользователь” не используется, так что я, возможно, сделаю это.
    <suraeNoether> У меня недостаточно информации о плюсах и минусах такого подхода, чтобы иметь какое-то мнение
    <suraeNoether> На административном уровне, sarang,скажешь что-то о курсах на выходных для талантливых студентов? На этой неделе я собираюсь пообщаться с выпускниками в учебных заведениях, находящихся неподалеку от меня, чтобы оценить возможности на 2018. Недельная работа для студентов.
    <moneromooo> https://github.com/monero-project/monero/pull/2731
    <suraeNoether> Спасибо, moneromooo
    <sarang> Ах да, спасибо, что напомнил, surae
    <sarang> Появился интерес к двум школьным программам
    <suraeNoether> Если хочешь, мы можем заняться этим вместе весной
    <sarang> Это будет долгосрочная работа со студентами North Carolina STEM
    <sarang> Будет еще работа, не такая долгосрочная, попроще, с одаренными старшеклассниками Duke University в весенние каникулы
    <sarang> Это немного сложнее, из-за крайне короткого времени курса
    <suraeNoether> Да, мне нравится идея провести пару недель со старшекурсниками, чтобы рассказать им о крипте, о форке Bitcoin или Monero, повозиться с кодом или что-нибудь еще … но не уверен, насколько много мы сможем сделать за один уикенд
    <sarang> Так может лучше отказаться от идеи коротких курсов в уикенд и попробовать курсы подлиннее?
    <sarang> Меня начинают терзать смутные сомнения, когда я думаю о необходимой для этого логистике
    <sarang> Но я все же рассмотрю такой вариант
    <sarang> Еще один вариант - сделать летнюю программу в Duke, которая продлится три недели
    <suraeNoether> sarang, давай потратим пару часов на этой неделе, чтобы определить логистику такого мероприятия. Мне бы очень хотелось, чтобы сообщество Monero финансировало некоторые образовательные программы. Это хороший пиар для всех, а также запустится образовательный конвейер в криптовалютном мире… Но я не хочу обременять сообщество Monero без необходимости (в первую очередь), а если мы сможем мотивировать университет на то, чтобы тоже выделить нам немного денег на образование их студентов, это также добавит легитимности(доверия к этой монете/проекту).
    <sarang> Летние курсы в Duke не потребуют от сообщества какого-то финансирования
    <sarang> Студенты сами платят за то, чтобы их посетить
    <suraeNoether> Хорошо, таким образом мы сможем минимизировать нагрузку на сообщество Monero.
    <sarang> Ага, а еще, университет уже определил некоторое количество своих одаренных студентов
    <suraeNoether> И, возможно, в первое лето мы должны сделать что-то подобное, а не нагружать себя организацией программы
    <sarang> Давай обсудим такой вариант
    <suraeNoether> Здорово
    <sarang> Я раньше предлагал летние курсы. Они сложнее, чем курсы в уикенд, но в целом очень неплохо смотрятся
    <sarang> Мы оба отвечаем требованиям к инструктору
    <suraeNoether> Можешь прощупать почву в этом направлении? А потом мы поговорим об ответах, которые ты получил на этой неделе.
    <sarang> Конечно могу
    <suraeNoether> Здорово
    <sarang> Мне нужно понимать расписание летних курсов. Мы, возможно, уже упустили этот момент
    <suraeNoether> Точно
    <sarang> Да, я проверю
    <sarang> За новыми STEM курсами постоянно ведется охота
    <sarang> Университеты могут сделать нам исключение
    <sarang> Особенно мне :D
    <suraeNoether> Да, думаю нужно уже сегодня позвонить или отправить письмо на email, держи меня в курсе
    <suraeNoether> Ладно, кто-то еще хочет что-то обсудить?
    <sarang> Только что отправил email боссам
    <suraeNoether> Клево
    <suraeNoether> Так, если больше ничего ни у кого нет...
    <knaccc> У меня есть один момент, я хочу уточнить, будет ли полезна билинейная парность в будущем, для таких как я, кто понятия не имеет, что это вообще такое.
    <suraeNoether> Ага
    <sarang> Surae, хочешь ответить?
    <suraeNoether> Ну вообще не хочу
    <knaccc> Хаха
    <suraeNoether> Ха
    <suraeNoether> Ладно, я отвечу
    <sarang> Смешно
    <suraeNoether> Итак, knaccc… Билинейность в крипте - это возможность взять простую группу и склеить ее со сложной группой, получив пару. А твои операции выполняются парой кривых линий, а не одной кривой.
    <silur> surae, ты мне только что открыл целый мир, как я этого раньше не понимал <3
    <suraeNoether> silur, моя диссертация целиком про po-группы
    <suraeNoether> Если ,разумеется, у тебя есть "билинейная пара"
    <suraeNoether> То ты можешь перемещать информацию из одной группы в другую
    <knaccc> Таким образом, получается, что билинейные пары до сих пор используют кривые curve25519/ed25519?
    <sarang> Один полезный момент есть - совокупность подписей, которые используют потенцирование
    <suraeNoether> Не так много существует кривых, которые совместимы с билинейными парами
    <sarang> Трансфер между группами, вот что позволяет верификация
    <knaccc> А это должна быть отдельная кривая, которая будет использоваться?
    <sarang> Да, это идеализация в настоящий момент
    <suraeNoether> Самый простой способ объяснить это выглядит так: если мне нужно знать что-то об (A, B+C), я могу разделить это при помощи билинейной пары и рассмотреть так (A+C, B)
    <knaccc> и что тут насчет простой группы и сложной группы?
    <suraeNoether> Ну, это как Zq против X 25519
    <knaccc> А, понимаю
    <suraeNoether> С помощью билинейных пар проблема DDH легко решаема
    <sarang> Так же можно взглянуть на это с точки зрения сложности предположения проблем
    <sarang> Да
    <suraeNoether> Согласен
    <sarang> Так что понятия безопасности становятся все более требовательными, по понятным причинам
    <knaccc> Ты в курсе любых последствий производительности билинейных пар
    <suraeNoether> Да, итак, линейная функция поведет себя так: f (a*X + b*Y) = a*f (X) + b*f (Y). Билинейная функция имеет два варианта вместо одного (a*X + b*Y, c*Z + d*W) и ведет себя линейно в каждой координате
    <suraeNoether> knaccc, я нет
    <sarang> Это будет зависеть от групп и расположения
    <sarang> Я считаю, что существующие ограничения реализации означают, что пока еще не было плотного анализа этого вопроса
    <suraeNoether> Кстати, кто-то видел, как Craig Wright рассуждает сам с собой на эту тему? На reddit или twitter
    <sarang> Также зависит от нашего использования
    <sarang> Совокупные подписи - одна из тем, что рождают в нас интерес
    <sarang> Нет!
    <sarang> Дай ссылку, surae
    <knaccc> Можешь определить совокупные подписи?
    <suraeNoether> Хаха
    <suraeNoether> https://www.reddit.com/r/Bitcoin/co...ource=reddit&utm_name=frontpage&utm_content=1
    <suraeNoether> CSW утверждает, что это он изобрел Bitcoin, а также он использовал кривую secp256k1, потому что она совместима с билинейными парами
    <silur> Аххахаха :D
    <suraeNoether> И хотя это технически возможно, нужно хранить 10^70 или больше бит, понимаете, цифра, сопоставимая с количеством частиц во вселенной
    <suraeNoether> Очень интересно почитать
    <suraeNoether> knaccc, совокупные подписи это возможность взять несколько подписей, а затем объединить их в одну подпись
    <knaccc> В целях экономии пространства и времени верификации?
    <sarang> knaccc, ты экономишь пространство
    <sarang> Это константа в # подписей
    <sarang> Верификация в настоящий момент линейна
    <sarang> В этом заключается значение для таких вещей, как, например, связанные сертификаты и тому подобные вещи.
    <knaccc> И это провоцирует меня на последний быстрый вопрос: мне кажется, кто-то упомянул о том, что было “доказано”, что время верификации должно быть всегда линейно
    <suraeNoether> Ну, ruffing доказал, что схема кольцевых подписей линейна во время верификации
    <sarang> Совокупные подписи это не кольцевые подписи
    <knaccc> А, окей, вот ответ на мой вопрос. Это специфика лишь кольцевых подписей
    <knaccc> Ага
    <sarang> Они могут быть абсолютно независимыми подписями
    <silur> У нас есть обновленная paper от ruffCT?
    <knaccc> Понимаю
    <sarang> А по факту, сообщения должны быть внятными
    <knaccc> Здорово, спасибо вам, sarang, suraeNoether
    <silur> Я начал работать над обзором, но sarang и surae сказали мне, что это не актуально
    <suraeNoether> silur, я могу отправить тебе копию того, что я получил от ruffing
    <suraeNoether> https://eprint.iacr.org/2015/643
    <suraeNoether> silur, схема ruffCT выполняет следующее: для каждого выхода, используемого в подписи, строится ряд матриц, входы являются членами кольца. В каждой колонке матрицы должно быть обязательство на сумму, а подпись фактически доказывает, с помощью NIZK, что вы можете открыть одно из обязательств
    <suraeNoether> Смысл в том, что ты знаешь, актуальный ключ находится в одной из тех колонок
    <suraeNoether> Но код, размещенный на github является функциональным и актуальным, а если ты сравнишь это с bootle paper, я уверен, что ты сам во всем разберешься, без моей помощи, не спрашивая у ruffing дополнительного разрешения поделиться его paper, на которой на первой странице крупно написано "DO NOT SHARE" хаха
    <silur> Окей, спасибо
    <suraeNoether> Окей, ребята, думаю, мы завершим (потому что похоже, что у knaccc закончились вопросы).

    Источник: Logs for the Monero Research Lab Meeting Held on 2017-10-30

    Перевод:
    Antonio (@АнтонЩербаков)
    Редактирование:
    Mr. Pickles (@v1docq47)

    Коррекция:
    Kukima (@Kukima)
     
    #1 Antonio, 17 дек 2017
    Последнее редактирование модератором: 17 дек 2017
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.