Payjoin memungkinkan pembayaran Bitcoin disiapkan bersama penerimanya. Kedua pihak memasukkan dana sendiri ke satu transaksi, tetapi masing-masing tetap memegang kunci privat dan menyetujui pengeluaran uangnya sendiri. Pengamat rantai publik pun lebih sulit menebak siapa pemilik awal koin yang dipakai. Cara ini tidak menciptakan mata uang lain dan tidak menjamin anonimitas.
Alice membayar Bob. Dompet adalah aplikasi atau perangkat untuk menerima dan mengirim bitcoin. Dompetnya tidak menggunakan satu saldo seperti rekening bank, melainkan memilih output transaksi terdahulu yang belum dibelanjakan, disebut UTXO. Setiap output memiliki nilai dan syarat untuk membelanjakannya. Input transaksi baru merujuk ke UTXO yang akan dipakai, sedangkan output baru mengalokasikan uang untuk Bob dan, jika ada, kembalian untuk Alice. Dalam pembayaran biasa, hanya Alice yang menyediakan dana. Dengan Payjoin, Bob ikut menambahkan UTXO miliknya. Ia tetap menerima pembayaran yang disepakati sambil memindahkan sebagian uang yang sebelumnya sudah ia miliki. Kedua dompet wajib memeriksa hasilnya. Setelah itu, masing-masing pihak memakai tanda tangan digital untuk menyetujui pengeluaran inputnya sendiri; kunci privat tidak saling dikirim. Kunci privat adalah nilai angka rahasia yang digunakan untuk membuat tanda tangan tersebut. [1] [3] [8] [6]
Analis sering menduga input yang dibelanjakan bersama berasal dari satu dompet. Cara menduga ini disebut common-input-ownership heuristic. Ini bukan aturan Bitcoin atau bukti identitas, melainkan kesimpulan dari perilaku yang lazim. Payjoin membuat transaksi sah yang tidak sesuai dengan dugaan itu. Pengamat tidak bisa otomatis menganggap semua input milik Alice. Namun, informasi lain masih dapat membantu analisisnya. [1] [3]
Nilai akan ditulis dalam sats, satuan bitcoin yang paling kecil. Agar jelas, abaikan biaya sebentar. Alice memiliki input 100.000 sats dan membayar Bob 20.000 sats; 80.000 sats kembali kepadanya. Bob menambahkan input sendiri sebesar 50.000 sats, sehingga outputnya menjadi 70.000 sats. Total input dan output tetap masing-masing 150.000 sats. Bob tidak mendapat hadiah tambahan: 50.000 sats sudah miliknya dan tambahan bersihnya hanya 20.000 sats yang disepakati. Transaksi nyata tentu tetap harus membayar biaya. [1] [6]
Agar dapat bekerja sama, dompet memerlukan prosedur dan format pesan yang sama. BIP78, dokumen teknis Nicolas Dorier yang mendapat nomor pada 2019, memakai PSBT — Partially Signed Bitcoin Transaction. Ini adalah paket data berisi transaksi beserta informasi untuk memeriksa dan menandatanganinya, bukan pembayaran yang sudah dikirim ke jaringan. Permintaan pembayaran menyertakan parameter pj: alamat layanan yang harus dihubungi dompet. Pengirim mula-mula mengirim pembayaran awal dalam PSBT yang sudah ditandatangani lengkap dan difinalisasi. Transaksi ini sudah bisa disiarkan, meskipun nama formatnya memuat kata “partially”. Penerima mengembalikan usulan yang telah diubah dengan tambahan input miliknya dan tanda tangannya. Pengirim memeriksa usulan, menandatangani ulang input sendiri, lalu menyiarkan transaksi akhir ke jaringan Bitcoin. Sambungan wajib dienkripsi dan layanan tujuan diautentikasi. PSBT bukan cadangan dompet: seed yang menjadi dasar penurunan kunci, kunci privat, dan informasi penurunan kunci yang tidak diperlukan tidak dikirim. [1] [5]
Dompet pengirim harus memeriksa bahwa input dan output terlindungnya tetap ada, kembalian tidak dikurangi sembarangan, dan kontribusi biaya tidak melewati batas yang diizinkan. Ia hanya menandatangani input awal miliknya sendiri. Protokol mengizinkan sebagian perubahan pada output penerima dengan syarat tertentu, bukan kebebasan mengalihkan seluruh pembayaran. Pada perangkat penandatanganan, pengguna perlu memahami nilai yang tampil, bukan sekadar menyetujui layar berikutnya. [1] [5]
Input tambahan memakan ruang dan dapat menaikkan biaya absolut pembayaran tersebut. Dompet bernegosiasi tentang siapa yang membayar dan batasnya. Namun penerima juga dapat menggabungkan UTXO atau menyertakan pembayaran lain yang semula akan dilakukan terpisah. Penghematan keseluruhan bergantung pada perbandingan operasi yang sama, bukan janji bahwa setiap Payjoin lebih murah. Biaya satoshi yang sama untuk transaksi lebih besar berarti tarif biaya lebih rendah. [1] [2]
Dalam BIP78, penerima membutuhkan layanan yang bisa diakses melalui internet dan kedua pihak berkomunikasi bersamaan. Ini merepotkan ketika ponsel kehilangan koneksi. Karena itu BIP77, atau Payjoin v2, memakai server sebagai kotak surat sementara. Satu dompet meninggalkan pesan dan dompet lain mengambilnya kemudian, sebelum batas waktu sesi yang disepakati berakhir. Inilah komunikasi asinkron. Usulan pembayaran itu sendiri dienkripsi end-to-end: dompet peserta dapat membacanya, tetapi pengelola kotak surat tidak. OHTTP, Oblivious HTTP, menambahkan perlindungan lain. Permintaan melewati perantara terpisah, sehingga server kotak surat biasanya tidak melihat alamat IP jaringan dompet. Alamat IP adalah alamat jaringan yang digunakan perangkat untuk berkomunikasi melalui internet. Perlindungan hubungan ini mengasumsikan perantara dan server tidak berbagi catatan. Keduanya tidak menerima kunci privat yang mengendalikan bitcoin. Namun, server masih bisa menunda atau membuang pesan; enkripsi saja tidak menjamin pesan sampai. [2] [4] [7]
Payjoin tidak otomatis membuat pembayaran anonim. Nilai, input, output, dan waktu konfirmasi tetap terlihat di rantai. Pihak lain juga mengetahui jalannya negosiasi; pedagang mungkin memiliki pesanan dengan nama Anda. Transaksi publik tidak wajib memiliki label Payjoin, tetapi penggunaan ulang alamat atau ciri dompet dapat memberi petunjuk lain. Penerima otomatis juga harus menangkal upaya mengungkap UTXO melalui permintaan yang tidak pernah diselesaikan. [1] [2]
Transaksi awal yang sudah ditandatangani dapat menjadi pembayaran biasa sebagai cadangan. Dalam protokol yang benar, transaksi itu dan usulan Payjoin membelanjakan input awal yang sama, sehingga paling banyak hanya satu yang dapat dikonfirmasi. Ini bukan alasan untuk membuat pembayaran baru yang independen setelah kesalahan tanpa memeriksa keadaan. Tanda tangan yang sudah diserahkan dapat memungkinkan penerima menyiarkan transaksi awal. Dompet harus menunjukkan dengan jelas apakah Payjoin, pembayaran biasa cadangan, atau belum ada yang terjadi, lalu mencocokkannya dengan rantai. [1] [2]
Mengirim dan menerima Payjoin merupakan kemampuan berbeda; dompet dan versi yang benar-benar dipakai harus kompatibel. Memproses permintaan tanpa input tambahan penerima belum memberikan manfaat terhadap dugaan kepemilikan input tadi. Saat diperiksa pada 17 Oktober 2026, BIP78 berstatus Deployed, sedangkan BIP77 karya Dan Gould dan Yuval Kogman berstatus Draft. Payjoin dinegosiasikan antaraplikasi memakai transaksi Bitcoin biasa: tidak menunggu Soft Fork dan tidak mengubah aturan penerbitan. [1] [2] [3]
Untuk gambaran yang lebih utuh, baca entri ini bersama CoinJoin, Privasi Bitcoin, PSBT, Pseudonimitas, UTXO, Satoshi. Entri ini juga dirujuk dari Change Address, Privasi Bitcoin, Pseudonimitas, Chain Surveillance.