Предисловие:
Отныне, по замечанию товарища Desoxyn, я не буду использовать мою любимую форумную разметку (а так хотелось...)
Работал, значит, над одним интересным проектом (BTC-миксер) и вплотную познакомился с одной, мягко говоря, не самой часто встречающейся технологией, а именно - подпись сообщения, используя Bitcoin-адрес
Для обывателей:
Изначально в Bitcoin используется:
Приватный ключ (WIF-формат)
Публичный ключ => Bitcoin адрес
Этого будет достаточно для реализации.
ОБщая задумка выглядит следующим образом:
Опираться будем на TOX, клиент на C
Криптография происходит локально, автономно. Для криптографии используется собственные решения (работа с ECDSA, хеширование и т.д.)
Пользователю предлагается выбор типа регистрируемого кошелька по формату:
1) Legacy (старый формат, начинается с 1)
2) Segwit (новый формат, начинается с bc1 / 3)
+ поддержка vanity-адресов для персонализации
(ну или же по типу ключа - P2PKH, P2WPKH, P2SH). Тут тоже размышлений накиньте на этот счёт.
Хотя вероятнее всего смысла использовать Legacy нет, тут тоже своё мнение выскажите пожалуйста. Т.к даже в самом Bitcoin Core говорится, что поддержка легаси адресов "прекратится"
После регистрации, человеку присваивается пара ключей => приватный ключ и биткоин-адрес (который по факту будет являться логином в дальнейшем)
Вход осуществляется по приватному ключу (с возможностью усилить безопасность при помощи своего собственного пароля, хотя опять же, может это и не имеет смысла).
Обмен всеми данными - пиринговый (аналогично токсу), DHT.
Трафик по стандарту будет прокидываться через SOCKS5 / TOR (тут на усмотрение юзера)
Каждое текстовое сообщение будет подписываться при помощи приватного ключа, на выходе у каждого сообщения будет подись, подтверждающая отправленное сообщение
Расписал максимально кратко. Без особых технических подробностей. Хотелось бы услышать ваше мнение. Принимается любая критика данной идеи (даже если она вам покажется изобретением велосипеда).
Отныне, по замечанию товарища Desoxyn, я не буду использовать мою любимую форумную разметку (а так хотелось...)
Работал, значит, над одним интересным проектом (BTC-миксер) и вплотную познакомился с одной, мягко говоря, не самой часто встречающейся технологией, а именно - подпись сообщения, используя Bitcoin-адрес
Для обывателей:
Изначально в Bitcoin используется:
Приватный ключ (WIF-формат)
Публичный ключ => Bitcoin адрес
Этого будет достаточно для реализации.
ОБщая задумка выглядит следующим образом:
Опираться будем на TOX, клиент на C
Криптография происходит локально, автономно. Для криптографии используется собственные решения (работа с ECDSA, хеширование и т.д.)
Пользователю предлагается выбор типа регистрируемого кошелька по формату:
1) Legacy (старый формат, начинается с 1)
2) Segwit (новый формат, начинается с bc1 / 3)
+ поддержка vanity-адресов для персонализации
(ну или же по типу ключа - P2PKH, P2WPKH, P2SH). Тут тоже размышлений накиньте на этот счёт.
Хотя вероятнее всего смысла использовать Legacy нет, тут тоже своё мнение выскажите пожалуйста. Т.к даже в самом Bitcoin Core говорится, что поддержка легаси адресов "прекратится"
После регистрации, человеку присваивается пара ключей => приватный ключ и биткоин-адрес (который по факту будет являться логином в дальнейшем)
Вход осуществляется по приватному ключу (с возможностью усилить безопасность при помощи своего собственного пароля, хотя опять же, может это и не имеет смысла).
Обмен всеми данными - пиринговый (аналогично токсу), DHT.
Трафик по стандарту будет прокидываться через SOCKS5 / TOR (тут на усмотрение юзера)
Каждое текстовое сообщение будет подписываться при помощи приватного ключа, на выходе у каждого сообщения будет подись, подтверждающая отправленное сообщение
Расписал максимально кратко. Без особых технических подробностей. Хотелось бы услышать ваше мнение. Принимается любая критика данной идеи (даже если она вам покажется изобретением велосипеда).
Status Perfect Forward Secrecy Whitepaper.pdf