# تعرف على كيفية عمل الأدلة

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

قد تتغير الرسالة. لكن يجب أن يظل سجل ما لاحظته قابلاً للتحقق.

استكشف تجربتين صغيرتين أدناه. تستخدمان رسائل خيالية، وتبقيان داخل متصفحك ولا تتصلان أبدًا بـ Telegram.

## رسالة واحدة، ثلاث ملاحظات

عندما يرسل Telegram رسالة جديدة أو إشعارًا بالتعديل أو الحذف، يقوم برنامج التجميع بإضافة ثلاث ملاحظات منفصلة. لا يحل التعديل محل السجل الأول، كما أن إشعار الحذف لا يمحوه.

01 / مسار الرسالةتسلسل توضيحي

Telegram delivers an update to the collector, which appends a journal record. · Telegram · أداة التجميع · السجل · تحديث → · إضافة →

عرض الدردشة الحالية الرسالة رقم 42

تم حذف الرسالة

لقد اختفت الرسالة من شاشة الدردشة.

سجل الملاحظات 3 سجلات

1. 01

   `message.new`

   نلتقي الساعة 10:00

   ✓
2. 02

   `message.edited`

   نلتقي الساعة 11:00

   ✓
3. 03

   `message.deleted`

   إشعار بالحذف رقم #42

   ✓

تُحتفظ بجميع الملاحظات الثلاث التي تم تلقيها في السجل.

مسار مبسط لمصدر واحد تم اختياره مسبقًا. كما تشارك السجلات التشغيلية السجل الفعلي. يعتمد التسجيل على ما يمكن للحساب رؤيته وما يقدمه Telegram.

لا يوفر إشعار الحذف وقتًا موثوقًا للحذف ولا هوية الشخص الذي حذف الرسالة. والحفاظ على عدم معرفة هذه القيم يحافظ على التمييز بين الملاحظة والتخمين.

## تعديل سجل. تتبع الهاش.

يحتوي كل سجل على التجزئة (هاش) للسجل السابق. وتغطي التجزئة الخاصة به حقول الحدث، بما في ذلك ذلك الرابط. وتقوم نقطة تفتيش محفوظة خارجيًا بتثبيت طول محدد للسجل وتجزئة الرأس.

02 / HASH-CHAIN SANDBOXSHA-256 حقيقي · نماذج من السجلات

السجل 01**تم استلام الرسالة**`h₁ = SHA-256(e₁)`روابط إلى 64 صفرًا

السجل 02**نلتقي الساعة 11:00**`h₂ = SHA-256(e₂)`يتضمن h₁

السجل 03**تم رصد عملية حذف**`h₃ = SHA-256(e₃)`يتضمن h₂

محفوظة في مكان آخر**3 سجلات · الرأس `h₃`**قارن هذه الحدود المحددة بالسجل المرفق.

يؤدي تغيير أي حدث إلى تغيير هاشه. وإعادة بناء السلسلة يؤدي إلى تغيير رأسها. وإزالة ذيلها يجعلها أقصر من نقطة التحقق المحتفظ بها.

**افحص السجل رقم 2 والتجزئات الكاملة**

هذا هو نص JSON المرمز بتنسيق UTF-8 بالضبط كما هو موضح في هذا المثال. القيم خيالية؛ وتتطابق الحقول التسعة وتسلسل البيانات مع تنسيق السجل.

```

```

تسجيل محفوظ 2 هاش

``

إعادة حساب التجزئة 2 للسجل

``

تقوم بيئة الاختبار هذه بحساب التجزئات (هاش)، وليس التوقيعات. أما أداة التحقق الحقيقية، فتتحقق أيضًا من توقيع Ed25519 لكل حدث، وتسلسله، والرابط الخاص به. ولا يمكن لإعادة بناء التجزئات وحدها إنشاء توقيعات صالحة بموجب المفتاح الموثوق به.

## القواعد الفعلية، في بضع أسطر

HASH + SIGNATURE

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

يقوم **C** بتسلسل حقول الأحداث التسعة بتنسيق JSON UTF-8: مفاتيح مرتبة، بدون مسافات بيضاء إضافية، بدون هروب ASCII وبدون NaN/اللانهاية. قيمة `previous_hash` للحدث هي hi−1. تعني القيمة h0 المعروضة 64 حرفًا صفرًا؛ وتغطي التوقيعات 32 بايتًا من الملخص الخام.

الحقول التسعة هي `seq` و`observed_at` و`source_at` و`kind` و`chat_id` و`message_id` و`actor_id` و`payload` و`previous_hash`. هذا هو [ترميز JSON الموثق](https://phishdestroy.github.io/TgWitness/ar/docs/reference/evidence/#event-canonicalization) لـ TgWitness؛ ولا يُعد التجزئة والتوقيع في حد ذاتهما حقول إدخال للتجزئة.

نقطة تفتيش محفوظة

Nexport ≥ Ncheckpoint
hexport[Ncheckpoint] = Hcheckpoint

تحقق من توقيع نقطة الفحص الموجود أسفل مفتاح المجمع المثبت، ثم قارن حدوده مع السجل الذي تم التحقق منه. قد يحتوي التصدير اللاحق على المزيد من السجلات؛ لكن يجب أن يتطابق مع نقطة الفحص السابقة.

## ثلاثة أسئلة، ثلاث عمليات تحقق مختلفة

[01 / النزاهة**هل تغير هذا السجل؟** تحقق من التجزئات والتوقيعات باستخدام مفتاح موثوق به منفصل.](https://phishdestroy.github.io/TgWitness/ar/docs/exports/)[02 / الاستمرارية**ما الذي تم الاحتفاظ به سابقًا؟** قارن بين ملف التصدير الموقّع ونقاط التحقق التي يحتفظ بها شاهد آخر.](https://phishdestroy.github.io/TgWitness/ar/docs/witness/)[03 / التسليم**هل وصلت هذه الأحداث التجريبية؟** مطابقة إجراءات الإرسال والتعديل والحذف الخاضعة للرقابة مع سجل كل حساب.](https://phishdestroy.github.io/TgWitness/ar/docs/cases/)

تُجيب سلسلة التجزئة المطابقة على سؤال يتعلق بالسلامة. وهي لا تثبت إتمام تسليم الرسالة عبر Telegram، ولا صحة الرسالة، ولا وقت الملاحظة الموثوق به بشكل مستقل.

تابع [التحقيق الكامل للحساب](https://phishdestroy.github.io/TgWitness/ar/docs/cases/) بدءًا من الحصول على البيانات وحتى إعداد ملف القضية.
