বাস্তব জীবন এবং ডিজিটাল দুনিয়া উভয় ক্ষেত্রেই, আমরা প্রায়শই অন্যদের কাছে জিনিস প্রমাণ করতে চাই। অফিস বিল্ডিংয়ে প্রবেশ করার আগে, কর্মচারীরা সাধারণত ভিতরে প্রবেশ করার আগে কিছু ধরনের আইডি প্রদান করে।
যখন ব্যবহারকারীরা Facebook বা Twitter এর মতো একটি অ্যাপে লগ ইন করার চেষ্টা করেন, তখন এই পরিষেবাগুলিকে প্রথমে ব্যবহারকারীকে একটি পাসওয়ার্ড দিয়ে লগ ইন করতে বলতে হবে এবং মাঝে মাঝে তাদের মোবাইল ডিভাইসে একটি ওয়ান-টাইম পাসকোড (OTP) পাঠানো হয়৷
প্রমাণ প্রদানের একটি নেতিবাচক দিক হল আমরা প্রায়শই অন্য ধরনের তথ্য দিয়ে থাকি। একটি ওয়েবসাইটে একটি পাসওয়ার্ড প্রদান করার অর্থ হল ওয়েবসাইট নিজেই তার সার্ভারগুলিতে হ্যাশ করা পাসওয়ার্ডের একটি অনুলিপি রাখে৷ যদি কেউ অফিস বিল্ডিংয়ের কর্মচারী আইডি স্ক্যানার হ্যাক করে, তবে তারা প্রত্যেকের ব্যক্তিগত কী পেতে সক্ষম হতে পারে।
জিরো-নলেজ প্রমাণ বা ZKPs অতিরিক্ত তথ্য প্রদান না করেই একটি পরিচয় বা লেনদেন যাচাই করার একটি উপায় প্রদান করে। ক্রিপ্টোগ্রাফিতে এর প্রয়োগের কারণে, ZKPs দ্বারা অভিযোজিত হয়েছে ব্লকচেইন নিরাপদ এবং মাপযোগ্য বৈধতা প্রোটোকল তৈরি করতে।
জিরো-নলেজ প্রুফ কি?
1985 সালে MIT গবেষক সিলভিও মিকালি, চার্লস র্যাকফ এবং শফি গোল্ডওয়াসার তাদের গবেষণাপত্রে শূন্য-জ্ঞানের প্রমাণগুলি প্রথম প্রস্তাব করেছিলেন। "ইন্টারেক্টিভ প্রুফ-সিস্টেমের জ্ঞানের জটিলতা"
এই গবেষণাপত্র জ্ঞান জটিলতা ধারণা চালু. এটি প্রমাণকারী থেকে যাচাইকারীর কাছে স্থানান্তরিত প্রমাণ সম্পর্কে জ্ঞানের পরিমাণকে বোঝায়। শূন্য-জ্ঞান প্রমাণের লক্ষ্য হল একটি পক্ষকে প্রমাণ করতে দেওয়া যে একটি নির্দিষ্ট বিবৃতি অন্য পক্ষের কাছে সত্য তা অন্য কোনো তথ্য প্রকাশ না করেই।
ZKPs বর্তমান প্রমাণীকরণ সিস্টেমের একটি নিরাপদ বিকল্প হিসাবে ব্যবহার করা যেতে পারে এবং লেনদেনগুলি ব্যক্তিগত রাখতে ব্লকচেইন প্রোটোকলগুলিতে যোগ করা যেতে পারে।
ZKPs কিভাবে কাজ করে?
বাস্তব-বিশ্বের উদাহরণ
শূন্য-জ্ঞানের প্রমাণগুলি কীভাবে কাজ করে তা বোঝাতে, আসুন একটি ZKP-এর একটি বিমূর্ত উদাহরণ দেখি।
ধরা যাক যে আপনার একজন বন্ধু আছে যে লাল-সবুজ বর্ণান্ধ। আপনার সাথে দুটি অভিন্ন বল রয়েছে যা শুধুমাত্র রঙে আলাদা: একটি লাল এবং একটি সবুজ। আপনার বন্ধুর কাছে, তারা দেখতে অভিন্ন, কিন্তু বর্ণান্ধতা ছাড়া একজন ব্যক্তি হিসাবে, আপনি সহজেই তাদের আলাদা করতে পারেন।
কোন বলটি লাল বা সবুজ তা প্রকাশ না করেই কি আপনার বন্ধুর কাছে প্রমাণ করা সম্ভব যে তারা একটি ভিন্ন রঙ?
আসলে, বলের রঙ প্রকাশ না করে এটি প্রমাণ করার একটি উপায় রয়েছে। প্রথমত, আপনাকে অবশ্যই আপনার বন্ধুকে তার পিছনের দুটি বল রাখতে দিতে হবে এবং তাকে বলুন যে কোনো বল দেখাতে এবং আবার লুকিয়ে রাখতে। এরপরে, আপনি আপনার বন্ধুকে বলুন যে তার কাছে একই বল আবার দেখানোর বা অন্যটির সাথে পরিবর্তন করার পছন্দ আছে।
প্রতিবার একটি নতুন বল দেখানো হলে, আপনি তাকে বলতে পারেন তিনি বলটি সুইচ করেছেন কি না। আপনি যদি সঠিক কলটি অনুমান করতে থাকেন তবে বলগুলি ভিন্ন রঙের হওয়ার সম্ভাবনা আরও বেশি হয়ে যায়। আপনার বন্ধুর এখন নিশ্চিত হওয়া উচিত যে বলগুলি ভিন্ন রঙের হয় তাকে কোন বলের কোন রঙ তা না বলে।
বাস্তবিক দরখাস্তগুলো
শূন্য-জ্ঞান প্রমাণের বেশিরভাগ ব্যবহারিক উদাহরণ দুটি প্রকারে পড়ে।
প্রথমত, প্রোটোকল ডিজাইন করার সময় ZKPs ব্যবহার করা যেতে পারে। আমরা নিশ্চিত করতে পারি যে বিভিন্ন দল প্রটোকলের সুবিধা নিতে বা প্রতারণা করতে না পারে। দ্বিতীয়ত, ZKPs সনাক্তকরণের জন্য ব্যবহার করা যেতে পারে।
উদাহরণস্বরূপ, আমরা পাসওয়ার্ডটি প্রকাশ না করেই নিরাপদে একটি ওয়েব অ্যাপ্লিকেশনে লগ ইন করতে ZKPs ব্যবহার করতে পারি।
আসুন আমরা শূন্য-জ্ঞানের প্রমাণগুলি কীভাবে ব্যবহার করতে পারি তার কয়েকটি উদাহরণ দেখি।
ই-ভোটদান
ZKP-এর একটি সাধারণভাবে আলোচিত আবেদন হল অনলাইন ভোটিংয়ে তাদের সম্ভাব্য ভূমিকা। ধরা যাক যে আমাদের একটি আসন্ন গণভোট রয়েছে যেখানে ব্যবহারকারীরা একটি প্রস্তাবিত নীতিতে ভোট দিতে পারেন৷ প্রতিটি যোগ্য ভোটারকে ব্যালটে 1 বা 0 ভোট দেওয়ার অনুমতি দেওয়া হয়।
ZKPs ব্যবহার করে, ভোটাররা তাদের পরিচয় প্রকাশ না করেই তাদের ব্যালট দেওয়ার অধিকার প্রমাণ করতে পারে। এটি নিশ্চিত করে যে প্রতিটি ভোট সত্যই বেনামী হবে। একটি অতিরিক্ত ZKP প্রমাণ করতে ব্যবহার করা হবে যে একটি নির্দিষ্ট ব্যবহারকারীর ভোট ভোটের চূড়ান্ত গণনার অংশ।
ব্যালটের বিষয়বস্তু সম্বন্ধে, ভোটিং সিস্টেম একটি শূন্য-জ্ঞান প্রমাণও তৈরি করতে পারে যে প্রতিটি ব্যালটে 1 বা 0 থাকে। এটি ব্যালটের বিষয়বস্তু না জেনেই সম্পন্ন করা হয়।
ব্লকচেইন গোপনীয়তা
Blockchains যেমন Bitcoin এবং Ethereum নেটিভভাবে ব্যক্তিগত লেনদেন সমর্থন করে না। যতক্ষণ আপনার বিটকয়েন ওয়ালেট সর্বজনীন, যে কেউ একটি ব্লক এক্সপ্লোরার যেমন যেতে পারেন Blockstream সমস্ত লেনদেন দেখতে যা মানিব্যাগ অংশ।
এদিকে, ব্যাঙ্ক বা পেমেন্ট পরিষেবা যেমন ক্যাশ অ্যাপ বা ভেনমোর মতো কোনও পরিষেবা ব্যবহার করা আপনাকে ব্যক্তিগতভাবে লেনদেন করার ক্ষমতা দেয়। তবে এই সুবিধাটি কেন্দ্রীভূত পরিষেবার কাছে আপনার তথ্য প্রকাশ করার খরচে আসে।
আমরা ব্লকচেইন প্রোটোকলে ZKP যোগ করে বিকেন্দ্রীকরণের সাথে পরিচয় গোপন করতে পারি। ZCash-এর মতো Cryptocurrencies ZKPs ব্যবহার করে ব্যক্তিগত লেনদেন তৈরি করতে যা কয়েন হোল্ডারদের তাদের পরিচয় গোপন রাখতে দেয়। এর মধ্যে বেশ কয়েকটি ক্রিপ্টোকারেন্সি এক ধরনের ZKP ব্যবহার করে যা zk-SNARK নামে পরিচিত।
এই ZKPগুলির জন্য প্রোভার এবং যাচাইকারীর মধ্যে কোনও মিথস্ক্রিয়া প্রয়োজন হয় না।
জিরো-নলেজ রোলআপস
ZK-রোলআপ হল একটি স্কেলেবিলিটি সলিউশন যা অফ-চেইন লেনদেনগুলিকে তাৎক্ষণিকভাবে এবং ন্যূনতম গ্যাস ফি দিয়ে যাচাই করার অনুমতি দেয়। তারা লেয়ার 2 লেনদেনের একটি বৃহৎ সংখ্যক একত্রিত করার এবং লেয়ার 1 প্রোটোকলে জমা দেওয়ার একটি উপায়।
গোপনীয়তা প্রদানের পাশাপাশি, ZKPs জটিল সিস্টেমের স্কেলিং করার অনুমতি দেয়। ব্লকচেইন প্রোটোকল ZKPs ব্যবহার করে প্রমাণ করতে পারে যে ব্যবহারকারীরা সঠিক লেনদেন নিষ্পত্তি করেছেন, উপযুক্ত ব্যালেন্স আছে ইত্যাদি। এই নিরাপদ অথচ মাপযোগ্য সমাধানগুলি শুধুমাত্র ZKPs-এ অফ-চেইন করা গাণিতিক প্রমাণের মাধ্যমেই সম্ভব।
লুপ্রিং-এর মতো প্রোটোকলগুলি নিরাপত্তার সঙ্গে আপস না করেই অফ-চেইন লেনদেন প্রক্রিয়া করতে সাহায্য করার জন্য শূন্য-জ্ঞানের প্রমাণ ব্যবহার করে।
শূন্য-জ্ঞান প্রমাণের সুবিধা
- ZKPs প্রমাণীকরণের কম নির্ভরযোগ্য ফর্মগুলি যেমন পিন বা শনাক্তকরণ কার্ড প্রতিস্থাপন করে
- ZKPS ব্লকচেইনের মাপযোগ্যতা বাড়ায়
- ZKP বাস্তবায়নের জন্য সহজ এনক্রিপশন পদ্ধতির প্রয়োজন
- ZKPS ব্যবহার সিস্টেমে অপ্রয়োজনীয় তথ্য সংরক্ষণের প্রয়োজন না করে সিস্টেমকে আরও সুরক্ষিত করে তুলতে পারে।
উপসংহার
কেন্দ্রীভূত এবং বিকেন্দ্রীভূত উভয় সিস্টেমেই ডেটা গোপনীয়তা ইতিমধ্যে একটি প্রধান সমস্যা। শূন্য-জ্ঞানের প্রমাণগুলি বিভিন্ন পক্ষের লেনদেন বা পরিচয় প্রকাশ না করেই লেনদেন এবং পরিচয় প্রমাণ বা যাচাই করার একটি উপায় প্রদান করে।
যেহেতু ব্লকচেইন প্রযুক্তি আরও ব্যাপকভাবে ব্যবহৃত হচ্ছে, নিরাপদে যাচাইকরণ পরিচালনার জন্য ZKPs গ্রহণ করা মাপযোগ্যতার উদ্বেগের মূল হবে।
নির্দেশিকা সমন্ধে মতামত দিন