Mengapa transfer USDT butuh 65,000 energi, dan 131,000 untuk alamat kosong
Tanyakan berapa energi yang dibutuhkan sebuah transfer USDT di TRON dan setiap sumber memberi dua jawaban yang sama: sekitar 65,000 unit, atau sekitar 131,000 bila penerimanya tidak memegang USDT. Pada tarif pembakaran jaringan sebesar 100 sun per unit, itulah 6.5 TRX dan 13.1 TRX yang ditampilkan dompet sebagai biayanya. Nyaris tak ada yang menyebut dari mana kedua angka itu berasal. Kami bertanya kepada sebuah node, dan pembukuannya sendiri membelah masing-masing angka itu menjadi dua. Lebih dari tiga perempat energinya adalah biaya tambahan di bawah model energi dinamis jaringan, dan USDT membayarnya pada faktor tertinggi yang diizinkan jaringan. Tambahan 66,000 untuk alamat tanpa USDT adalah 15,000 unit pekerjaan ekstra yang membawa biaya tambahan yang sama.
Apa yang dilaporkan node untuk satu transfer
Sebuah node bisa menjalankan panggilan kontrak tanpa mengirimkannya. Ia mengeksekusi panggilan itu terhadap salinan rantainya sendiri dan membuang hasilnya setelah menjawab, sehingga tidak ada yang ditandatangani atau dibayar. Pada 7 September 2026 kami menjalankan empat panggilan seperti itu, masing-masing berupa transfer dengan jumlah terkecil, satu unit atau sepersejuta USDT, dari dompet yang memegang ribuan, ke empat jenis penerima: dengan atau tanpa USDT, dengan atau tanpa akun di rantai. Beberapa menit kemudian kami menjalankan set itu lagi pada alamat yang berbeda, delapan panggilan seluruhnya.
Setiap jawaban membawa angka yang dikutip semua orang, energy_used, dan satu angka kedua di sebelahnya, energy_penalty. Kedua putaran memberi pasangan yang sama untuk setiap jenis penerima:
| Penerima, 7 September 2026 | energy_used | energy_penalty | Selisih |
|---|---|---|---|
| Memegang USDT, akun diaktifkan | 64,285 | 49,635 | 14,650 |
| Memegang USDT, belum pernah diaktifkan | 64,285 | 49,635 | 14,650 |
| Tanpa USDT, akun diaktifkan | 130,285 | 100,635 | 29,650 |
| Tanpa USDT, belum pernah diaktifkan | 130,285 | 100,635 | 29,650 |
Apakah penerima punya akun atau tidak, itu tidak membuat perbedaan: alamat yang belum pernah didengar jaringan berbiaya sama dengan alamat lama yang saldonya sama. Yang menentukan adalah saldonya, dan garisnya ada di nol. Pada putaran kedua, penerima yang memegang satu unit USDT, sepersejuta token, mendapat angka yang lebih murah. Apa artinya itu bagi sebuah pesanan ada di tulisan tentang akun yang belum aktif.
Pada 27 Oktober 2026 kami menjalankan dua dari panggilan itu sekali lagi, dari dompet yang sama ke dua alamat yang sama, satu memegang USDT dan satu kosong. Keduanya kembali dengan energy_used yang sama dan energy_penalty yang sama seperti pada September, tepat sampai ke unitnya.
Biaya tambahan dan parameternya
Rantai ini punya sakelar untuk apa yang ia sebut energi dinamis, dan setiap kontrak membawa energy_factor-nya sendiri. Tiga parameter jaringan lain menyertainya, dan dilihat dari namanya, ketiganya adalah ambang pemakaian, langkah kenaikan faktor, dan sebuah plafon: kontrak yang dipakai secara intensif membayar lebih banyak energi untuk setiap panggilan. Kami membaca parameter itu pada 3 September 2026 dan sekali lagi pada 27 Oktober, ketika kami juga membaca faktor milik USDT sendiri. Parameternya tidak bergerak di antara kedua pembacaan itu.
| Dibaca dari rantai | Nilai |
|---|---|
Energi dinamis dinyalakan, getAllowDynamicEnergy | 1 |
Ambang, getDynamicEnergyThreshold | 5,000,000,000 |
Langkah, getDynamicEnergyIncreaseFactor | 2,000 |
Plafon, getDynamicEnergyMaxFactor | 34,000 |
energy_factor milik USDT, 27 Oktober 2026 | 34,000 |
Tarif pembakaran dalam sun per unit, getEnergyFee | 100 |
USDT berada di plafon. Pada malam yang sama ketika kami membaca faktor itu, transfer ke pemegang melaporkan energy_penalty yang sama seperti pada September, jadi angka-angka September pun cocok dengan faktor 34,000.
Membelah 65,000 dan 131,000
Bacalah energy_penalty sebagai biaya tambahan dan sisanya sebagai pekerjaan panggilan itu sendiri, biaya dasarnya. Kedua jenis transfer itu lalu berbeda sebesar 15,000 unit pekerjaan dan 51,000 unit biaya tambahan:
| Energi per transfer | Memegang USDT | Tanpa USDT | Selisih |
|---|---|---|---|
| Biaya dasar | 14,650 | 29,650 | 15,000 |
| Biaya tambahan | 49,635 | 100,635 | 51,000 |
| Total | 64,285 | 130,285 | 66,000 |
Aritmetika di kolom selisih persis: tambahan 15,000 unit pekerjaan membawa 51,000 unit biaya tambahan, tujuh belas untuk setiap lima, yaitu faktor 34,000 yang dihitung per sepuluh ribu bagian. Jadi 66,000 yang memisahkan kedua angka yang dikutip itu adalah satu blok pekerjaan ekstra, dengan biaya tambahan pada faktor milik USDT.
Sisa panggilannya meleset sedikit dari tarif itu. Tujuh belas per lima dari 14,650 adalah 49,810, dan node melaporkan 49,635, yang berarti 175 unit lebih rendah. Kasus saldo kosong juga 175 unit lebih rendah, jadi celahnya ada di pekerjaan yang sama-sama dilakukan kedua jenis. Karena 49,635 bukan tujuh belas per lima dari bilangan bulat mana pun, selisih itu tidak mungkin berupa bagian panggilan yang lolos dari biaya tambahan, dan faktornya terbaca 34,000 pada malam ketika panggilan yang sama melaporkan penalti yang sama. Polanya tampak seperti pembulatan, dengan biaya tambahan yang dihitung satu per satu pada banyak langkah kecil dalam panggilan itu. Itu tidak kami cocokkan dengan kode node-nya, jadi tabel mencetak apa yang dilaporkan node dan membiarkan 175 itu tanpa penjelasan.
Apa 15,000 unit pekerjaan tambahan itu
Saldo USDT adalah satu entri di penyimpanan milik kontrak token itu sendiri, terpisah dari akun TRON, dan begitulah sebuah alamat tanpa akun bisa memegang USDT. Transfer ke alamat yang punya saldo menimpa entri yang sudah berisi sebuah angka. Transfer ke saldo nol menulis ke entri yang kosong. Penjelasan lazim untuk celah itu adalah bahwa menulis ke entri kosong lebih mahal daripada menimpa, dan 15,000 cocok dengannya. Pengukuran kami mengukur biayanya tanpa menguji alasan itu, jadi anggaplah ia penjelasan yang selaras dengan angka-angkanya.
Kalau penjelasan itu benar, alamat yang dulu memegang USDT lalu mengirim semuanya ke tempat lain seharusnya berbiaya angka yang lebih tinggi, karena entrinya kembali ke nol. Setidaknya satu halaman di hasil pencarian mengatakan alamat seperti itu mungkin tetap mendapat angka yang lebih rendah. Kami tidak merencanakan pengukuran untuk kasus ini, dan salah satu yang tercatat toh mencakupnya. Sebuah alamat penerima bersaldo nol pada putaran pertama diambil dari umpan transfer USDT sebagai pengirim: tepat satu minggu sebelum pengukuran, ia mengirim sedikit lebih dari empat puluh empat USDT. Jadi ia pernah memegang USDT dan sudah dikosongkan, dan transfer kepadanya mencapai 130,285, sama dengan alamat yang dibuat untuk putaran itu. Itu satu alamat, dibaca satu kali.
Dari 64,285 ke 65,000
Angka bulatnya berada tepat di atas angka yang terukur. Layanan kami membulatkan ke atas dengan cara yang sama: sebuah pesanan di sini diukur pada 65,000 atau 131,000 unit untuk kedua jenis transfer, terhadap kebutuhan terukur 64,285 dan 130,285. Itu menyisakan ruang 715 unit di kedua kasus. Membulatkan ke atas adalah sisi yang aman, karena transfer yang kekurangan energi akan membakar TRX pengirim untuk sisanya atau, bila tidak ada yang boleh dibakar, gagal dengan energi yang sudah terpakai (seperti apa kegagalan itu). Dibakar, bukan disewa, angka-angka terukur itu jatuh sedikit di bawah angka bulatnya:
| Penerima | Energi terukur | Dibakar pada 100 sun per unit |
|---|---|---|
| Memegang USDT | 64,285 unit | 6.4285 TRX |
| Tanpa USDT | 130,285 unit | 13.0285 TRX |
Kedua angka itu hanya energi. Sebuah transfer juga memakai bandwidth, meteran terpisah dengan tagihan yang jauh lebih kecil (energi dan bandwidth berdampingan).
Apa yang akan menggeser angka-angkanya
Tuas pertama adalah faktornya. Ia milik kontrak, dan dilihat dari nama parameternya, ia naik bertahap seiring pemakaian kontrak, sampai ke plafon. USDT kini berada di plafon, jadi dari sini faktornya hanya bisa bertahan atau turun, kecuali plafonnya sendiri diubah. Ambang, langkah, dan plafon adalah parameter jaringan, yang bisa diubah oleh tata kelola jaringan. Di plafon, biaya tambahan lebih dari tiga perempat dari apa yang dipakai sebuah transfer USDT. Dengan angka-angka ini, tanpa biaya tambahan itu transfer yang sama ke pemegang akan sampai pada biaya dasarnya, 14,650 unit.
Yang kedua adalah tarif pembakaran, getEnergyFee, 100 sun per unit pada kedua hari kami membacanya. Ia menentukan berapa TRX yang dibutuhkan untuk membakar energi itu, dan jumlah energinya tetap sama berapa pun nilainya. Jaringan pernah mengubahnya sebelumnya, dan panduan tentang biayanya menunjukkan aritmetikanya pada tarif hari ini. Sisi energinya tidak bergerak dalam tujuh minggu di antara dua set pengukuran kami: 64,285 dan 130,285, sama di kedua set pengukuran.
Periksa angka mana yang berlaku untuk sebuah penerima sebelum apa pun ditandatangani: GET /v1/address-check di referensi API →