Payjoin дає змогу підготувати платіж Bitcoin разом з одержувачем. Обидві сторони додають власні кошти до однієї транзакції, але кожна зберігає свої приватні ключі й сама дозволяє витратити свої гроші. Через це спостерігачеві публічного ланцюга важче визначити, кому спочатку належали використані монети. Окрема валюта при цьому не виникає, а анонімність не гарантується.
Аліса платить Бобові. Гаманець — це застосунок або пристрій для отримання й надсилання біткоїнів. Її гаманець працює не з єдиним банківським залишком: він вибирає ще не витрачені виходи попередніх транзакцій, які називають UTXO. Кожен вихід має суму та умови, за яких її можна витратити. Входи нової транзакції посилаються на ці UTXO, а нові виходи призначають кошти Бобові та повертають Алісі решту, якщо вона є. За звичайного платежу кошти надає лише Аліса. У Payjoin долучається й Боб, додаючи власний невитрачений вихід. Він отримує погоджений платіж і водночас переміщує частину грошей, які вже мав. Обидва гаманці мають перевірити результат. Потім кожна сторона цифровим підписом дозволяє витратити свої входи; приватними ключами вони не обмінюються. Приватний ключ — секретне числове значення, за допомогою якого створюють такий підпис. [1] [3] [8] [6]
Аналітик часто припускає, що входи, витрачені разом, належать одному гаманцю. Цей підхід називається common-input-ownership heuristic. Це не правило Bitcoin і не доказ особи, а припущення на основі типової поведінки. Payjoin створює дійсні транзакції, у яких воно не справджується. Спостерігач уже не може автоматично приписати всі входи Алісі. Проте йому можуть допомогти інші відомості. [1] [3]
Суми наведемо в sats — найменших одиницях біткоїна. На мить відкладемо комісію. Аліса має вхід 100 000 sats і платить Бобові 20 000 sats; 80 000 sats повертаються їй рештою. Боб додає свій вхід 50 000 sats, і його вихід зростає до 70 000 sats. Суми входів і виходів досі становлять по 150 000 sats. Боб не отримує додаткового подарунка: 50 000 sats уже належали йому, а прибавка — лише погоджені 20 000 sats. Реальна транзакція, звісно, має сплатити й комісію. [1] [6]
Щоб взаємодіяти, гаманцям потрібні спільні правила та формат повідомлень. BIP78, технічний документ Nicolas Dorier, якому призначили номер 2019 року, використовує PSBT — Partially Signed Bitcoin Transaction. Це пакет даних із транзакцією та відомостями для її перевірки й підписання, а не вже надісланий у мережу платіж. Платіжний запит містить параметр pj — адресу служби, до якої має звернутися гаманець. Спершу відправник надсилає початковий платіж як повністю підписану й завершену PSBT. Її вже можна поширити в мережі, попри слово «partially» у назві формату. Одержувач повертає змінену пропозицію зі своїми доданими входами та їхніми підписами. Відправник перевіряє її, знову підписує власні входи й надсилає готову транзакцію в мережу Bitcoin. З’єднання має бути зашифроване, а віддалену службу потрібно автентифікувати. PSBT — не резервна копія гаманця: ні seed, з якого виводять ключі, ні приватні ключі, ні зайві дані про їхнє виведення не передаються. [1] [5]
Гаманець відправника має перевірити, що його входи й захищені виходи збережені, решту не зменшено довільно, а внесок у комісію не перевищує дозволеної межі. Він підписує лише власні початкові входи. Протокол допускає певні зміни виходів одержувача за точних умов, а не довільне перенаправлення всього платежу. На пристрої підписання потрібно розуміти показані суми, а не просто підтверджувати наступний екран. [1] [5]
Додатковий вхід займає місце, тому абсолютна комісія за платіж може зрости. Хто її сплачує і в яких межах, визначають гаманці під час узгодження. Водночас одержувач може об’єднати власні UTXO або додати платіж, який інакше робив би окремо. Загальна економія залежить від порівняння однакових операцій, а не від обіцянки, що кожен Payjoin дешевший. Та сама комісія в satoshi для більшої транзакції означає нижчу ставку. [1] [2]
BIP78 потребує доступної через інтернет служби одержувача та одночасного зв’язку сторін. Для телефона, який щойно втратив з’єднання, це незручно. Тому BIP77, або Payjoin v2, використовує сервер як тимчасову поштову скриньку. Один гаманець залишає повідомлення, а інший забирає його пізніше, поки не минув погоджений строк сеансу. Це асинхронний зв’язок. Саму пропозицію платежу захищає наскрізне шифрування: її читають гаманці учасників, а не оператор скриньки. Додатковий захист забезпечує OHTTP, Oblivious HTTP. Запити проходять через окремого посередника, тому сервер скриньок зазвичай не бачить мережевої IP-адреси гаманця. IP-адреса — мережева адреса, яку пристрій використовує для зв’язку через інтернет. Приховування цього зв’язку передбачає, що посередник і сервер не обмінюються своїми записами. Жоден із них не отримує приватних ключів до біткоїнів. Однак сервер може затримати або відкинути повідомлення: саме шифрування не гарантує доставлення. [2] [4] [7]
Payjoin не робить платіж автоматично анонімним. Суми, входи, виходи та час підтвердження залишаються видимими в ланцюгу. Інша сторона також знає перебіг узгодження; продавець може мати замовлення з вашим ім’ям. Публічна транзакція не має обов’язкової позначки Payjoin, але повторні адреси або особливості гаманця можуть дати інші підказки. Автоматичний одержувач також має захищатися від спроб дізнатися його UTXO через запити, які ніколи не завершують. [1] [2]
Початкова підписана транзакція може стати звичайним резервним платежем. У правильному протоколі вона й пропозиція Payjoin витрачають ті самі початкові входи, тому підтвердитися може щонайбільше одна з них. Це не привід після помилки без перевірки створювати ще один незалежний платіж. Уже переданий підпис може дозволити одержувачу опублікувати початкову транзакцію. Гаманець має чітко показати, чи відбувся Payjoin, звичайний резервний платіж, чи ще нічого, та звірити це зі станом ланцюга. [1] [2]
Надсилання та приймання Payjoin — різні можливості; конкретні гаманці та їхні версії мають бути сумісні. Оброблення запиту без доданого входу одержувача ще не дає описаної переваги щодо визначення власників. Під час перевірки 17 жовтня 2026 року BIP78 має статус Deployed, а BIP77 авторства Dan Gould і Yuval Kogman — Draft. Payjoin узгоджується між застосунками через звичайні транзакції Bitcoin: він не чекає на Soft Fork і не змінює правил емісії. [1] [2] [3]
Для повної картини прочитайте також CoinJoin, Приватність у Bitcoin, PSBT, Псевдонімність, UTXO, Satoshi. На цю статтю також посилаються Change Address, Приватність у Bitcoin, Псевдонімність, Chain Surveillance.