Dalam Sybil Attack, satu lawan mengendalikan banyak identitas dan menampilkannya sebagai peserta independen. Di Bitcoin, tambahan koneksi jaringan saja tidak menambah daya penambangan atau memberi hak untuk mengubah aturan. Namun, koneksi itu bisa membantu memengaruhi sumber informasi sebuah node tertentu.
Anna memilih layanan berdasarkan rekomendasi di forum. Puluhan akun memujinya, padahal semuanya dikendalikan pengelola layanan tersebut. Kesepakatan antarnama itu tidak muncul secara independen. John R. Douceur menjelaskan masalah serupa pada jaringan komputer dalam The Sybil Attack pada 2002: satu lawan dapat berpura-pura menjadi beberapa peserta. Membuat nama itu mudah; memperoleh alamat, server (komputer yang menyediakan layanan bagi perangkat lain), dan koneksi yang diperlukan bisa membutuhkan uang dan waktu. [1]
Di jaringan Bitcoin, peer hanyalah pihak lain yang bertukar data dengan program Anda. Peter dapat menjalankan beberapa node, sedangkan perusahaan bisa menjalankan jauh lebih banyak. Bitcoin tidak mewajibkan daftar orang yang memberi satu node untuk setiap orang. Alamat IP menunjukkan lokasi di jaringan yang dituju program saat membuat koneksi. Jadi, alamat IP berbeda tidak membuktikan pemilik yang berbeda. Menjalankan banyak node juga bukan serangan dengan sendirinya; masalahnya muncul ketika kesan bahwa semuanya independen disalahgunakan. [1] [3]
Full Node milik Peter adalah perangkat lunak yang memeriksa aturan Bitcoin sendiri. Menandatangani di sini berarti memakai kunci privat, sebuah nilai angka rahasia, untuk membuat bukti otorisasi pembayaran yang bisa diverifikasi. Orang lain dapat memeriksa tanda tangan tanpa mengetahui rahasia itu. Sekalipun semua peer yang terhubung ke node Peter mengirim transaksi dengan tanda tangan tidak sah, node itu tetap menolaknya. Jawaban yang sama tidak dihitung sebagai suara. Blok mengelompokkan transaksi dalam satu kumpulan yang ditambahkan ke riwayat bersama. Node juga memeriksa blok, misalnya apakah blok membelanjakan dana yang sudah terpakai atau menciptakan imbalan yang dilarang. Jaringan menyediakan data; keabsahannya ditentukan oleh aturan node, bukan popularitas pengirim. [2] [6] [9]
Kadang terdapat dua cabang riwayat sah yang saling bersaing. Proof of Work memungkinkan perbandingan akumulasi kerja keduanya: bobot yang diturunkan dari tingkat kesulitan blok yang ditemukan. Penambangan membutuhkan percobaan komputasi nyata; mengganti nama komputer tidak menambah kerja. Jika penyerang membagi perangkat penambangan yang sama di antara banyak identitas, pembagian itu tidak menambah daya totalnya. Di sini tidak berlaku satu akun, satu suara. [2] [6]
Seribu koneksi tidak dapat menggantikan kunci privat yang diperlukan untuk membelanjakan bitcoin orang lain. Memperbanyak identitas saja juga tidak melanggar aturan penerbitan atau memaksa node yang memverifikasi dengan benar menerima blok tidak sah. Ini bukan jaminan aman dari setiap serangan. Lawan mungkin juga memperoleh daya penambangan atau memanfaatkan kesalahan program. Kemampuan itu perlu dinilai terpisah, bukan dianggap berasal dari jumlah akun semata. [2] [9]
Kembali ke node Peter. Penyerang dapat mencoba memenuhi daftar alamat yang dikenalnya dan menguasai koneksinya. Jika semua jalur yang relevan menuju bagian lain dari jaringan Bitcoin berada di bawah kendalinya, ia dapat menahan blok dan menunjukkan gambaran yang tidak lengkap atau terlambat. Isolasi ini disebut Eclipse Attack. Sybil Attack bisa membantunya, tetapi banyak identitas penyerang belum membuktikan bahwa isolasi berhasil. Memeriksa data yang diterima tidak sama dengan mengetahui data yang disembunyikan dari Anda. [3] [5] [8]
Bitcoin Core menggabungkan beberapa hambatan. Pemilihan otomatis koneksi keluar mencari keragaman jaringan, dan alamat yang dikenal dibagi ke dalam kelompok agar satu sumber tidak mudah mendominasi seluruh pilihan. Koneksi uji singkat bernama feeler memeriksa apakah peer lain dapat dijangkau. Mekanisme ini mempersulit serangan; bukan menentukan pemilik asli setiap server atau menjamin perlindungan dari isolasi. Implementasinya terus berkembang; sumber di sini menunjukkan Bitcoin Core 29.0. [4] [7] [8]
Alamat IP atau alamat layanan Tor memberi tahu program ke mana harus terhubung. Itu bukan bukti adanya orang baru yang independen di ujung lain. Satu operator bisa memiliki banyak alamat, sementara beberapa pengguna dapat berbagi IP publik atau sebagian jalur jaringan. Tor bermanfaat untuk privasi koneksi, tetapi alamatnya saja tidak membuktikan independensi peer. Mengarahkan pesan dan memberikan bobot pada pemilihan riwayat Bitcoin merupakan dua hal berbeda. [3] [4]
Proof of Work menangani bagian penting dari masalah mayoritas palsu, bukan semua risiko komunikasi. Jaringan P2P — pertukaran data langsung antarpeserta — dapat menghadapi banjir lalu lintas, pengawasan, dan penahanan pesan. Karena itu, pertahanan juga mencakup pengelolaan koneksi serta pembatasan pemakaian sumber daya. Keamanan bergantung pada apa yang benar-benar dikuasai penyerang: nama saja, jalur jaringan, daya komputasi, atau gabungan kemampuan tersebut. [1] [5] [6]
Penghitung node yang dapat dijangkau publik bukan jumlah orang atau hasil pemungutan suara tentang aturan. Sumber informasi node dan hal yang diverifikasinya sendiri juga penting. Full Node sendiri memungkinkan Anda memeriksa blok yang diterima, tetapi tetap memerlukan koneksi ke bagian lain dari jaringan Bitcoin. Dompet adalah aplikasi atau perangkat untuk menerima dan mengirim bitcoin. Jika dompet memakai server pihak lain, keberadaan banyak node di tempat lain tidak menghapus ketergantungan itu. Lebih banyak kontak tidak otomatis berarti lebih independen. [1] [3] [9]
Untuk gambaran yang lebih utuh, baca entri ini bersama Nakamoto Consensus, Eclipse Attack, Selfish Mining, Block Propagation, Bitcoin, Proof of Work. Entri ini juga dirujuk dari Byzantine Generals Problem, Nakamoto Consensus, Eclipse Attack, Selfish Mining.