# देखें कि सबूत कैसे काम करता है

Canonical page: https://phishdestroy.github.io/TgWitness/hi/docs/concepts/

एक संदेश बदल सकता है। आपने जो देखा, उसका रिकॉर्ड जाँच योग्य रहना चाहिए।

नीचे दो छोटे प्रयोग देखें। ये काल्पनिक संदेशों का उपयोग करते हैं, आपके ब्राउज़र में ही रहते हैं और कभी भी टेलीग्राम से कनेक्ट नहीं होते।

## एक संदेश, तीन अवलोकन

जब टेलीग्राम कोई नया संदेश, संपादन या हटाने की सूचना भेजता है, तो कलेक्टर तीन अलग-अलग अवलोकन जोड़ता है। संपादन पहले रिकॉर्ड को प्रतिस्थापित नहीं करता। हटाने की सूचना इसे मिटा नहीं देती।

01 / संदेश यात्राउदाहरणार्थ अनुक्रम

Telegram delivers an update to the collector, which appends a journal record. · टेलीग्राम · संग्रहकर्ता · जर्नल · अपडेट → · जोड़ें →

वर्तमान चैट दृश्य संदेश #42

संदेश हटा दिया गया

संदेश चैट दृश्य से गायब हो गया है।

अवलोकन जर्नल 3 रिकॉर्ड

1. 01

   `message.new`

   10:00 बजे मिलें

   ✓
2. 02

   `message.edited`

   11:00 बजे मिलें

   ✓
3. 03

   `message.deleted`

   #42 के लिए हटाने की सूचना

   ✓

तीनों प्राप्त अवलोकन जर्नल में बने रहते हैं।

पहले से चयनित एक स्रोत के लिए सरलीकृत पथ। परिचालन रिकॉर्ड भी वास्तविक जर्नल साझा करते हैं। कैप्चर इस बात पर निर्भर करता है कि खाता क्या देख सकता है और टेलीग्राम क्या प्रदान करता है।

एक हटाने की सूचना न तो हटाने का विश्वसनीय समय बताती है और न ही संदेश हटाने वाले व्यक्ति की पहचान। इन मानों को अज्ञात रखना एक अवलोकन और एक अनुमान के बीच के अंतर को बनाए रखता है।

## रिकॉर्ड बदलें। हैश का अनुसरण करें।

प्रत्येक रिकॉर्ड में पिछले रिकॉर्ड का हैश शामिल होता है। इसका अपना हैश घटना क्षेत्रों को कवर करता है, जिसमें वह लिंक भी शामिल है। एक बाहरी रूप से बनाए रखा चेकपॉइंट एक विशिष्ट जर्नल लंबाई और हेड हैश को पिन करता है।

02 / हैश-चेन सैंडबॉक्सवास्तविक SHA-256 · नमूना रिकॉर्ड

रिकॉर्ड 01**संदेश प्राप्त हुआ**`h₁ = SHA-256(e₁)`64 शून्यों के लिंक

रिकॉर्ड 02**11:00 बजे मिलें**`h₂ = SHA-256(e₂)`h₁ शामिल है

रिकॉर्ड 03**मिटान देखा गया**`h₃ = SHA-256(e₃)`h₂ शामिल है

अन्यत्र संग्रहीत**3 रिकॉर्ड · हेड `h₃`**इस निश्चित सीमा की तुलना प्रदान किए गए जर्नल से करें।

किसी घटना को बदलने से उसका हैश बदल जाता है। श्रृंखला का पुनर्निर्माण करने से इसका सिर बदल जाता है। पूंछ हटाने से यह बचे हुए चेकपॉइंट से छोटा हो जाता है।

**रिकॉर्ड 2 और पूर्ण हैशों का निरीक्षण करें**

यह इस उदाहरण में हैश किया गया बिल्कुल वही UTF-8 JSON है। मान काल्पनिक हैं; नौ फ़ील्ड और सीरियलाइज़ेशन जर्नल प्रारूप से मेल खाते हैं।

```

```

सहेजा गया रिकॉर्ड 2 हैश

``

रिकॉर्ड 2 हैश की पुनर्गणना

``

यह सैंडबॉक्स हैश की गणना करता है, हस्ताक्षर नहीं। वास्तविक सत्यापक प्रत्येक घटना के Ed25519 हस्ताक्षर, अनुक्रम और लिंक की भी जांच करता है। केवल हैश का पुनर्निर्माण विश्वसनीय कुंजी के अंतर्गत वैध हस्ताक्षर नहीं बना सकता।

## वास्तविक नियम, कुछ पंक्तियों में

हैश + हस्ताक्षर

h0 = 064
hi = hex(SHA-256(C(ei)))
σi = Ed25519.Sign(sk, unhex(hi))

**C** नौ इवेंट फ़ील्ड्स को UTF-8 JSON के रूप में सीरियलाइज़ करता है: क्रमबद्ध कीज़, कोई अतिरिक्त व्हाइटस्पेस नहीं, कोई ASCII एस्केपिंग नहीं और कोई NaN/इन्फिनिटी नहीं। इवेंट का `previous_hash` hi−1 है। प्रदर्शित h0 का अर्थ 64 शून्य कैरेक्टर्स है; सिग्नेचर 32 कच्चे डाइजेस्ट बाइट्स को कवर करते हैं।

ये नौ फ़ील्ड हैं: `seq`, `observed_at`, `source_at`, `kind`, `chat_id`, `message_id`, `actor_id`, `payload` और `previous_hash`। यह TgWitness का [दस्तावेज़ीकृत JSON एन्कोडिंग](https://phishdestroy.github.io/TgWitness/hi/docs/reference/evidence/#event-canonicalization) है; हैश और हस्ताक्षर स्वयं हैश-इनपुट फ़ील्ड नहीं हैं।

रख रखा गया चेकपॉइंट

Nexport ≥ Ncheckpoint
hexport[Ncheckpoint] = Hcheckpoint

पिन किए गए कलेक्टर कुंजी के अंतर्गत चेकपॉइंट हस्ताक्षर को सत्यापित करें, फिर इसकी सीमा को सत्यापित जर्नल से तुलना करें। बाद में किया गया एक्सपोर्ट अधिक रिकॉर्ड्स शामिल कर सकता है; फिर भी इसे पहले के चेकपॉइंट पर मेल खाना चाहिए।

## तीन प्रश्न, तीन अलग-अलग जाँचें

[01 / अखंडता**क्या यह रिकॉर्ड बदला गया?** हैश और हस्ताक्षरों की पुष्टि एक अलग विश्वसनीय कुंजी के खिलाफ करें।](https://phishdestroy.github.io/TgWitness/hi/docs/exports/)[02 / निरंतरता**पहले क्या संरक्षित किया गया था?** एक हस्ताक्षरित निर्यात की तुलना एक अलग गवाह द्वारा रखे गए चेकपॉइंट्स से करें।](https://phishdestroy.github.io/TgWitness/hi/docs/witness/)[03 / वितरण**क्या ये परीक्षण घटनाएँ आईं?** प्रत्येक खाते के जर्नल में नियंत्रित भेजने, संपादित करने और हटाने की क्रियाओं का मिलान करें।](https://phishdestroy.github.io/TgWitness/hi/docs/cases/)

एक मेल खाने वाली हैश श्रृंखला अखंडता संबंधी प्रश्न का उत्तर देती है। यह पूर्ण टेलीग्राम डिलीवरी, संदेश की सत्यता या स्वतंत्र रूप से विश्वसनीय अवलोकन समय स्थापित नहीं करती।

प्राप्ति से लेकर केस पैकेज तक [पूरे खाते की जांच](https://phishdestroy.github.io/TgWitness/hi/docs/cases/) का अनुसरण करें।
