BIP324 menjelaskan cara mengenkripsi pesan yang dipertukarkan antarnode Bitcoin. Node adalah perangkat lunak yang memeriksa transaksi dan blok serta berkomunikasi dengan peserta jaringan lainnya. Sambungan langsung antarpeserta jaringan ini disebut P2P, sedangkan versi terenkripsinya dikenal sebagai v2 transport. Orang yang hanya menyadap sambungan seharusnya tidak bisa membaca isinya dengan mudah. Namun, enkripsi saja tidak memastikan node mana yang sebenarnya sedang Anda hubungi. Blockchain publik dan aturan keabsahan transaksi tetap sama.
Blok adalah kumpulan transaksi yang ditambahkan ke riwayat bersama Bitcoin. Blok bersifat publik, tetapi mengamati penyebarannya berbeda dari membaca rantai yang sudah terbentuk. Pengamat koneksi tanpa enkripsi juga melihat urutan pesan, permintaan, dan kapan node meneruskan transaksi. Ini bisa membantu menghubungkan aktivitas jaringan dengan seseorang. BIP324 membatasi kemudahan pengamat pasif membaca isi tersebut. [1] [2] [7]
Dua node yang mendukungnya menyepakati kunci saat terhubung, lalu berkomunikasi secara terenkripsi. Mereka tidak perlu lebih dahulu mengenal identitas satu sama lain atau memiliki sertifikat dari otoritas pusat. Karena itulah terenkripsi tidak berarti dapat dipercaya. Node di ujung koneksi tentu dapat membaca pesan dan masih mungkin milik penyerang. [1]
Saat sambungan dimulai, dalam proses yang disebut handshake, kedua node membuat kunci sementara. Kunci privat adalah nilai angka rahasia; kunci publik yang sesuai dapat dibagikan kepada orang lain. Dengan ECDH, masing-masing menghitung rahasia bersama yang sama tanpa saling mengirim kunci privat. Kunci untuk melindungi lalu lintas kemudian diturunkan dari rahasia itu. ElligatorSwift adalah cara menyandikan kunci publik agar bagian pertukaran ini menyerupai data acak dan lebih sulit dikenali lewat pola tetap. Kunci tersebut hanya untuk sambungan jaringan. Bukan kunci privat untuk membelanjakan bitcoin atau seed, nilai awal rahasia untuk menurunkan kunci dompet. Mengaktifkan pengiriman data terenkripsi tidak pernah mengharuskan Anda membagikan cadangan dompet. [1] [8]
Bayangkan seseorang menyadap pesan di tengah jalan dan mengubah isinya. BIP324 memakai ChaCha20Poly1305: enkripsi disertai pemeriksaan bahwa pesan cocok dengan kunci sambungan dan tidak diubah. Tanpa kunci itu, penyerang tidak bisa sekadar menulis ulang data lalu menghasilkan pesan yang sah. Namun, pemeriksaan tersebut tidak membuktikan bahwa Anda berbagi kunci dengan node yang dimaksud. Perantara aktif dapat menyamar sebagai lawan bicara bagi masing-masing pihak saat sambungan dibentuk. Ia lalu memiliki dua sambungan terenkripsi terpisah serta membaca dan meneruskan pesan di antaranya. Karena itu, perlindungan pesan dan verifikasi pihak lawan adalah tugas yang berbeda. [1]
Kunci diperbarui selama komunikasi. Jika rahasia lama dihapus dengan benar, mendapatkan kunci saat ini di kemudian hari tidak otomatis membuka seluruh rekaman sebelumnya. Sifat ini disebut forward secrecy. Namun, sifat ini tidak melindungi pesan yang sudah dibaca atau disimpan node lain. Ia juga tidak membantu menghadapi penyerang yang terus menguasai komputer; kelompok pesan paling baru pun masih mungkin terungkap. [1]
V1 transport tetap didukung demi kompatibilitas. Bila koneksi v2 gagal, perangkat lunak dapat mencoba v1. Penyerang aktif bisa memblokir koneksi terenkripsi untuk memaksa kembali ke koneksi tanpa enkripsi. BIP324 meningkatkan biaya pengawasan pasif, tetapi tidak menjanjikan ketahanan umum terhadap downgrade maupun ketersediaan koneksi. [1] [4]
BIP324 tidak menyembunyikan alamat IP atau semua pola waktu dan volume lalu lintas. Alamat IP adalah alamat jaringan yang digunakan perangkat untuk berkomunikasi melalui internet. Tor dapat menangani bagian lain dari masalah, tetapi memadukannya juga tidak otomatis memberikan anonimitas. Bagaimanapun pesan tiba, Full Node harus memverifikasi transaksi, tanda tangan, dan blok. Enkripsi saja tidak menyelesaikan Eclipse Attack ketika node dikelilingi penyerang. [1] [6]
Bitcoin Core 26.0 menambahkan dukungan v2 pada 2023, awalnya dinonaktifkan secara bawaan. Versi 27.0 mengaktifkannya secara bawaan. Tahun pada entri ini merujuk pada dukungan pertama di Bitcoin Core, bukan awal proposal. Transport dinegosiasikan per koneksi; dukungan perangkat lunak tidak berarti semua peers yang terhubung memakai v2. [3] [4]
Operator Bitcoin Core bisa membaca status lewat bitcoin-cli getpeerinfo. Ini adalah kueri melalui RPC, antarmuka untuk mengendalikan node dan mengambil informasi; perintah ini tidak menyiarkan transaksi ke jaringan Bitcoin atau mengubah pengaturan. Hasilnya mencantumkan setiap sambungan secara terpisah. Dalam transport_protocol_type, v2 berarti pengiriman data terenkripsi, v1 berarti cara pengiriman data lama tanpa enkripsi, dan detecting berarti pilihannya belum ditentukan. Kolom session_id berisi pengenal sambungan v2; selain itu kosong. Keberadaannya saja tidak memastikan identitas pihak di ujung koneksi. Dua operator dapat membandingkan pengenal sambungan mereka melalui saluran tepercaya lain untuk mendeteksi perantara; sambungan biasa tidak melakukan pemeriksaan ini secara otomatis. Hasil tersebut menggambarkan sambungan itu, bukan seluruh perjalanan transaksi melalui jaringan. Hasilnya juga memuat informasi jaringan yang tidak perlu dipublikasikan. [5] [1]
BIP324 mencantumkan Dhruv Mehta, Tim Ruffing, Jonas Schnelli, dan Pieter Wuille sebagai penulis. Nomornya diberikan pada 2019; saat diperiksa pada 17 Oktober 2026 statusnya Deployed. Penerapan tidak memerlukan Soft Fork atau perubahan pasokan bitcoin. Komunikasi node diperbaiki secara bertahap, dengan manfaat bergantung pada implementasi yang benar dan koneksi yang benar-benar digunakan. [1]
Untuk gambaran yang lebih utuh, baca entri ini bersama Full Node, Eclipse Attack, Privasi Bitcoin, Bitcoin Core. Entri ini juga dirujuk dari Mix Network.