মূল কন্টেন্টে যান

পেজ সর্বশেষ আপডেট করা হয়েছে: ২৩ ফেব্রুয়ারী, ২০২৬

জিরো-নলেজ প্রুফ কী?

জিরো-নলেজ প্রুফ হলো কোনো স্টেটমেন্ট বা বিবৃতি প্রকাশ না করেই তার বৈধতা প্রমাণ করার একটি উপায়। 'প্রুভার' (prover) হলো সেই পক্ষ যে কোনো দাবি প্রমাণ করার চেষ্টা করে, আর 'ভেরিফায়ার' (verifier) সেই দাবির বৈধতা যাচাই করার জন্য দায়ী থাকে।

জিরো-নলেজ প্রুফ প্রথমবার 1985 সালের একটি গবেষণাপত্র, “The knowledge complexity of interactive proof systems (opens in a new tab)”-এ উপস্থিত হয়েছিল, যা জিরো-নলেজ প্রুফের এমন একটি সংজ্ঞা প্রদান করে যা বর্তমানে ব্যাপকভাবে ব্যবহৃত হয়:

জিরো-নলেজ প্রটোকল হলো এমন একটি পদ্ধতি যার মাধ্যমে এক পক্ষ (প্রুভার) অন্য পক্ষের (ভেরিফায়ার) কাছে প্রমাণ করতে পারে যে কোনো কিছু সত্য, কোনো তথ্য প্রকাশ না করেই, শুধুমাত্র এই নির্দিষ্ট বিবৃতিটি যে সত্য সেই বিষয়টি ছাড়া।

জিরো-নলেজ প্রুফ বছরের পর বছর ধরে উন্নত হয়েছে এবং বর্তমানে এগুলো বাস্তব বিশ্বের বিভিন্ন অ্যাপ্লিকেশনে ব্যবহৃত হচ্ছে।

আমাদের কেন জিরো-নলেজ প্রুফ প্রয়োজন?

জিরো-নলেজ প্রুফ অ্যাপ্লায়েড ক্রিপ্টোগ্রাফি-তে একটি যুগান্তকারী আবিষ্কার হিসেবে আবির্ভূত হয়েছে, কারণ এগুলো ব্যক্তিদের তথ্যের নিরাপত্তা উন্নত করার প্রতিশ্রুতি দেয়। ধরুন, আপনি কীভাবে অন্য কোনো পক্ষের (যেমন, একটি সার্ভিস প্রোভাইডার) কাছে একটি দাবি (যেমন, "আমি X দেশের নাগরিক") প্রমাণ করবেন। আপনার দাবিকে সমর্থন করার জন্য আপনাকে "প্রমাণ" প্রদান করতে হবে, যেমন একটি জাতীয় পাসপোর্ট বা ড্রাইভিং লাইসেন্স।

কিন্তু এই পদ্ধতিতে কিছু সমস্যা রয়েছে, প্রধানত গোপনীয়তার অভাব। থার্ড-পার্টি সার্ভিসের সাথে শেয়ার করা পার্সোনালি আইডেন্টিফিয়েবল ইনফরমেশন (PII) বা ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্য কেন্দ্রীয় ডাটাবেসে সংরক্ষিত থাকে, যা হ্যাক হওয়ার ঝুঁকিতে থাকে। আইডেন্টিটি থেফট বা পরিচয় চুরি একটি গুরুতর সমস্যা হয়ে ওঠায়, সংবেদনশীল তথ্য শেয়ার করার জন্য আরও বেশি গোপনীয়তা-রক্ষাকারী উপায়ের দাবি উঠেছে।

জিরো-নলেজ প্রুফ দাবির বৈধতা প্রমাণ করার জন্য তথ্য প্রকাশের প্রয়োজনীয়তা দূর করে এই সমস্যার সমাধান করে। জিরো-নলেজ প্রটোকল বিবৃতিটিকে (যাকে 'উইটনেস' বা সাক্ষী বলা হয়) ইনপুট হিসেবে ব্যবহার করে এর বৈধতার একটি সংক্ষিপ্ত প্রমাণ তৈরি করে। এই প্রমাণটি একটি শক্তিশালী নিশ্চয়তা প্রদান করে যে একটি বিবৃতি সত্য, এটি তৈরিতে ব্যবহৃত তথ্য প্রকাশ না করেই।

আমাদের আগের উদাহরণে ফিরে গেলে, আপনার নাগরিকত্বের দাবি প্রমাণ করার জন্য আপনার একমাত্র যে প্রমাণটি প্রয়োজন তা হলো একটি জিরো-নলেজ প্রুফ। ভেরিফায়ারকে শুধুমাত্র পরীক্ষা করতে হবে যে প্রমাণের নির্দিষ্ট বৈশিষ্ট্যগুলো সত্য কি না, যাতে সে নিশ্চিত হতে পারে যে অন্তর্নিহিত বিবৃতিটিও সত্য।

জিরো-নলেজ প্রুফের ব্যবহার-ক্ষেত্র

বেনামী পেমেন্ট

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

ক্রিপ্টোকারেন্সিগুলোর উদ্দেশ্য ছিল ব্যবহারকারীদের ব্যক্তিগত, পিয়ার-টু-পিয়ার লেনদেন পরিচালনার একটি উপায় প্রদান করা। কিন্তু বেশিরভাগ ক্রিপ্টোকারেন্সি লেনদেন পাবলিক ব্লকচেইন-এ প্রকাশ্যে দৃশ্যমান। ব্যবহারকারীর পরিচয়গুলো প্রায়শই ছদ্মনামযুক্ত হয় এবং হয় ইচ্ছাকৃতভাবে বাস্তব-বিশ্বের পরিচয়ের সাথে যুক্ত থাকে (যেমন, Twitter বা GitHub প্রোফাইলে ETH এডড্রেস অন্তর্ভুক্ত করার মাধ্যমে) অথবা সাধারণ অনচেইন এবং অফচেইন ডেটা বিশ্লেষণের মাধ্যমে বাস্তব-বিশ্বের পরিচয়ের সাথে যুক্ত করা যেতে পারে।

সম্পূর্ণ বেনামী লেনদেনের জন্য ডিজাইন করা নির্দিষ্ট "প্রাইভেসি কয়েন" রয়েছে। গোপনীয়তা-কেন্দ্রিক ব্লকচেইন, যেমন Zcash এবং Monero, প্রেরক/প্রাপকের এডড্রেস, সম্পদের ধরন, পরিমাণ এবং লেনদেনের সময়রেখাসহ লেনদেনের বিবরণ গোপন রাখে।

প্রটোকল-এর মধ্যে জিরো-নলেজ প্রযুক্তি যুক্ত করার মাধ্যমে, গোপনীয়তা-কেন্দ্রিক নেটওয়ার্কগুলো -গুলোকে লেনদেনের ডেটা অ্যাক্সেস করার প্রয়োজন ছাড়াই লেনদেন যাচাই করার অনুমতি দেয়। EIP-7503 (opens in a new tab) হলো একটি প্রস্তাবিত ডিজাইনের উদাহরণ যা Ethereum ব্লকচেইন-এ নেটিভ প্রাইভেট ভ্যালু ট্রান্সফার সক্ষম করবে। তবে, নিরাপত্তা, নিয়ন্ত্রক এবং UX উদ্বেগের মিশ্রণের কারণে এই ধরনের প্রস্তাবগুলো বাস্তবায়ন করা কঠিন।

পাবলিক ব্লকচেইন-এ লেনদেন বেনামী করার জন্যও জিরো-নলেজ প্রুফ প্রয়োগ করা হচ্ছে। এর একটি উদাহরণ হলো Tornado Cash, একটি ডিসেন্ট্রালাইজড, নন-কাস্টোডিয়াল পরিষেবা যা ব্যবহারকারীদের Ethereum-এ ব্যক্তিগত লেনদেন পরিচালনা করতে দেয়। Tornado Cash লেনদেনের বিবরণ অস্পষ্ট করতে এবং আর্থিক গোপনীয়তার নিশ্চয়তা দিতে জিরো-নলেজ প্রুফ ব্যবহার করে। দুর্ভাগ্যবশত, যেহেতু এগুলো "অপ্ট-ইন" প্রাইভেসি টুল, তাই এগুলো অবৈধ কার্যকলাপের সাথে যুক্ত। এটি কাটিয়ে ওঠার জন্য, শেষ পর্যন্ত পাবলিক ব্লকচেইনগুলোতে গোপনীয়তাকে ডিফল্ট হতে হবে। Ethereum-এ গোপনীয়তা সম্পর্কে আরও জানুন।

পরিচয় সুরক্ষা

বর্তমান আইডেন্টিটি ম্যানেজমেন্ট সিস্টেমগুলো ব্যক্তিগত তথ্যকে ঝুঁকিতে ফেলে। জিরো-নলেজ প্রুফ সংবেদনশীল বিবরণ রক্ষা করার পাশাপাশি ব্যক্তিদের পরিচয় যাচাই করতে সাহায্য করতে পারে।

জিরো-নলেজ প্রুফ বিশেষ করে ডিসেন্ট্রালাইজড আইডেন্টিটি-এর প্রেক্ষাপটে কার্যকর। ডিসেন্ট্রালাইজড আইডেন্টিটি (যাকে 'সেলফ-সভরিন আইডেন্টিটি' হিসেবেও বর্ণনা করা হয়) ব্যক্তিকে ব্যক্তিগত আইডেন্টিফায়ারগুলোতে অ্যাক্সেস নিয়ন্ত্রণ করার ক্ষমতা দেয়। আপনার ট্যাক্স আইডি বা পাসপোর্টের বিবরণ প্রকাশ না করে আপনার নাগরিকত্ব প্রমাণ করা হলো জিরো-নলেজ প্রযুক্তি কীভাবে ডিসেন্ট্রালাইজড আইডেন্টিটি সক্ষম করে তার একটি ভালো উদাহরণ।

প্রুফ অফ হিউম্যানিটি

বর্তমানে জিরো-নলেজ প্রুফ ব্যবহারের সবচেয়ে বহুল ব্যবহৃত উদাহরণগুলোর মধ্যে একটি হলো World ID প্রটোকল (opens in a new tab), যাকে "এআই যুগের জন্য একটি গ্লোবাল ডিজিটাল পাসপোর্ট" হিসেবে ভাবা যেতে পারে। এটি মানুষকে ব্যক্তিগত তথ্য প্রকাশ না করেই প্রমাণ করতে দেয় যে তারা অনন্য ব্যক্তি। এটি Orb নামক একটি ডিভাইসের মাধ্যমে অর্জন করা হয়, যা একজন ব্যক্তির আইরিস স্ক্যান করে এবং একটি আইরিস কোড তৈরি করে। ব্যক্তিটি যে জৈবিকভাবে একজন অনন্য মানুষ তা নিশ্চিত করার জন্য আইরিস কোডটি পরীক্ষা এবং যাচাই করা হয়। যাচাইকরণের পরে, ব্যবহারকারীর ডিভাইসে তৈরি করা একটি আইডেন্টিটি কমিটমেন্ট (যা বায়োমেট্রিক ডেটার সাথে যুক্ত বা তা থেকে প্রাপ্ত নয়) ব্লকচেইন-এর একটি সুরক্ষিত তালিকায় যুক্ত করা হয়। তারপর, যখনই ব্যবহারকারী প্রমাণ করতে চান যে তারা একজন যাচাইকৃত মানুষ – তা সাইন ইন করতে, ভোট দিতে বা অন্যান্য পদক্ষেপ নিতে হোক না কেন – তারা একটি জিরো-নলেজ প্রুফ তৈরি করতে পারেন যা তালিকায় তাদের সদস্যপদ নিশ্চিত করে। জিরো-নলেজ প্রুফ ব্যবহারের সৌন্দর্য হলো যে শুধুমাত্র একটি বিবৃতি প্রকাশ করা হয়: এই ব্যক্তিটি অনন্য। অন্য সবকিছু ব্যক্তিগত থাকে।

World ID Ethereum Foundation-এর PSE টিম (opens in a new tab) দ্বারা তৈরি Semaphore প্রটোকল (opens in a new tab)-এর ওপর নির্ভর করে। Semaphore-কে জিরো-নলেজ প্রুফ তৈরি এবং যাচাই করার একটি হালকা অথচ শক্তিশালী উপায় হিসেবে ডিজাইন করা হয়েছে। এটি ব্যবহারকারীদের প্রমাণ করতে দেয় যে তারা একটি গ্রুপের অংশ (এই ক্ষেত্রে, যাচাইকৃত মানুষ) তারা গ্রুপের কোন সদস্য তা না দেখিয়েই। Semaphore অত্যন্ত নমনীয়, যা পরিচয় যাচাইকরণ, ইভেন্টে অংশগ্রহণ বা ক্রেডেনশিয়ালের মালিকানার মতো বিস্তৃত মানদণ্ডের ওপর ভিত্তি করে গ্রুপ তৈরি করার অনুমতি দেয়।

অথেনটিকেশন

অনলাইন পরিষেবাগুলো ব্যবহার করার জন্য আপনার পরিচয় এবং সেই প্ল্যাটফর্মগুলোতে অ্যাক্সেস করার অধিকার প্রমাণ করতে হয়। এর জন্য প্রায়শই ব্যক্তিগত তথ্য প্রদান করতে হয়, যেমন নাম, ইমেইল এডড্রেস, জন্মতারিখ ইত্যাদি। আপনাকে দীর্ঘ পাসওয়ার্ড মুখস্থ করতে হতে পারে বা অ্যাক্সেস হারানোর ঝুঁকি নিতে হতে পারে।

তবে, জিরো-নলেজ প্রুফ প্ল্যাটফর্ম এবং ব্যবহারকারী উভয়ের জন্যই অথেনটিকেশন সহজ করতে পারে। একবার পাবলিক ইনপুট (যেমন, প্ল্যাটফর্মে ব্যবহারকারীর সদস্যপদ প্রত্যয়নকারী ডেটা) এবং প্রাইভেট ইনপুট (যেমন, ব্যবহারকারীর বিবরণ) ব্যবহার করে একটি ZK-প্রুফ তৈরি হয়ে গেলে, ব্যবহারকারী যখন পরিষেবাটি অ্যাক্সেস করতে চান তখন তাদের পরিচয় প্রমাণ করার জন্য এটি সহজেই উপস্থাপন করতে পারেন। এটি ব্যবহারকারীদের অভিজ্ঞতা উন্নত করে এবং সংস্থাগুলোকে বিপুল পরিমাণ ব্যবহারকারীর তথ্য সংরক্ষণ করার প্রয়োজনীয়তা থেকে মুক্ত করে।

ভেরিফায়েবল কম্পিউটেশন

ভেরিফায়েবল কম্পিউটেশন হলো ব্লকচেইন ডিজাইন উন্নত করার জন্য জিরো-নলেজ প্রযুক্তির আরেকটি প্রয়োগ। ভেরিফায়েবল কম্পিউটিং আমাদের যাচাইযোগ্য ফলাফল বজায় রেখে অন্য কোনো সত্তার কাছে কম্পিউটেশন আউটসোর্স করার অনুমতি দেয়। সত্তাটি ফলাফলের সাথে একটি প্রমাণ জমা দেয় যা যাচাই করে যে প্রোগ্রামটি সঠিকভাবে এক্সিকিউট করা হয়েছিল।

নিরাপত্তা হ্রাস না করে ব্লকচেইনগুলোতে প্রসেসিং স্পিড উন্নত করার জন্য ভেরিফায়েবল কম্পিউটেশন অত্যন্ত গুরুত্বপূর্ণ। এটি বোঝার জন্য Ethereum স্কেলিং-এর প্রস্তাবিত সমাধানগুলোর পার্থক্য জানা প্রয়োজন।

অনচেইন স্কেলিং সমাধানগুলো, যেমন শার্ডিং, ব্লকচেইন-এর বেস লেয়ারের ব্যাপক পরিবর্তনের প্রয়োজন হয়। তবে, এই পদ্ধতিটি অত্যন্ত জটিল এবং বাস্তবায়নে ত্রুটিগুলো Ethereum-এর নিরাপত্তা মডেলকে ক্ষুণ্ন করতে পারে।

অফচেইন স্কেলিং সমাধানগুলোর জন্য মূল Ethereum প্রটোকল পুনরায় ডিজাইন করার প্রয়োজন হয় না। এর পরিবর্তে তারা Ethereum-এর বেস লেয়ারে থ্রুপুট উন্নত করতে একটি আউটসোর্সড কম্পিউটেশন মডেলের ওপর নির্ভর করে।

বাস্তবে এটি যেভাবে কাজ করে:

  • প্রতিটি লেনদেন প্রসেস করার পরিবর্তে, Ethereum একটি আলাদা চেইনে এক্সিকিউশন অফলোড করে।

  • লেনদেন প্রসেস করার পর, অন্য চেইনটি Ethereum-এর স্টেট-এ প্রয়োগ করার জন্য ফলাফলগুলো ফেরত দেয়।

এখানকার সুবিধা হলো যে Ethereum-কে কোনো এক্সিকিউশন করতে হয় না এবং শুধুমাত্র আউটসোর্সড কম্পিউটেশন থেকে প্রাপ্ত ফলাফলগুলো এর স্টেট-এ প্রয়োগ করতে হয়। এটি নেটওয়ার্ক কনজেশন কমায় এবং লেনদেনের গতিও উন্নত করে (অফচেইন প্রটোকলগুলো দ্রুত এক্সিকিউশনের জন্য অপ্টিমাইজ করে)।

চেইনটির অফচেইন লেনদেনগুলো পুনরায় এক্সিকিউট না করেই যাচাই করার একটি উপায় প্রয়োজন, অন্যথায় অফচেইন এক্সিকিউশনের মান হারিয়ে যায়।

এখানেই ভেরিফায়েবল কম্পিউটেশন কাজে আসে। যখন একটি নোড Ethereum-এর বাইরে একটি লেনদেন এক্সিকিউট করে, তখন এটি অফচেইন এক্সিকিউশনের সঠিকতা প্রমাণ করার জন্য একটি জিরো-নলেজ প্রুফ জমা দেয়। এই প্রমাণটি (যাকে বলা হয়) গ্যারান্টি দেয় যে একটি লেনদেন বৈধ, যা Ethereum-কে এর স্টেট-এ ফলাফল প্রয়োগ করার অনুমতি দেয়—কারো বিরোধিতার জন্য অপেক্ষা না করেই।

জিরো-নলেজ রোলআপ এবং ভ্যালিডিয়াম হলো দুটি অফচেইন স্কেলিং সমাধান যা সুরক্ষিত স্কেলেবিলিটি প্রদান করতে ভ্যালিডিটি প্রুফ ব্যবহার করে। এই প্রটোকলগুলো অফচেইন-এ হাজার হাজার লেনদেন এক্সিকিউট করে এবং Ethereum-এ যাচাইকরণের জন্য প্রমাণ জমা দেয়। প্রমাণটি যাচাই হওয়ার সাথে সাথেই সেই ফলাফলগুলো প্রয়োগ করা যেতে পারে, যা Ethereum-কে বেস লেয়ারে কম্পিউটেশন না বাড়িয়ে আরও বেশি লেনদেন প্রসেস করার অনুমতি দেয়।

লেয়ার ২ স্কেলিং-এর বাইরে, জিরো-নলেজ প্রুফগুলো Ethereum L1 ব্লক এক্সিকিউশনও যাচাই করতে পারে। L1 যাচাইকরণের জন্য zkEVM ভ্যালিডেটরস-দের সমস্ত লেনদেন পুনরায় এক্সিকিউট করার পরিবর্তে একটি প্রমাণ পরীক্ষা করে ব্লকগুলো যাচাই করার অনুমতি দেবে—যা ভ্যালিডেটর হার্ডওয়্যারের প্রয়োজনীয়তা না বাড়িয়ে উচ্চতর গ্যাস লিমিট সক্ষম করবে।

অনচেইন ভোটিংয়ে ঘুষ এবং যোগসাজশ কমানো

ব্লকচেইন ভোটিং স্কিমগুলোর অনেক অনুকূল বৈশিষ্ট্য রয়েছে: এগুলো সম্পূর্ণ অডিটেবল, আক্রমণের বিরুদ্ধে সুরক্ষিত, সেন্সরশিপ প্রতিরোধী এবং ভৌগোলিক সীমাবদ্ধতা মুক্ত। কিন্তু এমনকি অনচেইন ভোটিং স্কিমগুলোও যোগসাজশ বা কল্যুশন-এর সমস্যা থেকে মুক্ত নয়।

"অন্যদের প্রতারণা, জালিয়াতি এবং বিভ্রান্ত করার মাধ্যমে উন্মুক্ত প্রতিযোগিতা সীমিত করার জন্য সমন্বয় করা" হিসেবে সংজ্ঞায়িত, যোগসাজশ এমন রূপ নিতে পারে যেখানে একজন ক্ষতিকারক ব্যক্তি ঘুষ দেওয়ার মাধ্যমে ভোটিংকে প্রভাবিত করে। উদাহরণস্বরূপ, Alice ব্যালটে option B-এর জন্য ভোট দেওয়ার জন্য Bob-এর কাছ থেকে ঘুষ পেতে পারে, যদিও সে option A পছন্দ করে।

ঘুষ এবং যোগসাজশ এমন যেকোনো প্রক্রিয়ার কার্যকারিতা সীমিত করে যা সিগন্যালিং মেকানিজম হিসেবে ভোটিং ব্যবহার করে (বিশেষ করে যেখানে ব্যবহারকারীরা প্রমাণ করতে পারে যে তারা কীভাবে ভোট দিয়েছে)। এর উল্লেখযোগ্য পরিণতি হতে পারে, বিশেষ করে যেখানে ভোটগুলো দুষ্প্রাপ্য সম্পদ বরাদ্দের জন্য দায়ী।

উদাহরণস্বরূপ, কোয়াড্রেটিক ফান্ডিং মেকানিজম (opens in a new tab) বিভিন্ন পাবলিক গুড প্রজেক্টের মধ্যে নির্দিষ্ট বিকল্পগুলোর জন্য পছন্দ পরিমাপ করতে অনুদানের ওপর নির্ভর করে। প্রতিটি অনুদান একটি নির্দিষ্ট প্রজেক্টের জন্য একটি "ভোট" হিসেবে গণ্য হয়, যেখানে বেশি ভোট পাওয়া প্রজেক্টগুলো ম্যাচিং পুল থেকে বেশি তহবিল পায়।

অনচেইন ভোটিং ব্যবহার করা কোয়াড্রেটিক ফান্ডিং-কে যোগসাজশের জন্য সংবেদনশীল করে তোলে: ব্লকচেইন লেনদেনগুলো পাবলিক, তাই ঘুষদাতারা ঘুষগ্রহীতার অনচেইন কার্যকলাপ পরিদর্শন করে দেখতে পারে যে তারা কীভাবে "ভোট" দিয়েছে। এইভাবে কোয়াড্রেটিক ফান্ডিং কমিউনিটির সামগ্রিক পছন্দের ওপর ভিত্তি করে তহবিল বরাদ্দের জন্য একটি কার্যকর উপায় হিসেবে কাজ করা বন্ধ করে দেয়।

সৌভাগ্যবশত, MACI (Minimum Anti-Collusion Infrastructure)-এর মতো নতুন সমাধানগুলো অনচেইন ভোটিং (যেমন, কোয়াড্রেটিক ফান্ডিং মেকানিজম)-কে ঘুষ এবং যোগসাজশ প্রতিরোধী করতে জিরো-নলেজ প্রুফ ব্যবহার করছে। MACI হলো স্মার্ট কন্ট্রাক্ট এবং স্ক্রিপ্টের একটি সেট যা একজন কেন্দ্রীয় অ্যাডমিনিস্ট্রেটর-কে (যাকে "কোঅর্ডিনেটর" বলা হয়) প্রতিটি ব্যক্তি কীভাবে ভোট দিয়েছে তার সুনির্দিষ্ট বিবরণ প্রকাশ না করেই ভোটগুলো একত্রিত করতে এবং ফলাফল গণনা করতে দেয়। তা সত্ত্বেও, ভোটগুলো সঠিকভাবে গণনা করা হয়েছে কি না তা যাচাই করা, বা কোনো নির্দিষ্ট ব্যক্তি ভোটিং রাউন্ডে অংশগ্রহণ করেছে কি না তা নিশ্চিত করা এখনও সম্ভব।

MACI কীভাবে জিরো-নলেজ প্রুফের সাথে কাজ করে?

শুরুতে, কোঅর্ডিনেটর Ethereum-এ MACI কন্ট্রাক্ট ডিপ্লয় করে, যার পরে ব্যবহারকারীরা ভোটিংয়ের জন্য সাইন আপ করতে পারে (স্মার্ট কন্ট্রাক্ট-এ তাদের পাবলিক কি নিবন্ধন করার মাধ্যমে)। ব্যবহারকারীরা তাদের পাবলিক কি দিয়ে এনক্রিপ্ট করা মেসেজ স্মার্ট কন্ট্রাক্ট-এ পাঠিয়ে ভোট দেয় (একটি বৈধ ভোট অবশ্যই ব্যবহারকারীর পরিচয়ের সাথে যুক্ত সবচেয়ে সাম্প্রতিক পাবলিক কি দিয়ে সাইন করা হতে হবে, অন্যান্য মানদণ্ডের মধ্যে)। এরপর, ভোটিং পিরিয়ড শেষ হলে কোঅর্ডিনেটর সমস্ত মেসেজ প্রসেস করে, ভোটগুলো গণনা করে এবং অনচেইন-এ ফলাফল যাচাই করে।

MACI-তে, কোঅর্ডিনেটরের পক্ষে ভুলভাবে ভোট প্রসেস করা এবং ফলাফল গণনা করা অসম্ভব করে তুলে কম্পিউটেশনের সঠিকতা নিশ্চিত করতে জিরো-নলেজ প্রুফ ব্যবহার করা হয়। এটি অর্জন করা হয় কোঅর্ডিনেটরকে ZK-SNARK প্রুফ তৈরি করার নির্দেশ দিয়ে যা যাচাই করে যে ক) সমস্ত মেসেজ সঠিকভাবে প্রসেস করা হয়েছে খ) চূড়ান্ত ফলাফল সমস্ত বৈধ ভোটের যোগফলের সাথে মিলে যায়।

সুতরাং, ব্যবহারকারী প্রতি ভোটের ব্রেকডাউন শেয়ার না করেও (যেমনটি সাধারণত হয়), MACI গণনার প্রক্রিয়ার সময় হিসাব করা ফলাফলের অখণ্ডতার গ্যারান্টি দেয়। এই বৈশিষ্ট্যটি সাধারণ যোগসাজশ স্কিমগুলোর কার্যকারিতা কমাতে কার্যকর। আমরা Bob-এর Alice-কে একটি বিকল্পের জন্য ভোট দিতে ঘুষ দেওয়ার আগের উদাহরণটি ব্যবহার করে এই সম্ভাবনাটি অন্বেষণ করতে পারি:

  • Alice একটি স্মার্ট কন্ট্রাক্ট-এ তার পাবলিক কি পাঠিয়ে ভোট দেওয়ার জন্য নিবন্ধন করে।
  • Alice Bob-এর কাছ থেকে ঘুষের বিনিময়ে option B-এর জন্য ভোট দিতে সম্মত হয়।
  • Alice option B-এর জন্য ভোট দেয়।
  • Alice তার পরিচয়ের সাথে যুক্ত পাবলিক কি পরিবর্তন করতে গোপনে একটি এনক্রিপ্ট করা লেনদেন পাঠায়।
  • Alice নতুন পাবলিক কি ব্যবহার করে option A-এর জন্য ভোট দিয়ে স্মার্ট কন্ট্রাক্ট-এ আরেকটি (এনক্রিপ্ট করা) মেসেজ পাঠায়।
  • Alice Bob-কে একটি লেনদেন দেখায় যা দেখায় যে সে option B-এর জন্য ভোট দিয়েছে (যা অবৈধ কারণ পাবলিক কি আর সিস্টেমে Alice-এর পরিচয়ের সাথে যুক্ত নেই)
  • মেসেজগুলো প্রসেস করার সময়, কোঅর্ডিনেটর option B-এর জন্য Alice-এর ভোটটি এড়িয়ে যায় এবং শুধুমাত্র option A-এর জন্য ভোটটি গণনা করে। অতএব, Alice-এর সাথে যোগসাজশ করার এবং অনচেইন ভোট ম্যানিপুলেট করার Bob-এর প্রচেষ্টা ব্যর্থ হয়।

MACI ব্যবহার করার জন্য কোঅর্ডিনেটরকে বিশ্বাস করা প্রয়োজন যাতে সে ঘুষদাতাদের সাথে যোগসাজশ না করে বা ভোটারদের নিজেদের ঘুষ দেওয়ার চেষ্টা না করে। কোঅর্ডিনেটর ব্যবহারকারীর মেসেজগুলো ডিক্রিপ্ট করতে পারে (প্রমাণ তৈরি করার জন্য প্রয়োজনীয়), তাই তারা সঠিকভাবে যাচাই করতে পারে যে প্রতিটি ব্যক্তি কীভাবে ভোট দিয়েছে।

কিন্তু যেসব ক্ষেত্রে কোঅর্ডিনেটর সৎ থাকে, MACI অনচেইন ভোটিংয়ের পবিত্রতা নিশ্চিত করার জন্য একটি শক্তিশালী টুল হিসেবে কাজ করে। এটি কোয়াড্রেটিক ফান্ডিং অ্যাপ্লিকেশনগুলোর (যেমন, clr.fund (opens in a new tab)) মধ্যে এর জনপ্রিয়তা ব্যাখ্যা করে যা প্রতিটি ব্যক্তির ভোটিং পছন্দের অখণ্ডতার ওপর ব্যাপকভাবে নির্ভর করে।

MACI সম্পর্কে আরও জানুন (opens in a new tab)

জিরো-নলেজ প্রুফ কীভাবে কাজ করে?

একটি জিরো-নলেজ প্রুফ আপনাকে কোনো বিবৃতির বিষয়বস্তু শেয়ার না করে বা আপনি কীভাবে সত্যটি আবিষ্কার করেছেন তা প্রকাশ না করেই বিবৃতির সত্যতা প্রমাণ করতে দেয়। এটি সম্ভব করার জন্য, জিরো-নলেজ প্রটোকলগুলো এমন এ্যালগরিদম-এর ওপর নির্ভর করে যা কিছু ডেটা ইনপুট হিসেবে নেয় এবং আউটপুট হিসেবে 'সত্য' বা 'মিথ্যা' প্রদান করে।

একটি জিরো-নলেজ প্রটোকলকে অবশ্যই নিম্নলিখিত মানদণ্ডগুলো পূরণ করতে হবে:

  1. সম্পূর্ণতা (Completeness): যদি ইনপুটটি বৈধ হয়, তবে জিরো-নলেজ প্রটোকল সর্বদা 'সত্য' প্রদান করে। অতএব, যদি অন্তর্নিহিত বিবৃতিটি সত্য হয় এবং প্রুভার ও ভেরিফায়ার সততার সাথে কাজ করে, তবে প্রমাণটি গ্রহণ করা যেতে পারে।

  2. সাউন্ডনেস (Soundness): যদি ইনপুটটি অবৈধ হয়, তবে জিরো-নলেজ প্রটোকলকে বোকা বানিয়ে 'সত্য' প্রদান করানো তাত্ত্বিকভাবে অসম্ভব। অতএব, একজন মিথ্যাবাদী প্রুভার একজন সৎ ভেরিফায়ারকে একটি অবৈধ বিবৃতি বৈধ বলে বিশ্বাস করাতে পারে না (খুব সামান্য সম্ভাবনার মার্জিন ছাড়া)।

  3. জিরো-নলেজ (Zero-knowledge): ভেরিফায়ার একটি বিবৃতির বৈধতা বা মিথ্যা হওয়া ছাড়া এর সম্পর্কে আর কিছুই জানতে পারে গঠন করে না (বিবৃতিটি সম্পর্কে তাদের "জিরো নলেজ" বা শূন্য জ্ঞান থাকে)। এই প্রয়োজনীয়তাটি ভেরিফায়ারকে প্রমাণ থেকে মূল ইনপুট (বিবৃতির বিষয়বস্তু) বের করতেও বাধা দেয়।

মৌলিক আকারে, একটি জিরো-নলেজ প্রুফ তিনটি উপাদান নিয়ে গঠিত: উইটনেস (witness), চ্যালেঞ্জ (challenge) এবং রেসপন্স (response)

  • উইটনেস: একটি জিরো-নলেজ প্রুফের মাধ্যমে, প্রুভার কিছু লুকানো তথ্যের জ্ঞান প্রমাণ করতে চায়। গোপন তথ্যটি হলো প্রমাণের "উইটনেস", এবং উইটনেস সম্পর্কে প্রুভারের অনুমিত জ্ঞান এমন এক সেট প্রশ্ন প্রতিষ্ঠা করে যার উত্তর শুধুমাত্র সেই পক্ষই দিতে পারে যার কাছে তথ্যটির জ্ঞান রয়েছে। সুতরাং, প্রুভার এলোমেলোভাবে একটি প্রশ্ন বেছে নিয়ে, উত্তর গণনা করে এবং ভেরিফায়ারের কাছে পাঠিয়ে প্রমাণ করার প্রক্রিয়া শুরু করে।

  • চ্যালেঞ্জ: ভেরিফায়ার এলোমেলোভাবে সেট থেকে আরেকটি প্রশ্ন বেছে নেয় এবং প্রুভারকে এর উত্তর দিতে বলে।

  • রেসপন্স: প্রুভার প্রশ্নটি গ্রহণ করে, উত্তর গণনা করে এবং ভেরিফায়ারের কাছে ফেরত পাঠায়। প্রুভারের রেসপন্স ভেরিফায়ারকে পরীক্ষা করতে দেয় যে প্রুভারের সত্যিই উইটনেসে অ্যাক্সেস আছে কি না। প্রুভার অন্ধভাবে অনুমান করছে না এবং ঘটনাক্রমে সঠিক উত্তর পাচ্ছে না তা নিশ্চিত করার জন্য, ভেরিফায়ার জিজ্ঞাসা করার জন্য আরও প্রশ্ন বেছে নেয়। এই মিথস্ক্রিয়াটি বারবার পুনরাবৃত্তি করার মাধ্যমে, প্রুভারের উইটনেসের জ্ঞান জাল করার সম্ভাবনা উল্লেখযোগ্যভাবে কমে যায় যতক্ষণ না ভেরিফায়ার সন্তুষ্ট হয়।

উপরের বর্ণনাটি একটি 'ইন্টারেক্টিভ জিরো-নলেজ প্রুফ'-এর কাঠামো বর্ণনা করে। প্রাথমিক জিরো-নলেজ প্রটোকলগুলো ইন্টারেক্টিভ প্রুভিং ব্যবহার করত, যেখানে একটি বিবৃতির বৈধতা যাচাই করার জন্য প্রুভার এবং ভেরিফায়ারদের মধ্যে বারবার যোগাযোগের প্রয়োজন হতো।

ইন্টারেক্টিভ প্রুফ কীভাবে কাজ করে তা চিত্রিত করার একটি ভালো উদাহরণ হলো জ্যঁ-জ্যাক কুইসকোয়াটারের বিখ্যাত আলিবাবার গুহার গল্প (opens in a new tab)। গল্পে, Peggy (প্রুভার) Victor-এর (ভেরিফায়ার) কাছে প্রমাণ করতে চায় যে সে একটি জাদুর দরজা খোলার গোপন শব্দগুচ্ছটি জানে, কিন্তু সে শব্দগুচ্ছটি প্রকাশ করতে চায় না।

নন-ইন্টারেক্টিভ জিরো-নলেজ প্রুফ

যদিও এটি যুগান্তকারী ছিল, ইন্টারেক্টিভ প্রুভিংয়ের উপযোগিতা সীমিত ছিল কারণ এর জন্য দুটি পক্ষকে উপস্থিত থাকতে হতো এবং বারবার যোগাযোগ করতে হতো। এমনকি যদি একজন ভেরিফায়ার প্রুভারের সততা সম্পর্কে নিশ্চিতও হয়, তবুও প্রমাণটি স্বাধীন যাচাইকরণের জন্য অনুপলব্ধ থাকবে (একটি নতুন প্রমাণ গণনা করার জন্য প্রুভার এবং ভেরিফায়ারের মধ্যে নতুন এক সেট মেসেজের প্রয়োজন হতো)।

এই সমস্যার সমাধান করতে, ম্যানুয়েল ব্লাম, পল ফেল্ডম্যান এবং সিলভিও মিকালি প্রথম নন-ইন্টারেক্টিভ জিরো-নলেজ প্রুফ (opens in a new tab)-এর প্রস্তাব দেন যেখানে প্রুভার এবং ভেরিফায়ারের একটি শেয়ার্ড কি থাকে। এটি প্রুভারকে তথ্যটি প্রদান না করেই কিছু তথ্যের (অর্থাৎ, উইটনেস) জ্ঞান প্রদর্শন করার অনুমতি দেয়।

ইন্টারেক্টিভ প্রুফের বিপরীতে, নন-ইন্টারেক্টিভ প্রুফে অংশগ্রহণকারীদের (প্রুভার এবং ভেরিফায়ার) মধ্যে শুধুমাত্র এক রাউন্ড যোগাযোগের প্রয়োজন হয়। প্রুভার একটি জিরো-নলেজ প্রুফ গণনা করার জন্য একটি বিশেষ এ্যালগরিদম-এ গোপন তথ্যটি পাস করে। এই প্রমাণটি ভেরিফায়ারের কাছে পাঠানো হয়, যে অন্য একটি এ্যালগরিদম ব্যবহার করে পরীক্ষা করে যে প্রুভার গোপন তথ্যটি জানে কি না।

নন-ইন্টারেক্টিভ প্রুভিং প্রুভার এবং ভেরিফায়ারের মধ্যে যোগাযোগ কমায়, যা ZK-প্রুফগুলোকে আরও দক্ষ করে তোলে। তাছাড়া, একবার একটি প্রমাণ তৈরি হয়ে গেলে, এটি অন্য যেকোনো ব্যক্তির (শেয়ার্ড কি এবং ভেরিফিকেশন এ্যালগরিদম-এ অ্যাক্সেসসহ) যাচাই করার জন্য উপলব্ধ থাকে।

নন-ইন্টারেক্টিভ প্রুফ জিরো-নলেজ প্রযুক্তির জন্য একটি যুগান্তকারী আবিষ্কার ছিল এবং বর্তমানে ব্যবহৃত প্রুভিং সিস্টেমগুলোর বিকাশকে ত্বরান্বিত করেছে। আমরা নিচে এই প্রমাণের ধরনগুলো নিয়ে আলোচনা করছি:

জিরো-নলেজ প্রুফের ধরন

ZK-SNARKs

ZK-SNARK হলো Zero-Knowledge Succinct Non-Interactive Argument of Knowledge-এর সংক্ষিপ্ত রূপ। ZK-SNARK প্রটোকলের নিম্নলিখিত গুণাবলী রয়েছে:

  • জিরো-নলেজ: একজন ভেরিফায়ার একটি বিবৃতি সম্পর্কে অন্য কিছু না জেনেই এর অখণ্ডতা যাচাই করতে পারে। বিবৃতিটি সম্পর্কে ভেরিফায়ারের একমাত্র জ্ঞান হলো এটি সত্য নাকি মিথ্যা।

  • সংক্ষিপ্ত (Succinct): জিরো-নলেজ প্রুফটি উইটনেসের চেয়ে ছোট হয় এবং দ্রুত যাচাই করা যায়।

  • নন-ইন্টারেক্টিভ: প্রমাণটি 'নন-ইন্টারেক্টিভ' কারণ প্রুভার এবং ভেরিফায়ার শুধুমাত্র একবার যোগাযোগ করে, ইন্টারেক্টিভ প্রুফের মতো নয় যেখানে একাধিক রাউন্ড যোগাযোগের প্রয়োজন হয়।

  • আর্গুমেন্ট (Argument): প্রমাণটি 'সাউন্ডনেস' প্রয়োজনীয়তা পূরণ করে, তাই প্রতারণা করা অত্যন্ত অসম্ভব।

  • নলেজ (Knowledge): গোপন তথ্যে (উইটনেস) অ্যাক্সেস ছাড়া জিরো-নলেজ প্রুফ তৈরি করা যায় না। উইটনেস নেই এমন একজন প্রুভারের পক্ষে একটি বৈধ জিরো-নলেজ প্রুফ গণনা করা কঠিন, যদি অসম্ভব নাও হয়।

আগে উল্লিখিত 'শেয়ার্ড কি' বলতে পাবলিক প্যারামিটারগুলোকে বোঝায় যা প্রুভার এবং ভেরিফায়ার প্রমাণ তৈরি এবং যাচাই করতে ব্যবহার করতে সম্মত হয়। পাবলিক প্যারামিটারগুলো (যৌথভাবে কমন রেফারেন্স স্ট্রিং (CRS) নামে পরিচিত) তৈরি করা একটি সংবেদনশীল কাজ কারণ প্রটোকলের নিরাপত্তায় এর গুরুত্ব রয়েছে। যদি CRS তৈরিতে ব্যবহৃত এন্ট্রপি (র‍্যান্ডমনেস) কোনো অসৎ প্রুভারের হাতে পড়ে, তবে তারা মিথ্যা প্রমাণ গণনা করতে পারে।

মাল্টি-পার্টি কম্পিউটেশন (MPC) (opens in a new tab) হলো পাবলিক প্যারামিটার তৈরির ঝুঁকি কমানোর একটি উপায়। একাধিক পক্ষ একটি ট্রাস্টেড সেটআপ সেরিমনি (opens in a new tab)-তে অংশগ্রহণ করে, যেখানে প্রতিটি ব্যক্তি CRS তৈরি করতে কিছু র‍্যান্ডম ভ্যালু অবদান রাখে। যতক্ষণ পর্যন্ত একজন সৎ পক্ষ তাদের এন্ট্রপির অংশ ধ্বংস করে, ZK-SNARK প্রটোকল কম্পিউটেশনাল সাউন্ডনেস বজায় রাখে।

ট্রাস্টেড সেটআপগুলোর জন্য ব্যবহারকারীদের প্যারামিটার-তৈরিতে অংশগ্রহণকারীদের বিশ্বাস করতে হয়। তবে, ZK-STARKs-এর বিকাশ এমন প্রুভিং প্রটোকলগুলোকে সক্ষম করেছে যা একটি নন-ট্রাস্টেড সেটআপের সাথে কাজ করে।

ZK-STARKs

ZK-STARK হলো Zero-Knowledge Scalable Transparent Argument of Knowledge-এর সংক্ষিপ্ত রূপ। ZK-STARKs ZK-SNARKs-এর মতোই, তবে এগুলো:

  • স্কেলেবল (Scalable): উইটনেসের আকার বড় হলে প্রমাণ তৈরি এবং যাচাই করার ক্ষেত্রে ZK-STARK ZK-SNARK-এর চেয়ে দ্রুত। STARK প্রমাণের ক্ষেত্রে, উইটনেস বাড়ার সাথে সাথে প্রুভার এবং ভেরিফিকেশনের সময় সামান্য বৃদ্ধি পায় (SNARK প্রুভার এবং ভেরিফায়ারের সময় উইটনেসের আকারের সাথে রৈখিকভাবে বৃদ্ধি পায়)।

  • স্বচ্ছ (Transparent): ZK-STARK একটি ট্রাস্টেড সেটআপের পরিবর্তে প্রমাণ এবং যাচাইকরণের জন্য পাবলিক প্যারামিটার তৈরি করতে সর্বজনীনভাবে যাচাইযোগ্য র‍্যান্ডমনেসের ওপর নির্ভর করে। সুতরাং, এগুলো ZK-SNARKs-এর তুলনায় বেশি স্বচ্ছ।

ZK-STARKs ZK-SNARKs-এর চেয়ে বড় প্রমাণ তৈরি করে যার অর্থ এগুলোর সাধারণত উচ্চতর ভেরিফিকেশন ওভারহেড থাকে। তবে, এমন কিছু ক্ষেত্র রয়েছে (যেমন বড় ডেটাসেট প্রমাণ করা) যেখানে ZK-STARKs ZK-SNARKs-এর চেয়ে বেশি সাশ্রয়ী হতে পারে।

জিরো-নলেজ প্রুফ ব্যবহারের অসুবিধা

হার্ডওয়্যার খরচ

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

প্রমাণ যাচাইকরণের খরচ

প্রমাণ যাচাই করার জন্যও জটিল কম্পিউটেশনের প্রয়োজন হয় এবং অ্যাপ্লিকেশনগুলোতে জিরো-নলেজ প্রযুক্তি বাস্তবায়নের খরচ বাড়ায়। এই খরচটি কম্পিউটেশন প্রমাণ করার প্রেক্ষাপটে বিশেষভাবে প্রাসঙ্গিক। উদাহরণস্বরূপ, ZK-রোলআপস Ethereum-এ একটি একক ZK-SNARK প্রমাণ যাচাই করতে ~ 500,000 গ্যাস প্রদান করে, যেখানে ZK-STARKs-এর জন্য আরও বেশি ফি প্রয়োজন হয়।

ট্রাস্ট অ্যাসাম্পশন

ZK-SNARK-এ, কমন রেফারেন্স স্ট্রিং (পাবলিক প্যারামিটার) একবার তৈরি করা হয় এবং যেসব পক্ষ জিরো-নলেজ প্রটোকলে অংশগ্রহণ করতে চায় তাদের পুনরায় ব্যবহারের জন্য উপলব্ধ থাকে। পাবলিক প্যারামিটারগুলো একটি ট্রাস্টেড সেটআপ সেরিমনির মাধ্যমে তৈরি করা হয়, যেখানে অংশগ্রহণকারীদের সৎ বলে ধরে নেওয়া হয়।

কিন্তু ব্যবহারকারীদের জন্য অংশগ্রহণকারীদের সততা মূল্যায়ন করার সত্যিই কোনো উপায় নেই এবং ব্যবহারকারীদের ডেভেলপারদের কথার ওপর নির্ভর করতে হয়। ZK-STARKs ট্রাস্ট অ্যাসাম্পশন থেকে মুক্ত কারণ স্ট্রিং তৈরিতে ব্যবহৃত র‍্যান্ডমনেস সর্বজনীনভাবে যাচাইযোগ্য। ইতিমধ্যে, গবেষকরা প্রুভিং মেকানিজমের নিরাপত্তা বাড়াতে ZK-SNARKs-এর জন্য নন-ট্রাস্টেড সেটআপ নিয়ে কাজ করছেন।

কোয়ান্টাম কম্পিউটিংয়ের হুমকি

ZK-SNARK এনক্রিপশনের জন্য এলিপটিক কার্ভ ক্রিপ্টোগ্রাফি ব্যবহার করে। যদিও এলিপটিক কার্ভ ডিসক্রিট লগারিদম সমস্যাটি আপাতত সমাধানযোগ্য নয় বলে ধরে নেওয়া হয়, কোয়ান্টাম কম্পিউটারের বিকাশ ভবিষ্যতে এই নিরাপত্তা মডেলটি ভেঙে দিতে পারে।

ZK-STARK-কে কোয়ান্টাম কম্পিউটিংয়ের হুমকির বিরুদ্ধে অনাক্রম্য বলে মনে করা হয়, কারণ এটি এর নিরাপত্তার জন্য শুধুমাত্র কলিশন-রেজিস্ট্যান্ট হ্যাশ ফাংশনের ওপর নির্ভর করে। এলিপটিক কার্ভ ক্রিপ্টোগ্রাফি-তে ব্যবহৃত পাবলিক-প্রাইভেট কি পেয়ারিংয়ের বিপরীতে, কোয়ান্টাম কম্পিউটিং এ্যালগরিদম-এর জন্য কলিশন-রেজিস্ট্যান্ট হ্যাশিং ভাঙা আরও কঠিন।

আরও পড়ুন

পেজ সর্বশেষ আপডেট: ২৩ ফেব্রুয়ারী, ২০২৬

এই আর্টিকেলটি কি সহায়ক ছিল?