привет, мы в прямом эфире с zcon 2. эм, я деирдра Коннолли, Шон, можешь представиться? Я Шон Бо из компании по производству электрических монет Andera Я Дара Хопвуд, тоже из компании по производству электрических монет, и мы здесь сегодня, чтобы поговорим о гало 2 и фруктовом саду новейшие sapling shielded pool новейший экранированный бассейн для zcash они возникли, потому что гало и гало 2 эээ, спровоцировал это так, чтобы поговорить о halo and halo 2 Шон расскажет нам о рекурсивных доказательствах да, чтобы понять, где эээ, почему ореол - это вещь, зачем нам нужен это зачем делать при чем тут фруктовый сад полезно как бы пересмотреть какие рекурсивные доказательства и есть это то, что нам действительно нужно и они являются важной частью нашей дорожной карты, когда дело доходит до масштабируемость, так что доказательства знаний криптографические инструменты, которые можно использовать, чтобы показать, что вы совершили мошенничество вычисления, и мы используем их в zcash, мы используем нулевое знание доказательства или аргументы знания мы используем эти язвы для создания защищенных транзакций, и вам не обязательно часть с нулевым знанием, ты можешь сделать много действительно крутых вещей с эм просто доказательства самих знаний, включая э-э например, сжатие вычислений и доказательство того, что вы выполнили вычисления от имени кого-то еще, так что один интересный вопрос: что произойдет, если вычисление что вы проверяете, что кто-то другой выполнил сам проверка доказательства знаний, и это то, что мы называется доказательной композицией, поэтому следующий вопрос, который вы можете задать: каково вычисление внутреннего доказательства, которое вы проверяете и когда вы делаете этот шаг композиции, такой же, как и внешние доказательства это просто другой экземпляр одного и того же вычисления, разные входы эээ, это то, что известно как рекурсивная композиция доказательства, и мы можем использовать это, чтобы сжимать практически неограниченные объемы данных в одно доказательство что действительно здорово, и это действительно помогает в масштабируемости, потому что мы можем сжать, вы знаете, проверяя вычисления, например, это правильный блок правильные ли эти блоки правильные ли эти транзакции вместе, и это всего лишь один из множества разных полезных инструментов что мы можем использовать для масштабирования zcash, поэтому на следующем слайде ммм да, так что в качестве фона до того, как наша команда обнаружила рекурсивный гало Доказательства отстойные на практике они отстойные они были на больших эллиптических кривых, и они были своего рода неэффективны и требовали надежных настроек и вся неэффективность, с которой мы как бы боролись на протяжении многих лет например, саженцы и прочее, но требующие надежных настроек это одна из тех вещей, которые у нас есть нужно было по большей части на протяжении многих лет, потому что снарки просто не были эффективны Достаточно, так что когда мы обнаружили ореол, мы, наконец, открыл не только способ сделать рекурсивное доказательство композиция без проверенных эээ очень эффективно, но также не требовала надежной настройки и такого рода решает все наши проблемы, когда дело доходит до систем прувинга Эм, это круто, как я уже сказал, адрес рекурсивных доказательств проблемы масштабируемости, и мы можем использовать их для решения проблемы с навыками после того, как мы опубликовали ореол, появился поток новых Бумаги не только строятся поверх ореола, я думаю, ореол вызвал нечто вроде этого нового происхождение рекурсивных доказательств, которые были все больше и больше эффективные и новые идеи появляются раз в два месяца в этот момент параллельно с этим криптосообщество как бы строим новые эээ-снарковые конструкции, и мы можем вроде как заимствовать идеи от них обоих, в частности эээ, новые идеи от таких снарков, как плонк, так что то, что мы пытались сделать в в прошлом году или около того, это сочетание некоторых из них новые идеи и некоторые собственные идеи и оптимизации вместе с оригинальной концепцией ореола в люкс утилит, которые позволят нам делать рекурсивные доказательства ну действительно эффективно и используйте их в zcash, если сможем поэтому я не могу объяснить всю концепцию слишком подробно, это слишком технический для такого рода разговоров, но по сути когда вы смотрите на нимб, то, что мы понимали, происходило, когда мы создавали ореол, это мы придумали способ заставить работать рекурсивную доказательную композицию э-э использование снарков, которые не требуют доверенной настройки рассматривается в другом объективе, академическое сообщество как бы начало смотреть на что мы делаем и что они это интерпретировали и формализовал его, как это общее понятие схема накопления эээ идея в том, что вместо рекурсивно проверяя доказательства, посмотрим на это так, вместо этого мы сортируем добавления доказательств к аккумуляторам, и эти доказательства проверяют, что предыдущее состояние аккумулятора правильное и так до тех пор, пока вы проверяете последнее доказательство и последний аккумулятор тогда вы знаете, что по индукции вы знаете, что все доказательства э-э, которые предшествовали этому, были правильными, и вы можете сделать это в виде дерева то, что вы видите на этом слайде, похоже на гм инкрементальное вычисление с пошаговой проверкой, но вы можете сделать доказательства наличия данных, которые представляют собой обобщение, которое включает в себя разновидность деревьев вычислений - еще одна важная вещь, которую нужно обратите внимание, что подобно рекурсивным доказательствам до появления ореола мы использовать эллиптические кривые, которые образуют цикл друг с другом, чтобы это было эффективно чтобы доказать что-то о доказательствах с другой стороны цепь или извините на другой кривой, а затем вы своего рода отскок между двумя эллиптическими кривыми и так вот почему у нас фактически получается цикл кривых, который я буду упомянуть на следующем слайде Итак, что такое halo 2, halo 2, это рекурсивное доказательство zk snark zk smart система, которую мы строим на основе того, что называемые кривыми макаронных изделий, манла и веста, их индивидуальные имена, и это требует того, что некоторые практикующие называют ультрапланковая арифметизация от планка и вроде как ее интегрирует в ореол, и это поддерживает в отличие от первого ранга системы ограничений, которые раньше использовали снарки, ммм очень часто до 2019 года или около того такого рода ультра-шлепки и связанные с ними э-э арифметизация и такие вещи, как аргументы поиска и все такое этот другой материал действительно позволяет вам создавать очень эффективные доказательства сложных протоколов очень похоже на технологию zcash z с защитой от наличных, поэтому да, так что доказательства для доказательства Halo 2 в конечном итоге получают немного больше, чем раствор 16, но на самом деле они не намного медленнее проверить так они есть и вместе с этими оптимизации, которые мы делали, они едва ли вписываются в этот вид профиля эффективности, которого достаточно для использования интегрируя его в z cash ну так на следующем слайде эм, если вы хотите узнать больше о гало, есть еще пара разговоров в более технических деталях есть один, который я сделал для учебного клуба zk я думаю, и есть еще один ник ложка из UC Berkeley делал на tcc или на той конференции называется круто следующий слайд, думаю, я передам это э-э, дейрдре, да, теперь, когда у нас есть это классная новая рекурсивная система доказательства, которая требует надежной настройки почему мы не могли просто вставить это в то, что у нас есть в zcash уже самый последний и лучший экранированный протокол, который хорошо растет первое, что выпадает из нового Подобная система доказательств - это кривые, о которых упоминал Шондус. у нас есть кривая, которую мы используем для создания обязательств, таких как отсутствие обязательств и ценности обязательств, и у нас есть кривые, которые мы используем внутри схемы, как только вы измените эти кривые вам нужно изменить обязательства, которые они представляют другой группой элементы эллиптической кривой, точки в прото в более широком протоколе поэтому в саженцах мы используем кривую jubjub для таких вещей, как э-э для траты подписи для привязки подписей для обязательств по ценным бумагам обязательств все это использует кривую скачка с этими новые кривые, нам нужно изменить все эти части экранированного протокол, и как только вы начнете изменять этот бит и этот кусочек и другой кусочек все они работают вместе, так что новые кривые означают, что нам нужно изменить кучу частей всего защищенного протокола гм, одна приятная вещь, хотя о новом гм о новых кривых макаронных изделий это поскольку нам больше не нужно использовать пары нам не нужны кривые, дружественные к спариванию, поэтому наши кривые могут быть меньше, потому что мы можем использовать мы можем поддерживать пары с помощью кривой дружелюбия к спариванию эти кривые обычно должны быть больше и иметь большие поля э-э, чтобы быть криптографически безопасным, чтобы они нам больше не нужны, это один плюс о фруктовом саду и кривых макаронных изделий они имеют меньшие кривые, поэтому мы получаем криптографическую безопасность, но они меньше, и они в первоочередном порядке, и это делает многое из того, как мы моделируем криптографию и делаем доказательства и многое другое намного лучше и проще рассуждать о том, чтобы было меньше крайних случаев, это также дает нам возможность изменить то, как мы хэшируем значения в группу, буквально называемую хешем для кривой Раньше для саженца это не была общая цитата по всем входам домена в хэш э в основном из-за обновки для сада мы иметь допустимое решение для всех возможных входов когда мы добавляемся в кривую дворца что очень приятно, и это постоянное время, когда все эти мелочи, которые были возможности для улучшения безопасности протокола доказывая безопасность протокола рассуждения о безопасности криптография, которую мы собираем в саду Гм просто намного лучше, когда у тебя есть такие строительные блоки эм, один из других падений ну не недостаток, а своего рода вам нужно изменить способ проверки доказательства правил консенсуса, эм, когда у вас есть система доказательств, такая как halo 2 это достаточно отличается от Groth 16, вам нужно сделать оптимизацию в противном случае это было бы слишком медленно, поэтому потребовалось бы дальнейшее изменения гм гало 2 позволяет эффективные аргументы поиска, которые привели к разработке нового хэша называется sensamiya, это более эффективный хэш, устойчивый к столкновениям. с этими поисками, поскольку samia очень похож по духу на хеши Педерсена которые используются в саженцах, он использует элементы группы внутри это так, что некоторые из этих пасты изгибаются, чтобы построить это но это намного эффективнее, когда вы используете его внутри схемы гм, а затем мы хотели удалить хэши, которые дороги в цепи например, Blake 2s, поэтому нам пришлось удалить и изменить их и последний бит здесь, когда вместо отчетов о расходах и операторы вывода, которые вы можете иметь несколько из них в одной транзакции он был изменен на заявление о действии и действие передача, которая делает все эти части вместе если у вас есть один из них, он теряет меньше метаданных о входах и выходах, и сколько из них в затратах и ​​выходах это всего лишь одно последнее значение, о котором вы можете найти информацию вместо трат и выходов, поэтому сад оказывается очень похож на саженец, за исключением того места, где он не э-э, возьми все хорошие кусочки, которые у нас есть в саженце отбросьте некоторые из менее хороших, таких как более дорогие хеши э-э, менее хороший хеш, чтобы кривлять такие вещи а затем вы добавляете все оптимизации, которые вы можете получить от halo 2 и что вам нужно максимально использовать halo 2 внутри протокол zcash, так что то же самое по-прежнему поддерживает просмотр ключи исходящие входящие полный просмотр ключей по-прежнему поддерживает эффективную подписку на аппаратные кошельки эээ вместо того, чтобы использовать подпись о работе красного джаба для того, чтобы потратить и обязательные подписи, это красный дворец, это все еще красная конструкция DSA, которая позволяет повторно рандомизируемые ключи, но вместо jubjub, который является кофакторная кривая, мы используем паллас, которая является кривой простого порядка. Разве это не еще одна приятная вещь, что наличие первоочередного порядка изгиб, как дворец, - это всего лишь одна вещь, о которой нужно беспокоиться в этом случае кофакторы, и теперь у нас есть уравнения для простого порядок арифметики на кривых, таких как напряжение короткого провода кривые, которые идеально подходят для нам нужна поддержка разнообразных адресов также, если вы хотите узнать немного больше о повторной рандомизации, чем Разнообразные адреса, разговор о морозе, сегодня мы коснемся на небольшом кусочке этого ммм мороз поддерживает все эти случайные проблемы для саженцев и фруктовых садов эм, проверка баланса такая же, мы по-прежнему берем всю стоимость обязательства, которые публикуются в блокчейне и мы выполняем наши гомоморфные операции, чтобы получить ключ проверки из Баланс, чтобы проверить узел баланса шифрование - одни и те же алгоритмы, вплоть до того, как мы делаем вывод и шифрование заметок и отметьте метаданные в цепочке, а затем отсутствие обязательств дерево - это двоичное дерево той же высоты, что и это буквально копировать и вставлять одно и то же дерево без обязательств между саженцем и фруктовый сад, вы просто заменили один вид хеша на различные внутренние узлы дерева с новый довольно приятный с точки зрения реализации эм так как это отличается эм немного я упоминал перед твиками сделано на уровне протокола для оптимизации для Halo 2 и для ультра планки арифметизация внутри, когда вы используете для разработки схемы гм, как я уже упоминал, вместо расходов и выходов это всего лишь одно действие, у вас могут быть заметки, которые вы расходы и заметки, которые вы выводите с одного потраченного перевода, извините, перевод действия эм, теперь мы вычисляем нуллификаторы по-другому эм, как я уже упоминал, мы хотели бросить Блейк 2 э-э, выполнив это вычисление по-другому, мы можем отбросить Блейк нам, но мы все еще очень довольны тем, как эти нуллификаторы получены гм, и я думаю, что Дара более подробно расскажет об этом один важный момент, о котором мы поговорим позже, унифицированные адреса в одном из предыдущих разговоров говорилось об удобстве использования вокруг единых адресов в кошелек в SDK эм, если бы мы следовали традиционному пути введения еще одного экранированного тип адреса для фруктового сада у нас было бы четыре, поэтому вместо вводя четвертый вводим унифицированные адреса это должен быть способ иметь один адрес для всех ваши возможные пулы зака, а что отличает полный просмотр ключ и ваш автор ваш ключ авторизации расходов достаточно, чтобы доказать, чтобы сделать ваше доказательство и потратить, чтобы совершить транзакцию с защитой наличных денег um ключа получения нулификатора больше нет и никакие обязательства не уникальны в действующей цепочке эээ, это помогает только поправка эм nsk не является ключом получения нулификатора, это ээээээээээээээээээээээээто конкретный ключ, который вам нужен чтобы сделать доказательство в дополнении о, хорошо, хорошо, неважно, нк это норфолк вот где я запутался, и никакие обязательства не действительны в уникальна в действующей цепочке, что очень помогает разработчику узла много э-э, вы можете вывести обязательства по узлу в ваше хранилище данных и это немного вам поможет хорошо, дара, ты можешь поговорить о схеме, да, так Дейрдра немного поговорила об удалении тяжелых хэш-функций гм Lake 2s обычно не считается тяжеловесом, если не считать второго но в схеме требуется 26 000 нечетных ограничений в ncs ограничения, я думаю, 21 000. да ммм и э-э, так как Миа хэш требует, только если это um 510 битов ввода, которые будут около 52 um строк схемы Планка, так что очевидно, что там большая разница и так патерсон хеши и саженец это было что-то вроде ограничений um 1380 r1cs, так что, как вы можете видеть blake 2s намного дороже, чем любой из этих поэтому мы используем настраиваемые ворота и поиски поиск в основном у вас может быть таблица и количество записей в таблице um ограничен только вторым размером, поэтому мы используем таблицу записей от 2 до 10 и мы используем это для поиска баз для использования в сенсомире общий размер цепи фруктового сада составляет мм, но он меньше, чем um 2048, что составляет от двух до 11 строк и 10 столбцов um, так что сравнение производительности между схемами plunk и схема r1cs на самом деле довольно сложна, на самом деле они не сопоставимые ммм, но это очень хорошо, да, и если вы, мм, бетон производительность, которой у нас нет доказательств, но у нас есть эм числа проверки цепи, и это гм, это всего лишь 20 миллисекунд, даже один с резьбой и даже без дозирование, да, так что если мы можем сравнить это с саженцы проводят контуры, что составляет 96 500 ограничений и да, так что вы можете видеть даже с несравнимым количеством ограничений это довольно мало, особенно когда мы добавить рекурсию, схема сада подойдет ниже порог рекурсии гало 2, так что рекурсивная система доказательства имеет минимальный размер схемы um что ему нужно для поддержки рекурсии и размера сада схема находится ниже, и даже если мы добавим CSAS, она все равно уместится в пределах от двух до одиннадцати рядов, ммм есть ступенчатое изменение в стоимости доказывания, когда вы превышаете мощность из двух это то же самое, что и гм 16. хорошо, да следующий слайд так что это своего рода визуализация схемы макета эээ есть какая-то аналогия между схемой plonk и гм, интегральная схема и оборудование говорят об этом, если вы посмотрите на расположение левой части этого эм сорт хаки зеленый эм тот, который показывает столбцы с советами, так что те, которые больше всего способствуют эм к доказательной стоимости, и вы можете видеть, что это гм был очень плотно упакован, есть некоторая неэффективность внизу, эта розовая область - это э-э, где у нас есть некоторая неэффективность в макет, но это только потому, что нам нужно еще немного улучшить алгоритм верстки гм, общий размер этой коробки см. белую часть внизу ммм эта белая часть заканчивается от 2 до 11, так что у нас много места, ммм и эта часть справа - это гм фиксированные столбцы, так что они в основном определяют гм Итак, какие функции вы используете в каждой точке каждая строка в схеме, и это видят коробку в середине, который составляет три столбца шириной и примерно половину секунды э-э, это таблица поиска с тех пор, как амир хорошо дальше гм так давай поговорим о Цинциннати сейчас, так что для саженца мы представили гм красавчика хеши пьедестала Хопвуда, и они были эм вроде большое улучшение в использовании эм хорошо, правильно, мы использовали э-э sha256 для дерева Меркла, так что сам по себе, я думаю, улучшил производительность саженца примерно в 10 раз гм преимущество использования хешей на основе гм педерсена в том, что мы уже полагаемся на твердость задачи дискретного журнала, поэтому хэш патерсона имеет безопасность, которая может быть сведена к проблема с дискретным журналом, поэтому вы не полагаетесь ни на какие дополнительные предположение о стойкости хеша к коллизиям и так как эмир сохраняет это свойство, вы действительно можете докажите, что это так же безопасно, как патентные документы и хэш и мы также используем его для некоторых обязательств, которые нам нужны через секунду эм, так что причина, по которой это более эффективно, чем пастельный хеш в том, что мы можем обрабатывать 10 бит одновременно, используя поиск а не три бита, и десять бит происходят из этого размер той таблицы, которую вы видели, от двух до десяти записей эм, мы на самом деле можем сделать два хэша зеркала сенсора параллельно в каждой строке мм так, как будто мы обрабатываем 20 бит одновременно и доказательство безопасности, которое уменьшает um, так как emir до um эээ, петерсон, хеш, это в основном вы можете думать об этом как о таз на боку, и у меня есть объяснение этого более подробно эм, есть мой клуб изучения zk на эм halo, а также есть презентация zk soul, и мы можем добавить эти ссылки к раздору ну ладно о, еще одна вещь, что мы вернемся к слайду, так что более эффективно использовать неполные добавления кривых, так как мы используем кривая толчка коротким голосом ээээ больше всего простейшие уравнения сложения на кривой не обязательно работать по всем пунктам, но мы можем доказать что в этих исключительных случаях мы сможем найти дискретный логарифм и, следовательно, исключительные случаи должны иметь только с незначительной вероятностью хорошо следующий хорошо, какие свойства безопасности мы хотим от децентрализованной платежной системы мы хотим, чтобы остаток был сохранен при транзакциях, чтобы сохранить общую сумму денег, которую вы на самом деле всегда может отправить деньги на ключ, о котором никто не знает, так что вы можете уничтожить деньги, но суть в том, можете ли вы создать это из ничего, мне нужно провести аутентификацию, так что Я не могу, например, тратить деньги Шона не зная его закрытых ключей, тогда есть свойства конфиденциальности например, я могу получить информацию, например из эм примечания зашифрованные тексты, которые отправляются на блокчейне или могу ли я получить информацию из отметить обязательства или аннуляторы мы разделили это на несколько свойств, чтобы усилить и свойства, когда противник не знает определенной информации а затем есть сопротивление волшебному золоту, могу ли я заставить банкноты принимать и это может оказаться незаменимым, так что модель атаки вот эм, я посылаю дейдре эм две записки эм и она проверяет и что они действительны отмечает гм, но в итоге она может только приостановить один из них, чтобы я мог использовать это как часть какая-то атака социальной инженерии или мошенничество со сканированием возврата или что-то в этом роде хорошо дальше гм, давайте посмотрим, какие предположения безопасности нам нужны для каждого из эти свойства сравниваются от саженца до фруктового сада так что в основном все экземпляры работы job стать дворцом, потому что вы просто меняете кривую Для баланса нам нужно только продолжать скользить, мм для баланса, мы нужно только предполагать дискретную жесткость дискретных войти в систему для проверки подлинности Нам нужно, чтобы схема подписи Red dsa была непростительной и это снова зависит от дискретного журнала для конфиденциальности заметок нас интересуют два свойства: одно является внеполосным свойством, поэтому предположим, что я давал вам записку по какому-то предполагаемому безопасному каналу, я не отправка его в блокчейне в обычном режиме, какую информацию делает блокчейн утечка о что позволило бы нарушить конфиденциальность расходов, используя эту записку эм, и вы действительно можете доказать, что это эм идеально подходит для саженцев, поэтому не требуются криптографические допущения и почти идеально, это статистическая безопасность сада и статистическое расстояние от идеального очень-очень мало когда вы отправляете заметку в блокчейне, очевидно, что вы также зависите от безопасность шифрования заметки, так что это предположение hash dh и, как и 2b, это ключевая функция вывода так что тратьте на возможность ссылки, это в основном Предположим, я пришлю вам записку, и вы ее потратите, могу ли я даже отправителя и определить, когда вы потратите его из блокчейн, так что могу я связать нуллификатор, который вы публикуете гм с обязательством, которое было опубликовано в транзакции и в молодом дереве это зависело от blake 2s как prf как псевдослучайная функция поэтому для фруктового сада мы заменяем flake2s на Poseidon, который представляет собой схему эффективная хеш-функция, но мы не хотим полностью полагаться на безопасность Посейдона как PRF потому что это довольно новая хеш-функция, поэтому мы используем эту конструкцию, которая безопасный, если любой посейдон является безопасным PRF или допуская это решительное предположение о дворце и есть предостережение, в которое мне не нужно вдаваться нам также нужно сделать очень слабое предположение о Посейдоне даже в этом случае эм так причина здесь эм причина сделать это таким образом и Представление Посейдона - это даже если вы могли бы сломать дискретный журнал эм, вы можете отправлять заметки вне группы, или если злоумышленник не знает адрес назначения, тогда у вас все равно будет некоторая безопасность, и это похоже на то, что называлось эм, я думаю, они назвали это вечной безопасностью в ну нулевая кеш-бумага изначально ммм, а затем снова очень сопротивление золота это зависит только от дискретного журнала, хорошо, дальше так что давайте на самом деле неформально приведем аргумент безопасности для баланса Сохранение Я подробно расскажу здесь о деталях, так что я надеюсь, что люди следуют по такому принципу для сбалансированного сохранения вам нужен только один нуллификатор для данное обязательство по примечанию, и потому что если бы у вас было больше, чем один нуллификатор, тогда двойная трата не будет обнаружена гм, так что у нас есть это обязательство примечания, которое связывает эти поля заметок и что это означает что у нас есть обязательство, мы знаем, что есть только один возможный um кортеж этих полей um, который будет Имейте это обязательство, так что это точно так же, как в молодом дереве так что в молодом деревце это также зависит от положение заметки и дерево обязательств а для сада мы увидим, что это не зависит от этого а затем мы отслеживаем, что мы проверяем согласованность адреса, являющегося этим gd и pkd, с входящим ключом просмотра гм, а свойство, которое нам здесь нужно, это только один входящий просмотр ключа для данного адреса, поэтому мы начали с примечания обязательство, и теперь мы знаем, что есть только один ivk, который может соответствовать этой заметке обязательство, а затем ivk выводится из полный просмотр ключа ак и нк и это коллизия устойчивый хеш, поэтому мы знаем, что есть только один акк и nk для этого обязательства um, а затем мы выводим нуллификатор детерминированно используя это nk как только одно из этих возможно и снова грести только один из этих возможных и поэтому мы знаем, что есть только один нуллификатор для данной ноты, и это для саженца так следующий слайд так что здесь есть всего несколько незначительных изменений и, во-первых, мы не зависим от положение во втором изменении дерева обязательств примечания заключается в том, что у нас есть это дополнительное ослепляющий фактор снова psi строка уникальна для примечания um, поэтому следующая часть аргумента - это то же самое у нас есть только один ivk для данного um для данного адреса и, следовательно, для данного обязательства эм, здесь вместо хэша, устойчивого к коллизиям, мы используем схему обязательств но это также обязывает, так что это нормально и причина изменения этого заключается в том, что теперь нам не нужно использовать flight для s здесь мы можем использовать sensomia um для построения схемы обязательств а затем здесь, чтобы получить нульфикатор, мы добавляем это, мы все еще используем прф и так, если прф безопасен, то что обеспечивает нашу несвязанность, мы добавляем это ослепляющий фактор, а это означает, что мы не должны зависеть от prf для конфиденциальности, тогда мы в основном добавляя ум, мы умножаем это на базовую точку и g добавляем обязательство, чтобы это то, что делает свойство безопасности, что мы в зависимости от того, что все это детерминировано и зависит только от то, что мы доказали, есть только одно обязательство, так что мы знаем, что есть только один и только один нуллификатор, который может случается здесь я немного теряю голос здесь но это нормально следующий слайд хорошо круто, мы сделали сохранение баланса следующий гм, а теперь давайте займемся конфиденциальностью, да ладно, так что места, где мы можем информация об утечке - заметка, зашифрованный текст, никаких обязательств. и обнулители, помните, зашифрованный текст, как мы сказали ранее, выполняются точно так же кстати как в sapling гм и заряд r20 это уважаемый гм потоковый шифр поли1305 это эм а код аутентификации сообщения, и все они очень широко используются, они используются в tls, так что это нормально для заметки обязательства, и они совершенно ослеплены ммм так что они теоретически информации они не раскрыть любую информацию о вводе и для этого нулификатора um помните, мы добавляем этот случайный слепящий фактор, выбранный отправителем и это в основном делает это случайным, даже если в Посейдон, так что вы можете проанализировать это для двух случаев, когда вы можно предположить, что посейдон сломан, и в этом случае это скаляр по-прежнему случайный, и поэтому умноженный на g - это случайная группа элемент, и поэтому nf - это случайная x-координата дворец, а затем, если вы предполагаете, что [Музыка] дискретный журнал сломан Тогда прф все еще спасает тебя в основном ммм так что да, в любом случае нулевой файл выглядит случайным эм, так что последнее, что нам нужно сделать, мы почти закончили это пушистая золотая атака, так что спасибо Зуко за за то, что придумал имя фея золото, вот где эм паромы дают вам немного денег и эм он превращается в уезжает по утрам эм так что эта атака может произойти, если две, а не две ноты имеют одинаковый нульфикатор и Причина, по которой этого не происходит, заключается в том, что мы добавляем это примечание обязательство здесь основание g не зависит от оснований, используемых в обязательстве примечания гм и из-за свойств страницы в хэше гм, он устойчив к столкновениям, и это доказывает, что эм, у вас не может быть двух нульфикаторов, о, невозможно найти два нульфикатора эм для того же узла, ладно, вот и все спасибо, и я передам запись на пленку, а теперь круто, что у нас есть новая схема новое доказательство новые кривые новые обязательства новые нуллификаторы у нас есть целая куча новых вещей, это приводит к новому ключу фруктового сада э-э, дерево происхождения э-э, вроде как в молодом дереве вы начинаете с корневого ключа для расходов, вы управляете ключом авторизации расходов вы определяете все части вашего полного ключ просмотра из вашего полного ключа просмотра вы можете Получите свой входящий ключ просмотра ваш исходящий ключ просмотра ваш диверсификатор ключ и с ключа диверсификатора вы можете получить свой диверсифицированный ключ передачи и диверсификатор который вы генерируете плюс ваш ключ передачи это ваш адрес, так что если бы мы только что сделали это, как мы сделали для него, для каждый предыдущий экранированный пул у нас будет новый ммм гадюка, чтобы жонглировать, и это могло бы довести нас до четыре считайте их четыре адреса, которые технически жизнеспособны на блокчейне zcash, включая прозрачный росток, который на пути к выходу, но саженец и фруктовый сад определенно не на пути к выходу, так что это становилось все труднее от пользователя перспектива быть похожей хорошо вы знаете какой например, иметь цепочку ключей с вашими zek-адресами, о том, какой из них вы хотите раздать э-э, чтобы раздать людям, и в нашем сознании мы как бы думаем о ну, ты знаешь, в идеале ты был бы такой, если бы ты поддерживал фруктовый сад отправьте деньги на мой адрес фруктового сада, но если вы не поддерживаете фруктовый сад может быть отправлен в саженец, и если вы не поддерживаете ни одного из них, отправьте его мне прозрачный, нравится, а мы нет, и, как я думаю, навес, ты не можешь отправить деньги на защищенный адрес ростков, вы можете брать деньги только с защищенного адреса ростков, чтобы дизайн-спринт в ecc, эээ, имел дело с этой идеей, появившейся из фруктовый сад и привела к этой идее, названной единым обращается к гм, и идея в том, что вы в основном возьмите такой вид, вы знаете, приоритетное расположение всех возможные адреса, которые есть у вас, как у пользователя для вашего кошелька zcash или тех, которые у вас есть для вашего в любом случае для себя и просто раздавить их вместе а затем представьте их, вы можете просто дать один вещь кому-нибудь и скажите, отправьте деньги сюда, и если у них есть совместимый совместимая версия кошелька zcash, которая реализовать этот zip zip 316 мм, они смогут разобрать этот новый единый адрес и выясним, если вы поддерживаете фруктовый сад, мы отправим в сад, если вы не поддерживаете сад, мы отправим саженец, если вы не поддерживаете саженец, мы отправим его на прозрачный или вы могли бы просто иметь единый адрес, который просто фруктовый сад или просто прозрачный саженец, но не поддерживает просто прозрачный у вас должен быть хотя бы один экранированный адрес как часть вашего единого адреса гм потому что мы считаем, что конфиденциальность важна, и хотим поощрять ее так что одна из вещей, с которыми вы сталкиваетесь, когда наивный подход к построению чего-то подобного состоит в том, чтобы буквально как взять гадюку и саженец гадюка и садовая гадюка и буквально соедини их вместе гм и будьте уверены, просто разделите их там, где вы ожидаете быть продольными, а затем разбирать их правильно ну, это не совсем работает, потому что у вас могут быть атаки податливости вы можете эээээ это не работает, есть определенные атаки, когда если вы когда-нибудь сканировали свою длинную адресную строку и хотел дважды проверить, что это правильный как будто вы можете просканировать начало и просканировать конец, но разве вы действительно проверяю каждый символ в этом целом я не знаю 32 байта адресная строка мм, может быть, нет чтобы избежать возможных атак, которые могли бы задействовать этот человеческий эта очень человечная штука вместо того, чтобы просто объединить все эти адресов вместе мы придумали сеть feistel a сеть Фейстеля с четырьмя раундами под названием f4 jumble который буквально принимает все адреса и смешивает их как часть кодирования в единый адрес так что всегда будет выходить как закодированный адрес безопасным способом, а затем эта результирующая строка байтов закодировано с помощью BEC 32 м аналогично молодому дереву он использовал, он был изначально закодирован с помощью BEC 32, а затем поддерживался обратно 32 м да так, чтобы у нас было время для вопросов э-э, еще одно исправление, э-э, саженец, адреса все еще вернулись 32 и э-э, и все еще будет что после um uh nu5 о, я был сбит с толку, потому что мы наши все библиотеки обновлены с поддержкой 32 м, а затем мы должны были быть такими, как нет, мы еще не используем это эм, спасибо, круто, так что все это - часть списка почтовых индексов, которые планируется активировать с помощью обновление сети пять обновление сети пять, а это не все, что запланировано для обновления сети пять есть некоторые другие предметы, связанные с садом, например, убедитесь, что неизменяемые идентификаторы транзакций намечены для um для nu5 и после недействительных идентификаторов транзакций мы должны поддерживать сетевые сообщения и конечные типы для конечных сообщений и получать данные сообщения в поддержку новых неподатливых идентификатор транзакции с правильным тегом аутентификации гм, а затем другие вещи, такие как каноническая точка кодирования для всех прыжок точки прыжка в деревце, я думаю, это может быть все в Nu5 в настоящее время стучит по дереву все это это все да да все это в настоящее время планируется активировать в тестовой сети в июле этого года, а затем планируется запустить сеть активировать в октябре этого года у нас идет аудит спецификации и все молнии, которые входят в Nu5 и аудит внедрения, который, я думаю, вот-вот начнется гм, когда мы направляемся к тестовой сети для zcashg ммм, зебра д планирует все это поддержка для полной проверки для тестовой сети есть около и для mainnet у нас еще нет кошелька, поэтому у нас есть немного меньше работы, чем dksg для поддержки, но да Мы, сады, приближаемся, гало 2, и мы стучим по дереву мы скоро туда доберемся [Музыка] спасибо всем, думаю, у нас есть вопросы в чате, один из более ранних вопросов не могли бы вы описать хэш с тех пор как миа ээ и дара, может ты мог бы поговорить немного подробнее эм да, так что я сделал презентацию, которая была отчасти из-за того, что я в группе ZK соул, так что я могу, может быть, найди эти слайды и поделись ими, да, я могу сделай снимок экрана, да, мне нужно начать Я думаю, что да, это останавливается хорошо, ты все еще слышишь меня да да э Я думаю, что мой зум, возможно, заморожен, о нет, он работает так что я могу сделать это хорошо, я думаю, это будет да, как ты это видишь да да ладно так позволь мне найти где описание сенсомира это о теперь это после этого момента здесь много деталей, ладно, верно эм, так что основная идея здесь - это алгоритм так что вы берете свое сообщение и у вас есть эм два у вас есть таблица от двух до k независимых um group elements um и у вас есть один дополнительный элемент группы гм, скажем, что k равно 10, что для схема сада, поэтому мы разделяем сообщение на группы по 10 бит, поэтому каждая из них представляет собой 10-битную цифру и мы используем это для индексации этого массива генераторов, чтобы что это делает pmi, а затем у нас есть двойная и добавляемая алгоритм, поэтому мы начинаем с этой фиксированной базовой точки а затем для каждой группы сообщений мы удваиваем аккумулятор и добавьте результат поиска и на практике это будет неполное издание а потом мы просто возвращаем результат так почему это безопасно, ох, а оказалось, что это безопасно для возьмем координату x полученной точки um поэтому мы используем это для повышения эффективности хорошо, почему это безопасно, ммм Давайте посмотрим на то, на что мы умножаем каждое лицо эм так это слова сообщения um 2 шесть четыре два пять один гм, так что в первом раунде мы умножаем на извините, мы добавляем um p2 тогда во втором раунде мы добавляем p6 и в третьем раунде мы добавляем p4 и так далее и каждый раз, когда мы умножаем, мы удваиваем аккумулятор, так что мы закончим с этим, если мы посмотрим на эти столбцы тогда мы умножаем um с нулевым основанием um на ноль ноль ноль ноль ноль один пробел на ноль два пробела на um один ноль ноль один ноль ноль и так далее um и поэтому у нас в основном есть отображение один-к-одному из сообщения в эту матрицу um, а затем мы просто рассматриваем это как Патерсон хеш, и есть взаимно однозначное сопоставление с ввод страниц и хэша, и это дает нам нашу коллизию свойство сопротивления круто, и это немного подробнее о том, как мы его оптимизируем и как мы выполняем поиск, но мы не нужно вдаваться в подробности, я просто оставлю ссылку за это в раздор, как мне прекратить совместное использование экрана вот и мы Круто, круто, возник еще один вопрос. Что было для тебя самым сложным? при создании ореола 2 мкм в отношении его проектирования или реализация его, поэтому, безусловно, реализация его, вероятно, намного сложнее, чем проектировать, я имею в виду, что мы уже сделали весь дизайн и умная работа, когда мы придумали ореол и э-э просто выхватить некоторые идеи из Plonk и поместить их в ореол - это действительно просто, я бы сказал, может быть, с точки зрения дизайна убедившись, что у нас есть веские аргументы в пользу нулевое знание было, вероятно, самой сложной частью дизайна но определенно работа по реализации, которую в некотором смысле трудно пустыня отличать от дизайна это было самым сложным, особенно ну просто правда все оптимизации, которые были особенно полезны для фруктовых садов не только ореол 2, но и фруктовый сад потребовали, чтобы мы построили действительно гибкие инструменты и придумать действительно гм хитрые уловки, так что это, наверное, самая сложная вещь с моей точки зрения в любом случае я бы сказал, что дизайн нуллификатора получение всех этих свойств безопасности также было довольно сложным. одновременно с этим я упомянул в своем выступлении против всех возможных злоумышленников, которые знают разные подмножества все довольно сложно, да, но я счастлив как это обернулось Думаю, у нас есть время еще на одну эм, что ты заменил Blake 2s на внутри цепи, так как кажется, так как я только стойкий к столкновениям эм, я могу ответить, что извини, мне пришлось выключить звук, чтобы кашлять так ээ частично эээ схема обязательств, так что мы заметили что я думаю на самом деле в моих ученых что нам не нужна защита от столкновений хэш для получения um ivk в схеме um, поэтому даже в молодом деревце мы могли бы заменить это схемой обязательств и схемы обязательств могут быть построены из [Музыка] хэши, устойчивые к коллизиям, так как для у меня он отлично работает там, в другом месте, где мы его используем э-э, где мы используем э-э Блейк 2 в саженце, находится в нулификаторе прф мм, и это то, что мы заменили на конструкцию, которую я показал ранее который использует как Посейдон, так и фиксированная шкала и умножение, так что их комбинация является prff И я думаю, что последнее наше женское предупреждение Какие компоненты вы ожидаете увидеть? в ближайшие два года останутся ли нерешенными какие-то камни? Я не думаю, что они есть, я имею в виду, очевидно, мы будем много думать в ближайшее время мы уже думаем об э-э как zsas и тому подобное, так что мы были включены идеи, что zsas когда-нибудь станет вещью в наше развитие и дизайн фруктового сада, чтобы убедиться, что мы оставим место для такого рода вещей, так что это было в наших мыслях, но в условия подобных оптимизаций или что-то в этом роде ммм, просто, наверное, получаю прототипы, которые работают с рекурсией действительно эффективно, что может потребовать небольшого изменения протокола немного, но не значительно, наверное, будет следующим шагом но да, это почти все гм, так что одна вещь, которую мы потенциально могли бы сделать заменить инсамир на посейдон, если мы когда-нибудь станем достаточно уверен в эм Посейдон, чтобы сделать это и мы можем использовать Poseidon в любом случае um в конструкции рекурсии для um fiat chameleon ммм да, но мы не хотели его использовать, мы не хотел полагаться на него для дерева Меркла или для конфиденциальности и фруктовый сад, потому что он слишком новый здорово, я думаю, мы вовремя, спасибо всем за классные вопросы спасибо, Шон Андера, мои со-ведущие, мы увидимся в разногласиях круто, увидимся, спасибо всем, пока, спасибо