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

ড্যাঙ্কশার্ডিং

পৃষ্ঠা সম্পাদনা করুন (opens in a new tab)

ড্যাঙ্কশার্ডিং হলো সেই উপায় যার মাধ্যমে ইথেরিয়াম একটি সত্যিকারের স্কেলেবল ব্লকচেইন হয়ে ওঠে, তবে সেখানে পৌঁছানোর জন্য বেশ কয়েকটি প্রোটোকল আপগ্রেড প্রয়োজন। প্রোটো-ড্যাঙ্কশার্ডিং হলো এই পথের একটি মধ্যবর্তী পদক্ষেপ। উভয়েরই লক্ষ্য হলো লেয়ার ২ (l2)-এ ট্রানজ্যাকশন ব্যবহারকারীদের জন্য যতটা সম্ভব সস্তা করা এবং ইথেরিয়ামকে প্রতি সেকেন্ডে >100,000 ট্রানজ্যাকশনে স্কেল করা।

প্রোটো-ড্যাঙ্কশার্ডিং কী?

প্রোটো-ড্যাঙ্কশার্ডিং, যা EIP-4844 (opens in a new tab) নামেও পরিচিত, এটি রোলআপ-এর জন্য ব্লকে সস্তা ডেটা যুক্ত করার একটি উপায়। এই নামটি এসেছে ধারণাটি প্রস্তাবকারী দুই গবেষকের নাম থেকে: Protolambda এবং Dankrad Feist। ঐতিহাসিকভাবে, রোলআপগুলো ব্যবহারকারীদের ট্রানজ্যাকশন কতটা সস্তা করতে পারে তার একটি সীমাবদ্ধতা ছিল, কারণ তারা তাদের ট্রানজ্যাকশনগুলো CALLDATA-এ পোস্ট করে।

এটি ব্যয়বহুল কারণ এটি সমস্ত ইথেরিয়াম নোড দ্বারা প্রসেস করা হয় এবং চিরকাল অনচেইন থাকে, যদিও রোলআপগুলোর কেবল অল্প সময়ের জন্য ডেটা প্রয়োজন হয়। প্রোটো-ড্যাঙ্কশার্ডিং ডেটা ব্লব প্রবর্তন করে যা পাঠানো যায় এবং ব্লকের সাথে যুক্ত করা যায়। এই ব্লবগুলোর ডেটা EVM-এর কাছে অ্যাক্সেসযোগ্য নয় এবং একটি নির্দিষ্ট সময়কালের পরে স্বয়ংক্রিয়ভাবে মুছে ফেলা হয় (লেখার সময় 4096 ইপক বা প্রায় 18 দিন সেট করা হয়েছে)। এর মানে হলো রোলআপগুলো তাদের ডেটা অনেক সস্তায় পাঠাতে পারে এবং সস্তা ট্রানজ্যাকশন হিসেবে শেষ ব্যবহারকারীদের কাছে সেই সঞ্চয়গুলো পৌঁছে দিতে পারে।

রোলআপ হলো অফচেইন ট্রানজ্যাকশন ব্যাচিং করে এবং তারপর ইথেরিয়ামে ফলাফল পোস্ট করে ইথেরিয়ামকে স্কেল করার একটি উপায়। একটি রোলআপ মূলত দুটি অংশ নিয়ে গঠিত: ডেটা এবং এক্সিকিউশন চেক। ডেটা হলো ট্রানজ্যাকশনের সম্পূর্ণ ক্রম যা ইথেরিয়ামে পোস্ট করা স্টেট পরিবর্তন তৈরি করতে একটি রোলআপ দ্বারা প্রসেস করা হচ্ছে। এক্সিকিউশন চেক হলো প্রস্তাবিত স্টেট পরিবর্তনটি সঠিক কিনা তা নিশ্চিত করার জন্য কোনো সৎ ব্যক্তি (একজন "প্রমাণকারী") দ্বারা সেই ট্রানজ্যাকশনগুলোর পুনঃ-এক্সিকিউশন। এক্সিকিউশন চেক করার জন্য, ট্রানজ্যাকশন ডেটা যে কারো ডাউনলোড এবং চেক করার জন্য যথেষ্ট সময় ধরে উপলব্ধ থাকতে হবে। এর মানে হলো রোলআপ সিকোয়েন্সার-এর যেকোনো অসৎ আচরণ প্রমাণকারী দ্বারা চিহ্নিত এবং চ্যালেঞ্জ করা যেতে পারে। তবে, এটি চিরকাল উপলব্ধ থাকার প্রয়োজন নেই।

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

ব্লব ডেটা কীভাবে যাচাই করা হয়?

রোলআপগুলো তাদের এক্সিকিউট করা ট্রানজ্যাকশনগুলো ডেটা ব্লবে পোস্ট করে। তারা ডেটার একটি "কমিটমেন্ট"-ও পোস্ট করে। তারা ডেটাতে একটি পলিনোমিয়াল ফাংশন ফিট করে এটি করে। এই ফাংশনটি তারপর বিভিন্ন পয়েন্টে মূল্যায়ন করা যেতে পারে। উদাহরণস্বরূপ, যদি আমরা একটি অত্যন্ত সাধারণ ফাংশন f(x) = 2x-1 সংজ্ঞায়িত করি তবে আমরা x = 1, x = 2, x = 3 এর জন্য এই ফাংশনটি মূল্যায়ন করতে পারি যা 1, 3, 5 ফলাফল দেয়। একজন প্রমাণকারী ডেটাতে একই ফাংশন প্রয়োগ করে এবং একই পয়েন্টে এটি মূল্যায়ন করে। যদি মূল ডেটা পরিবর্তন করা হয়, তবে ফাংশনটি অভিন্ন হবে না এবং তাই প্রতিটি পয়েন্টে মূল্যায়ন করা মানগুলোও এক হবে না। বাস্তবে, কমিটমেন্ট এবং প্রমাণ আরও জটিল কারণ এগুলো ক্রিপ্টোগ্রাফিক ফাংশনে মোড়ানো থাকে।

KZG কী?

KZG মানে হলো Kate-Zaverucha-Goldberg - একটি স্কিমের তিনজন মূল লেখকের (opens in a new tab) নাম যা ডেটার একটি ব্লবকে একটি ছোট ক্রিপ্টোগ্রাফিক "কমিটমেন্ট" (opens in a new tab)-এ কমিয়ে দেয়। রোলআপ দ্বারা জমা দেওয়া ডেটার ব্লবটি যাচাই করতে হবে যাতে নিশ্চিত হওয়া যায় যে রোলআপটি খারাপ আচরণ করছে না। এর মধ্যে একজন প্রমাণকারী ব্লবের ট্রানজ্যাকশনগুলো পুনরায় এক্সিকিউট করে চেক করে যে কমিটমেন্টটি বৈধ ছিল কিনা। এটি ধারণাগতভাবে সেই উপায়ের মতোই যেভাবে এক্সিকিউশন ক্লায়েন্টগুলো মার্কেল প্রুফ ব্যবহার করে লেয়ার ১ (l1)-এ ইথেরিয়াম ট্রানজ্যাকশনের বৈধতা চেক করে। KZG হলো একটি বিকল্প প্রমাণ যা ডেটাতে একটি পলিনোমিয়াল সমীকরণ ফিট করে। কমিটমেন্টটি কিছু গোপন ডেটা পয়েন্টে পলিনোমিয়াল মূল্যায়ন করে। একজন প্রমাণকারী ডেটার উপর একই পলিনোমিয়াল ফিট করবে এবং একই মানগুলোতে এটি মূল্যায়ন করবে, চেক করবে যে ফলাফলটি একই কিনা। এটি ডেটা যাচাই করার একটি উপায় যা কিছু রোলআপ এবং শেষ পর্যন্ত ইথেরিয়াম প্রোটোকল-এর অন্যান্য অংশ দ্বারা ব্যবহৃত জিরো-নলেজ কৌশলগুলোর সাথে সামঞ্জস্যপূর্ণ।

KZG সিরিমনি কী ছিল?

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

EIP-4844 KZG সিরিমনি জনসাধারণের জন্য উন্মুক্ত ছিল এবং হাজার হাজার মানুষ তাদের নিজস্ব এনট্রপি (র‍্যান্ডমনেস) যোগ করতে অংশগ্রহণ করেছিল। মোট 140,000-এর বেশি অবদান ছিল, যা এটিকে বিশ্বের সবচেয়ে বড় এই ধরনের সিরিমনিতে পরিণত করেছে। সিরিমনিটিকে দুর্বল করার জন্য, সেই অংশগ্রহণকারীদের 100% কে সক্রিয়ভাবে অসৎ হতে হবে। অংশগ্রহণকারীদের দৃষ্টিকোণ থেকে, যদি তারা জানে যে তারা সৎ ছিল, তবে অন্য কাউকে বিশ্বাস করার দরকার নেই কারণ তারা জানে যে তারা সিরিমনিটি সুরক্ষিত করেছে (তারা ব্যক্তিগতভাবে N-এর মধ্যে 1 জন সৎ অংশগ্রহণকারীর প্রয়োজনীয়তা পূরণ করেছে)।

যখন একটি রোলআপ একটি ব্লবে ডেটা পোস্ট করে, তখন তারা একটি "কমিটমেন্ট" প্রদান করে যা তারা অনচেইন পোস্ট করে। এই কমিটমেন্টটি নির্দিষ্ট পয়েন্টে ডেটার সাথে মানানসই একটি পলিনোমিয়াল মূল্যায়নের ফলাফল। এই পয়েন্টগুলো KZG সিরিমনিতে তৈরি র‍্যান্ডম সংখ্যা দ্বারা সংজ্ঞায়িত করা হয়। প্রমাণকারীরা তারপর ডেটা যাচাই করার জন্য একই পয়েন্টে পলিনোমিয়াল মূল্যায়ন করতে পারে - যদি তারা একই মানগুলোতে পৌঁছায় তবে ডেটা সঠিক।

যদি কেউ কমিটমেন্টের জন্য ব্যবহৃত র‍্যান্ডম অবস্থানগুলো জানে, তবে তাদের জন্য একটি নতুন পলিনোমিয়াল তৈরি করা সহজ যা সেই নির্দিষ্ট পয়েন্টগুলোতে ফিট করে (অর্থাৎ, একটি "কলিশন")। এর মানে হলো তারা ব্লব থেকে ডেটা যোগ বা সরাতে পারে এবং তারপরও একটি বৈধ প্রমাণ প্রদান করতে পারে। এটি প্রতিরোধ করার জন্য, প্রমাণকারীদের প্রকৃত গোপন অবস্থানগুলো দেওয়ার পরিবর্তে, তারা আসলে উপবৃত্তাকার বক্ররেখা (elliptic curves) ব্যবহার করে একটি ক্রিপ্টোগ্রাফিক "ব্ল্যাক বক্স"-এ মোড়ানো অবস্থানগুলো গ্রহণ করে। এগুলো কার্যকরভাবে মানগুলোকে এমনভাবে স্ক্র্যাম্বল করে যাতে মূল মানগুলোকে রিভার্স-ইঞ্জিনিয়ার করা যায় না, তবে কিছু চতুর বীজগণিতের সাহায্যে প্রমাণকারী এবং যাচাইকারীরা এখনও তাদের প্রতিনিধিত্ব করা পয়েন্টগুলোতে পলিনোমিয়াল মূল্যায়ন করতে পারে।
ড্যাঙ্কশার্ডিং বা প্রোটো-ড্যাঙ্কশার্ডিং কোনোটিই প্রথাগত "শার্ডিং" মডেল অনুসরণ করে না যার লক্ষ্য ব্লকচেইন-কে একাধিক অংশে বিভক্ত করা। শার্ড চেইন আর রোডম্যাপের অংশ নয়। এর পরিবর্তে, ড্যাঙ্কশার্ডিং ইথেরিয়াম-কে স্কেল করতে ব্লব জুড়ে ডিস্ট্রিবিউটেড ডেটা স্যাম্পলিং ব্যবহার করে। এটি বাস্তবায়ন করা অনেক সহজ। এই মডেলটিকে কখনও কখনও "ডেটা-শার্ডিং" হিসেবে উল্লেখ করা হয়েছে।

ড্যাঙ্কশার্ডিং কী?

ড্যাঙ্কশার্ডিং হলো রোলআপ স্কেলিংয়ের সম্পূর্ণ বাস্তবায়ন যা প্রোটো-ড্যাঙ্কশার্ডিং দিয়ে শুরু হয়েছিল। ড্যাঙ্কশার্ডিং রোলআপগুলোর জন্য তাদের সংকুচিত ট্রানজ্যাকশন ডেটা ডাম্প করার জন্য ইথেরিয়াম-এ প্রচুর পরিমাণে জায়গা নিয়ে আসবে। এর মানে হলো ইথেরিয়াম সহজেই শত শত পৃথক রোলআপ সমর্থন করতে সক্ষম হবে এবং প্রতি সেকেন্ডে লক্ষ লক্ষ ট্রানজ্যাকশনকে বাস্তবে পরিণত করবে।

এটি যেভাবে কাজ করে তা হলো প্রোটো-ড্যাঙ্কশার্ডিং-এ ব্লকের সাথে যুক্ত ব্লবগুলোকে ছয় (6) থেকে সম্পূর্ণ ড্যাঙ্কশার্ডিং-এ 64-এ প্রসারিত করে। প্রয়োজনীয় বাকি পরিবর্তনগুলো হলো কনসেনসাস ক্লায়েন্ট-গুলোর কাজ করার পদ্ধতিতে আপডেট যাতে তারা নতুন বড় ব্লবগুলো পরিচালনা করতে সক্ষম হয়। এই পরিবর্তনগুলোর মধ্যে বেশ কয়েকটি ড্যাঙ্কশার্ডিং থেকে স্বাধীন অন্যান্য উদ্দেশ্যে ইতিমধ্যেই রোডম্যাপে রয়েছে। উদাহরণস্বরূপ, ড্যাঙ্কশার্ডিং-এর জন্য প্রপোজার-বিল্ডার সেপারেশন (pbs) বাস্তবায়িত হওয়া প্রয়োজন। এটি এমন একটি আপগ্রেড যা বিভিন্ন ভ্যালিডেটর জুড়ে ব্লক তৈরি এবং ব্লক প্রস্তাব করার কাজগুলোকে আলাদা করে। একইভাবে, ড্যাঙ্কশার্ডিং-এর জন্য ডেটা অ্যাভেইলেবিলিটি স্যাম্পলিং প্রয়োজন, তবে এটি খুব হালকা ক্লায়েন্টগুলোর বিকাশের জন্যও প্রয়োজনীয় যা খুব বেশি ঐতিহাসিক ডেটা সংরক্ষণ করে না ("স্টেটলেস ক্লায়েন্ট")।

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

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

বর্তমান অগ্রগতি

সম্পূর্ণ ড্যাঙ্কশার্ডিং এখনও কয়েক বছর দূরে। ইতিমধ্যে, 140,000-এর বেশি অবদান নিয়ে KZG সিরিমনি শেষ হয়েছে এবং প্রোটো-ড্যাঙ্কশার্ডিং-এর জন্য EIP (opens in a new tab) পরিপক্ক হয়েছে। এই প্রস্তাবটি সমস্ত টেস্টনেটে সম্পূর্ণরূপে বাস্তবায়িত হয়েছে এবং মার্চ 2024-এ Cancun-Deneb ("Dencun") নেটওয়ার্ক আপগ্রেডের সাথে মেইননেট-এ লাইভ হয়েছে।

আরও পড়ুন

পেজ সর্বশেষ আপডেট করা হয়েছে: 6 জুন, 2026