Tinjauan umum tentang teknik analisis blockchain anonim

Dalam salah satu artikel sebelumnya , kami meninjau teknologi cryptocurrency anonim. Hari ini kita melihat masalah anonimisasi dan memberikan gambaran tentang metode yang paling terkenal untuk menganalisis blockchains anonim hari ini. Pada artikel ini, kita akan fokus pada analisis transaksi blockchain sendiri, melewati kemungkinan menghubungkan alamat dompet dengan alamat ip mereka pada tingkat protokol p2p, karena dalam hal ini tekniknya cukup monoton. Untuk memahami artikel ini, pengetahuan yang dangkal tentang perangkat cryptocurrency populer cukup pada tingkat pemahaman apa input dan output dari suatu transaksi.

gambar

Pada tahun 2009, ketika bitcoin baru saja muncul, itu dianggap sebagai sarana transfer anonim, karena tidak mungkin untuk membandingkan kunci publik dompet dengan pemiliknya. Tetapi waktu ini telah berlalu, dan teknik hari ini dikenal untuk menganalisis grafik pembayaran dan mengidentifikasi kumpulan alamat dari hampir semua situs di jaringan: pertukaran, kumpulan penambangan, penukar dan pasar darknet.

Hampir semua teknik ini menggunakan pendekatan yang sama - pertama, menggunakan heuristik sederhana, alamat digabungkan ke dalam cluster, kemudian secara empiris ditentukan bahwa setiap cluster milik situs tertentu. Anda dapat membaca lebih lanjut tentang ini di A Fistful of Bitcoin: Mengkarakterisasi Pembayaran Di Antara Pria tanpa Nama .

Karena privasi transfer masih bukan tujuan utama bitcoin, permintaan mulai muncul untuk menjaga kerahasiaan grafik pembayaran mereka. Upaya pertama adalah "sakelar sakelar" - layanan yang mengirim transaksi atas nama beberapa pengguna, yang membutuhkan kepercayaan pada mixer itu sendiri. Untuk mengurangi risiko yang terkait dengan kepercayaan pada layanan terpusat, protokol CoinJoin yang terkenal muncul, yang tidak memungkinkan pihak ketiga (yaitu, mixer itu sendiri) untuk mengambil kendali atas uang pengguna. Ketika pengembangan ide ini cryptocurrency mulai muncul, yang utama adalah privasi transfer. Di puncak Coinmarketcap sekarang Anda dapat menemukan tiga di antaranya - Monero, Dash dan ZCash, yang total kapitalisasi pada saat penulisan adalah sekitar $ 1,8 miliar. Selanjutnya, kita akan melihat lebih dekat cara untuk menganalisis blockchain ini.

Coinjoin


Protokol CoinJoin diusulkan oleh Greg Maxwell pada 2013 sebagai pengganti mixer yang ada, yang tidak memerlukan transfer bitcoin mereka ke pihak ketiga. Inti dari protokol ini adalah bahwa beberapa pengguna terlempar untuk melakukan pembayaran dalam satu transaksi.

gambar

Dalam contoh ini, Ernie dan Barack memutuskan untuk masuk dan melakukan transfer ke Charlie dan Donald dengan transaksi bersama. Seperti yang kita lihat dalam gambar, menjadi sulit untuk memahami siapa yang memutuskan untuk membayar kampanye Donald - Ernie atau Barack.

Tetapi dalam kasus ini, "sulit" tidak berarti "tidak mungkin". Salah satu teknik pertama (dan cukup berhasil) untuk mendanonimisasi transaksi CoinJoin adalah CoinJoin sudoku . Penulis menyarankan untuk menganalisis berbagai kombinasi input dan output, yang secara total memberikan nilai yang sama, dengan asumsi bahwa mereka dapat sesuai dengan satu pembayaran. Dalam praktiknya, ini mungkin terlihat seperti ini (Sumber - https://www.coinjoinsudoku.com/advisory/ ):

gambar

Dalam karya "Overlay Peningkatan Privasi dalam Bitcoin", penulis melangkah lebih jauh dan memeriksa penyerang - penyerang yang secara aktif terlibat dalam transaksi. Jika penyerang berpartisipasi dalam sejumlah transaksi bersama, maka ia dapat mengecualikan input dan outputnya, sehingga memudahkan dirinya untuk menganalisis.

Tetapi poin utama dari "ketidakpercayaan" dalam skema ini adalah sifatnya yang terpusat. Pengguna harus memilih layanan "tepercaya" untuk tujuan ini, yang dapat dengan mudah menyimpan log pengocok yang melewatinya (meskipun tidak dapat mencuri uang).

Antara lain, pengguna itu sendiri juga perlu mengambil langkah-langkah untuk mengurangi risiko deanonimisasi pembayarannya. Sangat penting untuk tidak menggunakan alamat yang sama untuk pembayaran lebih dari sekali, karena ini akan sangat memudahkan analisis penyerang dari rantai transaksi.

Namun, meskipun ini adalah salah satu upaya pertama dan memiliki model anonimitas yang agak lemah, selama tahun lalu jumlah transaksi tersebut telah meningkat tiga kali lipat dan mencapai 4,09% dari total jumlah pembayaran (menurut longhash.com ), yang menunjukkan meningkatnya permintaan untuk privasi di Jaringan Bitcoin.

Dash


Dash (sebelumnya DarkCoin) โ†’ fork Bitcoin. Transaksi di Dash tidak pribadi secara default, untuk melakukan pembayaran pribadi di Dash ada fungsi Kirim Pribadi. Dia mewarisi prinsip CoinJoin, bersama dengan sebagian besar kekurangannya.

Dash membagi pengguna keluar menjadi dua jenis: reguler dan pribadi. Yang pertama dapat digunakan untuk melakukan transaksi transparan, dan yang terakhir diperlukan untuk berpartisipasi dalam pencampuran. Saat mengonversi output biasa, transaksi yang menghabiskannya memecahnya menjadi denominasi formulir 1,00001 DASH, 0,100001 DASH, dll., Dan mentransfer alamat satu kali ke yang dikendalikan pengguna. Setelah itu, pengirim memilih masternode yang dengannya transaksi akan ditautkan. Ketika cukup banyak peserta direkrut, transaksi dibentuk dan dikirim ke tanda tangan masing-masing pengirim. Setelah itu, dia siap mengirim ke jaringan.

Contoh transaksi PrivateSend di Dash yang menggunakan tiga alamat pengirim dan penerima yang berbeda. Sumber - Detail Dash :

gambar

Tidak seperti CoinJoin, pengguna menghilangkan kebutuhan untuk memastikan bahwa kunci publiknya tidak muncul dua kali dalam salah satu kebingungan tersebut. Namun, ini lemah melindungi terhadap pelacakan sumber - Anda benar-benar dapat melacak rantai "konversi" ke jalan keluar yang nyata, dari mana Anda dapat menggunakan salah satu metode standar untuk menganalisis sumber transaksi untuk bitcoin. Secara empiris terungkap bahwa jika output memiliki satu leluhur yang sama, maka kemungkinan besar ini adalah pengirimnya sendiri.

Denominasi hasil transaksi pribadi mempersulit serangan seperti CoinJoin sudoku, tetapi tidak sepenuhnya melindungi mereka. Bersama dengan beberapa heuristik keunggulan ini dapat dibatalkan.

Fakta bahwa protokol pencampuran adalah bagian dari Dash dan menghilangkan kebutuhan untuk menggunakan layanan pihak ketiga tidak menghilangkan kebutuhan untuk kepercayaan pada masternode yang dipilih. Tidak ada yang dapat menjamin bahwa pemilik masternode mana pun tidak mengumpulkan log tentang permintaan transaksi di pihaknya.

Seperti halnya CoinJoin, pengguna mungkin mengalami kekurangan likuiditas untuk mengaduk transfer mereka. Dalam hal ini, pengguna disarankan untuk memilih beberapa masternode untuk pembentukan transaksi, namun ini hanya meningkatkan risiko menemukan pemilik yang tidak bermoral.

Sekarang web secara aktif mengkritik model privasi Dash. Anda dapat menemukan posting di Reddit tentang bagaimana seseorang mengatur deanonimisasi bagian dari transaksi pengiriman pribadi. Misalnya, dalam posting ini, penulis mengklaim bahwa selama 15 hari terakhir ia berhasil melacak sekitar 13% transaksi ke sumbernya.

ZCash


ZCash muncul pada tahun 2016 sebagai implementasi dari protokol ZeroCash dan diketahui semua orang melalui penggunaan bukti pengetahuan nol zkSNARKs. ZCash tidak berkewajiban untuk hanya menggunakan transaksi rahasia - sebagian besar transaksi di jaringannya transparan dan mewarisi perangkat mereka dari bitcoin.

Untuk menggunakan fungsi pembayaran rahasia, pengguna harus mentransfer bagian dana yang diperlukan ke kolam yang disebut terlindung. Dengan demikian, transaksi aman dapat dibagi menjadi tiga jenis, tergantung pada tahap pool terlindung:

  • Transaksi perisai. Transaksi dari ruang publik ke kolam terlindung. Di sini, pengirim, tidak seperti penerima, tidak bersembunyi, tetapi Anda dapat melihat berapa banyak uang masuk โ€œke dalam bayang-bayangโ€.
  • Transaksi pribadi. Transaksi di dalam kolam terlindung. Di sini, baik pengirim, penerima, maupun jumlah transfer tidak diketahui. Bahkan, hanya diketahui bahwa dana dihabiskan dalam transaksi ini yang "pernah ada di kolam renang".
  • Transaksi pembagian hasil. Suatu transaksi penarikan dana dari kumpulan. Tidak diketahui siapa yang menampilkannya, tetapi diketahui siapa dan berapa banyak.

Ilustrasi berbagai jenis transaksi. Dari kiri ke kanan: transaksi transparan reguler, transaksi pelindung, transaksi pribadi, transaksi deshielding. Sumber - "Analisis Empiris Anonimitas di Zcash" :

gambar

Penting untuk dicatat bahwa jaringan mensyaratkan bahwa semua koin yang dihasilkan (blok hadiah) jatuh ke kolam terlindung, sehingga secara efektif meningkatkan anonimitas yang ditetapkan untuk pencampuran transaksi.

Analisis empiris transaksi publik di ZCash (pada awal 2018 mereka berjumlah 73% dari jumlah total transaksi) tidak terlalu sulit dan tunduk pada teknik yang sama seperti Bitcoin itu sendiri. Namun, mendapatkan statistik tentang siapa dan berapa banyak uang yang ditarik dari kolam terlindung jauh lebih sulit. Salah satu upaya pertama untuk menganalisis transaksi aman pada 2018 adalah karya "Analisis empiris anonimitas di Zcash" . Penulisnya menyelidiki pembayaran berdasarkan beberapa heuristik - pengamatan dilakukan berdasarkan perilaku pengguna:

  • Jika suatu transaksi menghabiskan dua atau lebih keluaran transparan (terlepas dari apakah transaksi itu transparan, terlindung atau bercampur), maka kemungkinan besar keluaran ini milik anggota jaringan yang sama.
  • Jika hanya satu penerima yang ditunjukkan dalam transfer transparan (mis., Tanpa perubahan), maka kemungkinan besar semua sumber dana untuk transaksi ini adalah milik penerima.
  • Setiap penarikan dari kumpulan terlindung dalam jumlah 250.0001 ZEC (ada banyak transfer semacam itu) adalah milik pendiri jaringan. Ini kira-kira sama dengan 100 blok hadiah.
  • Jika ada lebih dari 100 pintu keluar dalam transaksi penghancuran, salah satunya milik kelompok penambangan terkenal, maka kita dapat menyimpulkan bahwa ini adalah penarikan dana dari penambang. Semua hasil lainnya dapat ditetapkan sebagai milik penambang.
  • Jika ada sepasang transaksi pelindung dan penghilangan dengan jumlah unik dan perbedaan beberapa blok, dan transaksi pelindung terjadi sebelumnya, maka transaksi ini saling berhubungan. Ini dijelaskan dalam Tentang keterkaitan transaksi Zcash .

Ilustrasi di bawah ini menunjukkan beberapa analitik yang dapat dibangun oleh penulis berdasarkan heuristik ini:

gambar

gambar

gambar

Para penulis dapat mengidentifikasi 65,6% dari transaksi penarikan dana dari kumpulan. Keberhasilan yang signifikan dalam mengidentifikasi pembayaran dalam kumpulan tidak dapat dicapai.

Dalam sebuah karya baru-baru ini, "Privasi dan Keterkaitan Pertambangan di Zcash," peneliti dari University of Luxembourg menganalisis kinerja kumpulan penambangan dan mengidentifikasi dua pola ketika membayar hadiah:

  • Pool penambangan menampilkan hadiah blok ke alamat publiknya dan dari sana ia membagikan hadiah kepada para penambang. Mereka menyebutnya Pola T.
  • Pool penambangan menyimpan koin yang ditambang di kolam terlindung dan pada titik tertentu memberikan hadiah kepada penambang dari sana ke alamat publik mereka. Pola ini disebut Pola Z.

Tidak sulit untuk menetapkan kepemilikan transaksi untuk kumpulan khusus - para peneliti hanya membandingkan alamat publik untuk membayar hadiah dengan alamat para penambang top yang dipublikasikan di situs web kumpulan itu sendiri.

Mengikuti pendekatan ini, para peneliti berhasil meningkatkan pangsa pembayaran kumpulan diidentifikasi dari 65,6% pada pekerjaan sebelumnya menjadi 84,1% pada data yang sama.

Namun, pendekatan ini memiliki kelemahan:

  • Ini dapat diterapkan pada interval waktu yang cukup sempit sekitar 2000 blok (sekitar empat hari), karena penambang cenderung mengubah kolam penambangan;
  • Sangat sulit untuk mengidentifikasi transaksi milik kumpulan kecil yang telah menemukan hanya beberapa blok, karena transaksi berbayar mereka tidak sesuai dengan pola umum dengan kumpulan besar karena kecilnya jumlah pintu keluar kepada mereka.

Hasil analisis disajikan dalam ilustrasi:

gambar

Berdasarkan data ini, penulis menyimpulkan bahwa 95,6% dari semua transaksi ZCash berpotensi "diungkapkan", yang membawa privasi ZCash lebih dekat ke tingkat bitcoin.

Seperti yang dapat kita lihat, di samping perlindungan kriptografi yang kuat, banyak data untuk analisis dan kesimpulan dapat diperoleh dari informasi terbuka di blockchain.

Monero


Monero diluncurkan pada April 2014 dan merupakan implementasi protokol CryptoNote yang paling populer. Alih-alih alamat publik dari penerima dana, Monero menggunakan alamat satu kali dalam setiap pembayaran, jadi bagi pengamat luar tidak ada cara untuk secara kriptografis mencocokkan alamat satu kali penerima dengan alamat publiknya. Untuk menyembunyikan pengirim, teknologi ini menggunakan ide menguleni, tetapi melakukannya dengan cara yang berbeda dari CoinJoin. Di Monero, pengirim tidak perlu mencari kandidat lain untuk menyelesaikan transaksi bersama. Sebaliknya, dompet itu sendiri mengumpulkan keluar sewenang-wenang dari blockchain, menyembunyikan di antara mereka outlet yang ingin dibelanjakan, dan kencangkan semuanya dengan tanda tangan cincin. Tanda tangan cincin di sini berfungsi untuk meyakinkan validator transaksi bahwa pengirim sebenarnya memiliki salah satu output pengocok, dan tidak dihabiskan. Ini mencapai tingkat ketidakpastian yang tinggi ketika mencoba melacak pembayaran kepada penerimanya. Contoh yang bisa kita lihat dalam ilustrasi:

gambar

Ternyata "tingkat privasi" dari suatu transaksi tergantung pada ukuran tanda tangan cincinnya - semakin banyak keluaran acak digunakan untuk pencampuran, semakin sulit untuk melacaknya.

Hingga 2016, pencampuran di jaringan Monero adalah opsional, dan kemudian ukuran minimum tanda tangan cincin dinaikkan menjadi 3. Jadi itu tumbuh setiap tahun dan sekarang adalah 11.

Pada tahun 2017, dalam sebuah karya berjudul "Analisis Empiris tentang Keterlacakan di Monero Blockchain," sekelompok peneliti menunjukkan dua kelemahan protokol cryptocurrency (perlu dicatat bahwa mereka bukan yang pertama berbicara tentang hal ini, tetapi mereka dapat memberikan hasil analisis transaksi dalam praktiknya) )

Kerentanan pertama mengacu pada efek negatif dari penggunaan transaksi yang sebelumnya valid dengan zero kneading. Ini juga disebut analisis "reaksi berantai". Para penulis telah menunjukkan dalam praktiknya bahwa hanya mengandalkan anonimisasi menggunakan alamat sekali pakai tidak hanya sia-sia, tetapi juga mengarah pada deanonimisasi pembayaran lain menggunakan output ini sebagai yang diuleni - sudah diketahui di mana mereka dihabiskan. Dengan sejumlah kecil output salah dalam transaksi, yang nyata dapat dihitung dengan tingkat probabilitas tinggi dengan metode pengecualian. Dengan demikian, para peneliti dapat melacak sekitar 62% transaksi yang dilakukan sebelum Februari 2017.

Kerentanan kedua terkait dengan cara dompet memilih output untuk pencampuran. Masalahnya adalah bahwa pintu keluar palsu dipilih dari blockchain secara merata, yang pada saat itu tidak mencerminkan pola perilaku pengguna cryptocurrency. Para penulis mencatat bahwa pengguna paling sering menghabiskan uang yang diterima dalam dua hingga tiga bulan. Jadi, dalam banyak kasus, pintu keluar terbaru benar-benar dihabiskan. Berikut ini adalah contoh distribusi usia keluaran dalam transaksi:

gambar

gambar

Menggunakan heuristik ini pada waktu itu, penulis berhasil mengungkapkan sekitar 80% dari sumber transaksi.

Namun, sekarang teknik-teknik ini lebih menarik secara akademis, karena pengembang telah memperbaiki kelemahan ini - mereka menaikkan mixin minimum menjadi 11, undang-undang distribusi, di mana output untuk pencampuran dikumpulkan, diganti dengan realitas yang lebih mendekati dan menerapkan protokol transaksi rahasia.

Dalam karya lain, yang berjudul "Analisis Ketertelusuran Empiris Baru Blockch CryptoNote-Style", para peneliti mencoba menganalisis transaksi Monero menggunakan "set tertutup".

Mari kita jelaskan dengan sebuah contoh. Misalkan kita memiliki empat output pk1, pk2, pk3 dan pk4. Sekarang kita perlu menemukan empat transaksi seperti itu di mana mereka akan digunakan secara eksklusif:

gambar

Dalam kasus kami, kami dapat menyimpulkan bahwa keempat output ini semuanya terbuang dalam empat transaksi ini, dan pada saat kami bertemu dengan sebuah transaksi yang menghasilkan setidaknya satu dari output ini, kami dapat mengecualikannya dari anonimitas yang ditetapkan salah.

Para penulis melakukan percobaan pada blockchain Monero dengan transaksi rahasia sudah termasuk dan ukuran minimum dari tanda tangan cincin 5. Namun, karena set tersebut sangat jarang, mereka berhasil melacak hanya 0,084% dari output, dan teknik ini dapat dianggap sebagai tambahan untuk metode analisis lainnya. Hasil ini memungkinkan kita untuk menyimpulkan bahwa Monero modern memberikan jaminan kerahasiaan yang cukup kuat.

Apa hasilnya


Kami melakukan studi yang cukup luas tentang cara untuk menganalisis blockchain anonim. Meskipun tidak ada yang mencoba memecahkan kriptografi, beberapa dari mereka memiliki titik lemah dalam sifat terpusatnya layanan anonimisasi dan yang lain dalam kemampuan untuk melakukan transaksi transparan. Menurut pendapat kami, Monero memberikan jaminan kerahasiaan terbaik untuk hari ini (dengan kerentanan tetap sebelumnya telah diperbaiki), karena studi terbaru tidak memberikan hasil signifikan dari keterlacakan transaksi.

Source: https://habr.com/ru/post/id471640/


All Articles