HackCert
Intermediate 11 min read May 25, 2026

Zero-Knowledge Proofs: মূল পাসওয়ার্ড আদান-প্রদান না করেই পরিচয় প্রমাণ করার ভবিষ্যতের ক্রিপ্টোগ্রাফিক পদ্ধতি জিরো-নলেজ প্রুফস কীভাবে কাজ করে?

Zero-Knowledge Proofs-এর গাণিতিক ভিত্তি, প্রায়োগিক ব্যবহার এবং আধুনিক ক্রিপ্টোগ্রাফিক ব্যবস্থায় এর গুরুত্ব ব্যাখ্যা।

Ayesha Siddika Rahman
Cryptographer
share
Zero-Knowledge Proofs: মূল পাসওয়ার্ড আদান-প্রদান না করেই পরিচয় প্রমাণ করার ভবিষ্যতের ক্রিপ্টোগ্রাফিক পদ্ধতি জিরো-নলেজ প্রুফস কীভাবে কাজ করে?
Overview

কল্পনা করুন আপনি প্রমাণ করতে চান যে আপনি একটি গোপনীয় কোড জানেন, কিন্তু সেই কোডটি আসলে কখনো প্রকাশ না করেই। এটি প্যারাডক্সিক্যাল মনে হলেও, Zero-Knowledge Proofs (ZKP) ঠিক এটিই সাধন করে। ১৯৮৫ সালে শাফি গোল্ডওয়াসার, সিলভিও মিকালি এবং চার্লস র‍্যাকফ এই বৈপ্লবিক ধারণা প্রকাশ করেছিলেন এবং কয়েক দশক পরে এটি আধুনিক ক্রিপ্টোগ্রাফির সবচেয়ে উত্তেজনাপূর্ণ ক্ষেত্রে পরিণত হয়েছে। ব্লকচেইন থেকে শুরু করে বায়োমেট্রিক প্রমাণীকরণ পর্যন্ত — ZKP গোপনীয়তা-সংরক্ষণকারী প্রযুক্তির ভিত্তি হয়ে উঠছে।

ZKP-এর মৌলিক ধারণা

একটি Zero-Knowledge Proof-এ দুটি পক্ষ থাকে: Prover (যিনি প্রমাণ করতে চান) এবং Verifier (যিনি যাচাই করতে চান)। Prover একটি বিবৃতি সত্য তা প্রমাণ করতে চান এবং Verifier-এর সাথে interact করেন। শেষে Verifier নিশ্চিত হন যে বিবৃতিটি সত্য, কিন্তু বিবৃতির বিষয়বস্তু সম্পর্কে অতিরিক্ত কোনো তথ্য পান না।

প্রকৃত ZKP-এর তিনটি মৌলিক বৈশিষ্ট্য রয়েছে:

Completeness — যদি বিবৃতি সত্য হয় এবং Prover সততার সাথে অনুসরণ করেন, তাহলে Verifier নিশ্চিতভাবে বিশ্বাস করবেন।

Soundness — যদি বিবৃতি মিথ্যা হয়, তাহলে কোনো প্রতারক Prover Verifier-কে বিশ্বাস করাতে পারবেন না (অতি ক্ষুদ্র সম্ভাবনার চেয়ে বেশি)।

Zero-Knowledge — Verifier বিবৃতির সত্যতা ছাড়া অতিরিক্ত কোনো তথ্য শিখবেন না।

এই তৃতীয় বৈশিষ্ট্যটি ZKP-কে বিপ্লবী করে তোলে। এটি গাণিতিকভাবে প্রমাণ করা যায় যে Verifier প্রক্রিয়ার সময় যা দেখেন তা থেকে কিছুই বের করতে পারেন না যা তিনি আগে জানতেন না।

আলি বাবার গুহা: ক্লাসিক উদাহরণ

ZKP বোঝার সবচেয়ে জনপ্রিয় রূপক হলো আলি বাবার গুহা। কল্পনা করুন একটি গোলাকার গুহা যার দুটি প্রবেশপথ আছে — A এবং B। গুহার ভিতরে একটি গোপন দরজা আছে যা শুধুমাত্র একটি গোপন শব্দ জানা থাকলে খোলা যায়।

Peggy দাবি করেন যে তিনি গোপন শব্দ জানেন। তিনি এটি Victor-কে প্রমাণ করতে চান, কিন্তু শব্দটি প্রকাশ না করেই। তারা এই প্রোটোকল অনুসরণ করেন:

১. Victor গুহার বাইরে অপেক্ষা করেন। Peggy এলোমেলোভাবে A বা B পথে গুহায় প্রবেশ করেন।

২. Victor গুহার মুখে আসেন এবং Peggy-কে A বা B দিয়ে বের হতে বলেন।

৩. যদি Peggy সত্যিই গোপন শব্দ জানেন, তিনি যেকোনো পথ দিয়ে বের হতে পারেন। যদি না জানেন, তিনি শুধু সেই পথ দিয়ে বের হতে পারেন যেটিতে তিনি প্রবেশ করেছিলেন।

একবার এই প্রক্রিয়া ৫০% সফলতার সম্ভাবনা দেয় চান্স হিসেবে। কিন্তু যদি এটি ২০ বার পুনরাবৃত্তি করা হয় এবং Peggy প্রতিবার সফল হন, ভুল উত্তর দেওয়ার সম্ভাবনা ০.০০০১%-এর কম হয়। Victor নিশ্চিত হন যে Peggy শব্দটি জানেন, কিন্তু শব্দটি সম্পর্কে কিছুই শেখেন না।

ইন্টারেক্টিভ বনাম নন-ইন্টারেক্টিভ ZKP

মূল ZKP প্রস্তাব ইন্টারেক্টিভ ছিল — Prover এবং Verifier-এর মধ্যে একাধিক রাউন্ড সংলাপ প্রয়োজন। কিন্তু এটি অনেক ব্যবহারিক পরিস্থিতিতে অসুবিধাজনক, বিশেষ করে ব্লকচেইনে যেখানে একজন Prover একসাথে অনেক Verifier-কে প্রমাণ করতে চান।

Fiat-Shamir heuristic এই সমস্যার একটি সমাধান প্রদান করে। এটি একটি ইন্টারেক্টিভ প্রোটোকলকে নন-ইন্টারেক্টিভ-এ রূপান্তর করে একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন ব্যবহার করে Verifier-এর চ্যালেঞ্জ অনুকরণ করার মাধ্যমে। ফলাফল হলো একটি একক প্রমাণ যা যেকোনো সংখ্যক Verifier-এর কাছে ভাগ করা এবং স্বাধীনভাবে যাচাই করা যায়।

আধুনিক ZKP সিস্টেম প্রায়ই নন-ইন্টারেক্টিভ এবং Common Reference String (CRS) ব্যবহার করে।

zk-SNARKs এবং zk-STARKs

ব্লকচেইন এবং প্রাইভেসি অ্যাপ্লিকেশনে দুটি বিশেষ ZKP কনস্ট্রাকশন প্রভাবশালী হয়ে উঠেছে।

zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) — এর "succinct" অর্থ প্রমাণ অত্যন্ত ছোট (প্রায়ই কয়েক শ বাইট) এবং যাচাই দ্রুত (মিলিসেকেন্ডে)। Zcash cryptocurrency zk-SNARKs ব্যবহার করে শূন্য-জ্ঞান লেনদেন সম্পাদন করে যেখানে প্রেরক, প্রাপক এবং পরিমাণ গোপন থাকে।

zk-SNARKs-এর একটি সীমাবদ্ধতা হলো "trusted setup" প্রয়োজন — সিস্টেম সেটআপের সময় কিছু গোপন প্যারামিটার তৈরি করতে হয় এবং পরবর্তীতে ধ্বংস করতে হয়। যদি কেউ এই প্যারামিটার রেখে দেয়, তারা ভুয়া প্রমাণ তৈরি করতে পারে।

zk-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge) — এই নতুন কনস্ট্রাকশন trusted setup এড়িয়ে যায়। এটি শুধু ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশনের উপর নির্ভর করে এবং কোয়ান্টাম কম্পিউটারের বিরুদ্ধে নিরাপদ। তবে প্রমাণ আকার বড়, সাধারণত শত শত কিলোবাইট। StarkWare এবং Ethereum-এর Layer 2 সমাধান STARKs ব্যবহার করে।

প্রমাণীকরণে ZKP

প্রথাগত পাসওয়ার্ড-ভিত্তিক প্রমাণীকরণে ব্যবহারকারী তার পাসওয়ার্ড সার্ভারে পাঠান (TLS-এর উপর দিয়ে এনক্রিপ্টেড)। সার্ভার এই পাসওয়ার্ডের হ্যাশ সংরক্ষিত হ্যাশের সাথে তুলনা করে। সমস্যা হলো সার্ভার এই মুহূর্তে আসল পাসওয়ার্ড দেখতে পায়, এবং যদি সার্ভার আপোস হয়, পাসওয়ার্ড ফাঁস হতে পারে।

SRP (Secure Remote Password) protocol এবং OPAQUE হলো ZKP-অনুপ্রাণিত প্রমাণীকরণ প্রোটোকল যেখানে ক্লায়েন্ট পাসওয়ার্ড জানার প্রমাণ করে কিন্তু পাসওয়ার্ড নিজে কখনো সার্ভারকে পাঠায় না। OPAQUE বর্তমান উপায়গুলোর মধ্যে অন্যতম উন্নত এবং Cloudflare তাদের সমাধানে এটি ব্যবহার করছে।

WebAuthn-এ FIDO2 ব্যবহৃত উদ্বুদ্ধ asymmetric cryptography প্রাইভেট কী কখনো সার্ভারে পাঠানো ছাড়া প্রমাণীকরণ সাধন করে। যদিও এটি কঠোরভাবে ZKP নয়, এটি একই দর্শন ভাগ করে।

বায়োমেট্রিক প্রমাণীকরণে ZKP-এর সম্ভাবনা বিশাল। বর্তমানে একটি ফিঙ্গারপ্রিন্ট স্ক্যান করার সময় বায়োমেট্রিক ডেটা সার্ভারে যেতে হয় (বা অন্তত স্থানীয়ভাবে সংরক্ষিত থাকে)। ZKP-ভিত্তিক বায়োমেট্রিক্স ব্যবহারকারীকে প্রমাণ করতে দিতে পারে যে তাদের ফিঙ্গারপ্রিন্ট সংরক্ষিত একটির সাথে মেলে — বাস্তব ফিঙ্গারপ্রিন্ট ডেটা প্রকাশ না করেই।

ব্লকচেইন এবং Privacy Coins

Zcash এবং Monero গোপনীয় cryptocurrency-এর দুটি প্রধান উদাহরণ, যদিও তারা ভিন্ন প্রযুক্তি ব্যবহার করে। Monero ring signatures এবং stealth addresses ব্যবহার করে, যেখানে Zcash zk-SNARKs ব্যবহার করে।

Zcash-এ একটি "shielded" লেনদেন zk-SNARK প্রমাণ অন্তর্ভুক্ত করে যা যাচাইকারীদের নিশ্চিত করে যে লেনদেনটি বৈধ (প্রেরকের যথেষ্ট ব্যালেন্স আছে, ডাবল-স্পেন্ডিং নেই ইত্যাদি) — কিন্তু প্রেরক, প্রাপক, বা পরিমাণের কোনো বিবরণ প্রকাশ না করে।

Ethereum-এর Layer 2 ROLLUPs (zk-Rollups) ZKP ব্যবহার করে স্কেলিং সাধন করে। হাজার হাজার লেনদেন off-chain প্রক্রিয়া করা হয় এবং একটি একক zk-প্রমাণ Ethereum mainnet-এ পোস্ট করা হয়। এটি throughput-কে ১০০x বা তার বেশি বৃদ্ধি করে।

Identity এবং KYC-এ ZKP

ডিজিটাল পরিচয়ে ZKP একটি গেম-পরিবর্তনকারী হতে পারে। বর্তমানে যখন আপনি একটি সেবার জন্য বয়স প্রমাণ করতে চান, আপনাকে আপনার ID কার্ড পুরো প্রকাশ করতে হয় — যা শুধু বয়স নয়, ঠিকানা, পূর্ণ নাম এবং অন্যান্য সংবেদনশীল তথ্যও দেয়।

ZKP দিয়ে আপনি প্রমাণ করতে পারেন "আমি ১৮ বছরের বেশি" — অন্য কিছু প্রকাশ না করেই। Self-sovereign identity (SSI) এবং Decentralized Identifiers (DID) মান এই দিকে কাজ করছে।

Polygon ID এবং অন্যান্য projects এই ভিশন বাস্তবায়ন করছে। ব্যবহারকারীরা তাদের credentials একটি ওয়ালেটে রাখেন এবং বিভিন্ন পরিচয় দাবি (নাগরিকত্ব, বয়স, শংসাপত্র) ZKP-এর মাধ্যমে চাহিদা অনুযায়ী প্রমাণ করতে পারেন।

ZKP-এর গাণিতিক ভিত্তি

প্রকৃত ZKP প্রোটোকলগুলো জটিল গণিতের উপর প্রতিষ্ঠিত। কিছু মূল ধারণা:

Polynomial commitments — Prover একটি গণনাকে একটি polynomial-এ এনকোড করেন এবং একটি commitment তৈরি করেন। Verifier নির্দিষ্ট পয়েন্টে polynomial-এর মান যাচাই করতে পারেন।

Bilinear pairings — zk-SNARKs-এ pairing-based cryptography ব্যবহার করা হয়। Elliptic curves-এর একটি বিশেষ গাণিতিক বৈশিষ্ট্য যা সংক্ষিপ্ত প্রমাণ সম্ভব করে।

Probabilistically Checkable Proofs (PCPs) — STARKs-এর তাত্ত্বিক ভিত্তি। একটি প্রমাণের শুধু কয়েকটি বাইট পরীক্ষা করে বেশ আত্মবিশ্বাসের সাথে যাচাই করা যায়।

Fiat-Shamir transform — ইন্টারেক্টিভ প্রোটোকল থেকে নন-ইন্টারেক্টিভ-এ রূপান্তরের গাণিতিক ভিত্তি।

এই গণিতের গভীরতা ZKP কে শিক্ষানবিশদের জন্য চ্যালেঞ্জিং করে, কিন্তু zk-SNARK লাইব্রেরি যেমন libsnark, Circom এবং Halo2 ডেভেলপারদের সরাসরি ক্রিপ্টোগ্রাফিক বিস্তারিত স্পর্শ না করে ZKP সার্কিট তৈরি করতে দেয়।

বাস্তব উদাহরণ: একটি প্রাইভেসি-সংরক্ষণকারী ভোটিং সিস্টেম

ZKP-এর একটি শক্তিশালী প্রয়োগ হলো নিরাপদ ভোটিং সিস্টেম। ঐতিহ্যবাহী ই-ভোটিং একটি অসম্ভব ত্রয়ী চ্যালেঞ্জ মুখোমুখি হয়: গোপনীয়তা, যাচাইযোগ্যতা এবং অখণ্ডতা।

ZKP-ভিত্তিক ভোটিং প্রতিটি ভোটারকে অনুমতি দেয় তাদের ভোট দিতে যাতে:

  • তারা প্রমাণ করতে পারেন যে তারা একটি বৈধ ভোট দিয়েছেন (যাচাইযোগ্যতা)
  • কোনো তৃতীয় পক্ষ জানতে পারে না তারা কাকে ভোট দিয়েছেন (গোপনীয়তা)
  • কোনো ব্যক্তি একাধিক ভোট দিতে পারে না (অখণ্ডতা)

Helios, Belenios এবং আধুনিক zk-SNARK-ভিত্তিক সিস্টেম এই বৈশিষ্ট্য সমাধান করেছে। যদিও বাস্তব নির্বাচনে প্রয়োগ এখনও সীমিত (অংশত আস্থা এবং ব্যবহারযোগ্যতার চ্যালেঞ্জের কারণে), প্রযুক্তিগত ভিত্তি প্রস্তুত।

চ্যালেঞ্জ এবং সীমাবদ্ধতা

ZKP চমৎকার শক্তি প্রদান করলেও, এর সীমাবদ্ধতা রয়েছে:

গণনার ব্যয় — যদিও যাচাই দ্রুত, প্রমাণ তৈরি গণনাগতভাবে ব্যয়বহুল। জটিল গণনার জন্য proof তৈরিতে কয়েক মিনিট থেকে ঘন্টা লাগতে পারে।

বিশেষায়িত জ্ঞান — ZKP সার্কিট সঠিকভাবে ডিজাইন করতে গভীর ক্রিপ্টোগ্রাফিক জ্ঞান প্রয়োজন। সাধারণ ডেভেলপারদের জন্য entry barrier উচ্চ।

Trusted setup ঝুঁকি — কিছু zk-SNARK প্রকার trusted setup প্রয়োজন করে। যদি সেটআপ অংশগ্রহণকারীরা সততার সাথে কাজ না করেন বা সেটআপ ডেটা ফাঁস হয়, পুরো সিস্টেমের অখণ্ডতা ভেঙে পড়তে পারে।

স্ট্যান্ডার্ডের অভাব — বিভিন্ন ZKP কনস্ট্রাকশনের মধ্যে interoperability সীমিত।

প্রতিরোধ ও সঠিক প্রয়োগ

ZKP প্রয়োগে নিম্নলিখিত নীতিগুলো অনুসরণ করুন:

প্রতিষ্ঠিত লাইব্রেরি ব্যবহার করুন। libsnark, Halo2, Circom এবং সম্পর্কিত সরঞ্জাম বিশেষজ্ঞদের দ্বারা নিরীক্ষিত। নিজের ক্রিপ্টোগ্রাফিক কোড লেখা ঝুঁকিপূর্ণ।

Trusted setup ceremony-তে অংশগ্রহণ করুন বা যাচাই করুন। বিশ্বস্ত setup-এ একাধিক স্বাধীন পক্ষ অংশগ্রহণ করেন — যদি যেকোনো একজন সৎ হন, সিস্টেম নিরাপদ।

সঠিক ব্যবহারের কেস নির্বাচন করুন। ZKP সব সমস্যার সমাধান নয়। সাধারণ প্রমাণীকরণের জন্য WebAuthn যথেষ্ট হতে পারে।

পারফরম্যান্স পরীক্ষা করুন। প্রকৃত-বিশ্ব ডেটা এবং পরিমাণে proof generation এবং যাচাই কার্যকারিতা পরিমাপ করুন।

নিরাপত্তা নিরীক্ষা করুন। ZKP সার্কিট ডিজাইনে সূক্ষ্ম ভুল গুরুতর দুর্বলতা তৈরি করতে পারে। বিশেষজ্ঞদের দ্বারা কোড পর্যালোচনা গুরুত্বপূর্ণ।

Key Takeaways

Zero-Knowledge Proofs ক্রিপ্টোগ্রাফির সবচেয়ে উত্তেজনাপূর্ণ এবং দ্রুত বিকশিত ক্ষেত্র। চার দশকের গবেষণার পর, ZKP তত্ত্বিক কৌতূহল থেকে ব্যবহারিক প্রযুক্তিতে পরিণত হয়েছে যা ব্লকচেইন স্কেলিং, প্রাইভেসি-সংরক্ষণকারী প্রমাণীকরণ, এবং পরিচয় ব্যবস্থাপনায় বিপ্লব ঘটাচ্ছে। gas খরচ হ্রাস, প্রমাণ সময় দ্রুততর করা এবং ডেভেলপার অভিজ্ঞতা উন্নত করার চলমান গবেষণা ZKP-কে আরও সহজলভ্য করছে। আগামী দশকে আমরা সম্ভবত ZKP-এর ভিত্তিতে নির্মিত পরিচয় সিস্টেম, ভোটিং প্ল্যাটফর্ম এবং গোপনীয়তা-সংরক্ষণকারী আর্থিক পরিষেবা দেখব। সাইবার নিরাপত্তা এবং ক্রিপ্টোগ্রাফি পেশাজীবীদের জন্য ZKP-এর মৌলিক বোঝাপড়া এখন একটি optional skill নয়, বরং ক্রমশই একটি প্রয়োজনীয়তা হয়ে উঠছে।

আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Zero-Knowledge Proofs MCQ Quiz-টি দিন!

Related articles

back to all articles