# প্রমাণ কীভাবে কাজ করে দেখুন

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

একটি বার্তা পরিবর্তন হতে পারে। আপনি যা পর্যবেক্ষণ করেছেন তার রেকর্ড যাচাইযোগ্য রাখা উচিত।

নিচে দুটি ছোট পরীক্ষা অন্বেষণ করুন। এগুলো কাল্পনিক বার্তা ব্যবহার করে, আপনার ব্রাউজারেই থাকে এবং কখনই টেলিগ্রামের সাথে সংযুক্ত হয় না।

## একটি বার্তা, তিনটি পর্যবেক্ষণ

যখন টেলিগ্রাম একটি নতুন বার্তা, একটি সম্পাদনা বিজ্ঞপ্তি এবং একটি মুছে ফেলার বিজ্ঞপ্তি পাঠায়, তখন সংগ্রহকারী তিনটি পৃথক পর্যবেক্ষণ যোগ করে। সম্পাদনা প্রথম রেকর্ডটিকে প্রতিস্থাপন করে না। মুছে ফেলার বিজ্ঞপ্তিটি এটিকে মুছে ফেলে না।

০১ / বার্তা যাত্রাউদাহরণস্বরূপ ক্রম

Telegram delivers an update to the collector, which appends a journal record. · টেলিগ্রাম · সংগ্রাহক · জার্নাল · আপডেট → · সংযোজন →

বর্তমান চ্যাট ভিউ বার্তা #৪২

বার্তা মুছে ফেলা হয়েছে

বার্তাটি চ্যাট ভিউ থেকে অদৃশ্য হয়ে গেছে।

পর্যবেক্ষণ জার্নাল ৩টি রেকর্ড

1. 01

   `message.new`

   ১০:০০ টায় মিলিত হন

   ✓
2. 02

   `message.edited`

   ১১:০০ টায় মিলিত হোন

   ✓
3. 03

   `message.deleted`

   #৪২-এর মুছে ফেলার বিজ্ঞপ্তি

   ✓

তিনটি পর্যবেক্ষণই জার্নালে রাখা হয়েছে।

ইতিমধ্যেই নির্বাচিত একটি উৎসের জন্য সরলীকৃত পথ। কার্যক্রমিক রেকর্ডগুলোও প্রকৃত জার্নাল শেয়ার করে। ক্যাপচার নির্ভর করে অ্যাকাউন্টটি কী দেখতে পারে এবং টেলিগ্রাম কী সরবরাহ করে তার উপর।

একটি মুছে ফেলার বিজ্ঞপ্তি নির্ভরযোগ্য মুছে ফেলার সময় বা বার্তাটি কে মুছেছে তা কোনোটিই সরবরাহ করে না। এই মানগুলো অজানা রেখে দিলে পর্যবেক্ষণ এবং অনুমানের মধ্যে পার্থক্য বজায় থাকে।

## একটি রেকর্ড পরিবর্তন করুন। হ্যাশ অনুসরণ করুন।

প্রতি রেকর্ডে পূর্ববর্তী রেকর্ডের হ্যাশ থাকে। এর নিজস্ব হ্যাশ ইভেন্ট ক্ষেত্রগুলো, সেই লিঙ্কসহ, আচ্ছাদন করে। বাহ্যিকভাবে সংরক্ষিত একটি চেকপয়েন্ট নির্দিষ্ট জার্নাল দৈর্ঘ্য এবং হেড হ্যাশকে পিন করে।

০২ / হ্যাশ-চেইন স্যান্ডবক্সবাস্তব SHA-256 · নমুনা রেকর্ডসমূহ

রেকর্ড ০১**বার্তা প্রাপ্ত**`h₁ = SHA-256(e₁)`৬৪টি শূন্যের লিঙ্ক

রেকর্ড ০২**১১:০০ টায় মিলিত হোন**`h₂ = SHA-256(e₂)`h₁ অন্তর্ভুক্ত

রেকর্ড ০৩**মোছা হয়েছে**`h₃ = SHA-256(e₃)`h₂ অন্তর্ভুক্ত

অন্যত্র রাখা হয়েছে**৩টি রেকর্ড · হেড `h₃`**এই স্থির সীমাটি সরবরাহিত জার্নালের সাথে তুলনা করুন।

ইভেন্ট পরিবর্তন করলে তার হ্যাশ পরিবর্তিত হয়। চেইন পুনর্নির্মাণ করলে এর হেড পরিবর্তিত হয়। টেইল অপসারণ করলে এটি সংরক্ষিত চেকপয়েন্টের তুলনায় ছোট হয়ে যায়।

**রেকর্ড 2 এবং সম্পূর্ণ হ্যাশগুলো পরিদর্শন করুন।**

এই উদাহরণে ব্যবহৃত JSONটি সঠিক UTF-8-এ হ্যাশ করা হয়েছে। মানগুলো কাল্পনিক; নয়টি ক্ষেত্র এবং সিরিয়ালাইজেশন জার্নাল ফরম্যাটের সাথে মেলে।

```

```

সংরক্ষিত রেকর্ড 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/bn/docs/reference/evidence/#event-canonicalization); হ্যাশ এবং স্বাক্ষর নিজেই হ্যাশ-ইনপুট ফিল্ড নয়।

রিটেইন্ড চেকপয়েন্ট

Nexport ≥ Ncheckpoint
hexport[Ncheckpoint] = Hcheckpoint

পিন করা কালেক্টর কী-এর অধীনে চেকপয়েন্ট স্বাক্ষর যাচাই করুন, তারপর যাচাইকৃত জার্নালের সীমানার সাথে এর মিল পরীক্ষা করুন। পরবর্তী রপ্তানিতে আরও রেকর্ড থাকতে পারে; তবুও এটি পূর্ববর্তী চেকপয়েন্টে মিল থাকতে হবে।

## তিনটি প্রশ্ন, তিনটি ভিন্ন পরীক্ষা

[০১ / সততা**এই রেকর্ড কি বদলেছে?** হ্যাশ এবং স্বাক্ষরগুলো একটি পৃথকভাবে বিশ্বাসযোগ্য কী-এর বিরুদ্ধে যাচাই করুন।](https://phishdestroy.github.io/TgWitness/bn/docs/exports/)[০২ / ধারাবাহিকতা**আগে কী রাখা হয়েছিল?** একটি স্বাক্ষরিত রপ্তানিকে একটি পৃথক সাক্ষী দ্বারা সংরক্ষিত চেকপয়েন্টগুলোর সাথে তুলনা করুন।](https://phishdestroy.github.io/TgWitness/bn/docs/witness/)[০৩ / ডেলিভারি**এই পরীক্ষা ইভেন্টগুলো কি এসেছে?** প্রতিটি অ্যাকাউন্টের জার্নালের বিরুদ্ধে পাঠানো, সম্পাদনা এবং মুছে ফেলার ক্রিয়াগুলো মিলিয়ে নিয়ন্ত্রণ করুন।](https://phishdestroy.github.io/TgWitness/bn/docs/cases/)

একটি মিলিত হ্যাশ চেইন অখণ্ডতার একটি প্রশ্নের উত্তর দেয়। এটি সম্পূর্ণ টেলিগ্রাম ডেলিভারি, বার্তার সত্যতা বা স্বতন্ত্রভাবে বিশ্বাসযোগ্য পর্যবেক্ষণ সময় প্রতিষ্ঠা করে না।

অধিগ্রহণের পর থেকে মামলা প্যাকেজ পর্যন্ত [সম্পূর্ণ হিসাব তদন্ত](https://phishdestroy.github.io/TgWitness/bn/docs/cases/) অনুসরণ করুন।
