يتيح Utreexo لعقدة Bitcoin التحقق من أن المبلغ المراد إنفاقه لم يُستخدم من قبل، من دون حفظ القائمة الكاملة للمخرجات غير المنفقة. العقدة برنامج يتحقق من المعاملات والكتل ويتواصل مع المشاركين الآخرين في الشبكة. تحتفظ ببصمات تحقق صغيرة وتتلقى السجلات المحددة مع إثباتات قابلة للفحص. لا تتغير قواعد الإنفاق أو كمية البيتكوين؛ وليس هذا النمط الافتراضي في Bitcoin Core.
تريد آنا إرسال بيتكوين إلى بيتر مما تلقته سابقاً، فتشير معاملتها إلى ذلك الاستلام السابق. يُسمّى السجل المنفصل للمبلغ وشروط إنفاقه مخرجاً، وما دام غير منفق فهو UTXO. يحتوي مدخل المعاملة الجديدة على إشارة إلى ذلك المخرج السابق والبيانات اللازمة لإنفاقه. يجب أن تتحقق العقدة من وجود السجل فعلاً ومن أن آنا لم تنفقه سابقاً. عادةً تحتفظ بـ UTXO set، وهي قاعدة لجميع المخرجات الحالية غير المنفقة، وليست حسابات شخصية وأرصدة. ومع نموها يزيد عمل القرص. قدّم Thaddeus Dryja فكرة Utreexo عام 2019 لتخفيف هذا العبء المحلي. [1] [6] [8]
تُحسب أولاً قيمة هاش لكل سجل، وهي بصمة تحقق قصيرة لبياناته. في شجرة Merkle تُجمع البصمات مثنى مثنى ويُحسب هاشها من جديد، حتى نصل إلى البصمة العليا المسماة الجذر. يستخدم Utreexo عدة أشجار كهذه؛ ويمكن لعقدة التحقق حفظ جذورها بدلاً من القائمة كاملة. ولمخرج آنا تتلقى البيانات وإثباتاً يتضمن البصمات المجاورة اللازمة. تعيد بها حساب المسار إلى الجذر وتقارن النتيجة بالحالة التي تتبعها بالفعل. لذلك لا يكفي ادعاء المرسل وحده. يُسمّى هذا الترتيب مُجمِّعاً تشفيرياً، إذ يثبت انتماء سجل إلى مجموعة. لكن الجذور ليست نسخة احتياطية مضغوطة يمكن فكها لاستعادة كل السجلات الأصلية. [1] [2]
تُحسب هاشات البيانات المستلمة، ثم يتيح الإثبات التحقق من ارتباطها بالحالة التي تتبعها العقدة. لا يجوز قبول إثبات غير صالح لمجرد أنه جاء من خادم معروف. يثبت التوقيع الرقمي الإذن بالدفع باستخدام مفتاح خاص، وهو قيمة عددية سرية، دون الكشف عن المفتاح. السكربت مجموعة شروط يجب استيفاؤها لإنفاق المخرج. وحتى إثبات الانتماء الصحيح لا يحل محل فحص التوقيع والسكربت والمبالغ وبقية قواعد المعاملة والكتلة. يغيّر Utreexo حفظ الحالة، ولا يمنح إذناً بتجاوز هذه الفحوص. [2] [5] [8]
ما زال على أحدهم الاحتفاظ ببيانات تكفي لبناء الإثباتات. تميّز وثائق المكتبة بين prover الذي يحتفظ بمجموعة الأشجار كاملة، وverifier الذي تكفيه الجذور. يستطيع المتحقق تخزين بعض الإثباتات مؤقتاً، لكن الجذور وحدها لا تسمح له بإنشاء أي إثبات يريده. إذن لا تختفي البيانات، بل يتغير توزيعها بين المشاركين. [2]
تجمع الكتلة معاملات في دفعة تُضاف إلى السجل المشترك. عند إنفاق مخرج يُحذف من المجموعة المتتبعة، وتُضاف المخرجات الجديدة غير المنفقة. وتتغير الإثباتات أيضاً. قد يحتاج إثبات محفوظ لحالة سابقة إلى تحديث بعد وصول كتل لاحقة. عند إعادة التنظيم، تعتمد الشبكة فرعًا صالحًا آخر من السلسلة، فيحل محل جزء من سجل الكتل السابق. يجب أن يعالج التنفيذ تحديث الإثباتات والمعاملات المتزامنة والتراجع عند إعادة تنظيم السلسلة. إنه ليس شهادة تُنزّل مرة واحدة وتبقى صالحة إلى الأبد. [2] [3]
يحذف Pruned Node بيانات الكتل القديمة بعد التحقق منها، لكنه يحتفظ تقليدياً بقاعدة UTXO الحالية. يستهدف Utreexo هذه القاعدة تحديداً. لذا فهما نوعان مختلفان من التوفير يمكن الجمع بينهما. ولا يعني التقليم أو المُجمِّع الصغير وحده أن العقدة تحققت من الماضي من دون معالجته. تاريخ الكتل والحالة الحالية وطريقة التحقق الأولي ثلاثة أمور منفصلة. [6] [5]
تخيّل عقدة جديدة تبدأ من وصف للحالة قدّمه طرف آخر بدلاً من فحص الكتل منذ البداية. بذلك تفترض صحة الحالة الأولية. لا يزيل المُجمِّع الصغير هذه الثقة، لأن الإثباتات اللاحقة تُفحص بالرجوع إلى الحالة المقبولة نفسها. لذلك ينبغي في AssumeUTXO فصل قبول snapshot، أي لقطة للحالة في لحظة محددة، عن التحقق اللاحق من التاريخ في الخلفية. تصف وثائق utreexod بدءاً افتراضياً من حالة مثبتة في البرنامج. هذا وحده ليس تحققاً مستقلاً من جميع الكتل السابقة. أسلوب البدء اختيار منفصل، وليس خاصية ملازمة لـ Utreexo. [7] [3]
يستخدم تنفيذ utreexod تقنية Utreexo للتحقق من شبكة Bitcoin. عند مراجعة وثائقه في 17 أكتوبر 2026، تصفه بأنه beta ولا تنصح باستخدامه على mainnet مع مبالغ تتجاوز القدر الضئيل. وتذكر أيضاً --noassumeutreexo لتعطيل البدء من حالة مفترضة. هذا ليس توصية بالتثبيت: قبل الاستخدام يجب التحقق من الإصدار الحالي ونمط التشغيل ومصدر البرنامج وخيارات الاستعادة. [3]
لا يتطلب التصميم الأساسي إعادة كتابة قواعد Bitcoin النقدية أو تغيير الكتل الموجودة. لكن لا بد من إنشاء الإثباتات ونقلها وتحديثها، ولذلك تحتاج العقد المشاركة إلى البرامج والاتصالات المناسبة. قد تساعد الحالة المحلية الأصغر الأجهزة الأقل كلفة. لكنها لا تعني تلقائياً معاملات أكثر في الكتلة أو رسوماً أقل للجميع أو انتقال جميع العقد إلى صيغة جديدة. [1] [4]
قد يقابل تقليل بيانات القرص زيادة في النقل عبر الشبكة واعتماد على توافر البيانات في الوقت المناسب. ترفض العقدة التي تتحقق بصورة صحيحة الإثبات المزوّر. لكن المزوّد يستطيع حجب البيانات المطلوبة وتأخير التحقق. لذلك يقارن المشغّل الوضع كله: التخزين والنقل والذاكرة المؤقتة والتحقق من الحالة الأولية والسلوك أثناء الانقطاع. قد يخفّض Utreexo كلفة التحقق الذاتي، لكنه لا يجعل البيانات المفقودة أمراً غير مهم. [3] [4]
للحصول على صورة أوضح، اقرأ هذا المدخل مع UTXO, Full Node, Pruned Node, AssumeUTXO, Merkle Tree, Bitcoin Core.