লাইট ক্লায়েন্ট
একটি ফুল নোড চালানো হলো ইথেরিয়াম-এর সাথে ইন্টারঅ্যাক্ট করার সবচেয়ে আস্থা-নিরপেক্ষ, ব্যক্তিগত, বিকেন্দ্রীকৃত এবং সেন্সরশিপ প্রতিরোধী উপায়। একটি ফুল নোডের মাধ্যমে আপনি ব্লকচেইনের নিজস্ব কপি রাখতে পারেন যা আপনি তাৎক্ষণিকভাবে কোয়েরি করতে পারেন এবং ইথেরিয়ামের পিয়ার-টু-পিয়ার নেটওয়ার্কে সরাসরি অ্যাক্সেস পান। তবে, একটি ফুল নোড চালানোর জন্য উল্লেখযোগ্য পরিমাণ মেমরি, স্টোরেজ এবং CPU প্রয়োজন। এর মানে হলো সবার পক্ষে নিজস্ব নোড চালানো সম্ভব নয়। ইথেরিয়াম রোডম্যাপে এর বেশ কয়েকটি সমাধান রয়েছে, যার মধ্যে স্টেটহীনতা অন্তর্ভুক্ত, তবে এগুলো বাস্তবায়িত হতে আরও কয়েক বছর সময় লাগবে। স্বল্পমেয়াদী সমাধান হলো ফুল নোড চালানোর কিছু সুবিধা ত্যাগ করে বড় ধরনের পারফরম্যান্স উন্নতি অর্জন করা, যা খুব কম হার্ডওয়্যার প্রয়োজনীয়তার সাথে নোড চালানোর সুযোগ দেয়। যে নোডগুলো এই আপস করে তাদের লাইট নোড বলা হয়।
লাইট ক্লায়েন্ট কী
একটি লাইট নোড হলো এমন একটি নোড যা লাইট ক্লায়েন্ট সফটওয়্যার চালায়। ব্লকচেইন ডেটার লোকাল কপি রাখা এবং স্বাধীনভাবে সমস্ত পরিবর্তন যাচাই করার পরিবর্তে, তারা কোনো প্রোভাইডারের কাছ থেকে প্রয়োজনীয় ডেটার অনুরোধ করে। প্রোভাইডারটি একটি ফুল নোডের সাথে সরাসরি সংযোগ হতে পারে বা কোনো সেন্ট্রালাইজড RPC সার্ভারের মাধ্যমে হতে পারে। এরপর ডেটাটি লাইট নোড দ্বারা যাচাই করা হয়, যা এটিকে চেইনের হেডের সাথে আপডেট থাকতে সাহায্য করে। লাইট নোড শুধুমাত্র ব্লক হেডার প্রসেস করে, মাঝে মাঝে আসল ব্লক কন্টেন্ট ডাউনলোড করে। নোডগুলো তাদের লাইটনেসের দিক থেকে ভিন্ন হতে পারে, যা নির্ভর করে তারা কোন লাইট এবং ফুল ক্লায়েন্ট সফটওয়্যারের সংমিশ্রণ চালাচ্ছে তার ওপর। উদাহরণস্বরূপ, সবচেয়ে হালকা কনফিগারেশন হবে একটি লাইট এক্সিকিউশন ক্লায়েন্ট এবং একটি লাইট কনসেনসাস ক্লায়েন্ট চালানো। এটাও সম্ভব যে অনেক নোড ফুল এক্সিকিউশন ক্লায়েন্টের সাথে লাইট কনসেনসাস ক্লায়েন্ট চালানো বেছে নেবে, বা এর বিপরীতটাও হতে পারে।
লাইট ক্লায়েন্ট কীভাবে কাজ করে?
যখন ইথেরিয়াম একটি প্রুফ-অফ-স্টেক (PoS) ভিত্তিক কনসেনসাস মেকানিজম ব্যবহার করা শুরু করে, তখন বিশেষভাবে লাইট ক্লায়েন্টদের সমর্থন করার জন্য নতুন পরিকাঠামো চালু করা হয়েছিল। এটি যেভাবে কাজ করে তা হলো প্রতি 1.1 দিনে 512 জন ভ্যালিডেটরের একটি সাবসেটকে এলোমেলোভাবে নির্বাচন করা হয় যারা একটি সিঙ্ক কমিটি হিসেবে কাজ করে। সিঙ্ক কমিটি সাম্প্রতিক ব্লকগুলোর হেডারে স্বাক্ষর করে। প্রতিটি ব্লক হেডারে সিঙ্ক কমিটির ভ্যালিডেটরদের একত্রিত স্বাক্ষর এবং একটি "বিটফিল্ড" থাকে যা দেখায় কোন ভ্যালিডেটররা স্বাক্ষর করেছে এবং কারা করেনি। প্রতিটি হেডারে পরবর্তী ব্লকে স্বাক্ষরকরণে অংশগ্রহণ করতে পারে এমন ভ্যালিডেটরদের একটি তালিকাও অন্তর্ভুক্ত থাকে। এর মানে হলো একটি লাইট ক্লায়েন্ট দ্রুত দেখতে পারে যে সিঙ্ক কমিটি তাদের প্রাপ্ত ডেটাতে স্বাক্ষর করেছে, এবং তারা পূর্ববর্তী ব্লকে যে সিঙ্ক কমিটির আশা করেছিল তার সাথে প্রাপ্ত সিঙ্ক কমিটির তুলনা করে যাচাই করতে পারে যে এটি আসল কিনা। এইভাবে, লাইট ক্লায়েন্ট আসল ব্লকটি ডাউনলোড না করেই সর্বশেষ ইথেরিয়াম ব্লক সম্পর্কে তার জ্ঞান আপডেট রাখতে পারে, শুধুমাত্র হেডারটি ব্যবহার করে যাতে সারসংক্ষেপ তথ্য থাকে।
এক্সিকিউশন লেয়ার-এ লাইট এক্সিকিউশন ক্লায়েন্টের জন্য কোনো একক স্পেসিফিকেশন নেই। একটি লাইট এক্সিকিউশন ক্লায়েন্টের পরিধি একটি ফুল এক্সিকিউশন ক্লায়েন্টের "লাইট মোড" থেকে শুরু করে ভিন্ন হতে পারে, যার একটি ফুল নোডের সমস্ত EVM এবং নেটওয়ার্কিং কার্যকারিতা রয়েছে কিন্তু সংশ্লিষ্ট ডেটা ডাউনলোড না করে শুধুমাত্র ব্লক হেডার যাচাই করে, অথবা এটি আরও সংক্ষিপ্ত ক্লায়েন্ট হতে পারে যা ইথেরিয়ামের সাথে ইন্টারঅ্যাক্ট করার জন্য RPC প্রোভাইডারের কাছে অনুরোধ ফরোয়ার্ড করার ওপর ব্যাপকভাবে নির্ভর করে।
লাইট ক্লায়েন্ট কেন গুরুত্বপূর্ণ?
লাইট ক্লায়েন্টগুলো গুরুত্বপূর্ণ কারণ এগুলো ব্যবহারকারীদের তাদের ডেটা প্রোভাইডার সঠিক এবং সৎ বলে অন্ধভাবে বিশ্বাস করার পরিবর্তে ইনকামিং ডেটা যাচাই করার সুযোগ দেয়, যেখানে একটি ফুল নোডের কম্পিউটেশনাল রিসোর্সের খুব সামান্য অংশ ব্যবহৃত হয়। লাইট ক্লায়েন্টরা যে ডেটা পায় তা ব্লক হেডারের বিপরীতে চেক করা যেতে পারে যা তারা জানে যে 512 জন ইথেরিয়াম ভ্যালিডেটরের একটি র্যান্ডম সেটের অন্তত 2/3 অংশ দ্বারা স্বাক্ষরিত হয়েছে। এটি ডেটা সঠিক হওয়ার খুব শক্তিশালী প্রমাণ।
লাইট ক্লায়েন্ট শুধুমাত্র খুব সামান্য পরিমাণ কম্পিউটিং পাওয়ার, মেমরি এবং স্টোরেজ ব্যবহার করে তাই এটি মোবাইল ফোনে চালানো যেতে পারে, কোনো অ্যাপে এম্বেড করা যেতে পারে বা ব্রাউজারের অংশ হিসেবে ব্যবহার করা যেতে পারে। লাইট ক্লায়েন্ট হলো ইথেরিয়ামে ন্যূনতম-আস্থার অ্যাক্সেসকে থার্ড-পার্টি প্রোভাইডারকে বিশ্বাস করার মতোই বাধাহীন করার একটি উপায়।
চলুন একটি সহজ উদাহরণ নেওয়া যাক। ধরুন আপনি আপনার অ্যাকাউন্ট ব্যালেন্স চেক করতে চান। এটি করার জন্য আপনাকে একটি ইথেরিয়াম নোড-এ অনুরোধ করতে হবে। সেই নোডটি আপনার ব্যালেন্সের জন্য ইথেরিয়াম স্টেটের তার লোকাল কপি চেক করবে এবং আপনাকে তা ফেরত দেবে। যদি আপনার কোনো নোডে সরাসরি অ্যাক্সেস না থাকে, তবে সেন্ট্রালাইজড অপারেটর রয়েছে যারা এই ডেটা পরিষেবা হিসেবে প্রদান করে। আপনি তাদের কাছে একটি অনুরোধ পাঠাতে পারেন, তারা তাদের নোড চেক করে এবং ফলাফল আপনাকে ফেরত পাঠায়। এর সমস্যা হলো আপনাকে তখন বিশ্বাস করতে হবে যে প্রোভাইডার আপনাকে সঠিক তথ্য দিচ্ছে। আপনি যদি নিজে যাচাই করতে না পারেন তবে আপনি কখনই জানতে পারবেন না যে তথ্যটি সঠিক কিনা।
একটি লাইট ক্লায়েন্ট এই সমস্যার সমাধান করে। আপনি এখনও কোনো এক্সটার্নাল প্রোভাইডারের কাছে ডেটার অনুরোধ করেন, কিন্তু যখন আপনি ডেটা ফেরত পান তখন এটি একটি প্রমাণের সাথে আসে যা আপনার লাইট নোড ব্লক হেডারে প্রাপ্ত তথ্যের বিপরীতে চেক করতে পারে। এর মানে হলো কোনো বিশ্বস্ত অপারেটরের পরিবর্তে ইথেরিয়াম আপনার ডেটার সঠিকতা যাচাই করছে।
লাইট ক্লায়েন্ট কী কী উদ্ভাবন সক্ষম করে?
লাইট ক্লায়েন্টের প্রাথমিক সুবিধা হলো নগণ্য হার্ডওয়্যার প্রয়োজনীয়তা এবং থার্ড-পার্টির ওপর ন্যূনতম নির্ভরতার সাথে আরও বেশি মানুষকে স্বাধীনভাবে ইথেরিয়ামে অ্যাক্সেস করতে সক্ষম করা। এটি ব্যবহারকারীদের জন্য ভালো কারণ তারা তাদের নিজস্ব ডেটা যাচাই করতে পারে এবং এটি নেটওয়ার্কের জন্য ভালো কারণ এটি চেইন যাচাইকারী নোডগুলোর সংখ্যা এবং বৈচিত্র্য বাড়ায়।
খুব কম স্টোরেজ, মেমরি এবং প্রসেসিং পাওয়ার যুক্ত ডিভাইসে ইথেরিয়াম নোড চালানোর ক্ষমতা হলো লাইট ক্লায়েন্ট দ্বারা উন্মোচিত উদ্ভাবনের অন্যতম প্রধান ক্ষেত্র। যেখানে বর্তমানে ইথেরিয়াম নোডগুলোর জন্য প্রচুর কম্পিউটিং রিসোর্স প্রয়োজন, সেখানে লাইট ক্লায়েন্টগুলো ব্রাউজারে এম্বেড করা যেতে পারে, মোবাইল ফোনে চালানো যেতে পারে এবং সম্ভবত স্মার্ট ওয়াচের মতো আরও ছোট ডিভাইসেও চালানো যেতে পারে। এর মানে হলো এম্বেডেড ক্লায়েন্ট যুক্ত ইথেরিয়াম ওয়ালেট মোবাইল ফোনে চলতে পারে। এর মানে হলো মোবাইল ওয়ালেটগুলো অনেক বেশি বিকেন্দ্রীকৃত হতে পারে কারণ তাদের ডেটার জন্য সেন্ট্রালাইজড ডেটা প্রোভাইডারদের বিশ্বাস করতে হবে না।
এর একটি সম্প্রসারণ হলো ইন্টারনেট অফ থিংস (IoT) ডিভাইসগুলোকে সক্ষম করা। সিঙ্ক কমিটিগুলোর দেওয়া সমস্ত নিরাপত্তা গ্যারান্টি সহ কোনো টোকেন ব্যালেন্স বা NFT-এর মালিকানা দ্রুত প্রমাণ করতে একটি লাইট ক্লায়েন্ট ব্যবহার করা যেতে পারে, যা কোনো IoT নেটওয়ার্কে কোনো অ্যাকশন ট্রিগার করে। কল্পনা করুন একটি সাইকেল ভাড়ার পরিষেবা (opens in a new tab) যা একটি এম্বেডেড লাইট ক্লায়েন্ট যুক্ত অ্যাপ ব্যবহার করে দ্রুত যাচাই করে যে আপনার কাছে ভাড়া পরিষেবার NFT আছে কিনা এবং যদি থাকে, তবে আপনার চালানোর জন্য একটি সাইকেল আনলক করে দেয়!
ইথেরিয়াম রোলআপ-ও লাইট ক্লায়েন্ট থেকে উপকৃত হবে। রোলআপগুলোর জন্য একটি বড় সমস্যা হলো সেই সেতুগুলোকে লক্ষ্য করে হ্যাক করা যা ইথেরিয়াম মেইননেট থেকে রোলআপে ফান্ড হস্তান্তর করতে দেয়। একটি দুর্বলতা হলো সেই ওরাকলগুলো যা রোলআপগুলো ব্যবহার করে শনাক্ত করতে যে কোনো ব্যবহারকারী সেতুতে ডিপোজিট করেছে কিনা। যদি কোনো ওরাকল ভুল ডেটা প্রদান করে, তবে তারা রোলআপকে বোকা বানিয়ে ভাবতে বাধ্য করতে পারে যে সেতুতে একটি ডিপোজিট হয়েছে এবং ভুলভাবে ফান্ড রিলিজ করতে পারে। রোলআপে এম্বেড করা একটি লাইট ক্লায়েন্ট দূষিত ওরাকলগুলোর বিরুদ্ধে রক্ষা করতে ব্যবহার করা যেতে পারে কারণ সেতুতে ডিপোজিট একটি প্রমাণের সাথে আসতে পারে যা কোনো টোকেন রিলিজ করার আগে রোলআপ দ্বারা যাচাই করা যেতে পারে। একই ধারণা অন্যান্য ইন্টারচেইন সেতুগুলোতেও প্রয়োগ করা যেতে পারে।
ইথেরিয়াম ওয়ালেট আপগ্রেড করতেও লাইট ক্লায়েন্ট ব্যবহার করা যেতে পারে। কোনো RPC প্রোভাইডারের দেওয়া ডেটা বিশ্বাস করার পরিবর্তে, আপনার ওয়ালেট একটি এম্বেডেড লাইট ক্লায়েন্ট ব্যবহার করে আপনাকে দেখানো ডেটা সরাসরি যাচাই করতে পারে। এটি আপনার ওয়ালেটে নিরাপত্তা যোগ করবে। যদি আপনার RPC প্রোভাইডার অসৎ হয় এবং আপনাকে ভুল ডেটা প্রদান করে, তবে এম্বেডেড লাইট ক্লায়েন্ট আপনাকে তা বলে দিতে পারে!
লাইট ক্লায়েন্ট ডেভেলপমেন্টের বর্তমান অবস্থা কী?
এক্সিকিউশন, কনসেনসাস এবং সম্মিলিত এক্সিকিউশন/কনসেনসাস লাইট ক্লায়েন্ট সহ বেশ কয়েকটি লাইট ক্লায়েন্ট ডেভেলপমেন্টের পর্যায়ে রয়েছে। এই পেজটি লেখার সময় আমরা যে লাইট ক্লায়েন্ট ইমপ্লিমেন্টেশনগুলো সম্পর্কে জানি সেগুলো হলো:
- লোডস্টার (Lodestar) (opens in a new tab): TypeScript-এ কনসেনসাস লাইট ক্লায়েন্ট
- হেলিওস (Helios) (opens in a new tab): Rust-এ সম্মিলিত এক্সিকিউশন এবং কনসেনসাস লাইট ক্লায়েন্ট
- গেথ (Geth) (opens in a new tab): Go-তে এক্সিকিউশন ক্লায়েন্টের জন্য লাইট মোড (ডেভেলপমেন্টের পর্যায়ে)
- নিম্বাস (Nimbus) (opens in a new tab): Nim-এ কনসেনসাস লাইট ক্লায়েন্ট
আমাদের জানামতে এগুলোর কোনোটিই এখনও প্রোডাকশন-রেডি হিসেবে বিবেচিত নয়।
লাইট ক্লায়েন্টগুলো ইথেরিয়াম ডেটা অ্যাক্সেস করার উপায়গুলো উন্নত করার জন্যও অনেক কাজ করা হচ্ছে। বর্তমানে, লাইট ক্লায়েন্টগুলো ক্লায়েন্ট/সার্ভার মডেল ব্যবহার করে ফুল নোডগুলোতে RPC অনুরোধের ওপর নির্ভর করে, তবে ভবিষ্যতে পোর্টাল নেটওয়ার্ক (opens in a new tab)-এর মতো একটি ডেডিকেটেড নেটওয়ার্ক ব্যবহার করে আরও বিকেন্দ্রীকৃত উপায়ে ডেটার অনুরোধ করা যেতে পারে যা পিয়ার-টু-পিয়ার গসিপ প্রোটোকল ব্যবহার করে লাইট ক্লায়েন্টদের ডেটা পরিবেশন করতে পারে।
অন্যান্য রোডম্যাপ আইটেম যেমন ভার্কেল ট্রি এবং স্টেটহীনতা শেষ পর্যন্ত লাইট ক্লায়েন্টগুলোর নিরাপত্তা গ্যারান্টি ফুল ক্লায়েন্টগুলোর সমান করে তুলবে।
আরও পড়ুন
- গেথ লাইট ক্লায়েন্ট সম্পর্কে জোল্ট ফেলফোডি (Zsolt Felfodhi) (opens in a new tab)
- লাইট ক্লায়েন্ট নেটওয়ার্কিং সম্পর্কে ইথান কিসলিং (Etan Kissling) (opens in a new tab)
- দ্য মার্জ-এর পর লাইট ক্লায়েন্ট সম্পর্কে ইথান কিসলিং (Etan Kissling) (opens in a new tab)
- পাইপার মেরিয়াম (Piper Merriam): কার্যকরী লাইট ক্লায়েন্টের দিকে আঁকাবাঁকা পথ (opens in a new tab)