Іноді виникає потреба в підтвердженні прав на володіння біткоїнами сторонній особі.
Наприклад в домовленостях про обмін валютами, людям необхідна впевненість у вашій платоспроможності.
Ще один корисний приклад. Якщо ви домовились про виконання певної роботи. Щоб уникнути спекуляцій про оплату виконаної роботи, можна укласти невеличкий договір між сторонами і підписати його приватним ключем від біткоїн-адреси Замовника з якої буде зроблено передплату, або оплату виконаної роботи, на заздалегідь зазначену біткоїн-адресу Виконавця. Таким чином, будуть виключені будь-які спекуляції що до оплати або її відсутності.
Концепція підтвердження заснована на цифровому підписі приватним ключем, унікального текстового повідомлення отриманого від людини, якій необхідно знати, чи маєте ви права на володіння біткоїнами, які знаходяться на певній біткоїн-адресі.
Порядок дій:
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 хв.) проміжок часу протягом якого Виконавець повинен надіслати йому підписаний текст Замовника.