5টি ভিন্ন কাঠিন্যের স্তরে শূন্য-জ্ঞান প্রমাণ (zero-knowledge proofs) ব্যাখ্যা করা হয়েছে
একজন কম্পিউটার বিজ্ঞানী একটি শিশু থেকে শুরু করে একজন বিশেষজ্ঞ পর্যন্ত পাঁচটি ভিন্ন জটিলতার স্তরে শূন্য-জ্ঞান প্রমাণ ব্যাখ্যা করেছেন।
Date published: 13 ডিসেম্বর, 2021
কম্পিউটার বিজ্ঞানী অমিত সাহাই (Amit Sahai), যিনি UCLA Samueli School of Engineering-এর একজন অধ্যাপক, এই WIRED প্রযোজনায় একটি শিশু থেকে শুরু করে একজন বিশেষজ্ঞ পর্যন্ত পাঁচটি ভিন্ন জটিলতার স্তরে শূন্য-জ্ঞান প্রমাণ (zero-knowledge proofs) ব্যাখ্যা করেছেন। ধারণাটি ভৌত উপমার মাধ্যমে প্রদর্শন করা হয়েছে এবং ক্রমবর্ধমান প্রযুক্তিগত গভীরতায় আলোচনা করা হয়েছে, যা ক্রিপ্টোগ্রাফির অন্যতম গুরুত্বপূর্ণ ধারণাকে সবার কাছে সহজলভ্য করে তুলেছে।
এই প্রতিলিপিটি WIRED দ্বারা প্রকাশিত মূল ভিডিও প্রতিলিপির (opens in a new tab) একটি সহজলভ্য অনুলিপি। এটি পড়ার সুবিধার জন্য সামান্য সম্পাদনা করা হয়েছে।
ভূমিকা (0:00)
অমিত সাহাই: নমস্কার, আমার নাম অমিত সাহাই, এবং আমি UCLA Samueli School of Engineering-এ কম্পিউটার সায়েন্সের একজন অধ্যাপক। আজ, আমাকে ক্রমবর্ধমান জটিলতার 5টি স্তরে শূন্য-জ্ঞান প্রমাণ ব্যাখ্যা করতে বলা হয়েছে।
একটি শূন্য-জ্ঞান প্রমাণ হলো এমন একটি উপায় যার মাধ্যমে একজন প্রমাণকারী একজন যাচাইকারীকে বোঝাতে পারে যে কোনো একটি বিবৃতি সত্য, অথচ বিবৃতিটি সত্য হওয়ার বাইরে আর কোনো অতিরিক্ত তথ্য প্রকাশ করে না। শূন্য-জ্ঞান প্রমাণ ব্লকচেইন এবং ক্রিপ্টোকারেন্সিতে ব্যবহৃত হচ্ছে। ক্রিপ্টোগ্রাফাররা জিরো-নলেজ নিয়ে উচ্ছ্বসিত এর চমৎকার গাণিতিক বৈশিষ্ট্যের কারণে, তবে এর পাশাপাশি বিভিন্ন পরিস্থিতিতে এর অবিশ্বাস্য প্রয়োগযোগ্যতার কারণেও।
স্তর 1: শিশু (0:41)
অমিত সাহাই: তোমার প্রিয় বিষয় কী?
চেলসি: আমি বলব অঙ্ক। কিছু ছোট সমস্যা আসলে অনেক বড় এবং জটিল হতে পারে। এটি একটি ধাঁধার মতো।
অমিত সাহাই: আমি একই কারণে অঙ্ক ভালোবাসি। আজ, আমি তোমাকে শূন্য-জ্ঞান প্রমাণ নামক একটি জিনিস সম্পর্কে বলব। একটি শূন্য-জ্ঞান প্রমাণে, দুজন ব্যক্তি থাকে — একজন প্রমাণকারী এবং একজন যাচাইকারী। আমি তোমার কাছে প্রমাণ করতে চাই যে কোনো কিছু সত্য, কিন্তু অদ্ভুত ব্যাপার হলো, আমি তোমাকে কোনো কারণ না জানিয়েই প্রমাণ করতে চাই যে এটি সত্য। আমার মনে আছে যখন আমি প্রথম এটি সম্পর্কে শুনেছিলাম, আমি ভেবেছিলাম, দাঁড়াও, কী? এটা কীভাবে সম্ভব?
তাহলে তুমি এই ছবিতে কী দেখতে পাচ্ছ?
চেলসি: অনেক পেঙ্গুইন।
অমিত সাহাই: হ্যাঁ। এই সব পেঙ্গুইনের মাঝে একটি পাফিন (puffin) লুকিয়ে আছে। তুমি কি এটি খোঁজার চেষ্টা করতে চাও? তুমি কি দেখতে পাচ্ছ এটি কোথায়? আমি জানি এটি কোথায়, কিন্তু আমি তোমাকে বলতে চাই না। তুমি কি আমাকে বিশ্বাস করো?
চেলসি: হ্যাঁ।
অমিত সাহাই: কিন্তু যদি আমি তোমাকে প্রমাণ করতে পারি যে আমি জানি পাফিনটি কোথায় আছে, অথচ তোমাকে না জানিয়েই যে এটি কোথায়? চলো তোমাকে দেখাই। আমি সেই ছবিটি নিয়ে এখানে এই পোস্টারের পিছনে রেখেছি। তুমি ওই গর্ত দিয়ে একবার দেখে নাও না কেন?
চেলসি: আমি পাফিনটি দেখতে পাচ্ছি।
অমিত সাহাই: তাহলে তুমি যখন এই বোর্ডের দিকে তাকাও, আমরা জানি না ছবিটি কোথায় ছিল, তাই না? ছবিটি কি এই কোণায় ছিল, সেক্ষেত্রে পাফিনটি একেবারে এই দিকে থাকত? নাকি ছবিটি এই কোণায় ছিল, সেক্ষেত্রে পাফিনটি অন্য দিকে থাকত? সুতরাং এটি একটি শূন্য-জ্ঞান প্রমাণের খুব সহজ উদাহরণ। আমি তোমাকে বিশ্বাস করিয়েছি যে আমি জানতাম পাফিনটি কোথায় ছিল, কিন্তু তুমি অন্য কিছু জানতে পারোনি।
চেলসি: আপনি কেন শূন্য-জ্ঞান প্রমাণ নিয়ে পড়াশোনা করেন?
অমিত সাহাই: যখন আমি প্রথম এগুলো সম্পর্কে জেনেছিলাম, আমার মনে হয়েছিল এগুলো খুব দারুণ। কিন্তু দেখা যাচ্ছে এগুলো সত্যিই খুব দরকারী — শুধু পাফিন খোঁজার জন্যই নয়। তুমি যদি শুধু তোমার পাসওয়ার্ড টাইপ করো এবং হ্যাকার কম্পিউটারে হ্যাক করে, তবে তারা সহজেই তোমার পাসওয়ার্ড পেয়ে যেতে পারে। এর পরিবর্তে, যদি আমরা কোনোভাবে লগ ইন করার জন্য একটি শূন্য-জ্ঞান প্রমাণ ব্যবহার করতে পারতাম? তুমি শুধু প্রমাণ করতে পারতে যে তুমি চেলসি, তাদের কাছে কোনো কিছু প্রকাশ না করেই। তুমি যদি তা করতে পারতে, তবে এটি চমৎকার হতো, কারণ হ্যাকার কম্পিউটারে হ্যাক করলেও তারা কিছুই জানতে পারত না — কারণ এমনকি কম্পিউটারও কিছু জানতে পারে না।
তাহলে চেলসি, তোমার নিজের ভাষায়, শূন্য-জ্ঞান প্রমাণ কী?
চেলসি: শূন্য-জ্ঞান প্রমাণ হলো একটি বিবৃতির প্রমাণ। আপনি তাদের দেখান না কেন বা কী। আপনি শুধু তাদের একটি ছোট অংশ দেখান, অথবা এমন কোনো অদ্ভুত জাদুর কৌশল করেন যা আসলে কোনো জাদুর কৌশল নয়, এবং তারা বিশ্বাস করবে। আর আপনি তাদের দেখাননি কেন, বা এমন কিছু।
স্তর 2: কিশোর (3:31)
অমিত সাহাই: তাহলে তুমি কি আগে কখনো শূন্য-জ্ঞান প্রমাণ শব্দটি শুনেছ?
কিশোর: না, আমি শুনিনি।
অমিত সাহাই: এটি এমন একটি উপায় যার মাধ্যমে একজন প্রমাণকারী একজন যাচাইকারীকে বোঝাতে পারে যে কোনো কিছু সত্য, অথচ এটি কেন সত্য সে সম্পর্কে কোনো কিছু প্রকাশ না করেই, যা শুনতে সম্পূর্ণ অদ্ভুত লাগে। আমি যা করতে চাই তা হলো তোমাকে প্রমাণ করা যে আমি এই কম্বিনেশনটি জানি, অথচ তোমাকে কম্বিনেশনটি না জানিয়েই। আর তুমি যা করতে পারো তা হলো একটি ছোট নোট লেখা, এমন একটি গোপন কথা যা আমি নিশ্চিতভাবে জানব না। এটি ভাঁজ করো, এখানে ঢুকিয়ে দাও। এবং তারপর, যদি আমি কম্বিনেশনটি জানি, তবে আমার এটি খুলতে পারা উচিত এবং তুমি কী লিখেছ তা তোমাকে বলতে পারা উচিত।
ঠিক আছে। "আমার কুকুরের নাম ডাগ।"
কিশোর: আপনি কি বুঝতে পেরেছেন কম্বিনেশনটি কী ছিল?
অমিত সাহাই: না। সুতরাং এই কথোপকথনের কোথাও তুমি এমন কোনো তথ্য দেখোনি যা তুমি আগে থেকেই জানতে না। অথচ আমি তোমাকে বিশ্বাস করিয়েছি যে আমি কম্বিনেশনটি জানি।
কিশোর: তাহলে একটি শূন্য-জ্ঞান প্রমাণের আসল উদ্দেশ্য কী? এটি কি এমন কিছু প্রমাণ করার মতো, কিন্তু পর্যাপ্ত তথ্য না দিয়ে যা আপনি যা প্রমাণ করছেন তাকে বিপদে ফেলতে পারে?
অমিত সাহাই: মানুষ একে অপরকে বিশ্বাস করে না। আর যদি আমি কাউকে আমার গোপনীয়তা প্রকাশ না করেই প্রমাণ করতে পারতাম যে আমি কোনো কিছু সঠিকভাবে করেছি, তবে সেই ব্যক্তি আমাকে আরও বেশি বিশ্বাস করত।
কিশোর: এটি কম্পিউটার প্রযুক্তির সাথে কীভাবে সম্পর্কিত? এটি কি সরাসরি মুখোমুখি কথোপকথন?
অমিত সাহাই: ধরো তুমি তোমার পরিচিত কারো সাথে বার্তা আদান-প্রদান করতে চাও। তোমরা সম্ভবত প্রথমে একসাথে বসবে এবং কোনো গোপন কোড বের করবে, তাই না? এবং তারপর সেই কোডে একে অপরকে বার্তা লিখবে। কিন্তু যদি তুমি সেই ব্যক্তির সাথে আগে কখনো দেখা না করে থাকো? যদি তুমি আমার সাথে গোপন বার্তা আদান-প্রদান করতে চাও এবং আমরা আগে কখনো একে অপরের সাথে দেখা না করে থাকি? আমরা কীভাবে তা করতে পারি?
কিশোর: আমার কোনো ধারণা নেই।
অমিত সাহাই: এটি অসম্ভব মনে হচ্ছে, তাই না? কিন্তু তা নয়। তুমি কোনো ভৌত তালা বা ভৌত বাক্স ব্যবহার করবে না। এর পরিবর্তে আমরা এই ধরনের কাজ করার জন্য গণিত ব্যবহার করব। তুমি একটি বার্তা নিতে পারো এবং গণিত ব্যবহার করে এটিকে এনক্রিপশন করতে পারো। এবং তারপর আমি তোমাকে প্রমাণ করতে পারি যে আমি কী (key) জানি, এটি খুলতে পারি এবং তোমাকে ফেরত পাঠাতে পারি। এইভাবে আমি তোমাকে প্রমাণ করব যে আমি গাণিতিক লকবক্সের গাণিতিক কী জানি।
তাহলে আজ আমরা যা আলোচনা করেছি তার ওপর ভিত্তি করে, তোমার নিজের ভাষায়, শূন্য-জ্ঞান প্রমাণ কী?
কিশোর: এটি এমন যে আপনার কাছে খুব গুরুত্বপূর্ণ একটি গোপনীয়তা আছে যা আপনি কাউকে জানাতে চান, কিন্তু আপনি তাদের সবকিছু বলতে চান না। আপনি তাদের কাছে সেই গোপনীয়তা প্রমাণ করার জন্য একটি শূন্য-জ্ঞান প্রমাণ ব্যবহার করতে পারেন, কিন্তু এর সবটুকু প্রকাশ না করেই।
স্তর 3: কলেজের ছাত্র (6:13)
অমিত সাহাই: তুমি কী নিয়ে পড়াশোনা করছ?
কলেজের ছাত্র: আমি USC Viterbi-তে কম্পিউটার সায়েন্সের প্রথম বর্ষের ছাত্র। আমি ডেটা, ইন্টারনেট, ব্লকচেইন এবং ক্রিপ্টোকারেন্সির মতো সব বিষয়ে আগ্রহী।
অমিত সাহাই: তুমি কি কখনো শূন্য-জ্ঞান প্রমাণ সম্পর্কে শুনেছ?
কলেজের ছাত্র: শুধু কথার কথা হিসেবে শুনেছি।
অমিত সাহাই: আসলে, ব্লকচেইন স্পেস হলো এমন একটি জায়গা যেখানে আমরা শূন্য-জ্ঞান প্রমাণ বাস্তবায়িত হতে দেখছি — এবং আমি মনে করি এটি কেবল শুরু। এর মূলে, একটি শূন্য-জ্ঞান প্রমাণ হলো দুজন মানুষের মধ্যে একটি মিথস্ক্রিয়া। আমার তোমাকে বোঝাতে পারা উচিত যে কোনো একটি বিবৃতি সত্য, কিন্তু এটি কেন সত্য সে সম্পর্কে তোমার কোনো ধারণা থাকবে না।
আমরা যেভাবে এটি নিয়ে এগোব তা হলো NP-completeness নামক একটি ধারণার মাধ্যমে। একটি NP-complete সমস্যা হলো এমন একটি সমস্যা যা সমাধান করা সত্যিই কঠিন। কিন্তু তুমি যদি এটি সমাধান করতে পারো, তবে তুমি NP ক্লাসের যেকোনো সমস্যা সমাধান করতে পারবে — এবং এর মধ্যে বিপুল সংখ্যক সমস্যা অন্তর্ভুক্ত রয়েছে। আমরা একটি শূন্য-জ্ঞান প্রমাণের মাধ্যমে অবিশ্বাস্য বৈচিত্র্যের বিবৃতি প্রমাণ করার জন্য একটি NP-complete সমস্যা ব্যবহার করতে যাচ্ছি। আমরা যে নির্দিষ্ট NP-complete সমস্যাটি দেখব তাকে ম্যাপ থ্রি-কালারিং (map three-coloring) বলা হয়।
এখানে আমাদের কাছে একগুচ্ছ দেশ সহ একটি মানচিত্র রয়েছে, যা এমনভাবে সাজানো হয়েছে যাতে একই রঙের কোনো দেশ সীমানা ভাগ না করে। এটিই এই ধরনের মানচিত্রকে বৈধভাবে রঙিন করে তোলে। দেখা যাচ্ছে যে একটি মানচিত্রকে এইভাবে তিন-রঙে রাঙানো যায় কি না তা একটি NP-complete সমস্যার উদাহরণ।
হয়তো তুমি যা সত্যিই করতে চাও তা হলো একটি শূন্য-জ্ঞান প্রমাণ দেওয়া যে তোমার কাছে অন্তত 0.3 বিটকয়েন আছে, তোমার অ্যাকাউন্টের ঠিকানা প্রকাশ না করেই। দেখা যাচ্ছে আমি সেই বিবৃতিটি নিতে পারি এবং এটিকে দেশের একটি মানচিত্রে রূপান্তর করতে পারি। সেই দেশের মানচিত্রটি কেবল তখনই তিন-রঙে রাঙানো সম্ভব হবে যদি তোমার কাছে অন্তত 0.2 বিটকয়েন থাকে।
কলেজের ছাত্র: আমরা কীভাবে এই ধরনের কিছুকে একটি শূন্য-জ্ঞান প্রমাণে পরিণত করব?
অমিত সাহাই: অবশ্যই, প্রথম ধাপ হলো আমাদের সব রঙ মুছে ফেলতে হবে। আমি এই খামগুলোর প্রতিটির ভেতরে একটি করে রঙ রেখেছি। এখন, তুমি কীভাবে জানবে যে এটি একটি বৈধ রঙ করা? তুমি জানো না। তোমাকে যেকোনো দুটি প্রতিবেশী দেশ বেছে নিতে হবে — তুমি তোমার পছন্দমতো, র্যান্ডমনেস-এর ভিত্তিতে সেগুলো বেছে নিতে পারো।
কলেজের ছাত্র: আমি কি এই দুটো নিতে পারি?
অমিত সাহাই: এখানে আমাদের কাছে সবুজ আছে, এবং এখানে আমাদের কাছে নীল আছে। যেমনটা তুমি দেখতে পাচ্ছ, এগুলো দুটি ভিন্ন রঙ। সুতরাং তোমার একটু আত্মবিশ্বাস তৈরি হলো যে আমি এটি সঠিকভাবে রঙ করতে পেরেছি — কিন্তু খুব বেশি আত্মবিশ্বাস নয়, কারণ আমি তোমাকে কেবল দুটি দেশ দেখিয়েছি। আরও আত্মবিশ্বাস পাওয়ার একটি উপায় হলো এগুলোর আরও বেশি খোলা, কিন্তু তা তোমার কাছে তথ্য প্রকাশ করে দেবে। আমি তা করতে চাই না।
তাই এর পরিবর্তে, আমি তোমাকে ঘুরে দাঁড়াতে অনুরোধ করব। এবং এখন, চলো এই রঙগুলো পরিবর্তন করি।
তুমি কি র্যান্ডমনেস-এর ভিত্তিতে দুটি দেশ বেছে নিতে পারো, এবং আমরা আবার দুটি রঙ প্রকাশ করব।
কলেজের ছাত্র: আমি এটি এবং এটি নেব।
অমিত সাহাই: তুমি যে আগে থেকেই বেছে নেওয়া একই দেশের সাথে মিলিয়ে দেখছ, এটা তোমার বুদ্ধিমত্তার পরিচয়। কিন্তু যেমনটা তুমি দেখতে পাবে, এখন এটি সবুজ নয় — এটি নীল। এবং অন্যদিকে এটি সবুজ। আমি গতবার তোমাকে যে রঙগুলো দেখিয়েছিলাম তা এই নতুন রঙগুলোর সাথে কাজ করে না। কিন্তু আমি এখন তোমাকে যে রঙ করা দেখাচ্ছি তার জন্য এটি কাজ করে। সুতরাং আমরা যা করেছি তা হলো তোমার পক্ষে টুকরোগুলো একসাথে মেলানো অসম্ভব করে তুলেছি। এবং তুমি যদি এটি হাজার বার করো, এবং আমি প্রতিবার তোমাকে সঠিকভাবে ভিন্ন রঙ দেখাই, তবে তুমি সত্যিই বিশ্বাস করবে। এবং এটাই — এটাই হলো সম্পূর্ণ শূন্য-জ্ঞান প্রমাণ।
কলেজের ছাত্র: তাহলে এটি কি একটি সম্ভাব্যতামূলক (probabilistic) প্রমাণের মতো?
অমিত সাহাই: হ্যাঁ। বাস্তব প্রয়োগে আমরা খাম ব্যবহার করব না — তুমি এনক্রিপশন ব্যবহার করবে। কিন্তু এটাই হলো প্রোটোকল।
কলেজের ছাত্র: তাহলে শূন্য-জ্ঞান প্রমাণের বৃহত্তর তাৎপর্য কী? এগুলো কি বাস্তবায়নের জন্য আরও বেশি ব্যবহারিক হওয়ার কথা, নাকি এগুলো কাঠামোগতভাবে কিছু প্রমাণ করার কথা?
অমিত সাহাই: এটি কোনো কিছুকে আরও দক্ষ করে তোলার বিষয়ে নয়। এটি এমন কিছু করার বিষয়ে যা আমরা আগে কীভাবে করতে হয় তা জানতাম না। আমি আসলে তোমাকে প্রমাণ করতে পারি, আমার কোনো গোপনীয়তা প্রকাশ না করেই, যে আমি সততার সাথে আচরণ করছি। আমি তোমাকে প্রমাণ করতে পারি যে আমি কোনো এনক্রিপ্ট করা নথিতে সঠিকভাবে স্বাক্ষর করেছি, সেই গোপন নথিটি কী ছিল তা প্রকাশ না করেই। গেমটি পরিবর্তন করার এই ক্ষমতা — আমরা যা করতে পারি তা সত্যিই পরিবর্তন করার ক্ষমতা — জিরো-নলেজ আমাদের সামনে নিয়ে আসে।
কলেজের ছাত্র: আপনার কী মনে হয় আমরা শূন্য-জ্ঞান প্রমাণ ব্যবহার করে কোথায় আরও বেশি বিশ্বাস তৈরি করতে পারি?
অমিত সাহাই: একটি দারুণ উদাহরণ হলো নির্বাচন। যদি তুমি প্রমাণ করতে পারো যে একটি নির্বাচন সঠিকভাবে পরিচালিত হয়েছিল — যে প্রতিটি ভোট গণনা করা হয়েছিল এবং সব মিলিয়ে একজন ব্যক্তি একটি নির্দিষ্ট মোট সংখ্যা নিয়ে জিতেছে — জিরো-নলেজ পদ্ধতিতে, তবে তোমাকে কোনো ব্যক্তির আসল ভোট প্রকাশ করতে হবে না। অথচ সবাই দেখতে পাবে যে এটি সঠিকভাবে করা হয়েছে।
স্তর 4: স্নাতক ছাত্র (11:59)
অমিত সাহাই: তোমাকে এখানে পেয়ে এবং তোমার সাথে কথা বলে খুব ভালো লাগছে, এলি। তুমি কি আমাকে তোমার গবেষণা সম্পর্কে একটু বলতে পারো?
এলি: আমার গবেষণা ক্রিপ্টোগ্রাফি নিয়ে। নির্দিষ্টভাবে, আমি কিছু মাল্টি-পার্টি কম্পিউটেশন প্রোটোকল নিয়ে কাজ করছি। আমি বর্তমানে যেটিতে কাজ করছি তা হলো সামগ্রিক পরিসংখ্যান গণনা করার একটি সিস্টেম, যাতে Google Chrome বা Tesla-এর মতো পরিষেবা প্রদানকারীরা পৃথক ব্যবহারকারীদের ডেটা সম্পর্কে কিছু না জেনেই সেই পরিসংখ্যান সংগ্রহ করতে পারে। একজন ব্যবহারকারী হিসেবে, আমাকে Firefox-কে জানাতে হবে না যে আমার প্রিয় ওয়েবসাইট হলো mylittlepony.com। কিন্তু তারা জানতে পারবে প্রতিদিন কতজন ব্যবহারকারী mylittlepony.com-এ যায়।
অমিত সাহাই: এটা দারুণ। মাল্টি-পার্টি কম্পিউটেশন আমার হৃদয়ের খুব কাছের। স্পষ্টতই, শূন্য-জ্ঞান প্রমাণ হলো অন্য কোনো ব্যক্তিকে কোনো কিছু প্রমাণ করা, আপনি যা প্রমাণ করছেন তার বিস্তারিত প্রকাশ না করেই। কিন্তু আমার মতে, জিরো-নলেজ আসলে এর চেয়েও অনেক দূর এগিয়ে যায়। এটি এমন একটি বিস্তৃত ধারণা যা তুমি মাল্টি-পার্টি কম্পিউটেশনে অনেক দেখতে পাবে, যেখানে তুমি কোনো কাজ সম্পন্ন করতে চাও সেই কাজটি সম্পন্ন করার জন্য ঠিক যতটুকু প্রয়োজন তার চেয়ে বেশি কিছু প্রকাশ না করেই।
এলি: ঠিক, এবং এটি আপনাকে প্রমাণ করতে দেয় যে আপনি সততার সাথে আচরণ করছেন, সততার সাথে আচরণ করার জন্য আপনি যে গোপনীয়তাগুলো ব্যবহার করেন তার কোনোটি প্রকাশ না করেই। আমরা জানি যে NP-complete ল্যাঙ্গুয়েজের জন্য শূন্য-জ্ঞান প্রমাণ ক্রিপ্টোগ্রাফিতে এত বড় ভূমিকা পালন করে। NP-completeness-এর সাথে আপনার প্রথম অভিজ্ঞতা কেমন ছিল?
অমিত সাহাই: আমার প্রথম পরিচয় হয়েছিল আন্ডারগ্র্যাজুয়েট হিসেবে আমার একেবারে প্রথম অ্যালগরিদম ক্লাসে। একটি NP-complete ল্যাঙ্গুয়েজ হলো এমন একটি চমৎকার সমস্যা যা কেবল নিজের সম্পর্কেই বলে না, বরং এই সমস্যাটি সমাধান করা আসলে তোমাকে সত্যিই আকর্ষণীয় সমস্যার একটি সম্পূর্ণ ক্লাস সম্পর্কে জানাতে পারে।
এলি: যখন আপনি প্রথম প্রমাণগুলোকে একটি ইন্টারেক্টিভ গেম হিসেবে ভাবতে শুরু করেন যেখানে আমরা একে অপরের সাথে কথা বলছি, তখন কি তা জিরো-নলেজকে সম্ভব করে তুলেছিল?
অমিত সাহাই: একদম। এবং এই ধারণাটি যে র্যান্ডমনেস কোনো কিছু প্রমাণ করার জন্য দরকারী হতে পারে — আবার, আমরা যদি প্রমাণের প্লেটোনিক আদর্শের কথা ভাবি তবে এটি খুব বিপরীতমুখী মনে হয়। সেখানে কোনো র্যান্ডমনেস নেই, কোনো নন-ডিটারমিনিজম উপস্থিত নেই।
এলি: এটি একটি প্রমাণকে সম্পূর্ণ উল্টে দেওয়ার এই পুরো ধারণার সাথে সম্পর্কিত। একটি পুরোনো ক্লাসিক্যাল প্রমাণে, র্যান্ডমনেস বিশেষভাবে আপনি যা করার চেষ্টা করছেন তার লক্ষ্যের বিরুদ্ধে যায়, কারণ আপনি সবকিছু স্পষ্ট করার এবং তথ্যের প্রবাহ প্রকাশ করার চেষ্টা করছেন। কিন্তু একবার আপনি যখন এটিকে উল্টে দেন এবং আপনি আর তা করার চেষ্টা করেন না, তখন হঠাৎ করে র্যান্ডমনেস-এর সমস্ত খারাপ বৈশিষ্ট্যগুলো ভালো হয়ে যায়।
অমিত সাহাই: ঠিক তাই। র্যান্ডম হলো অপ্রত্যাশিত, এবং আমরা সেটাই চাই। আমরা চাই সেই অপ্রত্যাশিততা আসলে সেই তথ্যটি লুকিয়ে রাখুক যা আমরা লুকাতে চাই। তুমি যে প্রজেক্টগুলোতে কাজ করেছ সেগুলোতে জিরো-নলেজ কীভাবে ব্যবহার করেছ? তুমি কী কী চ্যালেঞ্জ খুঁজে পেয়েছ?
এলি: সাধারণত সবচেয়ে কঠিন অংশ হলো এটি ব্যবহার করার সেরা জায়গাটি ঠিক কোথায় তা খুঁজে বের করা। আমি কিছু গবেষণাপত্র লিখেছি যেখানে জিরো-নলেজ আরও তাত্ত্বিক উপায়ে ব্যবহার করা হয়েছে, কিন্তু যখন প্রয়োগের কথা আসে, আমি এ পর্যন্ত যে সবচেয়ে উত্তেজনাপূর্ণ প্রয়োগগুলো দেখেছি তা ব্লকচেইন স্পেসে হয়েছে।
অমিত সাহাই: দক্ষতার কিছু বাধা (bottlenecks) কী কী?
এলি: শূন্য-জ্ঞান প্রমাণের সবচেয়ে দারুণ বিষয়গুলোর মধ্যে একটি হলো এর অনেক ধরন রয়েছে — আমি সেগুলোকে ফ্লেভার বলতে পছন্দ করি। সাধারণভাবে, আপনি যখন প্রয়োগে শূন্য-জ্ঞান প্রমাণ ব্যবহার করেন, তখন প্রধান বাধাটি প্রমাণকারীর ওপর থাকে।
অমিত সাহাই: তুমি কি প্রমাণকারীর কাজটিকে নিয়ে অনেকগুলো সমান্তরাল কম্পিউটেশনে ভাগ করতে পারো?
এলি: এটি খুব মজার একটি প্রশ্ন। আমি মনে করি একটি ক্ষেত্র হিসেবে আমরা এখনও এর উত্তর জানি না। গত তিন বা চার বছরে আমি যে সবচেয়ে দারুণ জিনিসগুলোর মধ্যে একটি দেখেছি তা হলো তাত্ত্বিক থেকে প্রায়োগিকে রূপান্তর — গত 30 বছরে মানুষ যে সমস্ত চমৎকার সিস্টেমের কথা ভেবেছে সেগুলো আসলে তৈরি করার মতো যথেষ্ট দক্ষ হতে শুরু করেছে।
অমিত সাহাই: কোনো সন্দেহ নেই। এবং বিশেষ করে ক্লাউড কম্পিউটিংয়ের সাথে — শূন্য-জ্ঞান প্রমাণ সক্ষম করতে ক্লাউডের শক্তিকে কাজে লাগানো চমৎকার হবে। এছাড়াও ব্লকচেইন স্পেসে, তুমি যদি প্রমাণ তৈরির গতি বাড়াতে চাও, যদি তা একটি ডিস্ট্রিবিউটেড উপায়ে করা যায়, তবে তা দারুণ হবে। আমার একটি আশা হলো মাল্টি-পার্টি কম্পিউটেশনের শক্তি হলো এমন মানুষদের একত্রিত করা যারা একে অপরের প্রতি অবিশ্বাসী। আমরা কি ক্রিপ্টোগ্রাফিতে সেই শক্তিটি নিতে পারি এবং বর্তমানে সমাজে যে বিপুল পরিমাণ অবিশ্বাস রয়েছে তা দূর করতে সাহায্য করার জন্য এটি ব্যবহার করতে পারি?
এলি: আমি মনে করি এটি অন্যতম কারণ যার জন্য আমি মাল্টি-পার্টি কম্পিউটেশনের প্রতি এত আকৃষ্ট হয়েছিলাম। বিশ্বের সবচেয়ে গুরুত্বপূর্ণ সমস্যাগুলোর মধ্যে একটি হলো এই সত্য যে অনেক মানুষ একে অপরকে বিশ্বাস করে না। এমন প্রযুক্তি তৈরি করতে গণিত ব্যবহার করতে পারা যা মানুষকে একে অপরকে বিশ্বাস না করেই একসাথে কাজ করতে দেয়, এটি সত্যিই একটি দারুণ এবং চমৎকার মিশন।
স্তর 5: বিশেষজ্ঞ (17:10)
অমিত সাহাই: শাং-হুয়া, তোমাকে আবার দেখে খুব ভালো লাগছে। আমার মনে হয় শেষবার আমাদের দেখা হয়েছিল 2017 সালে বা ওই রকম কোনো সময়ে।
শাং-হুয়া: আমার মনে হয় মহামারীর সময় আমরা একবার জুমে (Zoom) কথা বলেছিলাম, তবে তোমাকে সরাসরি দেখে ভালো লাগছে। আসলে, 86 সালে আমি প্রফেসর লিওনার্ড অ্যাডলম্যানের সাথে একটি ক্রিপ্টো ক্লাস করছিলাম, যিনি RSA-এর A। তিনি আমাকে শূন্য-জ্ঞান প্রমাণের ওপর গোল্ডওয়াসার, মিকালি এবং চার্লি র্যাকফের গবেষণাপত্রটি দিয়েছিলেন। সুতরাং সেটিই ছিল এই দেশে আমার জীবনের প্রথম প্রেজেন্টেশন — জিরো-নলেজ সম্পর্কে।
অমিত সাহাই: এটা দারুণ। এটি প্রায় একটি সম্মোহনী ধারণার মতো।
শাং-হুয়া: গাণিতিকভাবে সেই ধারণাগুলো কীভাবে প্রণয়ন করা যায় তাও আকর্ষণীয়। উদাহরণস্বরূপ, আমাদের কাছে ডেটা আছে। শেষ পর্যন্ত ডেটা থেকে, ডেটা মাইনিং-এর মাধ্যমে, আপনি তথ্য পেতে পারেন। এবং তারপর আপনার কাছে "জ্ঞান (knowledge)" নামক এই শব্দটি আছে। জ্ঞান নিয়ে দর্শনেও দীর্ঘকাল ধরে বিতর্ক রয়েছে। জ্ঞান কী? কিন্তু এখানে গণিতবিদ বা কম্পিউটার বিজ্ঞানীরা এই জ্ঞানকে ধারণ করতে চান এমন একটি খুব আকর্ষণীয় উপায় রয়েছে। এটি "জিরো-ইনফরমেশন প্রুফ" বলেনি। তাহলে "তথ্য (information)" বা "জিরো-ডেটা প্রুফ"-এর পরিবর্তে কেন "জ্ঞান" বলা হলো, সে বিষয়ে আপনার মতামত কী? স্পষ্টতই সেখানে ডেটা আছে, তাই এটি জিরো-ডেটা হতে পারে না।
অমিত সাহাই: একদম। আমি মনে করি না যে আমাদের কাছে এখনও সেই প্রশ্নের সম্পূর্ণ সন্তোষজনক উত্তর আছে। জিরো-নলেজ এমন কিছু যা আপনি আগে থেকেই অনুমান করতে পারেন, এই ধারণাটি ছিল একটি চমৎকার অন্তর্দৃষ্টি। আপনি যদি আগে থেকেই উত্তরটি অনুমান করতে পারেন, তবে আপনি অবশ্যই সেই মিথস্ক্রিয়া দ্বারা কোনো জ্ঞান অর্জন করছেন না। এই অন্তর্দৃষ্টি — ভবিষ্যৎ সঠিকভাবে অনুমান করতে পারা এবং সেটি নতুন জ্ঞানের অভাবের প্রমাণ হওয়া — এটি ছিল একটি চমৎকার, আশ্চর্যজনক অন্তর্দৃষ্টি।
শাং-হুয়া: আচ্ছা, এখানে জিরো-ইনফরমেশন নেই। মৌলিকভাবে, কম্পিউটিং এবং নিরাপত্তার দৃষ্টিকোণ থেকে, আপনি কতটা তথ্য অর্জন করেছেন এবং আপনার কাছে কতটা ডেটা আছে তার চেয়ে বেশি গুরুত্বপূর্ণ হলো আপনি কতটা জ্ঞান অর্জন করছেন। ডেটা মানেই তাৎক্ষণিকভাবে জ্ঞান নয়। কিন্তু মানুষ সবসময় পার্থক্য করতে পারে না।
অমিত সাহাই: ঠিক। উদাহরণস্বরূপ, চিকিৎসা গবেষণায় — একটি ওষুধ থাকা এবং যৌগের গঠন প্রকাশ না করেই এই মডেলে এটি কাজ করে তা প্রমাণ করা কতটা চমৎকার হবে?
শাং-হুয়া: আপনি কী বলবেন এই স্পেসে পরবর্তী দিকনির্দেশনাগুলো কী?
অমিত সাহাই: জিরো-নলেজ প্রোগ্রামের এই ধারণাটি আপনাকে কোনো মিথস্ক্রিয়া ছাড়াই জিরো-নলেজ উপায়ে সম্পূর্ণ ইচ্ছামতো কম্পিউটেশন চালানোর অনুমতি দেবে। আমি শুধু প্রোগ্রামটি নিতে পারি, এটিকে একটি জিরো-নলেজ প্রোগ্রামে — বা একটি অস্পষ্ট (obfuscated) প্রোগ্রামে — রূপান্তর করতে পারি এবং তারপর এটি আপনাকে পাঠাতে পারি। আপনি এটি চালাতে পারেন এবং আমার সাথে আর কথা না বলেই সেই কম্পিউটেশনের সুবিধা পেতে পারেন।
শাং-হুয়া: ঠিক বলেছেন। এর একটি নন-ইন্টারেক্টিভ প্রকৃতি রয়েছে। কিন্তু এর মধ্যে যাচাইযোগ্যতা রয়েছে। ব্লকচেইনে, তারা লেজারে আরও সাধারণ শূন্য-জ্ঞান প্রমাণ অন্তর্ভুক্ত করতে শুরু করেছে।
অমিত সাহাই: আমরা নিশ্চিতভাবে এখন এমন একটি মুহূর্তে আছি যেখানে জিরো-নলেজ আরও বেশি করে ব্যবহৃত হতে যাচ্ছে। জিরো-নলেজ স্পেসে এমন অনেক সম্মেলন এবং মিটিং হয় যেখানে আপনি এবং আমি আমন্ত্রিত নই — কারণ এটি তাদের জন্য যারা ডেভেলপ করছে, যারা প্রোগ্রামিং করছে, আমাদের মতো গণিতবিদদের জন্য নয়। এবং আমি মনে করি এটি একটি লক্ষণ। এটি একটি লক্ষণ যে আমাদের শিশুটি বড় হয়েছে, এবং এখন এটি বিকশিত হওয়ার সময়।
শাং-হুয়া: আমি গভীরভাবে মনে করি, ছাত্ররা প্রায়ই আমাকে জিজ্ঞাসা করে যে ভবিষ্যতের দিকনির্দেশনাগুলো কী — ক্রিপ্টো, শূন্য-জ্ঞান প্রমাণ, বাস্তব জগতে এবং গাণিতিক কম্পিউটিং উভয় ক্ষেত্রেই।
অমিত সাহাই: এটি একটি দারুণ প্রশ্ন। ইশ, আমি যদি ভবিষ্যৎ দেখতে পারতাম। আমি পারি না, তবে আমাকে চেষ্টা করতে দিন। আমি মনে করি গত কয়েক দশকে আমরা ক্রিপ্টোগ্রাফিতে অনেক কিছু করেছি, কিন্তু আমরা খুব কমই বুঝি। সবচেয়ে মৌলিক দিকটি হলো কাঠিন্য (hardness) বোঝা — আমরা কীভাবে কঠিন সমস্যাগুলো পাই? আমরা কীভাবে আসলে গাণিতিকভাবে কঠিন সমস্যাগুলো তৈরি করি যাতে আমরা সেগুলোকে দক্ষ জিরো-নলেজ প্রোগ্রাম এবং প্রমাণ তৈরি করতে ব্যবহার করতে পারি?
শাং-হুয়া: আমার মনে হয় কোয়ান্টাম কম্পিউটিংয়েও আপনার আরও কঠিন সমস্যা প্রয়োজন।
অমিত সাহাই: সত্যিই। এখন যেহেতু আমাদের দিকে কোয়ান্টাম কম্পিউটিংয়ের ছায়া ধেয়ে আসছে, আমরা সবাই জানি যে কোয়ান্টাম কম্পিউটার অনেক ক্রিপ্টোগ্রাফিক সিস্টেম ভেঙে দিতে পারে। এটি একটি গভীর চ্যালেঞ্জ। তাহলে আমরা কি কাঠিন্যের নতুন উৎস খুঁজে পেতে পারি যা কোয়ান্টাম-প্রতিরোধী — যা এমনকি কোয়ান্টাম কম্পিউটারও ভাঙতে পারে না? এটি এমন কিছু যা নিয়ে আমি গত কয়েক বছর ধরে কাজ করছি।
শাং-হুয়া: তবে আমি নিশ্চিত যে সেগুলো সুন্দর গণিতকে অনুপ্রাণিত করবে।
অমিত সাহাই: হ্যাঁ, ঠিক বলেছেন। বাস্তব জগতের একটি দারুণ বিষয় হলো বাস্তব জগতের মানুষের চাহিদা রয়েছে। এবং সেই চাহিদাগুলো প্রায়ই অসম্ভব বলে মনে হয়। আর সেখানেই আমাদের কাজ শুরু হয় — অসম্ভবকে সম্ভব করাই আমাদের কাজ।