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

ইথেরিয়ামে প্রমাণীকরণ

আপনি যদি প্রথাগত ওয়েব ডেভেলপমেন্ট থেকে এসে থাকেন, তবে আপনি ব্যবহারকারীর নাম/পাসওয়ার্ড লগইন, OAuth ফ্লো এবং সেশন কুকিজের সাথে অভ্যস্ত। ইথেরিয়ামে প্রমাণীকরণ ভিন্নভাবে কাজ করে—এবং অনেক দিক থেকে, আরও সহজভাবে।

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

এটি ওয়েব২ থেকে কীভাবে আলাদা?

ওয়েব২ইথেরিয়াম
ব্যবহারকারীর নাম + পাসওয়ার্ডওয়ালেট ঠিকানা + স্বাক্ষর
সার্ভার ক্রেডেনশিয়াল সংরক্ষণ করেব্যবহারকারী প্রাইভেট কী ধারণ করেন
সেশনগুলো কুকিজ / JWT দ্বারা পরিচালিত হয়সেশনগুলো একটি অফচেইন ওয়ালেট স্বাক্ষর দিয়ে শুরু হয়
"Sign in with Google""Sign in with Ethereum"
পাসওয়ার্ড রিসেট ফ্লোসিড ফ্রেজ পুনরুদ্ধার

মৌলিক পরিবর্তন: ওয়েব২-তে, একটি কেন্দ্রীভূত সার্ভার আপনাকে প্রমাণীকরণ করে। ইথেরিয়ামে, আপনি একটি নির্দিষ্ট ঠিকানা নিয়ন্ত্রণ করেন তা প্রমাণ করার মাধ্যমে আপনি নিজেকে প্রমাণীকরণ করেন—এবং যে কেউ স্বাধীনভাবে এটি যাচাই করতে পারে।

পূর্বশর্ত

নিশ্চিত করুন যে আপনি বুঝতে পেরেছেন:

ওয়ালেট-ভিত্তিক প্রমাণীকরণ কীভাবে কাজ করে

মূল ফ্লোটি সহজ:

  1. আপনার বিকেন্দ্রীকৃত অ্যাপ্লিকেশন (dapp) ব্যবহারকারীকে তাদের ওয়ালেট সংযুক্ত করতে বলে (মেটামাস্ক, Rainbow, WalletConnect ইত্যাদির মাধ্যমে)
  2. ওয়ালেটটি ব্যবহারকারীর ইথেরিয়াম ঠিকানা শেয়ার করে - এটি তাদের সর্বজনীন শনাক্তকারী
  3. আপনার dapp একটি অনন্য বার্তা তৈরি করে (একটি নন্স বা চ্যালেঞ্জ)
  4. ব্যবহারকারী তাদের প্রাইভেট কী দিয়ে বার্তাটিতে স্বাক্ষর করেন (এটি ওয়ালেটের ভেতরে ঘটে)
  5. আপনার ব্যাকএন্ড দাবিকৃত ঠিকানার বিপরীতে স্বাক্ষরটি যাচাই করে
  6. যদি বৈধ হয়, তবে ব্যবহারকারী প্রমাণীকৃত হন

কোনো পাসওয়ার্ড কখনও টাইপ, সংরক্ষণ বা প্রেরণ করা হয়নি।

ইথেরিয়ামের সাথে সাইন-ইন (EIP-4361)

EIP-4361 (একটি নতুন ট্যাবে খোলে) ইথেরিয়াম সাইন-ইনের জন্য একটি প্রমিত বার্তা বিন্যাস সংজ্ঞায়িত করে, যাকে সাধারণত SIWE (Sign-In with Ethereum) বলা হয়। এটি অ্যাড-হক বার্তা স্বাক্ষরকরণকে একটি কাঠামোগত, সুরক্ষিত মান দিয়ে প্রতিস্থাপন করে।

একটি SIWE বার্তা দেখতে এরকম হয়:

SIWE-এর মূল বৈশিষ্ট্যগুলো:

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

SIWE লাইব্রেরি

উদাহরণ: siwe-এর সাথে ক্লায়েন্ট-সাইড সাইন-ইন

উদাহরণ: সার্ভার-সাইড যাচাইকরণ (Node.js)

ওয়ালেট সংযোগ লাইব্রেরি

প্রমাণীকরণের আগে, ব্যবহারকারীকে তাদের ওয়ালেট সংযুক্ত করতে হবে। এই লাইব্রেরিগুলো এটিকে সহজ করে তোলে:

ম্যানুয়ালি স্বাক্ষর যাচাইকরণ

আপনি যদি SIWE ব্যবহার করতে না চান, তবে আপনি সরাসরি স্বাক্ষর যাচাই করতে পারেন:

গুরুত্বপূর্ণ নিরাপত্তা নোট

  • সর্বদা একটি নন্স ব্যবহার করুন - রিপ্লে আক্রমণ প্রতিরোধ করে যেখানে একটি পুরানো স্বাক্ষর পুনরায় ব্যবহার করা হয়
  • ডোমেইন অন্তর্ভুক্ত করুন - স্বাক্ষরগুলোকে বিভিন্ন সাইট জুড়ে বৈধ হওয়া থেকে বাধা দেয়
  • মেয়াদোত্তীর্ণ পরীক্ষা করুন - স্বাক্ষরগুলোর একটি সীমিত বৈধতার সময়সীমা থাকা উচিত
  • সম্ভব হলে SIWE (EIP-4361) ব্যবহার করুন - এটি আপনার জন্য উপরের সমস্ত কিছু পরিচালনা করে
  • কখনও প্রাইভেট কী প্রকাশ করবেন না - স্বাক্ষরকরণ ওয়ালেটের ভেতরে ঘটে; আপনার অ্যাপ কেবল ফলাফলটি দেখতে পায়

সেশন ব্যবস্থাপনা

একবার প্রমাণীকৃত হওয়ার পর, আপনার এখনও সেশনের প্রয়োজন হবে—ঠিক ওয়েব২-এর মতো। সাধারণ প্যাটার্নগুলো হলো:

  • JWT টোকেন - স্বাক্ষর যাচাই করার পর একটি JWT ইস্যু করুন, API অনুরোধের জন্য ব্যবহার করুন
  • সার্ভার-সাইড সেশন - যাচাইকৃত ঠিকানাটি একটি সেশন কুকিতে সংরক্ষণ করুন
  • রিসোর্সসহ SIWE - নির্দিষ্ট URI-এর সাথে যুক্ত স্কোপড অ্যাক্সেস টোকেন সংজ্ঞায়িত করুন

ওয়েব২ থেকে মূল পার্থক্য: ব্যবহারকারীর ইথেরিয়াম ঠিকানা হলো তাদের স্থায়ী পরিচয়। তারা নতুন কোনো অ্যাকাউন্ট তৈরি না করেই যেকোনো dapp জুড়ে এটি ব্যবহার করতে পারে।

বিকেন্দ্রীভূত পরিচয় (ডিআইডি)

ইথেরিয়াম প্রমাণীকরণ হলো সেলফ-সোভেরেইন আইডেন্টিটি (self-sovereign identity)-এর দিকে একটি বৃহত্তর আন্দোলনের অংশ। এই ক্ষেত্রের মান এবং প্রকল্পগুলোর মধ্যে রয়েছে:

আরও পড়ুন