Transaksi Sulit Monero RingCT Dijelaskan
Transaksi Sulit Monero RingCT Dijelaskan
Buka mana-mana penjelajah blok Bitcoin dan anda boleh membaca jumlah tepat setiap transaksi yang pernah dibuat — sehingga ke satoshi terakhir. Taipkan satu alamat dan anda boleh memerhati bakinya, menjejaki dari mana syiling itu datang, dan mengikuti ke mana ia pergi. Ketelusan itu memang sengaja direka begitu, dan itulah juga sebabnya satu gaji, satu derma, atau satu deposit cuai boleh mendedahkan identiti seluruh dompet. Monero mengambil pendirian yang bertentangan: pada rantaiannya, jumlah itu sendiri disembunyikan. Teknologi yang menjadikan ini mungkin ialah RingCT, singkatan bagi Ring Confidential Transactions.
RingCT ialah sebab transaksi Monero muncul pada lejar awam sebagai satu komitmen kriptografi dan bukannya nombor yang boleh dibaca. Ia mula beroperasi pada Januari 2017 dan menjadi wajib bagi semua transaksi pada tahun yang sama, dan setiap XMR yang anda hantar melalui dompet — atau yang anda peroleh melalui perkhidmatan tanpa akaun seperti MoneroSwapper — dilindungi olehnya. Artikel ini menghuraikan apa yang dilakukan RingCT, matematik yang membenarkan rangkaian mengesahkan transaksi tanpa melihat jumlahnya, bagaimana ia berkembang menerusi Bulletproofs dan Bulletproofs+, dan ke mana ia menuju seterusnya dengan FCMP++.
Mengapa menyembunyikan jumlah itu penting
Privasi pada blockchain bukan satu ciri tunggal; ia tiga masalah yang perlu diselesaikan serentak. Biarkan salah satu daripadanya terdedah dan dua yang lain akan bocor menerusinya. Monero menyerang ketiga-tiganya, dan RingCT memegang masalah yang ketiga.
- Siapa menghantar: dikendalikan oleh tandatangan cincin (ring signatures), yang menandatangani transaksi bagi pihak sekumpulan pembelanja yang mungkin supaya pemerhati tidak dapat mengetahui input mana yang sebenar.
- Siapa menerima: dikendalikan oleh teknologi alamat siluman (stealth address), yang menjana alamat sekali guna yang unik bagi setiap pembayaran supaya dana tidak pernah mendarat pada alamat awam yang boleh diguna semula.
- Berapa banyak dihantar: dikendalikan oleh RingCT, yang menyulitkan jumlah itu dalam satu komitmen Pedersen sambil tetap membenarkan setiap nod mengesahkan bahawa kira-kira itu seimbang.
Sebelum RingCT wujud, Monero menyembunyikan penghantar dan penerima tetapi membiarkan jumlah dalam teks biasa. Untuk mendapat sebarang privasi jumlah sekalipun, protokol itu memaksa transaksi ke dalam denominasi tetap — bayangkan 0.01, 0.1, 1, 10 — sama seperti cara anda mungkin membayar sesuatu dengan duit syiling yang tepat. Itu membocorkan maklumat dalam jumlah yang mengejutkan. Set umpan yang munasabah bagi output 7.3 XMR jauh lebih kecil berbanding set bagi output tersembunyi, kerana umpan itu terpaksa sepadan dengan denominasi tersebut. Jumlah yang kelihatan juga membenarkan penganalisis mengaitkan transaksi dengan menjejaki nilai yang sama merentas rantaian.
Jumlah sulit menutup lubang itu. Sebaik sahaja nilai disulitkan, setiap output kelihatan serupa dari segi struktur dengan setiap output lain, dan inilah asas kebolehgantian (fungibility) — sifat bahawa satu unit XMR boleh ditukar ganti dengan mana-mana unit lain, tanpa sebarang sejarah "tercemar" yang boleh ditolak oleh peniaga atau bursa. Hal ini semakin penting setiap tahun. Selepas Binance menarik XMR daripada papan dagangannya pada awal 2024 dan beberapa bursa Eropah turut mengikut, hujah bagi syiling yang unit individunya tidak boleh ditapis atau disenarai hitam menjadi semakin kukuh. Di Malaysia sendiri, Suruhanjaya Sekuriti (SC) pernah mengarahkan Binance menghentikan operasinya pada 2021 — satu peringatan bahawa akses kepada bursa berpusat boleh dicabut bila-bila masa.
Apa sebenarnya RingCT dan bagaimana ia berfungsi
Bahagian "CT" dalam RingCT — Confidential Transactions — ialah bahagian yang menyembunyikan jumlah, dan ia bersandar pada satu kepingan kriptografi yang dipanggil komitmen Pedersen. Bahagian "Ring" pula mengikat penyembunyian jumlah itu ke dalam skema tandatangan cincin sedia ada Monero supaya penghantar turut kekal tanpa nama. Ada baiknya kita ambil kedua-dua idea ini secara berasingan.
Komitmen Pedersen: menyulitkan nombor yang masih boleh dikira
Komitmen ialah cara untuk mengunci sesuatu nilai supaya anda tidak boleh mengubahnya kemudian, tanpa mendedahkan apa nilai itu. Komitmen Pedersen kepada satu jumlah kelihatan seperti C = xG + aH, di mana a ialah jumlah sebenar, x ialah satu rahsia rawak yang dipanggil faktor pengaburan (blinding factor), dan G serta H ialah titik tetap pada satu lengkung eliptik. Faktor pengaburan inilah yang menjadikan komitmen itu legap: tanpanya, dua output yang bernilai sama menghasilkan komitmen yang kelihatan benar-benar berbeza, jadi anda tidak dapat mengetahui bahawa kedua-duanya sama.
Sifat ajaibnya ialah komitmen ini bersifat tambahan, atau homomorfik. Jumlahkan semua komitmen bagi semua input kepada satu transaksi, jumlahkan pula semua komitmen bagi semua output campur yuran, dan jika jumlah sebenar itu seimbang, kedua-dua hasil tambah itu merupakan komitmen kepada jumlah keseluruhan yang sama. Penghantar menyusun faktor pengaburan supaya input tolak output menjadi komitmen kepada sifar. Setiap nod pada rangkaian boleh menyemak persamaan itu — mengesahkan bahawa tiada syiling dicipta atau dimusnahkan — tanpa pernah mengetahui satu jumlah pun dalam transaksi tersebut.
Seluruh helah RingCT ialah rangkaian boleh membuktikan kira-kira itu seimbang sehingga ke satoshi terakhir, sambil secara matematik tidak mampu membaca mana-mana butiran baris secara individu.
Bukti julat: menghalang sesiapa daripada mencipta syiling daripada ketiadaan
Keseimbangan homomorfik ada satu kelemahan berbahaya. Oleh sebab jumlah itu disembunyikan, seorang penghantar berniat jahat boleh cuba membuat komitmen kepada jumlah negatif, yang berkat aritmetik modular akan berpusing kembali menjadi nombor positif yang amat besar dan membenarkan mereka mengeluarkan XMR daripada udara kosong. Untuk menghalang ini, setiap output sulit dihantar bersama satu bukti julat: jaminan kriptografi bahawa jumlah yang dikomit itu terletak dalam julat yang sah — antara sifar dan 2⁶⁴ — tanpa mendedahkan di mana dalam julat itu ia jatuh.
Bukti julat ialah tempat kebanyakan saiz dan kos RingCT bersarang, dan tempat penambahbaikan terbesar berlaku. Pelaksanaan asal pada 2017 menggunakan tandatangan cincin Borromean, yang betul tetapi besar: satu transaksi dua-output yang biasa membawa kira-kira 13 KB data bukti julat, menjadikan transaksi Monero besar dan yurannya agak tinggi. Menggantikan jentera itu telah menjadi kisah pengoptimuman utama protokol ini sejak itu.
Evolusi RingCT: Bulletproofs, Bulletproofs+, dan CLSAG
RingCT bukan sesuatu yang tetap — ia telah direka semula beberapa kali menerusi hard fork Monero yang berlaku kira-kira dua kali setahun, setiap kali menjadi lebih kecil dan lebih pantas sambil mengekalkan jaminan privasi yang sama. Naik taraf utamanya:
| Naik taraf | Diaktifkan | Apa yang berubah |
|---|---|---|
| RingCT (Borromean) | Jan 2017, wajib Sep 2017 | Memperkenalkan jumlah tersembunyi menerusi komitmen Pedersen dan bukti julat Borromean. |
| Bulletproofs | Okt 2018 | Menggantikan bukti Borromean; memotong bukti julat transaksi 2-output daripada ~13 KB kepada ~2.5 KB, mengecilkan jumlah saiz transaksi ~80% dan yuran ~95%+. |
| CLSAG | Okt 2020 | Menggantikan tandatangan cincin MLSAG; tandatangan ~25% lebih kecil dan pengesahan jauh lebih pantas. |
| Bulletproofs+ | Ogos 2022 | Memperhalus Bulletproofs untuk pemotongan saiz lanjut dan pengesahan lebih pantas; fork yang sama menaikkan saiz cincin kepada 16 dan menambah view tags. |
Bulletproofs, yang digunakan dalam hard fork Oktober 2018, ialah titik perubahannya. Dengan beralih kepada bukti julat bersaiz logaritma, data yang dilampirkan pada setiap transaksi mengecil secara mendadak, dan yuran median jatuh daripada beberapa dolar kepada pecahan sen. Ia merupakan satu perubahan tunggal yang paling bertanggungjawab menjadikan Monero murah untuk digunakan hari ini. Bulletproofs+ pada Ogos 2022 memerah keluar margin tambahan dan mempercepatkan pengesahan, yang penting kerana setiap nod terpaksa menyemak setiap bukti.
Bahagian tandatangan cincin pula berkembang secara selari. CLSAG (Concise Linkable Spontaneous Anonymous Group signatures) menggantikan binaan MLSAG yang lebih lama pada Oktober 2020, menjadikan komponen penyembunyi-penghantar kira-kira suku lebih kecil dan lebih pantas untuk disahkan. Fork Ogos 2022 yang sama yang membawa Bulletproofs+ turut menaikkan saiz cincin wajib daripada 11 kepada 16 — bermakna setiap output yang dibelanjakan kini disembunyikan dalam kalangan 15 umpan dan bukan lagi 10 — serta memperkenalkan view tags, satu pengoptimuman kecil yang membenarkan dompet melangkau kebanyakan kerja semasa mengimbas rantaian untuk dana masuk.
Bagaimana transaksi RingCT dibina, langkah demi langkah
Ada baiknya kita melihat bagaimana cebisan-cebisan ini bercantum apabila dompet anda menghantar XMR. Tiada satu pun daripada ini memerlukan tindakan daripada anda — dompet melakukannya dalam satu atau dua saat — tetapi memahami urutannya menyahmisterikan apa yang sebenarnya berada pada rantaian.
- Pilih input sebenar dan umpan. Dompet memilih output yang sebenarnya anda belanjakan dan menarik 15 output sebenar lain daripada rantaian untuk berkhidmat sebagai umpan, lalu membentuk satu cincin 16 sumber yang munasabah.
- Jana imej kunci. Satu imej kunci unik diterbitkan daripada output sebenar. Itulah yang membenarkan rangkaian mengesan perbelanjaan berganda (double-spend), namun ia tidak boleh dikaitkan kembali kepada ahli cincin mana ia berasal.
- Cipta output siluman. Bagi setiap penerima, dompet mengira satu alamat siluman sekali guna supaya pembayaran itu tidak boleh diikat kepada alamat awam penerima.
- Komit jumlah. Setiap jumlah output dibalut dalam satu komitmen Pedersen dengan faktor pengaburan rawak, dan faktor pengaburan itu diseimbangkan supaya input tolak output tolak yuran menjadi komitmen kepada sifar.
- Lampirkan bukti julat. Satu bukti julat Bulletproofs+ dijana bagi setiap output, membuktikan jumlah tersembunyi itu bukan negatif dan berada dalam julat.
- Tandatangan dengan CLSAG dan siarkan. Tandatangan cincin CLSAG memberi kuasa kepada perbelanjaan itu bagi pihak seluruh cincin, dan transaksi itu disampaikan — dirambatkan menerusi Dandelion++ untuk mengaburkan alamat IP asal sebelum ia tiba di mempool awam.
Hasil yang mendarat pada blockchain tidak mengandungi penghantar yang boleh dibaca, penerima yang boleh dibaca, mahupun jumlah yang boleh dibaca — hanya komitmen, bukti, dan satu cincin kemungkinan — namun ia tetap boleh disahkan sepenuhnya oleh setiap nod.
RingCT berbanding cara privasi yang lain
Bukan Monero sahaja yang cuba menyembunyikan jumlah, tetapi pendekatannya berbeza secara asas. Pada Bitcoin, perkhidmatan campuran (mixer) seperti CoinJoin cuba mengelirukan jejak dengan menggabungkan banyak pembayaran, namun jumlahnya tetap kelihatan pada lejar, jadi penganalisis sering boleh menyusun semula siapa membayar siapa hanya dengan memadankan nilai. Ia privasi yang ditampal di atas rantaian telus, bukan privasi yang terbina dalam.
Zcash pula mengambil jalan kriptografi yang berbeza dengan zk-SNARKs, yang boleh menyembunyikan penghantar, penerima, dan jumlah sekali gus dalam transaksi terlindung. Masalahnya, pada Zcash perlindungan itu bersifat pilihan — kebanyakan transaksi kekal telus — jadi kolam transaksi peribadi itu kecil dan menonjol. Pada Monero, RingCT dan rakan-rakannya wajib bagi setiap transaksi sejak 2017, jadi tiada "mod awam" untuk anda tersilap pilih dan tiada subset pengguna yang menonjol semata-mata kerana memilih privasi.
Inilah perbezaan yang penting bagi pengguna di Malaysia dan rantau ini: pada Monero, anda tidak perlu mengingati untuk "menghidupkan" privasi atau membayar lebih untuknya. Setiap XMR yang anda terima sudah pun seragam dengan setiap XMR yang lain, dan itu menjadikan kebolehgantian sebagai keadaan lalai, bukannya satu ciri tambahan.
Apa erti transaksi sulit bagi anda dalam amalan
Pulangan praktikal RingCT ialah kebolehgantian dan ketahanan terhadap pengawasan, dan ia muncul dalam situasi yang nyata. Pertimbangkan seorang pekerja bebas yang dibayar dalam kripto. Pada rantaian telus, setiap klien boleh melihat baki penuh dompet itu dan setiap pembayaran lain yang pernah ia terima; satu alamat yang terdedah identitinya membongkar segala-galanya. Pada Monero, pembayaran masuk itu ialah output siluman dengan jumlah tersembunyi — klien tidak mengetahui apa-apa selain transaksi yang mereka hantar sendiri.
Ia juga mengubah cara "analisis rantaian" bekerja terhadap anda. Firma yang menjual forensik blockchain membina perniagaan mereka di atas pengelompokan alamat dan penjejakan jumlah. RingCT membuang isyarat jumlah sepenuhnya, tandatangan cincin mengeruhkan sumber, dan alamat siluman memutuskan pautan destinasi. Tiada baki untuk dicari dan tiada jejak wang yang bersih untuk diikuti, dan itulah sebabnya penjejakan syiling privasi kekal sebagai masalah yang belum selesai, bukannya satu ciri produk.
Inilah juga sebabnya cara perolehan itu penting. Jika anda membeli XMR di tempat yang diawasi ketat yang mengikat identiti anda kepada satu output tertentu pada rantaian, anda telah mencipta satu titik permulaan yang diketahui walaupun rantaian itu sendiri bersifat peribadi. Menggunakan perkhidmatan pertukaran seperti MoneroSwapper yang tidak memegang akaun atau menuntut dokumen pengenalan mengekalkan lompatan pertama itu bersih, supaya kerahsiaan yang RingCT berikan pada rantaian tidak dilemahkan oleh jejak kertas di luar rantaian. Tiada satu pun daripada ini merupakan nasihat cukai — di Malaysia, LHDN masih boleh menganggap keuntungan daripada perdagangan kripto yang kerap dan aktif sebagai pendapatan bercukai di bawah Akta Cukai Pendapatan 1967, tanpa mengira betapa peribadinya rantaian itu — tetapi ia bermakna rangkaian itu sendiri tidak menyiarkan kewangan anda kepada sesiapa yang memiliki penjelajah blok.
Ke mana RingCT menuju seterusnya: FCMP++
Penyembunyian jumlah oleh RingCT amat kukuh, tetapi ketanpanamaan penghantarnya ada satu siling teori: satu cincin 16 bermakna perbelanjaan sebenar itu ialah satu daripada 16 calon, dan analisis statistik kadangkala boleh mengikis peluang tersebut. Jawapan Monero, dalam pembangunan aktif menerusi 2025 dan 2026, ialah FCMP++ — full-chain membership proofs. Daripada menyembunyikan perbelanjaan dalam kalangan 15 umpan, FCMP++ akan menyembunyikannya dalam kalangan setiap output layak yang pernah wujud pada rantaian, lalu mengembangkan set ketanpanamaan daripada 16 kepada puluhan juta.
Yang pentingnya, FCMP++ menggantikan komponen tandatangan cincin, bukan komponen transaksi sulit. Komitmen Pedersen dan bukti julat Bulletproofs+ yang menyembunyikan jumlah kekal di tempatnya; apa yang berubah ialah cara keahlian dalam set yang boleh dibelanjakan itu dibuktikan. Lebih jauh ke hadapan, protokol transaksi Seraphis dan skema pengalamatan Jamtis direka untuk dibina di atas asas ini. Pengajaran bagi pengguna mudah sahaja: privasi jumlah menerusi RingCT ialah bahagian Monero yang sudah matang dan mantap, dan protokol itu terus mengukuhkan bahagian-bahagian di sekelilingnya.
Soalan Lazim
Apa sebenarnya yang disembunyikan RingCT?
RingCT menyembunyikan jumlah sesuatu transaksi Monero. Ia menyulitkan setiap nilai dalam satu komitmen Pedersen supaya angka itu tidak pernah ditulis dalam teks biasa pada blockchain, sambil tetap membenarkan setiap nod mengesahkan bahawa input sama dengan output campur yuran. Penghantar dan penerima disembunyikan oleh mekanisme yang berasingan — tandatangan cincin dan alamat siluman — yang RingCT bekerja bersamanya.
Jika jumlah disembunyikan, bagaimana rangkaian menghalang syiling palsu?
Dua perlindungan. Sifat homomorfik komitmen Pedersen membenarkan nod mengesahkan bahawa input dan output tersembunyi itu seimbang kepada sifar, jadi tiada nilai dicipta atau dimusnahkan. Dan satu bukti julat yang dilampirkan pada setiap output menjamin jumlah yang dikomit itu bukan negatif dan berada dalam julat yang sah, lalu menyekat helah limpahan yang sebaliknya akan dibenarkan oleh jumlah negatif tersembunyi.
Apa beza antara RingCT dan tandatangan cincin?
Kedua-duanya menyelesaikan masalah yang berbeza dan sering dikelirukan kerana namanya bertindih. Tandatangan cincin menyembunyikan siapa yang menghantar transaksi dengan menandatangani bagi pihak sekumpulan pembelanja yang mungkin. RingCT menyembunyikan berapa banyak dihantar menggunakan komitmen sulit. RingCT menyepadukan kedua-duanya supaya kedua-dua perlindungan terpakai pada transaksi yang sama.
Adakah Bulletproofs menggantikan RingCT?
Tidak. Bulletproofs dan Bulletproofs+ ialah naik taraf dalam RingCT — khususnya kepada komponen bukti julat. Ia menggantikan bukti julat Borromean yang lebih lama dan lebih besar, memotong saiz transaksi kira-kira 80% dan yuran melebihi 90%, tetapi rangka kerja RingCT keseluruhan dan jumlah tersembunyinya kekal sama.
Adakah RingCT akan dibuang apabila FCMP++ dilancarkan?
Tidak. FCMP++ ditetapkan untuk menggantikan tandatangan cincin Monero dengan full-chain membership proofs, lalu membesarkan set ketanpanamaan penghantar secara mendadak. Jentera jumlah sulit — komitmen Pedersen dan bukti julat Bulletproofs+ — dijangka kekal. Dengan kata lain, FCMP++ mengukuhkan privasi penghantar tanpa membatalkan privasi jumlah yang RingCT berikan.
Kesimpulan
RingCT ialah kuda kerja senyap bagi privasi Monero: ia menukar setiap jumlah pada rantaian menjadi satu komitmen yang boleh disahkan oleh rangkaian tetapi tidak boleh dibaca oleh sesiapa, dan ia berbuat demikian sementara bukti julat memastikan bekalan kekal jujur. Digabungkan dengan tandatangan cincin yang menyembunyikan penghantar dan alamat siluman yang menyembunyikan penerima, itulah sebabnya satu output Monero kelihatan serupa dengan setiap output lain dan tidak boleh ditapis, disenarai hitam, atau dijejaki mengikut nilai. Menerusi Bulletproofs, Bulletproofs+, dan CLSAG ia hanya menjadi semakin murah dan pantas, dan dengan FCMP++ di kaki langit, privasi di sekelilingnya terus mendalam. Jika anda mahu syiling yang membawa perlindungan ini dari saat anda memperolehnya, anda boleh beli Monero secara tanpa nama menerusi MoneroSwapper dan biarkan RingCT melakukan selebihnya pada saat anda bertransaksi.
🌍 Baca dalam