একটি শূন্য-জ্ঞান প্রমাণ হলো কোনো বিবৃতির বিষয়বস্তু প্রকাশ না করেই তার বৈধতা প্রমাণ করার একটি উপায়। 'প্রমাণকারী' (prover) হলো সেই পক্ষ যে কোনো দাবি প্রমাণ করার চেষ্টা করে, আর 'যাচাইকারী' (verifier) হলো সেই পক্ষ যে দাবিটি যাচাই করার জন্য দায়ী।
শূন্য-জ্ঞান প্রমাণ প্রথম 1985 সালের একটি গবেষণাপত্র, “The knowledge complexity of interactive proof systems (একটি নতুন ট্যাবে খোলে)”-এ উপস্থিত হয়েছিল, যা শূন্য-জ্ঞান প্রমাণের এমন একটি সংজ্ঞা প্রদান করে যা বর্তমানে ব্যাপকভাবে ব্যবহৃত হয়:
একটি জিরো-নলেজ প্রোটোকল হলো এমন একটি পদ্ধতি যার মাধ্যমে এক পক্ষ (প্রমাণকারী) অন্য পক্ষের (যাচাইকারী) কাছে প্রমাণ করতে পারে যে কোনো কিছু সত্য, এবং এই নির্দিষ্ট বিবৃতিটি সত্য হওয়ার বিষয়টি ছাড়া অন্য কোনো তথ্য প্রকাশ না করেই তা করা যায়।
শূন্য-জ্ঞান প্রমাণগুলো বছরের পর বছর ধরে উন্নত হয়েছে এবং এগুলো এখন বাস্তব বিশ্বের বেশ কয়েকটি অ্যাপ্লিকেশনে ব্যবহৃত হচ্ছে।
আমাদের কেন শূন্য-জ্ঞান প্রমাণ প্রয়োজন?
শূন্য-জ্ঞান প্রমাণ ফলিত ক্রিপ্টোগ্রাফিতে একটি যুগান্তকারী অগ্রগতি উপস্থাপন করে, কারণ এগুলো ব্যক্তিদের তথ্যের নিরাপত্তা উন্নত করার প্রতিশ্রুতি দেয়। বিবেচনা করুন কীভাবে আপনি অন্য কোনো পক্ষের (যেমন, একজন পরিষেবা প্রদানকারী) কাছে একটি দাবি (যেমন, "আমি X দেশের নাগরিক") প্রমাণ করতে পারেন। আপনার দাবিকে সমর্থন করার জন্য আপনাকে "প্রমাণ" প্রদান করতে হবে, যেমন একটি জাতীয় পাসপোর্ট বা ড্রাইভিং লাইসেন্স।
কিন্তু এই পদ্ধতিতে কিছু সমস্যা রয়েছে, যার মধ্যে প্রধান হলো গোপনীয়তার অভাব। তৃতীয় পক্ষের পরিষেবাগুলোর সাথে শেয়ার করা ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্য (PII) কেন্দ্রীয় ডেটাবেসে সংরক্ষণ করা হয়, যা হ্যাক হওয়ার ঝুঁকিতে থাকে। পরিচয় চুরি একটি গুরুতর সমস্যা হয়ে ওঠায়, সংবেদনশীল তথ্য শেয়ার করার জন্য আরও গোপনীয়তা-রক্ষাকারী উপায়ের দাবি উঠেছে।
শূন্য-জ্ঞান প্রমাণ দাবির বৈধতা প্রমাণ করার জন্য তথ্য প্রকাশ করার প্রয়োজনীয়তা দূর করে এই সমস্যার সমাধান করে। জিরো-নলেজ প্রোটোকল বিবৃতিটিকে (যাকে 'সাক্ষী' বলা হয়) ইনপুট হিসেবে ব্যবহার করে এর বৈধতার একটি সংক্ষিপ্ত প্রমাণ তৈরি করে। এই প্রমাণটি এটি তৈরিতে ব্যবহৃত তথ্য প্রকাশ না করেই কোনো বিবৃতি সত্য হওয়ার শক্তিশালী নিশ্চয়তা প্রদান করে।
আমাদের আগের উদাহরণে ফিরে গেলে, আপনার নাগরিকত্বের দাবি প্রমাণ করার জন্য আপনার একমাত্র যে প্রমাণটি প্রয়োজন তা হলো একটি শূন্য-জ্ঞান প্রমাণ। যাচাইকারীকে কেবল এটি পরীক্ষা করতে হবে যে প্রমাণের নির্দিষ্ট বৈশিষ্ট্যগুলো সত্য কি না, যাতে সে নিশ্চিত হতে পারে যে অন্তর্নিহিত বিবৃতিটিও সত্য।
শূন্য-জ্ঞান প্রমাণের ব্যবহার-ক্ষেত্র
বেনামী পেমেন্ট
ক্রেডিট কার্ড পেমেন্টগুলো প্রায়শই পেমেন্ট প্রদানকারী, ব্যাংক এবং অন্যান্য আগ্রহী পক্ষ (যেমন, সরকারি কর্তৃপক্ষ) সহ একাধিক পক্ষের কাছে দৃশ্যমান থাকে। যদিও অবৈধ কার্যকলাপ শনাক্ত করার জন্য আর্থিক নজরদারির সুবিধা রয়েছে, এটি সাধারণ নাগরিকদের গোপনীয়তাও ক্ষুণ্ন করে।
ক্রিপ্টোকারেন্সিগুলোর উদ্দেশ্য ছিল ব্যবহারকারীদের ব্যক্তিগত, পিয়ার-টু-পিয়ার ট্রানজ্যাকশন পরিচালনার একটি উপায় প্রদান করা। কিন্তু বেশিরভাগ ক্রিপ্টোকারেন্সি ট্রানজ্যাকশন পাবলিক ব্লকচেইনে প্রকাশ্যে দৃশ্যমান থাকে। ব্যবহারকারীর পরিচয়গুলো প্রায়শই ছদ্মনামযুক্ত হয় এবং হয় ইচ্ছাকৃতভাবে বাস্তব-বিশ্বের পরিচয়ের সাথে যুক্ত থাকে (যেমন, টুইটার বা GitHub প্রোফাইলে ETH ঠিকানা অন্তর্ভুক্ত করার মাধ্যমে) অথবা সাধারণ অনচেইন এবং অফচেইন ডেটা বিশ্লেষণ ব্যবহার করে বাস্তব-বিশ্বের পরিচয়ের সাথে যুক্ত করা যেতে পারে।
সম্পূর্ণ বেনামী ট্রানজ্যাকশনের জন্য ডিজাইন করা নির্দিষ্ট "প্রাইভেসি কয়েন" রয়েছে। গোপনীয়তা-কেন্দ্রিক ব্লকচেইনগুলো, যেমন Zcash এবং Monero, প্রেরক/প্রাপকের ঠিকানা, সম্পদের ধরন, পরিমাণ এবং ট্রানজ্যাকশনের সময়রেখা সহ ট্রানজ্যাকশনের বিবরণ গোপন রাখে।
প্রোটোকলে জিরো-নলেজ প্রযুক্তি যুক্ত করার মাধ্যমে, গোপনীয়তা-কেন্দ্রিক নেটওয়ার্কগুলো -গুলোকে ট্রানজ্যাকশন ডেটা অ্যাক্সেস করার প্রয়োজন ছাড়াই ট্রানজ্যাকশন যাচাই করার অনুমতি দেয়। EIP-7503 (একটি নতুন ট্যাবে খোলে) হলো এমন একটি প্রস্তাবিত ডিজাইনের উদাহরণ যা ইথেরিয়াম ব্লকচেইনে নেটিভ প্রাইভেট ভ্যালু ট্রান্সফার সক্ষম করবে। তবে, নিরাপত্তা, নিয়ন্ত্রক এবং UX উদ্বেগের মিশ্রণের কারণে এই ধরনের প্রস্তাবগুলো বাস্তবায়ন করা কঠিন।
পাবলিক ব্লকচেইনে ট্রানজ্যাকশনগুলোকে বেনামী করার জন্যও শূন্য-জ্ঞান প্রমাণ প্রয়োগ করা হচ্ছে। এর একটি উদাহরণ হলো Tornado Cash, একটি বিকেন্দ্রীকৃত, নন-কাস্টোডিয়াল পরিষেবা যা ব্যবহারকারীদের ইথেরিয়ামে ব্যক্তিগত ট্রানজ্যাকশন পরিচালনা করতে দেয়। Tornado Cash ট্রানজ্যাকশনের বিবরণ অস্পষ্ট করতে এবং আর্থিক গোপনীয়তার নিশ্চয়তা দিতে শূন্য-জ্ঞান প্রমাণ ব্যবহার করে। দুর্ভাগ্যবশত, যেহেতু এগুলো "অপ্ট-ইন" গোপনীয়তা টুল, তাই এগুলো অবৈধ কার্যকলাপের সাথে যুক্ত। এটি কাটিয়ে উঠতে, গোপনীয়তাকে শেষ পর্যন্ত পাবলিক ব্লকচেইনগুলোতে ডিফল্ট হতে হবে। ইথেরিয়ামে গোপনীয়তা সম্পর্কে আরও জানুন।
পরিচয় সুরক্ষা
বর্তমান পরিচয় ব্যবস্থাপনা সিস্টেমগুলো ব্যক্তিগত তথ্যকে ঝুঁকির মধ্যে ফেলে। শূন্য-জ্ঞান প্রমাণ ব্যক্তিদের সংবেদনশীল বিবরণ রক্ষা করার পাশাপাশি পরিচয় যাচাই করতে সাহায্য করতে পারে।
শূন্য-জ্ঞান প্রমাণগুলো বিকেন্দ্রীভূত পরিচয় (ডিআইডি)-এর প্রেক্ষাপটে বিশেষভাবে কার্যকর। বিকেন্দ্রীভূত পরিচয় (যাকে 'স্ব-সার্বভৌম পরিচয়' হিসেবেও বর্ণনা করা হয়) ব্যক্তিকে ব্যক্তিগত শনাক্তকারীগুলোতে অ্যাক্সেস নিয়ন্ত্রণ করার ক্ষমতা দেয়। আপনার ট্যাক্স আইডি বা পাসপোর্টের বিবরণ প্রকাশ না করে আপনার নাগরিকত্ব প্রমাণ করা হলো জিরো-নলেজ প্রযুক্তি কীভাবে বিকেন্দ্রীভূত পরিচয় সক্ষম করে তার একটি ভালো উদাহরণ।
কাজে ZKP + পরিচয়: ইথেরিয়ামে ভুটান ন্যাশনাল ডিজিটাল আইডি (NDI)
পরিচয় ব্যবস্থাপনা সিস্টেমের জন্য ZKP ব্যবহার করার একটি বাস্তব-বিশ্বের উদাহরণ হলো ইথেরিয়ামে নির্মিত ভুটান রাজ্যের ন্যাশনাল ডিজিটাল আইডি (NDI) সিস্টেম। ভুটানের NDI নাগরিকদের তাদের আইডিতে থাকা সংবেদনশীল ব্যক্তিগত ডেটা প্রকাশ না করেই ক্রিপ্টোগ্রাফিকভাবে নিজেদের সম্পর্কে তথ্য প্রমাণ করার অনুমতি দিতে ZKP ব্যবহার করে, যেমন "আমি একজন নাগরিক" বা "আমার বয়স 18-এর বেশি"।
বিকেন্দ্রীভূত পরিচয় কেস স্টাডি-তে ভুটান NDI সম্পর্কে আরও জানুন।
মানবতার প্রমাণ
বর্তমানে কাজে থাকা শূন্য-জ্ঞান প্রমাণের সবচেয়ে বহুল ব্যবহৃত উদাহরণগুলোর মধ্যে একটি হলো World ID প্রোটোকল (একটি নতুন ট্যাবে খোলে), যাকে "এআই যুগের জন্য একটি গ্লোবাল ডিজিটাল পাসপোর্ট" হিসেবে ভাবা যেতে পারে। এটি মানুষকে ব্যক্তিগত তথ্য প্রকাশ না করেই প্রমাণ করতে দেয় যে তারা অনন্য ব্যক্তি। এটি Orb নামক একটি ডিভাইসের মাধ্যমে অর্জিত হয়, যা একজন ব্যক্তির আইরিস স্ক্যান করে এবং একটি আইরিস কোড তৈরি করে। ব্যক্তিটি যে জৈবিকভাবে একজন অনন্য মানুষ তা নিশ্চিত করতে আইরিস কোডটি পরীক্ষা এবং যাচাই করা হয়। যাচাইকরণের পরে, ব্যবহারকারীর ডিভাইসে তৈরি করা একটি আইডেন্টিটি কমিটমেন্ট (যা বায়োমেট্রিক ডেটার সাথে যুক্ত বা তা থেকে প্রাপ্ত নয়) ব্লকচেইনের একটি সুরক্ষিত তালিকায় যোগ করা হয়। তারপর, যখনই ব্যবহারকারী প্রমাণ করতে চান যে তারা একজন যাচাইকৃত মানুষ – তা সাইন ইন করতে, ভোট দিতে বা অন্যান্য পদক্ষেপ নিতেই হোক না কেন – তারা একটি শূন্য-জ্ঞান প্রমাণ তৈরি করতে পারেন যা তালিকায় তাদের সদস্যপদ নিশ্চিত করে। শূন্য-জ্ঞান প্রমাণ ব্যবহার করার সৌন্দর্য হলো যে কেবল একটি বিবৃতি প্রকাশিত হয়: এই ব্যক্তিটি অনন্য। অন্য সবকিছু ব্যক্তিগত থাকে।
World ID ইথেরিয়াম ফাউন্ডেশনের PSE টিম (একটি নতুন ট্যাবে খোলে) দ্বারা তৈরি Semaphore প্রোটোকল (একটি নতুন ট্যাবে খোলে)-এর ওপর নির্ভর করে। Semaphore-কে শূন্য-জ্ঞান প্রমাণ তৈরি এবং যাচাই করার একটি হালকা অথচ শক্তিশালী উপায় হিসেবে ডিজাইন করা হয়েছে। এটি ব্যবহারকারীদের প্রমাণ করতে দেয় যে তারা একটি গ্রুপের অংশ (এই ক্ষেত্রে, যাচাইকৃত মানুষ) কিন্তু তারা গ্রুপের কোন সদস্য তা না দেখিয়েই। Semaphore অত্যন্ত নমনীয়ও, যা পরিচয় যাচাইকরণ, ইভেন্টে অংশগ্রহণ বা শংসাপত্রের মালিকানার মতো বিস্তৃত মানদণ্ডের ওপর ভিত্তি করে গ্রুপ তৈরি করার অনুমতি দেয়।
প্রমাণীকরণ (Authentication)
অনলাইন পরিষেবাগুলো ব্যবহার করার জন্য আপনার পরিচয় এবং সেই প্ল্যাটফর্মগুলোতে অ্যাক্সেস করার অধিকার প্রমাণ করতে হয়। এর জন্য প্রায়শই ব্যক্তিগত তথ্য প্রদান করতে হয়, যেমন নাম, ইমেল ঠিকানা, জন্মতারিখ ইত্যাদি। আপনাকে দীর্ঘ পাসওয়ার্ড মুখস্থ করতে হতে পারে বা অ্যাক্সেস হারানোর ঝুঁকি নিতে হতে পারে।
তবে, শূন্য-জ্ঞান প্রমাণগুলো প্ল্যাটফর্ম এবং ব্যবহারকারী উভয়ের জন্যই প্রমাণীকরণকে সহজ করতে পারে। একবার পাবলিক ইনপুট (যেমন, প্ল্যাটফর্মে ব্যবহারকারীর সদস্যপদ প্রত্যয়নকারী ডেটা) এবং প্রাইভেট ইনপুট (যেমন, ব্যবহারকারীর বিবরণ) ব্যবহার করে একটি ZK-প্রমাণ তৈরি হয়ে গেলে, ব্যবহারকারী যখন পরিষেবাটি অ্যাক্সেস করতে চান তখন তাদের পরিচয় প্রমাণীকরণ করতে এটি কেবল উপস্থাপন করতে পারেন। এটি ব্যবহারকারীদের জন্য অভিজ্ঞতা উন্নত করে এবং সংস্থাগুলোকে বিপুল পরিমাণ ব্যবহারকারীর তথ্য সংরক্ষণ করার প্রয়োজনীয়তা থেকে মুক্ত করে।
যাচাইযোগ্য কম্পিউটেশন
যাচাইযোগ্য কম্পিউটেশন হলো ব্লকচেইন ডিজাইন উন্নত করার জন্য জিরো-নলেজ প্রযুক্তির আরেকটি প্রয়োগ। যাচাইযোগ্য কম্পিউটিং আমাদের যাচাইযোগ্য ফলাফল বজায় রেখে অন্য কোনো সত্তার কাছে কম্পিউটেশন আউটসোর্স করার অনুমতি দেয়। সত্তাটি ফলাফলটি জমা দেয় এবং এর সাথে একটি প্রমাণ দেয় যা যাচাই করে যে প্রোগ্রামটি সঠিকভাবে কার্যকর করা হয়েছিল।
নিরাপত্তা হ্রাস না করে ব্লকচেইনগুলোতে প্রক্রিয়াকরণের গতি উন্নত করার জন্য যাচাইযোগ্য কম্পিউটেশন অত্যন্ত গুরুত্বপূর্ণ। এটি বোঝার জন্য ইথেরিয়াম স্কেলিংয়ের প্রস্তাবিত সমাধানগুলোর পার্থক্য জানা প্রয়োজন।
অনচেইন স্কেলিং সমাধানগুলো, যেমন শার্ডিং, ব্লকচেইনের বেস লেয়ারের ব্যাপক পরিবর্তনের প্রয়োজন হয়। তবে, এই পদ্ধতিটি অত্যন্ত জটিল এবং বাস্তবায়নে ত্রুটিগুলো ইথেরিয়ামের নিরাপত্তা মডেলকে ক্ষুণ্ন করতে পারে।
অফচেইন স্কেলিং সমাধানগুলোর জন্য মূল ইথেরিয়াম প্রোটোকল পুনরায় ডিজাইন করার প্রয়োজন নেই। এর পরিবর্তে তারা ইথেরিয়ামের বেস লেয়ারে থ্রুপুট উন্নত করতে একটি আউটসোর্সড কম্পিউটেশন মডেলের ওপর নির্ভর করে।
বাস্তবে এটি কীভাবে কাজ করে তা নিচে দেওয়া হলো:
-
প্রতিটি ট্রানজ্যাকশন প্রক্রিয়া করার পরিবর্তে, ইথেরিয়াম একটি পৃথক চেইনে এক্সিকিউশন অফলোড করে।
-
ট্রানজ্যাকশনগুলো প্রক্রিয়া করার পরে, অন্য চেইনটি ইথেরিয়ামের স্টেটে প্রয়োগ করার জন্য ফলাফলগুলো ফেরত দেয়।
এখানে সুবিধা হলো যে ইথেরিয়ামকে কোনো এক্সিকিউশন করতে হয় না এবং কেবল আউটসোর্সড কম্পিউটেশন থেকে প্রাপ্ত ফলাফলগুলো এর স্টেটে প্রয়োগ করতে হয়। এটি নেটওয়ার্ক কনজেশন কমায় এবং ট্রানজ্যাকশনের গতিও উন্নত করে (অফচেইন প্রোটোকলগুলো দ্রুত এক্সিকিউশনের জন্য অপ্টিমাইজ করে)।
চেইনটির অফচেইন ট্রানজ্যাকশনগুলোকে পুনরায় এক্সিকিউট না করেই যাচাই করার একটি উপায় প্রয়োজন, অন্যথায় অফচেইন এক্সিকিউশনের মান হারিয়ে যায়।
এখানেই যাচাইযোগ্য কম্পিউটেশন কাজে আসে। যখন কোনো নোড ইথেরিয়ামের বাইরে একটি ট্রানজ্যাকশন এক্সিকিউট করে, তখন এটি অফচেইন এক্সিকিউশনের সঠিকতা প্রমাণ করার জন্য একটি শূন্য-জ্ঞান প্রমাণ জমা দেয়। এই প্রমাণটি (যাকে বলা হয়) গ্যারান্টি দেয় যে একটি ট্রানজ্যাকশন বৈধ, যা ইথেরিয়ামকে এর স্টেটে ফলাফল প্রয়োগ করার অনুমতি দেয়—কেউ এটি নিয়ে বিবাদ করার জন্য অপেক্ষা না করেই।
জিরো-নলেজ রোলআপ এবং ভ্যালিডিয়াম হলো দুটি অফচেইন স্কেলিং সমাধান যা সুরক্ষিত স্কেলেবিলিটি প্রদান করতে বৈধতার প্রমাণ ব্যবহার করে। এই প্রোটোকলগুলো অফচেইনে হাজার হাজার ট্রানজ্যাকশন এক্সিকিউট করে এবং ইথেরিয়ামে যাচাইকরণের জন্য প্রমাণ জমা দেয়। প্রমাণটি যাচাই হয়ে গেলে সেই ফলাফলগুলো অবিলম্বে প্রয়োগ করা যেতে পারে, যা ইথেরিয়ামকে বেস লেয়ারে কম্পিউটেশন না বাড়িয়েই আরও বেশি ট্রানজ্যাকশন প্রক্রিয়া করার অনুমতি দেয়।
লেয়ার ২ (l2) স্কেলিংয়ের বাইরে, শূন্য-জ্ঞান প্রমাণগুলো ইথেরিয়াম লেয়ার ১ (l1) ব্লক এক্সিকিউশনও যাচাই করতে পারে। L1 যাচাইকরণের জন্য zkEVM ভ্যালিডেটরদের সমস্ত ট্রানজ্যাকশন পুনরায় এক্সিকিউট করার পরিবর্তে একটি প্রমাণ পরীক্ষা করে ব্লকগুলো যাচাই করার অনুমতি দেবে—যা ভ্যালিডেটর হার্ডওয়্যারের প্রয়োজনীয়তা না বাড়িয়েই উচ্চতর গ্যাস লিমিট সক্ষম করবে।
অনচেইন ভোটিংয়ে ঘুষ এবং যোগসাজশ কমানো
ব্লকচেইন ভোটিং স্কিমগুলোর অনেক অনুকূল বৈশিষ্ট্য রয়েছে: এগুলো সম্পূর্ণ অডিটেবল, আক্রমণের বিরুদ্ধে সুরক্ষিত, সেন্সরশিপ প্রতিরোধী এবং ভৌগোলিক সীমাবদ্ধতা মুক্ত। কিন্তু এমনকি অনচেইন ভোটিং স্কিমগুলোও যোগসাজশ (collusion)-এর সমস্যা থেকে মুক্ত নয়।
"অন্যদের প্রতারণা, ঠকানো এবং বিভ্রান্ত করার মাধ্যমে উন্মুক্ত প্রতিযোগিতা সীমিত করার জন্য সমন্বয় করা" হিসেবে সংজ্ঞায়িত, যোগসাজশ এমন রূপ নিতে পারে যেখানে একজন ক্ষতিকারক অভিনেতা ঘুষ দিয়ে ভোটিংকে প্রভাবিত করে। উদাহরণস্বরূপ, অ্যালিস ব্যালটে option B-এর জন্য ভোট দিতে ববের কাছ থেকে ঘুষ পেতে পারে, যদিও সে option A পছন্দ করে।
ঘুষ এবং যোগসাজশ এমন যেকোনো প্রক্রিয়ার কার্যকারিতা সীমিত করে যা ভোটিংকে সিগন্যালিং মেকানিজম হিসেবে ব্যবহার করে (বিশেষ করে যেখানে ব্যবহারকারীরা প্রমাণ করতে পারে যে তারা কীভাবে ভোট দিয়েছে)। এর উল্লেখযোগ্য পরিণতি হতে পারে, বিশেষ করে যেখানে ভোটগুলো দুষ্প্রাপ্য সম্পদ বরাদ্দের জন্য দায়ী।
উদাহরণস্বরূপ, দ্বিঘাত অর্থায়ন মেকানিজমগুলো (একটি নতুন ট্যাবে খোলে) বিভিন্ন জনকল্যাণ প্রকল্পগুলোর মধ্যে নির্দিষ্ট বিকল্পগুলোর জন্য পছন্দ পরিমাপ করতে অনুদানের ওপর নির্ভর করে। প্রতিটি অনুদান একটি নির্দিষ্ট প্রকল্পের জন্য একটি "ভোট" হিসেবে গণ্য হয়, যেখানে বেশি ভোট পাওয়া প্রকল্পগুলো ম্যাচিং পুল থেকে বেশি তহবিল পায়।
অনচেইন ভোটিং ব্যবহার করা দ্বিঘাত অর্থায়নকে যোগসাজশের জন্য সংবেদনশীল করে তোলে: ব্লকচেইন ট্রানজ্যাকশনগুলো সর্বজনীন, তাই ঘুষদাতারা ঘুষগ্রহীতার অনচেইন কার্যকলাপ পরিদর্শন করে দেখতে পারে যে তারা কীভাবে "ভোট" দিয়েছে। এইভাবে দ্বিঘাত অর্থায়ন সম্প্রদায়ের সামগ্রিক পছন্দের ওপর ভিত্তি করে তহবিল বরাদ্দের জন্য একটি কার্যকর উপায় হিসেবে কাজ করা বন্ধ করে দেয়।
সৌভাগ্যবশত, MACI (Minimum Anti-Collusion Infrastructure)-এর মতো নতুন সমাধানগুলো অনচেইন ভোটিংকে (যেমন, দ্বিঘাত অর্থায়ন মেকানিজম) ঘুষ এবং যোগসাজশ প্রতিরোধী করতে শূন্য-জ্ঞান প্রমাণ ব্যবহার করছে। MACI হলো স্মার্ট কন্ট্রাক্ট এবং স্ক্রিপ্টগুলোর একটি সেট যা একজন কেন্দ্রীয় প্রশাসককে (যাকে "সমন্বয়কারী" বলা হয়) প্রতিটি ব্যক্তি কীভাবে ভোট দিয়েছে তার সুনির্দিষ্ট বিবরণ প্রকাশ না করেই ভোটগুলো একত্রিত করতে এবং ফলাফল গণনা করতে দেয়। তা সত্ত্বেও, ভোটগুলো সঠিকভাবে গণনা করা হয়েছে কি না তা যাচাই করা, বা কোনো নির্দিষ্ট ব্যক্তি ভোটিং রাউন্ডে অংশগ্রহণ করেছে কি না তা নিশ্চিত করা এখনও সম্ভব।
MACI কীভাবে শূন্য-জ্ঞান প্রমাণের সাথে কাজ করে?
শুরুতে, সমন্বয়কারী ইথেরিয়ামে MACI কন্ট্রাক্ট ডিপ্লয় করে, যার পরে ব্যবহারকারীরা ভোটিংয়ের জন্য সাইন আপ করতে পারে (স্মার্ট কন্ট্রাক্টে তাদের পাবলিক কী নিবন্ধন করে)। ব্যবহারকারীরা তাদের পাবলিক কী দিয়ে এনক্রিপ্ট করা বার্তাগুলো স্মার্ট কন্ট্রাক্টে পাঠিয়ে ভোট দেয় (অন্যান্য মানদণ্ডের মধ্যে, একটি বৈধ ভোট অবশ্যই ব্যবহারকারীর পরিচয়ের সাথে যুক্ত সবচেয়ে সাম্প্রতিক পাবলিক কী দিয়ে সাইন করা হতে হবে)। এরপর, ভোটিংয়ের সময়কাল শেষ হলে সমন্বয়কারী সমস্ত বার্তা প্রক্রিয়া করে, ভোটগুলো গণনা করে এবং অনচেইনে ফলাফলগুলো যাচাই করে।
MACI-তে, সমন্বয়কারীর পক্ষে ভুলভাবে ভোট প্রক্রিয়া করা এবং ফলাফল গণনা করা অসম্ভব করে তুলে কম্পিউটেশনের সঠিকতা নিশ্চিত করতে শূন্য-জ্ঞান প্রমাণ ব্যবহার করা হয়। এটি অর্জনের জন্য সমন্বয়কারীকে জেডকে-স্নার্ক প্রমাণ তৈরি করতে হয় যা যাচাই করে যে ক) সমস্ত বার্তা সঠিকভাবে প্রক্রিয়া করা হয়েছে খ) চূড়ান্ত ফলাফলটি সমস্ত বৈধ ভোটের যোগফলের সাথে মিলে যায়।
সুতরাং, ব্যবহারকারী প্রতি ভোটের ব্রেকডাউন শেয়ার না করেও (যেমনটি সাধারণত হয়), MACI গণনা প্রক্রিয়ার সময় হিসাব করা ফলাফলের অখণ্ডতার গ্যারান্টি দেয়। এই বৈশিষ্ট্যটি মৌলিক যোগসাজশ স্কিমগুলোর কার্যকারিতা কমাতে কার্যকর। আমরা বব কর্তৃক অ্যালিসকে একটি বিকল্পের জন্য ভোট দিতে ঘুষ দেওয়ার আগের উদাহরণটি ব্যবহার করে এই সম্ভাবনাটি অন্বেষণ করতে পারি:
- অ্যালিস একটি স্মার্ট কন্ট্রাক্টে তার পাবলিক কী পাঠিয়ে ভোট দেওয়ার জন্য নিবন্ধন করে।
- অ্যালিস ববের কাছ থেকে ঘুষের বিনিময়ে
option B-এর জন্য ভোট দিতে সম্মত হয়। - অ্যালিস
option B-এর জন্য ভোট দেয়। - অ্যালিস গোপনে তার পরিচয়ের সাথে যুক্ত পাবলিক কী পরিবর্তন করতে একটি এনক্রিপ্ট করা ট্রানজ্যাকশন পাঠায়।
- অ্যালিস নতুন পাবলিক কী ব্যবহার করে
option A-এর জন্য ভোট দিয়ে স্মার্ট কন্ট্রাক্টে আরেকটি (এনক্রিপ্ট করা) বার্তা পাঠায়। - অ্যালিস ববকে একটি ট্রানজ্যাকশন দেখায় যা দেখায় যে সে
option B-এর জন্য ভোট দিয়েছে (যা অবৈধ কারণ পাবলিক কীটি সিস্টেমে আর অ্যালিসের পরিচয়ের সাথে যুক্ত নেই) - বার্তাগুলো প্রক্রিয়া করার সময়, সমন্বয়কারী
option B-এর জন্য অ্যালিসের ভোটটি এড়িয়ে যায় এবং কেবলoption A-এর জন্য ভোটটি গণনা করে। তাই, অ্যালিসের সাথে যোগসাজশ করার এবং অনচেইন ভোট ম্যানিপুলেট করার ববের প্রচেষ্টা ব্যর্থ হয়।
MACI ব্যবহার করার জন্য সমন্বয়কারীকে বিশ্বাস করা প্রয়োজন যাতে সে ঘুষদাতাদের সাথে যোগসাজশ না করে বা নিজেই ভোটারদের ঘুষ দেওয়ার চেষ্টা না করে। সমন্বয়কারী ব্যবহারকারীর বার্তাগুলো ডিক্রিপ্ট করতে পারে (প্রমাণ তৈরি করার জন্য প্রয়োজনীয়), তাই তারা প্রতিটি ব্যক্তি কীভাবে ভোট দিয়েছে তা সঠিকভাবে যাচাই করতে পারে।
কিন্তু যেসব ক্ষেত্রে সমন্বয়কারী সৎ থাকে, সেখানে MACI অনচেইন ভোটিংয়ের পবিত্রতা নিশ্চিত করার জন্য একটি শক্তিশালী টুল হিসেবে কাজ করে। এটি দ্বিঘাত অর্থায়ন অ্যাপ্লিকেশনগুলোর (যেমন, clr.fund (একটি নতুন ট্যাবে খোলে)) মধ্যে এর জনপ্রিয়তা ব্যাখ্যা করে যা প্রতিটি ব্যক্তির ভোটিং পছন্দের অখণ্ডতার ওপর ব্যাপকভাবে নির্ভর করে।
MACI সম্পর্কে আরও জানুন (একটি নতুন ট্যাবে খোলে)।
শূন্য-জ্ঞান প্রমাণ কীভাবে কাজ করে?
একটি শূন্য-জ্ঞান প্রমাণ আপনাকে কোনো বিবৃতির বিষয়বস্তু শেয়ার না করে বা আপনি কীভাবে সত্যটি আবিষ্কার করেছেন তা প্রকাশ না করেই বিবৃতির সত্যতা প্রমাণ করার অনুমতি দেয়। এটি সম্ভব করার জন্য, জিরো-নলেজ প্রোটোকলগুলো এমন অ্যালগরিদমগুলোর ওপর নির্ভর করে যা কিছু ডেটাকে ইনপুট হিসেবে নেয় এবং আউটপুট হিসেবে 'সত্য' বা 'মিথ্যা' প্রদান করে।
একটি জিরো-নলেজ প্রোটোকলকে অবশ্যই নিম্নলিখিত মানদণ্ডগুলো পূরণ করতে হবে:
-
সম্পূর্ণতা (Completeness): যদি ইনপুটটি বৈধ হয়, তবে জিরো-নলেজ প্রোটোকল সর্বদা 'সত্য' প্রদান করে। তাই, যদি অন্তর্নিহিত বিবৃতিটি সত্য হয় এবং প্রমাণকারী ও যাচাইকারী সততার সাথে কাজ করে, তবে প্রমাণটি গ্রহণ করা যেতে পারে।
-
দৃঢ়তা (Soundness): যদি ইনপুটটি অবৈধ হয়, তবে জিরো-নলেজ প্রোটোকলকে বোকা বানিয়ে 'সত্য' প্রদান করানো তাত্ত্বিকভাবে অসম্ভব। তাই, একজন মিথ্যাবাদী প্রমাণকারী একজন সৎ যাচাইকারীকে একটি অবৈধ বিবৃতি বৈধ বলে বিশ্বাস করাতে পারে না (খুব সামান্য সম্ভাবনার মার্জিন ছাড়া)।
-
শূন্য-জ্ঞান (Zero-knowledge): যাচাইকারী কোনো বিবৃতির বৈধতা বা মিথ্যা হওয়া ছাড়া অন্য কিছুই জানতে পারে না (বিবৃতিটি সম্পর্কে তাদের "শূন্য জ্ঞান" থাকে)। এই প্রয়োজনীয়তা যাচাইকারীকে প্রমাণ থেকে মূল ইনপুট (বিবৃতির বিষয়বস্তু) বের করতেও বাধা দেয়।
মৌলিক আকারে, একটি শূন্য-জ্ঞান প্রমাণ তিনটি উপাদান নিয়ে গঠিত: সাক্ষী (witness), চ্যালেঞ্জ (challenge) এবং প্রতিক্রিয়া (response)।
-
সাক্ষী: একটি শূন্য-জ্ঞান প্রমাণের মাধ্যমে, প্রমাণকারী কিছু লুকানো তথ্যের জ্ঞান প্রমাণ করতে চায়। গোপন তথ্যটি হলো প্রমাণের "সাক্ষী", এবং সাক্ষীর বিষয়ে প্রমাণকারীর অনুমিত জ্ঞান এমন এক সেট প্রশ্ন প্রতিষ্ঠা করে যার উত্তর কেবল সেই পক্ষই দিতে পারে যার কাছে তথ্যটির জ্ঞান রয়েছে। সুতরাং, প্রমাণকারী এলোমেলোভাবে একটি প্রশ্ন বেছে নিয়ে, উত্তর গণনা করে এবং যাচাইকারীর কাছে পাঠিয়ে প্রমাণ করার প্রক্রিয়া শুরু করে।
-
চ্যালেঞ্জ: যাচাইকারী সেট থেকে এলোমেলোভাবে আরেকটি প্রশ্ন বেছে নেয় এবং প্রমাণকারীকে এর উত্তর দিতে বলে।
-
প্রতিক্রিয়া: প্রমাণকারী প্রশ্নটি গ্রহণ করে, উত্তর গণনা করে এবং যাচাইকারীর কাছে ফেরত পাঠায়। প্রমাণকারীর প্রতিক্রিয়া যাচাইকারীকে পরীক্ষা করার অনুমতি দেয় যে প্রথমজনের সত্যিই সাক্ষীর কাছে অ্যাক্সেস আছে কি না। প্রমাণকারী অন্ধভাবে অনুমান করছে না এবং ঘটনাক্রমে সঠিক উত্তর পাচ্ছে না তা নিশ্চিত করতে, যাচাইকারী জিজ্ঞাসা করার জন্য আরও প্রশ্ন বেছে নেয়। এই মিথস্ক্রিয়াটি বহুবার পুনরাবৃত্তি করার মাধ্যমে, যাচাইকারী সন্তুষ্ট না হওয়া পর্যন্ত প্রমাণকারীর সাক্ষীর জ্ঞান জাল করার সম্ভাবনা উল্লেখযোগ্যভাবে কমে যায়।
উপরের বর্ণনাটি একটি 'ইন্টারেক্টিভ শূন্য-জ্ঞান প্রমাণ'-এর কাঠামো বর্ণনা করে। প্রাথমিক জিরো-নলেজ প্রোটোকলগুলো ইন্টারেক্টিভ প্রুভিং ব্যবহার করত, যেখানে কোনো বিবৃতির বৈধতা যাচাই করার জন্য প্রমাণকারী এবং যাচাইকারীদের মধ্যে বারবার যোগাযোগের প্রয়োজন হতো।
ইন্টারেক্টিভ প্রমাণগুলো কীভাবে কাজ করে তা চিত্রিত করার একটি ভালো উদাহরণ হলো জিন-জ্যাক কুইসকোয়াটারের বিখ্যাত আলিবাবার গুহার গল্প (একটি নতুন ট্যাবে খোলে)। গল্পে, পেগি (প্রমাণকারী) ভিক্টরকে (যাচাইকারী) প্রমাণ করতে চায় যে সে জাদুর দরজা খোলার গোপন বাক্যাংশটি জানে, কিন্তু বাক্যাংশটি প্রকাশ না করেই।
নন-ইন্টারেক্টিভ শূন্য-জ্ঞান প্রমাণ
যদিও এটি বৈপ্লবিক ছিল, ইন্টারেক্টিভ প্রুভিংয়ের উপযোগিতা সীমিত ছিল কারণ এর জন্য উভয় পক্ষকে উপলব্ধ থাকতে হতো এবং বারবার মিথস্ক্রিয়া করতে হতো। এমনকি যদি একজন যাচাইকারী প্রমাণকারীর সততা সম্পর্কে নিশ্চিতও হয়, তবুও প্রমাণটি স্বাধীন যাচাইকরণের জন্য অনুপলব্ধ থাকবে (একটি নতুন প্রমাণ গণনা করার জন্য প্রমাণকারী এবং যাচাইকারীর মধ্যে নতুন সেট বার্তার প্রয়োজন হতো)।
এই সমস্যার সমাধানের জন্য, ম্যানুয়েল ব্লাম, পল ফেল্ডম্যান এবং সিলভিও মিকালি প্রথম নন-ইন্টারেক্টিভ শূন্য-জ্ঞান প্রমাণ (একটি নতুন ট্যাবে খোলে)-এর পরামর্শ দিয়েছিলেন যেখানে প্রমাণকারী এবং যাচাইকারীর একটি শেয়ার্ড কী থাকে। এটি প্রমাণকারীকে তথ্যটি প্রদান না করেই কিছু তথ্যের (অর্থাৎ, সাক্ষী) জ্ঞান প্রদর্শন করার অনুমতি দেয়।
ইন্টারেক্টিভ প্রমাণের বিপরীতে, নন-ইন্টারেক্টিভ প্রমাণগুলোতে অংশগ্রহণকারীদের (প্রমাণকারী এবং যাচাইকারী) মধ্যে কেবল এক রাউন্ড যোগাযোগের প্রয়োজন হয়। প্রমাণকারী একটি শূন্য-জ্ঞান প্রমাণ গণনা করার জন্য একটি বিশেষ অ্যালগরিদমে গোপন তথ্যটি পাঠায়। এই প্রমাণটি যাচাইকারীর কাছে পাঠানো হয়, যে অন্য একটি অ্যালগরিদম ব্যবহার করে পরীক্ষা করে যে প্রমাণকারী গোপন তথ্যটি জানে কি না।
নন-ইন্টারেক্টিভ প্রুভিং প্রমাণকারী এবং যাচাইকারীর মধ্যে যোগাযোগ কমায়, যা ZK-প্রমাণগুলোকে আরও দক্ষ করে তোলে। তাছাড়া, একবার একটি প্রমাণ তৈরি হয়ে গেলে, এটি অন্য যে কারও (শেয়ার্ড কী এবং যাচাইকরণ অ্যালগরিদমে অ্যাক্সেস সহ) যাচাই করার জন্য উপলব্ধ থাকে।
নন-ইন্টারেক্টিভ প্রমাণগুলো জিরো-নলেজ প্রযুক্তির জন্য একটি যুগান্তকারী অগ্রগতি উপস্থাপন করে এবং বর্তমানে ব্যবহৃত প্রুভিং সিস্টেমগুলোর বিকাশকে ত্বরান্বিত করে। আমরা নিচে এই প্রমাণের ধরনগুলো নিয়ে আলোচনা করছি:
শূন্য-জ্ঞান প্রমাণের ধরন
জেডকে-স্নার্ক (ZK-SNARKs)
ZK-SNARK হলো Zero-Knowledge Succinct Non-Interactive Argument of Knowledge-এর সংক্ষিপ্ত রূপ। জেডকে-স্নার্ক প্রোটোকলের নিম্নলিখিত গুণাবলী রয়েছে:
-
শূন্য-জ্ঞান (Zero-knowledge): একজন যাচাইকারী কোনো বিবৃতি সম্পর্কে অন্য কিছু না জেনেই বিবৃতির অখণ্ডতা যাচাই করতে পারে। বিবৃতিটি সম্পর্কে যাচাইকারীর একমাত্র জ্ঞান হলো এটি সত্য নাকি মিথ্যা।
-
সংক্ষিপ্ত (Succinct): শূন্য-জ্ঞান প্রমাণটি সাক্ষীর চেয়ে ছোট হয় এবং দ্রুত যাচাই করা যায়।
-
নন-ইন্টারেক্টিভ (Non-interactive): প্রমাণটি 'নন-ইন্টারেক্টিভ' কারণ প্রমাণকারী এবং যাচাইকারী কেবল একবার মিথস্ক্রিয়া করে, ইন্টারেক্টিভ প্রমাণের মতো নয় যেখানে একাধিক রাউন্ড যোগাযোগের প্রয়োজন হয়।
-
যুক্তি (Argument): প্রমাণটি 'দৃঢ়তা' (soundness) প্রয়োজনীয়তা পূরণ করে, তাই প্রতারণা করা অত্যন্ত অসম্ভাব্য।
-
জ্ঞানের (Of Knowledge): গোপন তথ্যে (সাক্ষী) অ্যাক্সেস ছাড়া শূন্য-জ্ঞান প্রমাণ তৈরি করা যায় না। যে প্রমাণকারীর কাছে সাক্ষী নেই তার পক্ষে একটি বৈধ শূন্য-জ্ঞান প্রমাণ গণনা করা কঠিন, যদি অসম্ভব নাও হয়।
আগে উল্লিখিত 'শেয়ার্ড কী' বলতে পাবলিক প্যারামিটারগুলোকে বোঝায় যা প্রমাণকারী এবং যাচাইকারী প্রমাণ তৈরি এবং যাচাই করার জন্য ব্যবহার করতে সম্মত হয়। পাবলিক প্যারামিটারগুলো (যৌথভাবে Common Reference String বা CRS হিসেবে পরিচিত) তৈরি করা একটি সংবেদনশীল কাজ কারণ প্রোটোকলের নিরাপত্তায় এর গুরুত্ব রয়েছে। যদি CRS তৈরিতে ব্যবহৃত এনট্রপি (র্যান্ডমনেস) কোনো অসৎ প্রমাণকারীর হাতে পড়ে, তবে তারা মিথ্যা প্রমাণ গণনা করতে পারে।
মাল্টি-পার্টি কম্পিউটেশন (MPC) (একটি নতুন ট্যাবে খোলে) হলো পাবলিক প্যারামিটার তৈরির ঝুঁকি কমানোর একটি উপায়। একাধিক পক্ষ একটি ট্রাস্টেড সেটআপ অনুষ্ঠানে (একটি নতুন ট্যাবে খোলে) অংশগ্রহণ করে, যেখানে প্রতিটি ব্যক্তি CRS তৈরি করতে কিছু র্যান্ডম মান অবদান রাখে। যতক্ষণ পর্যন্ত একজন সৎ পক্ষ তাদের এনট্রপির অংশ ধ্বংস করে, জেডকে-স্নার্ক প্রোটোকল কম্পিউটেশনাল দৃঢ়তা বজায় রাখে।
ট্রাস্টেড সেটআপগুলোর জন্য ব্যবহারকারীদের প্যারামিটার-তৈরিতে অংশগ্রহণকারীদের বিশ্বাস করতে হয়। তবে, জেডকে-স্টার্ক-এর বিকাশ এমন প্রুভিং প্রোটোকলগুলোকে সক্ষম করেছে যা একটি নন-ট্রাস্টেড সেটআপের সাথে কাজ করে।
জেডকে-স্টার্ক (ZK-STARKs)
ZK-STARK হলো Zero-Knowledge Scalable Transparent Argument of Knowledge-এর সংক্ষিপ্ত রূপ। জেডকে-স্টার্কগুলো জেডকে-স্নার্ক-এর মতোই, তবে এগুলো হলো:
-
স্কেলেবল (Scalable): সাক্ষীর আকার বড় হলে প্রমাণ তৈরি এবং যাচাই করার ক্ষেত্রে জেডকে-স্টার্ক জেডকে-স্নার্ক-এর চেয়ে দ্রুততর। STARK প্রমাণের ক্ষেত্রে, সাক্ষী বড় হওয়ার সাথে সাথে প্রমাণকারী এবং যাচাইকরণের সময় কেবল সামান্য বৃদ্ধি পায় (SNARK প্রমাণকারী এবং যাচাইকারীর সময় সাক্ষীর আকারের সাথে রৈখিকভাবে বৃদ্ধি পায়)।
-
স্বচ্ছ (Transparent): জেডকে-স্টার্ক একটি ট্রাস্টেড সেটআপের পরিবর্তে প্রমাণ এবং যাচাইকরণের জন্য পাবলিক প্যারামিটার তৈরি করতে সর্বজনীনভাবে যাচাইযোগ্য র্যান্ডমনেস-এর ওপর নির্ভর করে। সুতরাং, জেডকে-স্নার্ক-এর তুলনায় এগুলো বেশি স্বচ্ছ।
জেডকে-স্টার্কগুলো জেডকে-স্নার্ক-এর চেয়ে বড় প্রমাণ তৈরি করে, যার অর্থ হলো এগুলোতে সাধারণত যাচাইকরণের ওভারহেড বেশি থাকে। তবে, এমন কিছু ক্ষেত্র রয়েছে (যেমন বড় ডেটাসেট প্রমাণ করা) যেখানে জেডকে-স্টার্কগুলো জেডকে-স্নার্ক-এর চেয়ে বেশি সাশ্রয়ী হতে পারে।
শূন্য-জ্ঞান প্রমাণ ব্যবহারের অসুবিধা
হার্ডওয়্যার খরচ
শূন্য-জ্ঞান প্রমাণ তৈরি করার সাথে অত্যন্ত জটিল গণনা জড়িত যা বিশেষায়িত মেশিনগুলোতে সবচেয়ে ভালোভাবে সম্পন্ন হয়। যেহেতু এই মেশিনগুলো ব্যয়বহুল, তাই এগুলো প্রায়শই সাধারণ মানুষের নাগালের বাইরে থাকে। উপরন্তু, যেসব অ্যাপ্লিকেশন জিরো-নলেজ প্রযুক্তি ব্যবহার করতে চায় তাদের অবশ্যই হার্ডওয়্যার খরচ বিবেচনা করতে হবে—যা শেষ-ব্যবহারকারীদের জন্য খরচ বাড়িয়ে দিতে পারে।
প্রমাণ যাচাইকরণের খরচ
প্রমাণ যাচাই করার জন্যও জটিল কম্পিউটেশনের প্রয়োজন হয় এবং এটি অ্যাপ্লিকেশনগুলোতে জিরো-নলেজ প্রযুক্তি বাস্তবায়নের খরচ বাড়িয়ে দেয়। এই খরচটি কম্পিউটেশন প্রমাণ করার প্রেক্ষাপটে বিশেষভাবে প্রাসঙ্গিক। উদাহরণস্বরূপ, জিরো-নলেজ রোলআপগুলো ইথেরিয়ামে একটি একক জেডকে-স্নার্ক প্রমাণ যাচাই করতে ~ 500,000 গ্যাস প্রদান করে, যেখানে জেডকে-স্টার্ক-এর জন্য আরও বেশি ফি প্রয়োজন হয়।
আস্থার অনুমান
জেডকে-স্নার্ক-এ, Common Reference String (পাবলিক প্যারামিটার) একবার তৈরি করা হয় এবং যারা জিরো-নলেজ প্রোটোকলে অংশগ্রহণ করতে চায় তাদের জন্য পুনরায় ব্যবহারের জন্য উপলব্ধ থাকে। পাবলিক প্যারামিটারগুলো একটি ট্রাস্টেড সেটআপ অনুষ্ঠানের মাধ্যমে তৈরি করা হয়, যেখানে অংশগ্রহণকারীদের সৎ বলে ধরে নেওয়া হয়।
কিন্তু ব্যবহারকারীদের জন্য অংশগ্রহণকারীদের সততা মূল্যায়ন করার সত্যিই কোনো উপায় নেই এবং ব্যবহারকারীদের ডেভেলপারদের কথার ওপর নির্ভর করতে হয়। জেডকে-স্টার্কগুলো আস্থার অনুমান থেকে মুক্ত কারণ স্ট্রিং তৈরিতে ব্যবহৃত র্যান্ডমনেস সর্বজনীনভাবে যাচাইযোগ্য। ইতিমধ্যে, গবেষকরা প্রুভিং মেকানিজমের নিরাপত্তা বাড়াতে জেডকে-স্নার্ক-এর জন্য নন-ট্রাস্টেড সেটআপ নিয়ে কাজ করছেন।
কোয়ান্টাম কম্পিউটিংয়ের হুমকি
জেডকে-স্নার্ক এনক্রিপশন-এর জন্য উপবৃত্তাকার বক্ররেখা ক্রিপ্টোগ্রাফি ব্যবহার করে। যদিও উপবৃত্তাকার বক্ররেখার বিচ্ছিন্ন লগারিদম সমস্যাটি আপাতত সমাধানযোগ্য নয় বলে ধরে নেওয়া হয়, তবে কোয়ান্টাম কম্পিউটারের বিকাশ ভবিষ্যতে এই নিরাপত্তা মডেলটি ভেঙে দিতে পারে।
জেডকে-স্টার্ক-কে কোয়ান্টাম কম্পিউটিংয়ের হুমকির বিরুদ্ধে অনাক্রম্য বলে মনে করা হয়, কারণ এটি এর নিরাপত্তার জন্য কেবল কলিশন-রেজিস্ট্যান্ট হ্যাশ ফাংশনের ওপর নির্ভর করে। উপবৃত্তাকার বক্ররেখা ক্রিপ্টোগ্রাফিতে ব্যবহৃত পাবলিক-প্রাইভেট কী পেয়ারিংয়ের বিপরীতে, কলিশন-রেজিস্ট্যান্ট হ্যাশিং কোয়ান্টাম কম্পিউটিং অ্যালগরিদমগুলোর জন্য ভাঙা আরও কঠিন।
আরও পড়ুন
- শূন্য-জ্ঞান প্রমাণের ব্যবহার-ক্ষেত্রের ওভারভিউ (একটি নতুন ট্যাবে খোলে) — প্রাইভেসি অ্যান্ড স্কেলিং এক্সপ্লোরেশনস টিম
- SNARKs বনাম STARKS বনাম রিকার্সিভ SNARKs (একটি নতুন ট্যাবে খোলে) — অ্যালকেমি ওভারভিউস
- একটি শূন্য-জ্ঞান প্রমাণ: ব্লকচেইনে গোপনীয়তা উন্নত করা (একটি নতুন ট্যাবে খোলে) — দিমিত্রি লাভরেনভ
- zk-SNARKs — একটি বাস্তবসম্মত জিরো-নলেজ উদাহরণ এবং বিস্তারিত আলোচনা (একটি নতুন ট্যাবে খোলে) — অ্যাডাম লুসিয়ানো
- ZK-STARKs — কোয়ান্টাম কম্পিউটারের বিরুদ্ধেও যাচাইযোগ্য আস্থা তৈরি করুন (একটি নতুন ট্যাবে খোলে) — অ্যাডাম লুসিয়ানো
- কীভাবে zk-SNARKs সম্ভব তার একটি আনুমানিক ভূমিকা (একটি নতুন ট্যাবে খোলে) — ভিটালিক বুটেরিন
- কেন জিরো নলেজ প্রুফ (ZKPs) স্ব-সার্বভৌম পরিচয়ের জন্য একটি গেম চেঞ্জার (একটি নতুন ট্যাবে খোলে) — ফ্র্যাঙ্কলিন ওহেগবুলাম
- EIP-7503 ব্যাখ্যা: ZK প্রমাণের মাধ্যমে ইথেরিয়ামে প্রাইভেট ট্রান্সফার সক্ষম করা (একটি নতুন ট্যাবে খোলে) — ইমানুয়েল আওসিকা
- ZK কার্ড গেম: ZK-এর মৌলিক বিষয় এবং বাস্তব জীবনের ব্যবহার-ক্ষেত্র শেখার গেম (একটি নতুন ট্যাবে খোলে) - ZK-Cards