Utreexo memungkinkan node Bitcoin memeriksa bahwa dana yang hendak dibelanjakan belum dipakai sebelumnya, tanpa menyimpan daftar lengkap output yang belum dibelanjakan. Node adalah perangkat lunak yang memeriksa transaksi dan blok serta berkomunikasi dengan peserta jaringan lainnya. Node menyimpan sidik jari pemeriksaan yang kecil dan menerima catatan tertentu beserta bukti yang bisa diverifikasi. Aturan pembelanjaan dan jumlah bitcoin tidak berubah; ini bukan model bawaan Bitcoin Core.
Anna ingin mengirim bitcoin yang pernah diterimanya kepada Peter. Transaksinya karena itu merujuk pada pembayaran terdahulu. Catatan tersendiri tentang jumlah dan syarat membelanjakannya disebut output; selama belum dibelanjakan, itulah UTXO. Input transaksi baru memuat rujukan ke output terdahulu itu dan data yang diperlukan untuk membelanjakannya. Node harus memeriksa bahwa catatan itu benar-benar ada dan belum dibelanjakan Anna. Biasanya node memelihara UTXO set, basis data seluruh output yang saat ini belum dibelanjakan, bukan rekening pribadi beserta saldo. Pertumbuhannya menambah pekerjaan disk. Thaddeus Dryja memperkenalkan Utreexo pada 2019 untuk mengurangi beban lokal ini. [1] [6] [8]
Pertama, setiap catatan dihitung hash-nya untuk menghasilkan sidik jari singkat datanya. Dalam pohon Merkle, sidik jari digabungkan berpasangan lalu dihitung hash-nya lagi hingga mencapai sidik jari puncak, yaitu akar. Utreexo menggunakan beberapa pohon seperti ini; node pemeriksa dapat menyimpan akarnya alih-alih seluruh daftar. Untuk output Anna, node menerima data dan bukti berisi sidik jari tetangga yang diperlukan. Dari sana node menghitung ulang jalur ke akar dan membandingkan hasilnya dengan keadaan yang sudah dilacak. Pernyataan pengirim saja tidak cukup. Susunan ini disebut akumulator kriptografis: ia membuktikan bahwa suatu catatan termasuk dalam himpunan. Namun, akar bukan cadangan terkompresi yang bisa dibuka kembali untuk memulihkan semua catatan asli. [1] [2]
Data yang diterima dihitung hash-nya, lalu bukti memungkinkan pemeriksaan hubungannya dengan keadaan yang dilacak node. Bukti yang tidak sah tidak boleh diterima hanya karena berasal dari server yang dikenal. Tanda tangan digital membuktikan otorisasi pembayaran menggunakan kunci privat, sebuah nilai angka rahasia, tanpa mengungkap kunci itu. Skrip menetapkan syarat yang harus dipenuhi untuk membelanjakan sebuah output. Bahkan bukti keanggotaan yang sah tidak menggantikan pemeriksaan tanda tangan, skrip, jumlah, serta aturan transaksi dan blok lainnya. Utreexo mengubah penyimpanan keadaan, bukan memberi izin untuk melewatkan validasi. [2] [5] [8]
Seseorang tetap harus menyimpan cukup data untuk membangun bukti. Dokumentasi pustaka membedakan prover, yang menyimpan seluruh kumpulan pohon, dari verifier, yang hanya memerlukan akar. Pemeriksa dapat menyimpan sebagian bukti dalam cache, tetapi akar saja tidak cukup untuk menghasilkan sembarang bukti. Datanya tidak menghilang; yang berubah adalah pembagiannya di antara peserta. [2]
Blok mengelompokkan transaksi dalam satu kumpulan yang ditambahkan ke riwayat bersama. Output yang dibelanjakan dihapus dari himpunan yang dilacak, sedangkan output baru yang belum dibelanjakan ditambahkan. Bukti ikut berubah. Bukti yang disimpan untuk keadaan sebelumnya mungkin perlu diperbarui setelah blok-blok berikutnya. Dalam reorganisasi, jaringan beralih ke cabang rantai lain yang sah dan mengganti sebagian riwayat blok sebelumnya. Implementasi harus menangani pembaruan bukti, transaksi bersamaan, dan pengembalian keadaan saat reorganisasi rantai. Ini bukan sertifikat yang sekali diunduh lalu berlaku selamanya. [2] [3]
Pruned Node membuang data blok lama setelah memverifikasinya, tetapi secara tradisional tetap menyimpan basis data UTXO saat ini. Utreexo menyasar basis data itu. Keduanya menghemat hal berbeda dan dapat digabungkan. Pemangkasan maupun akumulator kecil tidak dengan sendirinya berarti node sudah memverifikasi masa lalu tanpa memprosesnya. Riwayat blok, keadaan saat ini, dan metode verifikasi awal merupakan tiga hal berbeda. [6] [5]
Bayangkan node baru mulai dari gambaran keadaan milik pihak lain, bukan memeriksa blok sejak awal. Node mengasumsikan keadaan awal itu benar. Akumulator kecil tidak menghapus kepercayaan ini: bukti berikutnya justru diperiksa terhadap keadaan yang diterima tersebut. Karena itu, pada AssumeUTXO penerimaan snapshot, yaitu rekaman keadaan pada waktu tertentu, harus dibedakan dari validasi riwayat berikutnya di latar belakang. Dokumentasi utreexod menjelaskan proses mulai bawaan dari keadaan yang ditetapkan dalam program. Itu saja bukan verifikasi mandiri atas seluruh blok sebelumnya. Cara memulai merupakan pilihan terpisah, bukan sifat bawaan Utreexo. [7] [3]
Implementasi utreexod menggunakan Utreexo untuk memvalidasi jaringan Bitcoin. Saat diperiksa pada 17 Oktober 2026, dokumentasinya menyebut status beta dan tidak menyarankan penggunaannya dengan dana bernilai berarti di mainnet. Dokumentasi juga mencantumkan --noassumeutreexo untuk menonaktifkan proses mulai dari keadaan yang diasumsikan. Ini bukan anjuran instalasi: sebelum menggunakan, periksa versi terkini, mode, sumber program, dan pilihan pemulihannya. [3]
Rancangan dasarnya tidak memerlukan penulisan ulang aturan moneter Bitcoin atau perubahan blok yang sudah ada. Namun, bukti tetap harus dibuat, dikirim, dan diperbarui sehingga node peserta memerlukan perangkat lunak dan komunikasi yang sesuai. Keadaan lokal yang lebih kecil dapat membantu perangkat murah. Itu tidak otomatis menambah transaksi per blok, menurunkan biaya untuk semua orang, atau memindahkan semua node ke format baru. [1] [4]
Lebih sedikit data di disk dapat berarti lebih banyak transfer jaringan dan ketergantungan pada ketersediaan data tepat waktu. Node yang memvalidasi dengan benar menolak bukti palsu. Namun, penyedia tetap dapat menahan data yang diperlukan dan memperlambat validasi. Karena itu, operator membandingkan keseluruhan pengaturan: penyimpanan, transfer, cache, verifikasi keadaan awal, dan perilaku saat gangguan. Utreexo dapat membuat validasi mandiri lebih murah; hilangnya data tetap merupakan masalah penting. [3] [4]
Untuk gambaran yang lebih utuh, baca entri ini bersama UTXO, Full Node, Pruned Node, AssumeUTXO, Merkle Tree, Bitcoin Core.