গণিতের সমগ্র ইতিহাসে কোনো উপপাদ্য প্রমাণ করার একমাত্র উপায় ছিল সম্পূর্ণ যুক্তিটি ধাপে ধাপে প্রকাশ করা। কোনো পাসওয়ার্ড জানা আছে তা প্রমাণ করতে হলে পাসওয়ার্ডটি প্রদর্শন করতে হতো। ১৯৮৫ সালে শাফি গোল্ডওয়াসার, সিলভিও মিকালি এবং চার্লস র্যাকফ গণিত ও তাত্ত্বিক কম্পিউটার বিজ্ঞানে এক ঐতিহাসিক বিপ্লব ঘটান তাঁদের গবেষণাপত্র: “দ্য নলেজ কমপ্লেক্সিটি অফ ইন্টারঅ্যাক্টিভ প্রুফ সিস্টেমস”-এর মাধ্যমে। তাঁরা প্রমাণ করেন যে একজন প্রভার (Prover) কোনো পরীক্ষককে (Verifier) শতভাগ নিশ্চয়তায় বিশ্বাস করাতে পারে যে একটি বিবৃতি সত্য (যেমন কোনো পাসওয়ার্ড বা জটিল সমীকরণের সমাধান তার জানা আছে), অথচ এই প্রক্রিয়ায় মূল সত্যটি ছাড়া আর কোনো অতিরিক্ত তথ্যই প্রকাশ পাবে না (Zero-Knowledge)। আজ ব্লকচেইনের স্কেলেবিলিটি এবং ক্রিপ্টোগ্রাফিক গোপনীয়তার শীর্ষে অবস্থান করছে এই জিরো-নলেজ প্রুফ এবং এর আধুনিক সংস্করণ zk-SNARKs।

১. জিরো-নলেজ প্রুফের তিনটি স্বতঃসিদ্ধ ভিত্তি

  1. সম্পূর্ণতা (Completeness): বিবৃতি সত্য হলে এবং উভয় পক্ষ সৎ থাকলে ভেরিফায়ার সর্বদা প্রমাণ গ্রহণ করবে ($mathbb{P} = 1$)।
  2. নির্ভুলতা (Soundness): বিবৃতি মিথ্যা হলে কোনো অসৎ প্রভার ভেরিফায়ারকে প্রতারিত করতে পারবে না (প্রতারণার সম্ভাবনা শূন্যের কাছাকাছি)।
  3. জিরো-নলেজ (Zero-Knowledge): বিবৃতিটি সত্য হওয়া ছাড়া ভেরিফায়ার অন্য কোনো তথ্য জানতে পারবে না। সিমুলেশন তত্ত্ব অনুযায়ী, ভেরিফায়ার যা কিছু দেখেছে তা কোনো গোপন তথ্য ছাড়াই একটি ক্লাসিক্যাল সিমুলেটর হুবহু নকল করতে পারে!

২. ক্লাসিক্যাল উদাহরণ: গ্রাফ ৩-কালারিং

১৯৯১ সালে ওদেদ গোল্ডরাইখ, সিলভিও মিকালি ও আভি উইগডারসন প্রমাণ করেন যে NP-ক্লাসের সকল সমস্যার জন্যই জিরো-নলেজ প্রুফ তৈরি করা সম্ভব। গ্রাফ কালারিংয়ে প্রভার তিনটি রঙ দিয়ে গ্রাফ সাজিয়ে প্রতি রাউন্ডে রঙগুলো দৈবভাবে উল্টে দেয় এবং প্রতিটি নোড লক করা বক্সে রাখে। ভেরিফায়ার যেকোনো একটি বাহু নির্দেশ করলে কেবল সেই দুটি বক্স খুলে দেখানো হয় যে তাদের রঙ ভিন্ন। বারবার এই পরীক্ষা চালালে ভেরিফায়ার নিশ্চিত হয় যে সমাধানটি সঠিক, অথচ সম্পূর্ণ গ্রাফের মূল রঙের বিন্যাস সে কখনোই দেখতে পায় না!

৩. zk-SNARK আর্কিটেকচার: সার্কিট থেকে পলিনোমিয়াল

আধুনিক ক্রিপ্টোগ্রাফিতে শত শত বার প্রশ্নোত্তরের সময় নেই; প্রয়োজন এমন এক প্রমাণ যা হবে আকারে ক্ষুদ্র (Succinct), তাৎক্ষণিক এবং নন-ইন্টারেক্টিভ। এটিই হলো zk-SNARK।

এর ৪-স্তরের রূপান্তর পাইপলাইন:

  1. কম্পিউটেশন থেকে অ্যারিথমেটিক সার্কিট: যেকোনো প্রোগ্রাম বা ট্রানজ্যাকশনকে যোগ ও গুণের গেট সম্বলিত গাণিতিক সার্কিটে রূপান্তর।
  2. R1CS ভেক্টর কনস্ট্রেইন্ট: সার্কিট গেটগুলোকে $(A cdot s) times (B cdot s) = C cdot s$ সমীকরণে আবদ্ধ করা।
  3. কোয়াড্রাটিক অ্যারিথমেটিক প্রোগ্রাম (QAP): লাগ্রাঞ্জ ইন্টারপোলেশন দিয়ে হাজার হাজার ভেক্টর সমীকরণকে একটি একক বহুপদী বা পলিনোমিয়ালে রূপান্তর: $A(x)B(x) – C(x) = H(x)T(x)$।
  4. উপবৃত্তাকার বাইলিনিয়ার পেয়ারিং: সোয়ার্টজ-জিপেল লেমা অনুযায়ী একটি গোপন দৈব বিন্দুতে পলিনোমিয়ালের মান পরীক্ষা করে মাত্র কয়েক মিলিসেকেন্ডে স্মার্ট কন্ট্রাক্টে পুরো প্রমাণের সত্যতা নিশ্চিত করা হয়।

ফিয়াট-শামির হিউরিস্টিক ব্যবহারের মাধ্যমে পুরো প্রক্রিয়াটি নন-ইন্টারেক্টিভ হয়, যা Zcash ক্রিপ্টোকারেন্সি এবং ইথেরিয়াম লেয়ার-২ রোল-আপের (zkSync, Starknet) মূল ভিত্তি হিসেবে কাজ করছে।