Обновление Safe Network 🇷🇺 29 июля 2021 г

Это машинный перевод. Оригинал на английском здесь: Update 29nd July, 2021

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

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

Общий прогресс

@danda и Дэвид Русу возглавляют разработку ** конфиденциальных транзакций ** и адаптируют DBC для обеспечения применения одноразовых ключей. @danda более подробно рассказывает об этом в этом сообщении.

На стороне клиента @yogesh тщательно обрабатывает код, чтобы клиенты могли напрямую обращаться к разделам, в которых находятся фрагменты, что намного эффективнее, чем маршрутизация всего через один раздел.

Маршрутизация: @lionel.faber связался с командой quinn, которая предложила несколько предложений относительно того, что вызывает некоторые из проблем тайм-аута / сброса, с которыми могут столкнуться пользователи тестовой сети. Мы также переносим аспекты функциональности маршрутизации в qp2p, чтобы упростить работу.

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

Один из новичков MaidSafers, который занимается рефакторингом сообщений, - это @Chris.Connelly. Вот вступление от Криса:

Я инженер-программист из Эдинбурга, имеющий опыт разработки внутренних веб-сервисов и автоматизации облачной инфраструктуры, но теперь я хочу расширить свои горизонты в распределенных и децентрализованных системах. Я увлечен целостной инженерией (учитывая всю систему и избегая специальных ролей) и написанием надежного программного обеспечения с использованием Rust (а иногда и Elm на стороне), и я очень рад, что буду делать это здесь, в MaidSafe!

Обязательства Pedersen и доказательства диапазона

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

Итак, если у меня есть 30 токенов, я заплачу вам 20, а кому-то еще 10, эта транзакция может быть проверена третьей стороной (складываются ли входные и выходные значения, «истина» или «ложь»?), При этом они не знают задействованные значения.

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

Одним из слабых мест обязательств Педерсена при их использовании для проверки транзакций является то, что их можно обмануть отрицательными числами. Транзакция с входом 20 и выходом 30 и -10 будет действительной, но поскольку «отрицательные деньги» не могут существовать в качестве токена, фактически плательщик превратил 20 токенов в 30 токенов. Магия! (Но не для экономии.)

Доказательства диапазона делают криптографически невозможным выходное значение за пределы определенного диапазона, скажем, 0 - 2 ^ 32. Мы обеспечиваем это, говоря, что транзакция действительна только в том случае, если каждый вывод также содержит доказательство диапазона.

Итак, если у меня есть DBC на 30 токенов, и я хочу заплатить Алисе 20 и Бобу 10, процесс будет таким:

Я отправляю свой DBC на монетный двор вместе с обязательством Педерсена с (зашифрованным) вводом как «30» и (зашифрованными) выводами как «20 + доказательство диапазона» и «10 + доказательство диапазона». Монетный двор проверяет, что входные и выходные значения суммируются, и что каждый выход имеет действительное доказательство диапазона, подписывает транзакцию и повторно выдает DBC для (скрытых) открытых ключей Алисы и Боба.


Полезные ссылки

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

Как проект с открытым исходным кодом, мы всегда ждем отзывов, комментариев и предложений сообщества - так что не стесняйтесь, присоединяйтесь и давайте вместе создадим безопасную сеть!