Perkenalan

Bitcoin sering disebut sebagai uang digital, namun ini adalah perbandingan kasarnya. Jika Alice membayar Bob $10 tunai, Bob tidak tahu dari mana uang itu berasal. Jika dia kemudian memberikannya kepada Carol, dia tidak akan tahu bahwa Alice memilikinya.

Bitcoin berbeda karena sifat publiknya. Sejarah koin tertentu (lebih tepatnya, keluaran transaksi yang belum terpakai atau UTXO) dapat dilihat dengan mudah oleh siapa saja. Ini seperti menulis jumlah transaksi dan nama peserta pada invoice setiap kali digunakan.

Meskipun demikian, menggunakan nama samaran alamat publik memastikan identitas pengguna tidak mudah terungkap. Namun, bitcoin tidak sepenuhnya bersifat pribadi. Analisis Blockchain menjadi semakin canggih dan mampu menghubungkan alamat ke identitas dengan lebih efisien. Di samping teknik pengawasan lainnya, entitas khusus dapat mendeanonimkan pengguna mata uang kripto. Untuk mengatasi masalah ini, teknik untuk memisahkan transaksi telah muncul selama bertahun-tahun.


Apa itu pencampuran ruangan?

Secara umum, pencampuran koin dapat merujuk pada aktivitas apa pun yang melibatkan pengaburan dana dengan menggantinya dengan dana lain. Namun, dalam dunia mata uang kripto, pencampuran mata uang umumnya menunjukkan layanan yang disediakan oleh pihak ketiga. Biasanya, penyedia layanan mengambil dana pengguna (dan komisi kecil) dan mengembalikan dana yang tidak ada hubungannya dengan dana yang dikirim. Layanan ini juga dikenal sebagai tumbler atau mixer.

Keamanan dan anonimitas layanan terpusat ini tentu saja dipertanyakan. Pengguna tidak mempunyai jaminan bahwa uang mereka akan dikembalikan kepada mereka melalui mixer atau bahwa koin yang dikembalikan tidak dirusak dengan cara apa pun. Aspek lain yang perlu dipertimbangkan ketika menggunakan mixer adalah bahwa alamat IP dan Bitcoin dapat dicatat oleh pihak ketiga. Pada akhirnya, pengguna menyerahkan kendali atas dana mereka dengan harapan menerima dana yang tidak terikat sebagai imbalannya.

Pendekatan yang mungkin lebih menarik adalah dalam bentuk transaksi CoinJoin, yang menciptakan tingkat penyangkalan yang masuk akal. Artinya setelah CoinJoin, tidak ada bukti yang dapat menghubungkan pengguna dengan pasti dengan transaksi mereka sebelumnya. Banyak solusi CoinJoin menawarkan alternatif terdesentralisasi untuk mixer. Meskipun mungkin ada koordinator yang terlibat, pengguna tidak perlu mengorbankan penyimpanan dana mereka.


Apa itu CoinJoin?

Transaksi CoinJoin awalnya diusulkan oleh pengembang Bitcoin Gregory Maxwell pada tahun 2013. Dalam threadnya, dia memberikan gambaran singkat tentang struktur transaksi ini dan bagaimana keuntungan privasi besar-besaran dapat dicapai tanpa modifikasi protokol.

Intinya, CoinJoin melibatkan penggabungan masukan dari banyak pengguna ke dalam satu transaksi. Sebelum kami menjelaskan bagaimana (dan mengapa), mari kita lihat struktur transaksi dasar.

Transaksi Bitcoin terdiri dari input dan output. Ketika pengguna ingin melakukan transaksi, mereka mengambil UTXO mereka sebagai masukan, menentukan keluaran dan menandatangani masukan tersebut. Penting untuk dicatat bahwa setiap masukan ditandatangani secara independen dan pengguna dapat menentukan beberapa keluaran (pergi ke alamat berbeda).


image d'un exemple de transaction avec quatre entrées et deux sorties


Jika kita mempertimbangkan transaksi tertentu yang terdiri dari empat masukan (masing-masing 0,2 BTC) dan dua keluaran (0,7 BTC dan 0,09 BTC), kita dapat membuat beberapa asumsi berbeda. Pertama, kita akan melihat pembayaran terjadi: pengirim mengirimkan salah satu output kepada seseorang dan mengembalikan selisihnya ke dirinya sendiri. Karena mereka menggunakan empat masukan, keluaran yang paling penting mungkin bagi penerimanya. Perhatikan bahwa outputnya hilang 0,01 BTC, yang merupakan biaya yang diberikan kepada penambang.

Mungkin juga pengirim ingin membuat UTXO besar dari UTXO kecil, dan menggabungkan entri kecil untuk mencapai hasil yang diinginkan sebesar 0,7 BTC.

Asumsi lain yang dapat kita buat adalah berdasarkan fakta bahwa setiap entri ditandatangani secara independen. Transaksi ini dapat memiliki hingga empat pihak berbeda yang menandatangani entri. Dan prinsip inilah yang membuat CoinJoins efektif.


Bagaimana cara kerja CoinJoin?

Idenya adalah bahwa banyak pihak akan berkoordinasi untuk menciptakan suatu transaksi, masing-masing memberikan masukan dan keluaran yang diinginkan. Karena semua masukan digabungkan, menjadi tidak mungkin untuk mengatakan dengan pasti hasil mana yang dimiliki pengguna. Perhatikan diagram di bawah ini:


image d'un exemple de coinjoin


Di sini kami memiliki empat peserta yang ingin memutuskan hubungan antar transaksi. Mereka berkoordinasi satu sama lain (atau melalui koordinator khusus) untuk mengumumkan entri dan keluar yang ingin mereka sertakan.

Koordinator akan mengambil semua informasi, mengubahnya menjadi transaksi, dan meminta setiap peserta untuk menandatangani sebelum menyebarkannya ke jaringan. Setelah pengguna menandatangani, transaksi tidak dapat diubah tanpa menjadi tidak valid. Oleh karena itu, tidak ada risiko koordinator akan melarikan diri membawa dana tersebut.

Transaksi tersebut berfungsi sebagai semacam kotak hitam untuk mencampurkan potongan-potongan tersebut. Ingatlah bahwa kami menghancurkan UTXO untuk membuat UTXO baru. Satu-satunya hubungan antara UTXO lama dan baru yang kami miliki adalah transaksi itu sendiri, tapi tentu saja kami tidak bisa membedakan pesertanya. Paling-paling, kita dapat mengatakan bahwa peserta memberikan salah satu masukan dan mungkin merupakan pemilik baru dari keluaran yang dihasilkan.

Namun hal ini sama sekali tidak dijamin. Siapa yang bisa bilang kalau transaksi di atas ada empat peserta? Apakah satu orang mengirimkan dananya ke empat alamatnya sendiri? Dua orang melakukan dua pembelian terpisah dan masing-masing mengirim 0,2 BTC kembali ke alamat mereka sendiri? Empat orang mengirimkan uang ke peserta baru atau kembali ke dirinya sendiri? Kami tidak bisa memastikannya.


Kerahasiaan melalui kemungkinan penolakan

Fakta bahwa ada implementasi CoinJoin sudah cukup untuk menimbulkan keraguan pada metode yang digunakan untuk menganalisis transaksi. Anda dapat menyimpulkan bahwa CoinJoin telah terjadi dalam banyak kasus, namun Anda masih tidak dapat mengetahui siapa pemilik outputnya. Seiring dengan popularitasnya, asumsi bahwa semua entri dimiliki oleh pengguna yang sama melemah, yang berarti peningkatan besar-besaran dalam privasi ekosistem secara keseluruhan.

Pada contoh sebelumnya, kita katakan bahwa transaksi tersebut memiliki kumpulan anonimitas sebanyak 4. Pemilik output dapat berupa salah satu dari empat partisipan yang terlibat. Semakin besar anonimitas yang ditetapkan, semakin kecil kemungkinan transaksi dapat ditautkan ke pemilik aslinya. Untungnya, penerapan CoinJoin baru-baru ini memungkinkan pengguna menggabungkan entri mereka dengan lusinan entri lainnya secara andal, sehingga memberikan tingkat anonimitas yang tinggi. Baru-baru ini, transaksi 100 orang berhasil dieksekusi.


Untuk menyimpulkan

Alat pencampur koin merupakan tambahan penting bagi gudang pengguna yang sadar privasi. Berbeda dengan usulan peningkatan privasi (seperti Transaksi Rahasia), hal ini kompatibel dengan protokol yang ada saat ini.

Bagi mereka yang mempercayai integritas dan metodologi pihak ketiga, layanan mixing adalah solusi mudah. Bagi mereka yang lebih memilih alternatif non-penahanan yang dapat diverifikasi, alternatif CoinJoin lebih unggul. Hal ini dapat dilakukan dengan tangan bagi pengguna yang kompeten secara teknis, atau dengan menggunakan perangkat lunak yang mengabstraksi mekanisme yang lebih kompleks. Sudah ada beberapa alat ini yang popularitasnya semakin meningkat seiring upaya pengguna untuk meningkatkan privasi mereka.