TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
PrimeBlock

1 Apr 2020, 17:20

Открыть в Telegram Поделиться Пожаловаться

Репост из: CryptoBotan
​​✅✅✅
SNICKER - Simple Non-Interactive Coinjoin with Keys for Encryption Reused

Для стека биткоина

Часть 1.
⬇️⬇️⬇️
SNICKER ("Простые неинтерактивные Coinjoins с ключами для повторного использования шифрования") - это метод, позволяющий создать двухпартийный CoinJoin (CJ) без какой-либо синхронизации или взаимодействия между участниками.

Автором SNICKER является один из разработчиков JoinMarket Adam Gibson. SNICKER представлен в качестве проекта предложения по улучшению биткойна (BIP).

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

Объясняя процесс SNICKER я использовал статью "SNICKER: How Alice And Bob Can Mix Bitcoin With No Interaction".

Повторное использование адресов:

Алиса имеет 1BTC, который она хочет миксануть и он представлен как UTXO в блокчейн. Он отправляет этот биткоин себе же, на свой же адрес, публично отмечая UTXO как потенциально доступный для микса.

Боб также имеет 1BTC и он не знает Алису, но знает, что где-то в сети есть такие пользователи, которые помечают свои UTXOs для микса. Боб сканирует блокчейн в поисках таких помеченных UTXOs, плюс ко всему находит повторно используемые адреса, которые недоступны для смешивания (о них чуть позже).

Так как Алиса, отправила биткоин на тот же адрес, ее PublicKey опубликован в блокчейне. Боб использует этот PublicKey Aлисы и объединяет его со своим PrivateKey для создания “shared secret”.

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

Этот секрет является общим, потому что только Алиса и Боб могут генерировать его: Боб со своим PrivateKey и PublicKey Алисы, а Алиса со своим PrivateKey и PublicKey Боба (соответствующим монетам, которые они хотят смешать).

Итак: Боб имеет UTXO Алисы (потому что он помечен) и ее PublicKey + общий секрет.

Боб берет "общий секрет" и использует его для математической "настройки" PublicKey Алисы. Такая настройка создает новый PublicKey, но без PrivateKey...пока без него.

Тут интересный момент....Этот PrivateKey для нового PublicKey может быть обнаружен Алисой, при условии, что она изменит свой первоначальный PrivateKey при помощи общего секрета и полученный измененный PrivateKey соответствовал бы измененному PublicKey.

То есть Боб может генерировать новый PublicKey, а значит и новый адрес для Алисы, без ее ведома и который только она может потратить.

Итак: Боб имеет: UTXO Алисы, ее PublicKey, общий секрет и новый адрес для Алисы.

Боб создает транзакцию с двумя входами (UTXO Алисы и UTXO для своего биткоина). Он добавляет новый адрес Алисы и свой собственный адрес в качестве выходов и подписывает транзакцию.

Для создания транзакции-CoinJoin не хватает только подписи Алисы.

Боб шифрует транзакцию при помощи PublicKey Алисы, и только Алиса может расшифровать транзакцию. Боб публикует транзакцию на доске объявлений для пользователей SNICKER. Шифрование необходимо, так как, без него, потенциальный наблюдатель может определить какой вход принадлежит Бобу, а какой Алисе.

Транзакция CJ зашифрована и хоть Алиса и знает где искать, она не знает что искать. Алиса пытается расшифровать все предложенные объявления при помощи своего PrivateKey,

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

Следующим постом разберу еще одну версию без повторного использования адреса.

#Privacy

1.3k 0 0
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot