Цифровая подпись в биткойн кошельках

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

Еще один пример, если вы договорились о выполнении некоторой работы, чтоб избежать спекуляций по оплате выполненной работы, можно заключить небольшой договор между сторонами и подписать его приватным ключем от быткойн-адреса Заказчика с которого будет производится оплата за выполненную работу, на заранее оговоренный биткойн-адрес Исполнителя. Таким образом исключаются спекуляции по поводу оплаты или ее отсутствия.

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

Порядок действий для подтверждения прав собственности на биткойн-адрес с некоторой суммой биткойнов:

1). Заказчик просит Владельца прислать биткойн-адрес на котором имеется необходимая сумма биткойнов;

2). Заказчик отправляет Владельцу уникальный текст (одной строкой из букв, цифр и знаков препинания), и просит создать цифровую подпись данного текста приватным ключем от биткойн-адреса на котором находится необходимая сумма биткойнов.

3). Владелец подписывает уникальное текстовое сообщение Заказчика и отправляет ему результат:
— биткойн-адрес на балансе которого находится необходимая сумма биткойнов;
— точно скопированное текстовое сообщение Заказчика;
— цифровую подпись.

4). Заказчик проверяет валидность цифровой подписи Владельца биткойн-адреса.

Практическая реализация.

Для практической реализации цифровой подписи используются соответствующие функции в биткойн-кошельке. Аппаратные кошельки Trezor, Ledger, десктопные BitcoinCore, Electrum, мобильные Coinomi, Mycelium имеют функцию цифровой подписи текстовой строки. Рассмотрим на примере Mycelium.

1). Скопируйте строку с текстовым сообщением от Заказчика в буфер памяти. Например: The government is a parasite on the body of peoples. 01.06.2018. Откройте биткойн кошелек. Перейдите на вкладку Счета, выберите необходимый биткойн-адрес или HD-счет в котором также выберите биткойн-адрес с необходимой суммой биткойнов на балансе (тот биткойн-адрес который вы передали Заказчику для проверки наличия на нем необходимой суммы).

2). Нажмите Меню (три вертикальные точки сверху справа) и выберите пункт Подписать сообщение. Вставьте из памяти скопированный текст Заказчика в текстовое поле и нажмите Подписать сообщение.

3). Появится страница со строкой цифровой подписи. Скопируйте подпись либо текст + подпись нажав соответствующую кнопку. Заказчику необходимо отправить текст + подпись.

Результат:

——BEGIN BITCOIN SIGNED MESSAGE——

The government is a parasite on the body of peoples. 01.06.2018

——BEGIN BITCOIN SIGNATURE——

Version: Bitcoin-qt (1.0)

Address: 1Gz2CUwPwaENkWMEPvntUuP8BvfDhLEqNP

G/ZSOZUcN1YbdLUBPQ6z+ZJmV7wPEQORUdqPZPknD4K1ZcOSEzt38dNEtw/Orp6VTo1ozfsxKL20AZA2EmVSOpw=

——END BITCOIN SIGNATURE——

4). Заказчик в своем биткойн-кошельке Mycelium (в случае использования другого биткойн кошелька в соответствующие текстовые поля необходимо вставить соответствующий им текст без изменений из текстовых секторов SIGNED MESSAGE; BITCOIN ADDRESS; BITCOIN SIGNATURE):

  • Копирует полученный от Владельца текст + подпись в память.
  • Открывает страницу Verify Message (см. скрин 1) кошелька Mycelium.
  • Вставляет в текстовое поле скопированный текст и нажимает кнопку Вставить.
  • Проверяет результат верификации и количество биткойнов на биткойн-адресе.

Должно появиться сообщение об успешной верификации текста и цифровой подписи для данного биткойн-адреса. В случае если биткойн-адрес или текстовое сообщение не совпадает с оригиналом, результат верификации будет негативным.

Предупреждение!

1). Подтверждение прав собственности на биткойн-адрес описанным методом однозначно связывает вашу личность с биткойн-адресом! Государственная «подсадная утка» может намеренно спровоцировать вас на такие действия, а потом использовать данное подтверждение против вас. Чтоб избежать проблем, всегда переводите необходимую сумму биткойнов на новый биткойн-адрес непосредственно перед подтверждением.

2). Возможное мошенничество! Посредник может вести переговоры одновременно с Заказчиком и Владельцем и выдавать себя за Владельца биткойн-адреса и средств на нем. Чтоб избежать такого мошенничества, Заказчику рекомендуется установить небольшой временной интервал (1-2 мин.) во время которого Владелец должен прислать Заказчику необходимую информацию для проверки цифровой подписи.

Цифровая подпись в биткойн кошельках обновлено: 9 сентября, 2018 автором: SchBit