পোর্টাল নেটওয়ার্ক
পৃষ্ঠাটি সর্বশেষ আপডেট করা হয়েছে: ২৩ ফেব্রুয়ারী, ২০২৬
ইথেরিয়াম হলো এমন একটি নেটওয়ার্ক যা ইথেরিয়াম ক্লায়েন্ট সফ্টওয়্যার চালিত কম্পিউটারগুলির সমন্বয়ে গঠিত। এই কম্পিউটারগুলির প্রত্যেকটিকে একটি 'নোড' বলা হয়। ক্লায়েন্ট সফ্টওয়্যার একটি নোডকে ইথেরিয়াম নেটওয়ার্কে ডেটা পাঠানো এবং গ্রহণ করার অনুমতি দেয় এবং ইথেরিয়াম প্রোটোকল নিয়ম অনুসারে ডেটা যাচাই করে। নোডগুলি তাদের ডিস্ক সংগ্রহস্থলে প্রচুর ঐতিহাসিক ডেটা রাখে এবং নেটওয়ার্কের অন্যান্য নোড থেকে ব্লক হিসাবে পরিচিত তথ্যের নতুন প্যাকেট গ্রহণ করার সময় তাতে যোগ করে। একটি নোডের কাছে নেটওয়ার্কের বাকি অংশের সাথে সামঞ্জস্যপূর্ণ তথ্য আছে কিনা তা সর্বদা পরীক্ষা করার জন্য এটি প্রয়োজনীয়। এর মানে হল একটি নোড চালানোর জন্য অনেক ডিস্ক স্পেস প্রয়োজন হতে পারে। কিছু নোড অপারেশনের জন্য প্রচুর RAMও প্রয়োজন হতে পারে।
এই ডিস্ক সংগ্রহস্থলের সমস্যা সমাধানের জন্য, 'লাইট' নোড তৈরি করা হয়েছে যা নিজেরাই সমস্ত তথ্য সংগ্রহ করার পরিবর্তে সম্পূর্ণ নোড থেকে তথ্যের জন্য অনুরোধ করে। যাইহোক, এর মানে হল লাইট নোড স্বাধীনভাবে তথ্য যাচাই করে না এবং পরিবর্তে অন্য একটি নোডের উপর বিশ্বাস রাখে। এর মানে হল যে সম্পূর্ণ নোডগুলিকে সেই লাইট নোডগুলিকে পরিষেবা দেওয়ার জন্য অতিরিক্ত কাজ করতে হয়।
পোর্টাল নেটওয়ার্ক হলো ইথেরিয়ামের জন্য একটি নতুন নেটওয়ার্কিং ডিজাইন, যার লক্ষ্য হলো নেটওয়ার্ক জুড়ে ছোট ছোট অংশে প্রয়োজনীয় ডেটা ভাগ করে সম্পূর্ণ নোডগুলির উপর বিশ্বাস স্থাপন বা অতিরিক্ত চাপ না দিয়েই "লাইট" নোডগুলির জন্য ডেটা প্রাপ্যতার সমস্যার সমাধান করা।
নোড এবং ক্লায়েন্ট সম্পর্কে আরও জানুন
আমাদের কেন পোর্টাল নেটওয়ার্ক প্রয়োজন
ইথেরিয়াম নোডগুলি ইথেরিয়াম ব্লকচেইনের নিজস্ব সম্পূর্ণ বা আংশিক অনুলিপি সংরক্ষণ করে। এই স্থানীয় অনুলিপিটি লেনদেন যাচাই করতে এবং নোডটি সঠিক চেইন অনুসরণ করছে তা নিশ্চিত করতে ব্যবহৃত হয়। এই স্থানীয়ভাবে সংরক্ষিত ডেটা নোডগুলিকে অন্য কোনো সত্তার উপর বিশ্বাস না করেই স্বাধীনভাবে যাচাই করার অনুমতি দেয় যে আগত ডেটা বৈধ এবং সঠিক।
ব্লকচেইনের এই স্থানীয় অনুলিপি এবং সংশ্লিষ্ট স্টেট ও রসিদ ডেটা নোডের হার্ড ডিস্কে অনেক জায়গা নেয়। উদাহরণস্বরূপ, একটি কনসেন্সাস ক্লায়েন্টের সাথে যুক্ত Geth (opens in a new tab) ব্যবহার করে একটি নোড চালানোর জন্য একটি 2TB হার্ড ডিস্কের সুপারিশ করা হয়। স্ন্যাপ সিঙ্ক ব্যবহার করে, যা শুধুমাত্র তুলনামূলকভাবে সাম্প্রতিক ব্লকের একটি সেট থেকে চেইন ডেটা সঞ্চয় করে, Geth সাধারণত প্রায় 650GB ডিস্ক স্পেস দখল করে কিন্তু প্রতি সপ্তাহে প্রায় 14GB হারে বৃদ্ধি পায় (আপনি পর্যায়ক্রমে নোডটিকে ছেঁটে 650GB-তে নামিয়ে আনতে পারেন)।
এর মানে হলো নোড চালানো ব্যয়বহুল হতে পারে, কারণ ইথেরিয়ামের জন্য প্রচুর পরিমাণে ডিস্ক স্পেস উৎসর্গ করতে হয়। ইথেরিয়াম রোডম্যাপে এই সমস্যার বেশ কয়েকটি সমাধান রয়েছে, যার মধ্যে রয়েছে হিস্টোরি এক্সপায়ারি, স্টেট এক্সপায়ারি এবং স্টেটলেসনেস। যাইহোক, এগুলি বাস্তবায়ন হতে সম্ভবত আরও বেশ কয়েক বছর সময় লাগবে। এছাড়াও লাইট নোড রয়েছে যা চেইন ডেটার নিজস্ব অনুলিপি সংরক্ষণ করে না, তারা সম্পূর্ণ নোড থেকে তাদের প্রয়োজনীয় ডেটার জন্য অনুরোধ করে। যাইহোক, এর মানে হল লাইট নোডগুলিকে সৎ ডেটা প্রদানের জন্য সম্পূর্ণ নোডগুলির উপর বিশ্বাস করতে হয় এবং এটি সেই সম্পূর্ণ নোডগুলির উপরও চাপ সৃষ্টি করে যাদের লাইট নোডগুলির প্রয়োজনীয় ডেটা পরিবেশন করতে হয়।
পোর্টাল নেটওয়ার্কের লক্ষ্য হল লাইট নোডগুলিকে তাদের ডেটা পাওয়ার জন্য একটি বিকল্প উপায় প্রদান করা, যার জন্য সম্পূর্ণ নোডগুলির দ্বারা করা কাজের উপর বিশ্বাস স্থাপন বা উল্লেখযোগ্যভাবে কাজ যোগ করার প্রয়োজন হয় না। এটি সম্পন্ন করার উপায় হল ইথেরিয়াম নোডগুলির জন্য নেটওয়ার্ক জুড়ে ডেটা ভাগ করার একটি নতুন উপায় চালু করা।
পোর্টাল নেটওয়ার্ক কীভাবে কাজ করে?
ইথেরিয়াম নোডগুলির কঠোর প্রোটোকল রয়েছে যা নির্ধারণ করে যে তারা একে অপরের সাথে কীভাবে যোগাযোগ করবে। এক্সিকিউশন ক্লায়েন্টগুলি DevP2P নামে পরিচিত সাবপ্রোটোকলগুলির একটি সেট ব্যবহার করে যোগাযোগ করে, যেখানে কনসেন্সাস ক্লায়েন্টগুলি libP2P নামক সাবপ্রোটোকলগুলির একটি ভিন্ন স্ট্যাক ব্যবহার করে। এগুলি নোডগুলির মধ্যে যে ধরনের ডেটা পাস করা যায় তা নির্ধারণ করে।
নোডগুলি JSON-RPC API এর মাধ্যমে নির্দিষ্ট ডেটাও পরিবেশন করতে পারে, যা হলো সেই পদ্ধতি যার মাধ্যমে অ্যাপ এবং ওয়ালেটগুলি ইথেরিয়াম নোডগুলির সাথে তথ্য বিনিময় করে। যাইহোক, এর কোনোটিই লাইট ক্লায়েন্টদের কাছে ডেটা পরিবেশন করার জন্য আদর্শ প্রোটোকল নয়।
লাইট ক্লায়েন্টরা বর্তমানে DevP2P বা libP2p-এর মাধ্যমে চেইন ডেটার নির্দিষ্ট অংশের জন্য অনুরোধ করতে পারে না কারণ সেই প্রোটোকলগুলি শুধুমাত্র চেইন সিঙ্ক্রোনাইজেশন এবং ব্লক ও লেনদেনের গসিপিং সক্ষম করার জন্য ডিজাইন করা হয়েছে। লাইট ক্লায়েন্টরা এই তথ্য ডাউনলোড করতে চায় না কারণ এটি তাদের "লাইট" থাকা থেকে বিরত রাখবে।
JSON-RPC API-ও লাইট ক্লায়েন্ট ডেটা অনুরোধের জন্য একটি আদর্শ পছন্দ নয়, কারণ এটি একটি নির্দিষ্ট সম্পূর্ণ নোড বা কেন্দ্রীভূত RPC প্রদানকারীর সাথে সংযোগের উপর নির্ভর করে যা ডেটা পরিবেশন করতে পারে। এর মানে হল লাইট ক্লায়েন্টকে সেই নির্দিষ্ট নোড/প্রদানকারীর সৎ থাকার উপর বিশ্বাস করতে হয়, এবং সম্পূর্ণ নোডটিকেও অনেক লাইট ক্লায়েন্টের থেকে প্রচুর অনুরোধ সামলাতে হতে পারে, যা তাদের ব্যান্ডউইথের প্রয়োজনীয়তা বাড়িয়ে তোলে।
পোর্টাল নেটওয়ার্কের মূল উদ্দেশ্য হল বিদ্যমান ইথেরিয়াম ক্লায়েন্টদের ডিজাইন সীমাবদ্ধতার বাইরে, বিশেষ করে লাইটনেসের জন্য নির্মাণ করে, পুরো ডিজাইনটি পুনর্বিবেচনা করা।
পোর্টাল নেটওয়ার্কের মূল ধারণা হল একটি DHT (opens in a new tab) (Bittorrent-এর মতো) ব্যবহার করে একটি লাইটওয়েট DevP2P স্টাইলের পিয়ার-টু-পিয়ার বিকেন্দ্রীভূত নেটওয়ার্কের মাধ্যমে লাইট ক্লায়েন্টদের প্রয়োজনীয় তথ্য, যেমন ঐতিহাসিক ডেটা এবং চেইনের বর্তমান হেডের পরিচয়, পরিবেশন করার মাধ্যমে বর্তমান নেটওয়ার্কিং স্ট্যাকের সেরা অংশগুলি গ্রহণ করা।
এর ধারণাটি হলো প্রতিটি নোডে মোট ঐতিহাসিক ইথেরিয়াম ডেটার ছোট অংশ এবং কিছু নির্দিষ্ট নোডের দায়িত্ব যোগ করা। তারপর, অনুরোধ করা নির্দিষ্ট ডেটা সংরক্ষণকারী নোডগুলি খুঁজে বের করে এবং তাদের থেকে তা পুনরুদ্ধার করে অনুরোধগুলি পরিবেশন করা হয়।
এটি লাইট নোডগুলির একটি একক নোড খুঁজে বের করা এবং তাদের প্রচুর পরিমাণে ডেটা ফিল্টার ও পরিবেশন করার অনুরোধ করার সাধারণ মডেলটিকে উল্টে দেয়; পরিবর্তে, তারা দ্রুত নোডগুলির একটি বড় নেটওয়ার্ক ফিল্টার করে যার প্রতিটি অল্প পরিমাণে ডেটা পরিচালনা করে।
এর লক্ষ্য হলো লাইটওয়েট পোর্টাল ক্লায়েন্টদের একটি বিকেন্দ্রীভূত নেটওয়ার্ককে নিম্নলিখিত কাজগুলো করার অনুমতি দেওয়া:
- চেইনের হেড ট্র্যাক করা
- সাম্প্রতিক এবং ঐতিহাসিক চেইন ডেটা সিঙ্ক করা
- স্টেট ডেটা পুনরুদ্ধার করা
- লেনদেন সম্প্রচার করা
- EVM ব্যবহার করে লেনদেন নির্বাহ করা
এই নেটওয়ার্ক ডিজাইনের সুবিধাগুলি হল:
- কেন্দ্রীভূত প্রদানকারীদের উপর নির্ভরতা হ্রাস করা
- ইন্টারনেট ব্যান্ডউইথ ব্যবহার হ্রাস করা
- ন্যূনতম বা শূন্য সিঙ্কিং
- সম্পদ-সীমাবদ্ধ ডিভাইসগুলিতে অ্যাক্সেসযোগ্য (<1 GB RAM, <100 MB ডিস্ক স্পেস, 1 CPU)
নীচের টেবিলটি বিদ্যমান ক্লায়েন্টদের সেই ফাংশনগুলি দেখায় যা পোর্টাল নেটওয়ার্ক দ্বারা সরবরাহ করা যেতে পারে, যা ব্যবহারকারীদের খুব কম-রিসোর্স ডিভাইসে এই ফাংশনগুলি অ্যাক্সেস করতে সক্ষম করে।
পোর্টাল নেটওয়ার্কসমূহ
| বিকন লাইট ক্লায়েন্ট | স্টেট নেটওয়ার্ক | লেনদেন গসিপ | হিস্টোরি নেটওয়ার্ক |
|---|---|---|---|
| বিকন চেইন লাইট | অ্যাকাউন্ট এবং কন্ট্র্যাক্ট সংগ্রহস্থল | লাইটওয়েট মেমপুল | হেডার |
| প্রোটোকল ডেটা | ব্লক বডি | ||
| রসিদ |
ডিফল্টরূপে ক্লায়েন্ট ডাইভারসিটি
পোর্টাল নেটওয়ার্ক ডেভেলপাররাও প্রথম দিন থেকেই চারটি পৃথক পোর্টাল নেটওয়ার্ক ক্লায়েন্ট তৈরি করার ডিজাইনের সিদ্ধান্ত নিয়েছিল।
পোর্টাল নেটওয়ার্ক ক্লায়েন্টগুলি হল:
- Trin (opens in a new tab): রাস্ট-এ লেখা
- Fluffy (opens in a new tab): নিম-এ লেখা
- Ultralight (opens in a new tab): টাইপস্ক্রিপ্ট-এ লেখা
- Shisui (opens in a new tab): গো-তে লেখা
একাধিক স্বাধীন ক্লায়েন্ট ইমপ্লিমেন্টেশন থাকা ইথেরিয়াম নেটওয়ার্কের স্থিতিস্থাপকতা এবং বিকেন্দ্রীকরণকে বাড়িয়ে তোলে।
যদি একটি ক্লায়েন্ট সমস্যা বা দুর্বলতার সম্মুখীন হয়, তবে অন্যান্য ক্লায়েন্টরা মসৃণভাবে কাজ চালিয়ে যেতে পারে, যা একটি একক ব্যর্থতার বিন্দুকে প্রতিরোধ করে। উপরন্তু, বিভিন্ন ক্লায়েন্ট ইমপ্লিমেন্টেশন উদ্ভাবন এবং প্রতিযোগিতাকে উৎসাহিত করে, যা ইকোসিস্টেমের মধ্যে উন্নতির চালিকাশক্তি এবং মনোকালচার ঝুঁকি হ্রাস করে।
