Isi

  • Perkenalan

  • Apa itu Transaksi Rahasia?

  • Ikhtisar kriptografi yang terlibat

  • Apa saja kemampuan Transaksi Rahasia?

  • Kesimpulan


Perkenalan

Seringkali dianggap penting untuk berfungsinya blockchain karena sistemnya transparan. Artinya setiap node di jaringan harus dapat menyimpan salinannya dan memverifikasi bahwa tidak ada aturan yang dilanggar. Untuk banyak buku besar yang terdistribusi, siapa pun dapat mengunggah penjelajah blok online yang memungkinkan mereka mencari seluruh blok, transaksi, dan alamat.

Dari sudut pandang privasi, ini bukanlah situasi yang ideal. Dalam sistem seperti Bitcoin, transaksi apa pun dapat dihubungkan dengan transaksi sebelumnya. Koin secara teknis tidak sepadan, artinya koin dapat dikaitkan dengan transaksi tertentu. Tidak ada yang bisa menghentikan Anda mengirim bitcoin, namun transaksi Anda mungkin ditolak jika koin yang terlibat di dalamnya sebelumnya telah melewati "alamat yang masuk daftar hitam".

Dalam skenario terburuk, kurangnya kesepadanan dapat berdampak besar pada fondasi sistem. Koin-koin yang "bersih" dapat meningkatkan nilainya, sedangkan koin-koin lama, karena sejarahnya, akan menjadi kurang bernilai.

Di Bitcoin, privasi sering kali dilebih-lebihkan. Tidak hanya koinnya saja yang bisa dilacak, tapi juga penggunanya. Ini menikmati "nama samaran" (alih-alih nama, alamat publik yang terlihat), yang bukannya tanpa cacat. Teknik analisis yang canggih, dengan tingkat presisi yang semakin meningkat, dapat mengumpulkan alamat dalam upaya untuk mendeanonimkan entitas di jaringan.

Salah satu usulan pembaruan untuk menjadikan transaksi benar-benar pribadi adalah Transaksi Rahasia.


Apa itu Transaksi Rahasia?

Transaksi Rahasia (CT) pertama kali ditangani pada tahun 2013 oleh Adam Back, CEO Blockstream; dan kemudian Gregory Maxwell -Pengembang Bitcoin- akan memperluas analisisnya. Maxwell akan menyoroti masalah yang disebutkan di bagian sebelumnya (yaitu kesepadanan dan lemahnya "nama samaran"), dan mengusulkan solusi. Jumlah yang dikirim dapat dilindungi dari seluruh jaringan, sehingga hanya pihak-pihak yang terlibat dalam transaksi yang dapat mengetahui data tersebut.

Dalam keadaan normal (dengan transaksi yang terlihat secara publik), mudah bagi sebuah node untuk memverifikasi bahwa jumlah yang diterima tidak melebihi jumlah yang dikirim. Jika Alice ingin mengirim Bob 0,3 BTC, dia akan mengambil output yang belum terpakai (katakanlah 1 BTC) dan membaginya menjadi dua bagian: 0,3 yang akan dia kirim ke Bob, dan 0,69 yang akan dia kirim kembali ke dirinya sendiri (perbedaannya Apa yang hilang sesuai dengan pengurangan komisi penambangan).

Untuk node lainnya, ini adalah aljabar sederhana: 1 lebih besar dari 0,3 + 0,69, semua tanda tangan benar, dan masukan Alice belum digunakan di tempat lain, jadi transaksi harus valid. Namun, ketika kuantitasnya dikaburkan, segala sesuatunya menjadi tidak lagi sepele. Bagaimana Anda bisa mengevaluasi apakah suatu besaran yang tidak diketahui sama dengan atau melebihi jumlah dua besaran yang tidak diketahui lainnya?


Ikhtisar kriptografi yang terlibat

Untuk menyembunyikan data, diperlukan enkripsi. Namun, metode tradisional sebanding dengan menyimpan dokumen di brankas: setelah terkunci di dalam, dokumen tersebut tidak dapat digunakan sampai brankas tersebut dilepas. Yang kami perlukan agar Transaksi Rahasia dapat berfungsi adalah brankas digital yang tidak mengungkapkan isinya, namun propertinya dapat diverifikasi oleh pihak luar.

Jawaban atas pertanyaan ini terletak pada enkripsi homomorfik, khususnya dalam skema yang disebut "komitmen Pedersen". Jenis enkripsi ini memungkinkan pihak luar melakukan operasi pada data terenkripsi (yang tidak dapat mereka lihat) untuk sejumlah tujuan.

Hash biasa dapat digunakan untuk memasukkan data yang ingin Anda ungkapkan nanti. Bayangkan Anda ingin mengumumkan kompetisi di jejaring sosial, di mana siapa pun yang menebak bursa favorit Anda akan memenangkan hadiah sebesar 0,01 BTC. Peserta mungkin ragu bahwa Anda akan dapat melihat jawabannya setelah kompetisi selesai, dan Anda dapat memilih pertukaran yang belum disebutkan.

Apa yang dapat Anda lakukan adalah memberikan hash kepada pengikut Anda: serangkaian angka dan karakter acak yang dipetakan ke entri tertentu. Anda meneruskan pertukaran Anda melalui suatu fungsi untuk mendapatkan hasil tertentu. Kami akan mengilustrasikannya dengan algoritma SHA256:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


Melihat ini, Anda tidak tahu apa masukannya. Anda juga tidak dapat membalikkan fungsi untuk mendapatkannya. Namun, jika Anda mengetahui entrinya adalah "Binance", Anda dapat dengan mudah memverifikasi bahwa hash Anda cocok dengan yang disebutkan di atas. Dengan cara ini, pengikut Anda yakin bahwa Anda tidak akan mengubah jawaban Anda pada akhir kompetisi, karena ini akan memberikan hasil yang sangat berbeda.

Namun, secara realistis, hal ini tidak terlalu aman. Meskipun pengikut Anda tidak dapat merekayasa balik algoritme, mereka dapat membuat daftar perdagangan potensial, melakukan hashing pada masing-masing perdagangan hingga mendapatkan kecocokan. Kita dapat mengurangi kemungkinan hal ini dengan menambahkan beberapa data acak yang disebut faktor buta ke data yang akan kita hash. 

Jika kita memasukkan "Binance adalah bursa favorit saya, saya lebih menyukainya dibandingkan bursa lainnya 2#43Wr", maka akan lebih sulit bagi lawan untuk menebaknya (dan untuk 0,01 BTC, tentu tidak mungkin ada orang yang akan mencobanya).

Komitmen Pedersen memungkinkan kami menambahkan kontribusi di balik komitmen tersebut. Seperti yang diilustrasikan Maxwell:


C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)

Dimana BF adalah faktor yang membutakan dan D adalah datanya.


Ada beberapa langkah lagi dari sini yang melibatkan kriptografi kurva elips dan pengujian jangkauan, namun ide dasarnya adalah bahwa pengguna memiliki komitmen yang kuat terhadap alamatnya. Saat mengirim dana, dua komitmen tambahan dibuat (satu untuk alamat perubahan yang akan dikembalikan ke pengguna dan satu lagi untuk alamat tujuan).

Tidak ada yang mengetahui berapa banyak yang dikirim, namun mereka dapat memverifikasi bahwa komitmen pertukaran dan tujuan (sisi kiri persamaan Maxwell) berjumlah alamat sumber (sisi kanan persamaan). Jika evaluasi ini benar, maka transaksi pengguna valid, karena input dapat ditunjukkan sama dengan output.


Apa saja kemampuan Transaksi Rahasia?

Jika transaksi rahasia diterapkan dalam Bitcoin, kita akan menikmati sistem yang lebih privat. Baik input maupun output akan disembunyikan dari jaringan yang lebih luas, dan entri dalam buku besar akan dikaburkan, namun node masih dapat memverifikasi keasliannya. Dengan peningkatan privasi yang sangat besar ini, bitcoin dapat menjadi sepadan secara efektif, karena analisis on-chain tidak lagi mengungkap sejarah unit tertentu.

Mengenai apakah transaksi rahasia akan diintegrasikan ke dalam protokol, tampaknya hal tersebut tidak mungkin dilakukan saat ini. Dengan fungsi tambahan ini, transaksi menjadi jauh lebih besar dibandingkan transaksi standar: mengingat terbatasnya ruang blok, hal ini hanya akan meningkatkan permintaan. Hal ini juga mengharuskan mayoritas peserta setuju untuk mengubah kode etik, sebuah tugas yang secara tradisional terbukti sulit.


Kesimpulannya

Transaksi rahasia telah mengalami beberapa iterasi pada mata uang kripto dan sidechain Bitcoin lainnya. Misalnya, Monero menggunakannya dalam kombinasi dengan konstruksi yang disebut tanda tangan cincin untuk mencapai anonimitas dan kesepadanan. Sidechain Liquid menerapkannya untuk privasi yang lebih baik, dan MimbleWimble memperluasnya ke titik akhir yang sama.

Dari segi manfaat yang didapat, Transaksi Rahasia memiliki dampak yang lebih besar. Mata uang kripto sering kali mengalami kesulitan dengan skalabilitas dan kinerja pada lapisan dasar, dan ukuran transaksi yang lebih besar tidak menarik bagi semua orang. Meskipun demikian, pendukung privasi percaya bahwa penting untuk menyembunyikan jumlah transaksi dan agar peserta benar-benar mengizinkan mata uang kripto berfungsi sebagai uang yang dapat dipertukarkan.