Saksi Terpisah Menghapus Salah Satu Pemeriksaan Integritas Data Bitcoin

Pada tahun 2017, Dr. Peter Rizun mencatat bahwa Segregated Witness (Segwit) mengubah definisi Bitcoin sesuai dengan whitepaper: “Kami mendefinisikan koin elektronik sebagai rantai tanda tangan digital.” Dalam artikel ini, saya ingin memperluas topik itu dan menambahkan pengamatan kunci: memecah rantai tanda tangan digital sebenarnya menghapus pemeriksaan integritas dalam buku besar Bitcoin. Bitcoin adalah sistem buku besar didistribusikan – suatu bentuk basis data. Ketika datang ke database secara umum, ada banyak jenis integritas data . Satu jenis, integritas yang ditentukan pengguna, mengacu pada seperangkat aturan untuk aplikasi tertentu (dalam hal ini, Bitcoin).

Di Bitcoin, salah satu jenis data terpenting adalah tanda tangan digital yang membuktikan bahwa koin ditransfer dengan benar. Fakta bahwa tanda tangan tidak dapat dipalsukan adalah salah satu alasan bahwa koin Anda dalam penyimpanan aman, bahkan jika jaringan itu mengalami 51% serangan.

Dengan mendefinisikan koin sebagai rantai tanda tangan digital (dan dengan menerapkan Bitcoin untuk mengharuskan tanda tangan menjadi bagian dari transaksi yang kemudian di-hash ke input dari transaksi berikutnya), Bitcoin menetapkan pemeriksaan integritas data penting.

Bagi pengguna, ancamannya selalu berupa koin menghilang atau dicuri. Model keamanan Bitcoin memastikan bahwa koin bergerak, tanda tangan yang sesuai harus diproduksi, dan harus dimasukkan dalam transaksi dan dipublikasikan di blockchain.

Karena menghasilkan tanda palsu dianggap sulit, tidak ada yang dapat mencuri koin Anda kecuali mereka memegang kunci pribadi Anda. Ketika pencurian terjadi, Anda dapat melihat tanda tangan di blockchain untuk memverifikasi bahwa inilah yang terjadi.

Ini berlaku untuk semua koin (non-Segwit) dan transaksi dalam Bitcoin; dengan demikian pemeriksaan integritas dijahit ke dalam rantai blockchain, memastikan model keamanan untuk semua transaksi.

Bagaimana Segwit Menghapus Cek Integritas
Bagaimana uraian di atas berubah di bawah Segwit? Untuk memulai, saya akan mengutip Dr. Rizun: “Dalam Bitcoin, tanda tangan merupakan bagian integral dari rantai. Carol hanya dapat memverifikasi rantai kepemilikan lengkap jika semua tanda tangan ada karena jika bahkan satu tanda tangan hilang, rantai rusak … tidak ada cara untuk mengikutinya. Sebuah koin Segwit berbeda karena tanda tangan semuanya berada di luar rantai. Jika bahkan tidak ada tanda tangan yang ada, atau mungkin tidak ada tanda tangan yang nyata untuk memulai, Carol masih dapat memvalidasi lacak balak. Saya menggunakan kata penahanan alih-alih rantai kepemilikan, karena Segwit benar-benar hanya menunjukkan hak asuh. ”

Jadi di Segwit, kami masih memiliki tanda tangan, tetapi TIDAK perlu dimasukkan langsung ke dalam input transaksi. Bahkan, itu secara eksplisit dikecualikan untuk tujuan menghilangkan kelenturan. Sebaliknya, tanda tangan (“data saksi”) ditempatkan di tempat lain di bagian khusus sendiri. Kami masih memiliki data, tetapi apa yang tidak kami miliki adalah pemeriksaan integritas data karena tidak perlu memiliki transaksi lengkap (termasuk tanda tangan) pada saat koin dihabiskan.

Bagaimana Perubahan Model Keamanan Di Bawah Segwit
Segwit membutuhkan data saksi untuk diterbitkan dan berkomitmen untuk memblokir melalui hash root saksi . Dalam istilah sederhana, setiap blok harus mengandung nilai hash yang mewakili kumpulan tanda tangan untuk transaksi Segwit-nya. Dalam kasus Segwit dan non-Segwit, penambang bertanggung jawab untuk memastikan tanda tangan benar sebelum menerima blok. Namun, dengan Segwit, tanda tangan tidak secara langsung menyediakan hubungan dari satu transaksi ke transaksi berikutnya, itulah sebabnya mereka dikatakan “di luar rantai transaksi”.

Pendukung Segwit membenarkan struktur ini dengan menunjukkan bahwa aturan konsensus menyatakan bahwa penambang memvalidasi semua tanda tangan, dan melanggar model yang membutuhkan 51% serangan. Meskipun itu mungkin benar, model keamanan telah berubah tak dapat disangkal. Pemeriksaan integritas yang terjalin telah dibuang dan diganti dengan ketergantungan penuh pada para penambang, daripada memiliki kedua jenis keamanan. Ini mirip dengan mengenakan sabuk DAN suspender selama bertahun-tahun untuk memastikan celana Anda tidak pernah jatuh, kemudian suatu hari melepas sabuk dan memproklamirkan “Saya masih mengenakan suspender, apa yang bisa salah?”

Bagaimana Perubahan Model Ancaman Di Bawah Segwit
Jika kita meninjau kembali model ancaman dari perspektif pengguna, apa yang terjadi di Segwit jika koin Anda hilang? Saya kembali memberi kredit kepada Peter karena mengajukan pertanyaan yang tepat: “Bisakah Anda membuktikan pencurian terjadi?”

Di Bitcoin, tanda tangan TELAH berada di rantai, dan Anda dapat mencarinya di penjelajah mana saja. Hari ini dengan Segwit, Anda juga dapat melihat data Saksi di seorang penjelajah, tetapi bagaimana jika Anda tidak melihatnya?

Seorang pengguna dapat menunjukkan kosong data saksi pada seorang penjelajah sebagai bukti, tetapi bagaimana jika situs web membuat beberapa alasan untuk ketidakhadirannya dan rantai tetap berlanjut? Sampai sejauh mana pengguna harus pergi, untuk meyakinkan dirinya sendiri dan orang lain tentang masalahnya? Secara filosofis, tidak mungkin membuktikan tidak adanya sesuatu. Sekarang diberikan, secara realistis, tentu saja mungkin bahwa hilangnya data saksi akan menjadi anomali publik yang sama buruknya dengan penambang yang berpura-pura tanda tangan tidak sah itu valid. Namun, modelnya telah berubah.

Slide dari pidato Dr. Peter Rizun di Future of Bitcoin conference
Apa Masalah Keamanan Nyata?
Pertama, perhatikan skenario penambang yang gagal mempublikasikan semua data saksi karena masalah perangkat lunak atau perangkat keras. Mungkin saja bagi penambang lain untuk menerima blok tetapi tidak semua data saksi akan dipublikasikan. Jika ini terjadi sekali saja, itu akan mengurangi dampak tanda tangan yang hilang di masa depan.

Kedua, bagaimana jika suatu saat ada serangan 51%? Bagaimana jika, untuk alasan apa pun, 51% dari penambang memutuskan untuk terus membangun blok yang tidak harus memiliki semua tanda tangan? Dalam model keamanan Bitcoin tradisional, tidak pernah ada contoh tanda tangan yang tidak valid diterima karena anomali itu akan dapat dibuktikan.

Mayoritas 51% sebenarnya bahkan tidak diperlukan jika Segwit menggeser insentif sehingga tidak semua penambang memvalidasi tanda tangan.

Bagaimana jika tekanan politik diterapkan pada penambangan untuk mencuri sejumlah dana tanpa tanda tangan? Setelah sejumlah blok, akankah penambang lain menyerah atau akankah rantai itu terpecah? Anda dapat membantah bahwa hal yang sama dapat terjadi tanpa Segwit (tanda tangan yang tidak sah diterima sebagai sah), tetapi sepertinya rantai ini akan terus berlanjut.

Konsesi
Meskipun saya tidak pro-Segwit, saya ingin seobjektif dan seadil mungkin dan tidak melebih-lebihkan masalah. Dalam prakteknya, sejauh ini, belum ada masalah dengan Segwit yang saya sadari. Tanda tangan masih ada, meskipun pemeriksaan integritas mungkin tidak ada. Tidak ada desain basis data yang sempurna. Selalu ada trade-off dan beberapa mungkin menganggap Segwit sebagai trade-off yang dapat diterima, mungkin berdebat bahwa Bitcoin memiliki cukup redundansi dengan sejumlah besar node arsip sehingga data saksi yang hilang tidak pernah menjadi masalah.

Penambang masih memberikan keamanan yang baik, dan ancaman yang diuraikan di sini mungkin tidak akan pernah terjadi.

Kontradiksi dalam Roadmap Inti
Segregated Witness adalah produk dari tim pengembangan Bitcoin Core dan sangat didukung oleh pengikut mereka. Selain dari semua yang ditulis sejauh ini, saya menemukan ada beberapa kontradiksi “menarik” dalam cara mereka berpikir tentang berbagai hal.

Saya akan membungkus artikel ini dengan memberi Anda dua di antaranya:

“Validasi”. Ini adalah grup yang sangat menekankan pentingnya menjalankan simpul penuh dan “memvalidasi segalanya sendiri”. Mereka mencegah model keamanan SPV, dan salah satu pengembang Core (Luke Jr) bahkan telah mengatakan pada beberapa kesempatan bahwa jika Anda tidak menjalankan simpul penuh, Anda tidak menggunakan Bitcoin. Pendukung BTC lainnya jarang jika pernah mengikuti pernyataan ini. Namun orang-orang yang sama ini benar-benar baik dengan membuang jendela jaminan dasar yang datang dari memvalidasi tanda tangan setiap transaksi sebagai hubungan yang diperlukan dalam rantai. Itu tidak masuk akal bagiku.

Peran Penambang. Ini juga merupakan grup yang mencintai pengembang dan operator “simpul lengkap”, tetapi tidak percaya dengan penambang. Mereka bahkan mengatakan bahwa penambang tidak bisa menegakkan konsensus; bahwa mereka hanya ada di sana untuk “memastikan pemesanan transaksi”. Bukankah lucu bagaimana mereka sekarang mendukung model keamanan yang bergantung pada penambang lebih dari sebelumnya?