Analisis Transaksi Kompensasi, Penyelesaian Parsial, dan Batas Atomisitas dalam Pembayaran Lintas Rantai
Banyak institusi dan pengembang masih menganggap tanda terima transaksi yang berhasil di rantai pengirim sebagai bukti bahwa pembayaran telah selesai. Dalam sistem lintas rantai, anggapan itu sering kali keliru.
Dari peninjauan dokumentasi teknis dan pengamatan terhadap perilaku dasar dalam lingkungan terkendali, satu pola terus muncul: pendebitan pada rantai sumber dapat berhasil diselesaikan, sementara proses di tujuan masih bisa gagal pada tahap berikutnya. Jika itu terjadi, dana tidak otomatis dikembalikan. Sistem biasanya menjalankan **transaksi kompensasi**.
Atomisitas Parsial
Dokumentasi resmi Rayls (*Send Enygma Transactions* dan *How Enygma Works*) menjelaskan batas-batas atomisitas dengan jelas:
- Pemanggilan di sumber bersifat atomik — burn dan permintaan transfer berhasil atau gagal secara bersamaan.
- Setiap bagian transaksi di tujuan bersifat atomik — mint dan langkah program apa pun pada bagian tersebut berhasil atau gagal secara bersamaan.
- Semua bagian dari satu pembayaran **tidak** bersifat atomik. Setiap bagian dapat diselesaikan secara independen.
Dokumentasi menyatakan secara eksplisit bahwa “Kegagalan dibalikkan, bukan di-rollback.” Transaksi Hub dan mint di rantai tujuan adalah transaksi yang terpisah. Jika mint atau langkah program gagal di tujuan, relayer menjalankan transaksi kompensasi untuk mengembalikan nilai kepada pengirim. Ini bukan satu transaksi atomik lintas rantai.
Sampai pengembalian dana benar-benar diterima, saldo pengirim di rantai sumber tetap berkurang sebesar jumlah yang gagal.
Apa Itu Transaksi Kompensasi?
Transaksi kompensasi adalah transaksi **baru dan terpisah** yang dibuat untuk memperbaiki kegagalan. Transaksi ini bukan rollback dari transaksi awal.
Menurut dokumentasi RaylsEnygmaHandler, jika langkah program mana pun mengalami revert, seluruh bagian transaksi (termasuk mint) akan gagal. Relayer kemudian mengembalikan nilai kepada pengirim di rantai sumber melalui mekanisme kompensasi. Pengembalian dana muncul dengan **ID referensi yang sama** dan dicatat dengan status `RECEIVED` di rantai sumber, bukan sebagai revert murni atas debit awal.
Contoh sederhana yang sesuai dengan perilaku yang dijelaskan dalam dokumentasi:
- Sumber mendebit 10.
- Satu tujuan berhasil menerima 4.
- Tujuan lain gagal saat eksekusi.
- Transaksi kompensasi terpisah mengembalikan 6 kepada pengirim.
Hasil akhirnya adalah 4 terkirim + 6 dikembalikan = 10. Transaksi sumber awal tetap tercatat sebagai berhasil.
Diagram
Alur dasar:

Atomik vs. Multi-Bagian:

Contoh Penyelesaian Parsial:

Risiko Praktis yang Perlu Diperhatikan
Berdasarkan dokumentasi dan pengamatan di lingkungan terkendali, ada beberapa hal yang sering terlewatkan:
1. Pengembalian dana tidak terjadi seketika
Dokumentasi Rayls sendiri mencatat bahwa saldo pengirim tetap berkurang sampai pengembalian dana diterima. Keterlambatan relayer atau masalah dalam pembuatan bukti dapat membuat dana tertahan lebih lama dari yang diperkirakan.
2. Rekonsiliasi harus dilakukan untuk setiap bagian transaksi
Satu tanda terima dari sumber saja tidak cukup. Kita harus mencocokkan jumlah yang keluar dari sumber, yang tiba di setiap tujuan, yang gagal, dan yang benar-benar dikembalikan melalui transaksi kompensasi (biasanya dengan ID referensi yang sama).
3. Ketergantungan pada komponen off-chain
Deteksi kegagalan dan pengajuan pengembalian dana sering bergantung pada relayer. Bahkan dalam pengujian lokal, peringatan terkait komitmen saldo atau pembuatan bukti dapat muncul. Risiko ini lebih tinggi di lingkungan produksi.
4. Hasil terkendali ≠ jaminan produksi
Perilaku yang lancar di lingkungan uji dengan kegagalan yang sengaja dipicu tidak serta-merta berlaku di lingkungan produksi yang menghadapi beban bersamaan, masalah jaringan, atau inkonsistensi status.
Kesimpulan
Tanda terima yang berhasil di rantai sumber hanya membuktikan bahwa debit telah tercatat. Tanda terima itu tidak membuktikan bahwa setiap tujuan telah menerima dana, ataupun bahwa bagian yang gagal telah dikembalikan.
Eksekusi yang berhasil di sumber, penyelesaian di tujuan, dan pengembalian dana kompensasi adalah peristiwa yang saling berkaitan, tetapi **bukan peristiwa yang sama**. Memahami perbedaan ini penting saat merancang atau mengoperasikan alur penyelesaian lintas rantai.
Dokumentasi resmi Rayls sudah menjelaskan pola kompensasi ini secara terbuka. Hal pentingnya adalah tidak menganggap hasil dari lingkungan terkendali sebagai bukti penuh atas keandalan di lingkungan produksi.
---
Penafian:
Artikel ini merupakan analisis berdasarkan dokumentasi Rayls yang tersedia untuk umum dan pengamatan teknis di lingkungan terkendali. Artikel ini bukan audit formal, saran investasi, ataupun jaminan atas perilaku sistem apa pun di lingkungan produksi. Pembaca sebaiknya memverifikasi detail secara langsung melalui dokumentasi resmi.
Sumber
- Send Enygma Transactions: https://docs.rayls.com/docs/send-enygma-transactions
- How Enygma Works: https://docs.rayls.com/docs/how-enygma-works
- RaylsEnygmaHandler: https://docs.rayls.com/docs/raylsenygmahandler
