TgWitness / دستاویزات

دستاویزات / 08

دیکھیں کہ شواہد کیسے کام کرتا ہے

ایک پیغام تبدیل ہو سکتا ہے۔ آپ نے جو مشاہدہ کیا اس کا ریکارڈ قابل تصدیق رہنا چاہیے۔

نیچے دو چھوٹے تجربات دریافت کریں۔ یہ فرضی پیغامات استعمال کرتے ہیں، آپ کے براؤزر میں ہی رہتے ہیں اور کبھی بھی ٹیلیگرام سے منسلک نہیں ہوتے۔

ایک پیغام، تین مشاہدات

جب ٹیلیگرام نیا پیغام، ترمیم یا حذف کرنے کا نوٹس بھیجتا ہے، تو جمع کرنے والا تین الگ الگ مشاہدات شامل کرتا ہے۔ ترمیم پہلے ریکارڈ کو تبدیل نہیں کرتی۔ حذف کرنے کا نوٹس اسے مٹا نہیں دیتا۔

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 صفر کے روابط
ریکارڈ 0211:00 بجے ملاقات کریںh₂ = SHA-256(e₂)h₁ شامل ہے
ریکارڈ 03مٹانے کا مشاہدہ ہواh₃ = SHA-256(e₃)h₂ شامل ہے۔
کہیں اور محفوظ شدہ3 ریکارڈز · ہیڈ h₃اس مقررہ حد کا موازنہ فراہم کردہ جرنل سے کریں۔

ایک واقعے میں تبدیلی کرنے سے اس کا ہیش بدل جاتا ہے۔ چین کو دوبارہ تعمیر کرنے سے اس کا سرب بدل جاتا ہے۔ دم کو ہٹانے سے یہ محفوظ شدہ چیک پوائنٹ سے چھوٹا ہو جاتا ہے۔

یہ سینڈباکس ہیشز کی حساب کتاب کرتا ہے، دستخط نہیں۔ حقیقی تصدیق کنندہ ہر ایونٹ کے 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 انکوڈنگ ہے؛ ہیش اور سگنیچر بذاتِ خود ہیش-ان پٹ فیلڈز نہیں ہیں۔

محفوظ شدہ چیک پوائنٹ
Nexport ≥ Ncheckpoint
hexport[Ncheckpoint] = Hcheckpoint

پِن کیے گئے کلیکٹر کی تحت چیک پوائنٹ کے دستخط کی تصدیق کریں، پھر اس کی حد کو تصدیق شدہ جرنل سے موازنہ کریں۔ بعد میں کیا گیا ایکسپورٹ مزید ریکارڈز پر مشتمل ہو سکتا ہے؛ اسے پھر بھی پہلے کے چیک پوائنٹ پر مطابقت رکھنا چاہیے۔

تین سوالات، تین مختلف چیکس

ایک مماثل ہیش چین سالمیت کے سوال کا جواب دیتی ہے۔ یہ مکمل ٹیلیگرام کی ترسیل، پیغام کی صداقت یا کسی آزادانہ طور پر قابلِ اعتماد مشاہداتی وقت کو ثابت نہیں کرتی۔

حصول سے لے کر کیس پیکج تک پورے اکاؤنٹ کی تفتیش کی پیروی کریں۔