Utreexo से Bitcoin नोड जाँच सकता है कि खर्च की जा रही रकम पहले इस्तेमाल तो नहीं हो चुकी, और इसके लिए उसे सभी बिना खर्च हुए आउटपुट की पूरी सूची नहीं रखनी पड़ती। नोड ऐसा प्रोग्राम है जो लेनदेन और ब्लॉक की जाँच करता है और नेटवर्क के दूसरे सहभागियों से संपर्क रखता है। वह छोटे जाँच-चिह्न रखता है और खास रिकॉर्ड सत्यापन योग्य प्रमाणों के साथ प्राप्त करता है। खर्च के नियम और बिटकॉइन की मात्रा नहीं बदलते; यह Bitcoin Core का डिफ़ॉल्ट तरीका नहीं है।
मान लीजिए अन्ना पहले मिले बिटकॉइन पीटर को भेजना चाहती है। इसलिए नई ट्रांजैक्शन उस पुराने भुगतान का संदर्भ देती है। रकम और उसे खर्च करने की शर्तों वाले अलग रिकॉर्ड को आउटपुट कहते हैं; जब तक वह खर्च न हो, वह UTXO है। नई ट्रांजैक्शन के इनपुट में उस पुराने आउटपुट का संदर्भ और उसे खर्च करने के लिए जरूरी डेटा होता है। नोड को जाँचना होता है कि रिकॉर्ड मौजूद है और अन्ना उसे पहले खर्च नहीं कर चुकी है। आम तौर पर वह UTXO set रखता है, यानी अभी तक बिना खर्च हुए सभी आउटपुट का डेटाबेस, न कि निजी खातों और बैलेंस की सूची। इसके बढ़ने से डिस्क का काम बढ़ता है। Thaddeus Dryja ने 2019 में इस स्थानीय बोझ को घटाने के लिए Utreexo पेश किया था। [1] [6] [8]
पहले हर रिकॉर्ड का हैश निकाला जाता है, जो उसके डेटा का छोटा जाँच-चिह्न है। Merkle वृक्ष में इन चिह्नों को जोड़ों में मिलाकर फिर हैश निकाला जाता है, जब तक सबसे ऊपर का चिह्न, यानी रूट, न मिल जाए। Utreexo ऐसे कई वृक्ष उपयोग करता है; जाँच करने वाला नोड पूरी सूची की जगह उनके रूट रख सकता है। अन्ना के आउटपुट के लिए उसे डेटा और जरूरी पड़ोसी चिह्नों वाला प्रमाण मिलता है। इनकी मदद से वह रूट तक के रास्ते की फिर गणना करता है और नतीजे को उस स्टेट से मिलाता है जिसे वह पहले से देख रहा है। इसलिए केवल भेजने वाले का दावा पर्याप्त नहीं है। इस ढाँचे को क्रिप्टोग्राफिक संचायक कहते हैं: यह साबित करता है कि रिकॉर्ड किसी समूह में शामिल है। लेकिन रूट कोई संपीड़ित बैकअप नहीं हैं, जिन्हें खोलकर सारे मूल रिकॉर्ड वापस निकाले जा सकें। [1] [2]
मिले हुए डेटा का हैश निकाला जाता है और प्रमाण से उस स्टेट के साथ उसका संबंध जाँचा जाता है जिसे नोड देख रहा है। केवल परिचित सर्वर से आने के कारण गलत प्रमाण स्वीकार नहीं किया जा सकता। डिजिटल हस्ताक्षर निजी कुंजी, यानी एक गुप्त संख्यात्मक मान, से भुगतान की अनुमति का प्रमाण बनाता है, लेकिन उस कुंजी को उजागर नहीं करता। स्क्रिप्ट उन शर्तों को तय करती है जिन्हें किसी आउटपुट को खर्च करने के लिए पूरा करना होता है। सही सदस्यता प्रमाण भी हस्ताक्षर, स्क्रिप्ट, रकम और ट्रांजैक्शन तथा ब्लॉक के अन्य नियमों की जाँच का विकल्प नहीं है। Utreexo स्टेट के भंडारण को बदलता है, इन जाँचों को छोड़ने की अनुमति नहीं देता। [2] [5] [8]
किसी को अब भी इतने डेटा रखने होंगे कि प्रमाण बनाए जा सकें। लाइब्रेरी के दस्तावेज prover और verifier में अंतर करते हैं। prover वृक्षों का पूरा समूह रखता है, जबकि verifier को केवल रूट चाहिए। जाँचकर्ता कुछ प्रमाण कैश में रख सकता है, लेकिन सिर्फ रूट से कोई भी मनचाहा प्रमाण नहीं बना सकता। डेटा गायब नहीं होता; प्रतिभागियों के बीच उसके रखे जाने का ढंग बदलता है। [2]
ब्लॉक लेनदेन का एक समूह है, जो साझा इतिहास में जोड़ा जाता है। खर्च किया गया आउटपुट संबंधित समूह से हटता है और नए बिना खर्च हुए आउटपुट जुड़ते हैं। प्रमाण भी साथ में बदलते हैं। पुराने स्टेट के लिए रखा गया प्रमाण अगले ब्लॉकों के बाद बिना बदलाव उपयोगी नहीं भी रह सकता है। पुनर्गठन में नेटवर्क चेन की दूसरी वैध शाखा अपनाता है, जिससे पुराने ब्लॉक इतिहास का एक हिस्सा बदल जाता है। कार्यान्वयन को प्रमाण अपडेट, साथ चल रही ट्रांजैक्शन और चेन के पुनर्गठन पर पुराने स्टेट में लौटना संभालना पड़ता है। यह एक बार डाउनलोड किया गया, हमेशा वैध रहने वाला प्रमाणपत्र नहीं है। [2] [3]
Pruned Node जाँच के बाद पुराने ब्लॉक का डेटा हटा देता है, लेकिन पारंपरिक रूप से मौजूदा UTXO डेटाबेस रखता है। Utreexo इसी डेटाबेस पर काम करता है। इसलिए दोनों अलग तरह की बचत हैं और साथ उपयोग हो सकते हैं। न पुराने ब्लॉक हटाना और न छोटा संचायक अपने आप यह बताता है कि नोड ने इतिहास को संसाधित किए बिना उसकी जाँच कर ली। ब्लॉक का इतिहास, मौजूदा स्टेट और शुरुआती जाँच का तरीका तीन अलग बातें हैं। [6] [5]
सोचिए, नया नोड शुरू से ब्लॉक जाँचने के बजाय किसी और से मिले स्टेट से शुरू करता है। वह मान रहा है कि शुरुआती स्टेट सही है। छोटा संचायक इस भरोसे को खत्म नहीं करता, क्योंकि आगे के प्रमाण उसी स्वीकार किए गए स्टेट के आधार पर जाँचे जाते हैं। इसलिए AssumeUTXO में snapshot, यानी किसी खास समय के स्टेट की प्रति, स्वीकार करने और बाद में पृष्ठभूमि में इतिहास जाँचने को अलग समझना जरूरी है। utreexod के दस्तावेज प्रोग्राम में तय स्टेट से डिफ़ॉल्ट शुरुआत बताते हैं। केवल यह शुरुआत सभी पुराने ब्लॉकों की स्वतंत्र जाँच नहीं है। शुरू करने का तरीका अलग चुनाव है, Utreexo का अंतर्निहित गुण नहीं। [7] [3]
utreexod एक कार्यान्वयन है जो Bitcoin नेटवर्क की जाँच में Utreexo उपयोग करता है। 17 अक्टूबर 2026 को दस्तावेज जाँचने पर इसे beta बताया गया था और mainnet पर मामूली से अधिक रकम के लिए इसका उपयोग सुझाया नहीं गया था। तय माने गए स्टेट से शुरुआत बंद करने के लिए --noassumeutreexo विकल्प भी दिया है। यह इंस्टॉल करने की सिफारिश नहीं है: उपयोग से पहले मौजूदा संस्करण, मोड, प्रोग्राम का स्रोत और बहाली के विकल्प जाँचें। [3]
मूल डिजाइन के लिए Bitcoin के मौद्रिक नियम दोबारा लिखना या पुराने ब्लॉक बदलना जरूरी नहीं है। लेकिन प्रमाण किसी को बनाने, भेजने और अपडेट करने होंगे, इसलिए भाग लेने वाले नोड को उचित सॉफ्टवेयर और संचार चाहिए। छोटा स्थानीय स्टेट सस्ते उपकरणों की मदद कर सकता है। इसका मतलब अपने आप ब्लॉक में ज्यादा ट्रांजैक्शन, सबके लिए कम शुल्क या सभी नोड का नए प्रारूप पर चले जाना नहीं है। [1] [4]
डिस्क पर कम डेटा का अर्थ नेटवर्क पर अधिक डेटा भेजना और समय पर उसकी उपलब्धता पर निर्भर होना हो सकता है। सही जाँच करने वाला नोड नकली प्रमाण अस्वीकार करेगा। फिर भी डेटा देने वाला जरूरी डेटा रोककर जाँच धीमी कर सकता है। इसलिए संचालक पूरी व्यवस्था देखता है: भंडारण, हस्तांतरण, कैश, शुरुआती स्टेट की जाँच और रुकावट के समय व्यवहार। Utreexo अपनी जाँच की लागत घटा सकता है, लेकिन डेटा न मिलना फिर भी महत्वपूर्ण समस्या है। [3] [4]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें UTXO, Full Node, Pruned Node, AssumeUTXO, Merkle Tree, Bitcoin Core.