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

নোড আর্কিটেকচার

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

যখন ইথেরিয়াম প্রুফ-অফ-ওয়ার্ক (PoW) ব্যবহার করত, তখন একটি সম্পূর্ণ ইথেরিয়াম নোড চালানোর জন্য একটি এক্সিকিউশন ক্লায়েন্টই যথেষ্ট ছিল। তবে, প্রুফ-অফ-স্টেক (PoS) বাস্তবায়নের পর থেকে, এক্সিকিউশন ক্লায়েন্টকে অবশ্যই কনসেনসাস ক্লায়েন্ট নামক আরেকটি সফটওয়্যারের পাশাপাশি ব্যবহার করতে হবে।

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

Diagram of Ethereum node architecture showing execution and consensus layers

এক্সিকিউশন ক্লায়েন্টের জন্য এরিগন, নেদারমাইন্ড এবং Besu সহ বেশ কয়েকটি বিকল্প রয়েছে

এই দুই-ক্লায়েন্ট কাঠামো কাজ করার জন্য, কনসেনসাস ক্লায়েন্টগুলোকে অবশ্যই এক্সিকিউশন ক্লায়েন্টের কাছে ট্রানজ্যাকশনের বান্ডিল পাঠাতে হবে। এক্সিকিউশন ক্লায়েন্ট স্থানীয়ভাবে ট্রানজ্যাকশনগুলো এক্সিকিউট করে যাচাই করে যে ট্রানজ্যাকশনগুলো কোনো ইথেরিয়াম নিয়ম লঙ্ঘন করে না এবং ইথেরিয়ামের স্টেটের প্রস্তাবিত আপডেটটি সঠিক। যখন কোনো নোডকে ব্লক প্রডিউসার হিসেবে নির্বাচন করা হয়, তখন এর কনসেনসাস ক্লায়েন্ট ইনস্ট্যান্স নতুন ব্লকে অন্তর্ভুক্ত করার জন্য এক্সিকিউশন ক্লায়েন্টের কাছে ট্রানজ্যাকশনের বান্ডিল অনুরোধ করে এবং গ্লোবাল স্টেট আপডেট করার জন্য সেগুলো এক্সিকিউট করে। কনসেনসাস ক্লায়েন্ট Engine API (opens in a new tab) ব্যবহার করে একটি স্থানীয় RPC সংযোগের মাধ্যমে এক্সিকিউশন ক্লায়েন্টকে পরিচালনা করে।

এক্সিকিউশন ক্লায়েন্ট কী করে?

এক্সিকিউশন ক্লায়েন্ট ট্রানজ্যাকশন যাচাইকরণ, পরিচালনা এবং গসিপের পাশাপাশি স্টেট ম্যানেজমেন্ট এবং ইথেরিয়াম ভার্চুয়াল মেশিন (EVM)-কে সমর্থন করার জন্য দায়ী। এটি ব্লক তৈরি, ব্লক গসিপিং বা ঐক্যমত লজিক পরিচালনার জন্য দায়ী নয়। এগুলো কনসেনসাস ক্লায়েন্টের আওতাভুক্ত।

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

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

সংক্ষেপে, এক্সিকিউশন ক্লায়েন্ট হলো:

  • ইথেরিয়ামের একটি ইউজার গেটওয়ে
  • ইথেরিয়াম ভার্চুয়াল মেশিন, ইথেরিয়ামের স্টেট এবং লেনদেন পুলের আবাসস্থল।

কনসেনসাস ক্লায়েন্ট কী করে?

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

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

ভ্যালিডেটর

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

স্টেকিং সম্পর্কে আরও জানুন

নোডের উপাদানগুলোর তুলনা

এক্সিকিউশন ক্লায়েন্টকনসেনসাস ক্লায়েন্টভ্যালিডেটর
এর P2P নেটওয়ার্কে ট্রানজ্যাকশন গসিপ করেএর P2P নেটওয়ার্কে ব্লক এবং অ্যাটেস্টেশন গসিপ করেব্লক প্রস্তাব করে
ট্রানজ্যাকশন এক্সিকিউট/পুনরায় এক্সিকিউট করেফর্ক নির্বাচন অ্যালগরিদম চালায়পুরষ্কার/জরিমানা অর্জন করে
আগত স্টেট পরিবর্তনগুলো যাচাই করেচেইনের হেডের ট্র্যাক রাখেঅ্যাটেস্টেশন তৈরি করে
স্টেট এবং রিসিপ্ট ট্রাই পরিচালনা করেবীকন স্টেট পরিচালনা করে (ঐক্যমত এবং এক্সিকিউশন তথ্য ধারণ করে)32 ETH স্টেক করার প্রয়োজন হয়
এক্সিকিউশন পেলোড তৈরি করেRANDAO-তে জমা হওয়া র‍্যান্ডমনেসের ট্র্যাক রাখে (একটি অ্যালগরিদম যা ভ্যালিডেটর নির্বাচন এবং অন্যান্য ঐক্যমত ক্রিয়াকলাপের জন্য যাচাইযোগ্য র‍্যান্ডমনেস প্রদান করে)স্ল্যাশিং হতে পারে
ইথেরিয়ামের সাথে ইন্টারঅ্যাক্ট করার জন্য জেসন-আরপিসি API এক্সপোজ করেজাস্টিফিকেশন এবং ফাইনালাইজেশনের ট্র্যাক রাখে

আরও পড়ুন