ড্যাঙ্কশার্ডিং হলো সেই উপায় যার মাধ্যমে ইথেরিয়াম একটি সত্যিকারের স্কেলেবল ব্লকচেইন হয়ে ওঠে, তবে সেখানে পৌঁছানোর জন্য বেশ কয়েকটি প্রোটোকল আপগ্রেড প্রয়োজন। প্রোটো-ড্যাঙ্কশার্ডিং হলো এই পথের একটি মধ্যবর্তী পদক্ষেপ। উভয়েরই লক্ষ্য হলো লেয়ার ২ (l2)-এ ট্রানজ্যাকশন ব্যবহারকারীদের জন্য যতটা সম্ভব সস্তা করা এবং ইথেরিয়ামকে প্রতি সেকেন্ডে >100,000 ট্রানজ্যাকশনে স্কেল করা।
প্রোটো-ড্যাঙ্কশার্ডিং কী?
প্রোটো-ড্যাঙ্কশার্ডিং, যা EIP-4844 (একটি নতুন ট্যাবে খোলে) নামেও পরিচিত, এটি রোলআপ-এর জন্য ব্লকে সস্তা ডেটা যুক্ত করার একটি উপায়। এই নামটি এসেছে ধারণাটি প্রস্তাবকারী দুই গবেষকের নাম থেকে: Protolambda এবং Dankrad Feist। ঐতিহাসিকভাবে, রোলআপগুলো ব্যবহারকারীদের ট্রানজ্যাকশন কতটা সস্তা করতে পারে তার একটি সীমাবদ্ধতা ছিল, কারণ তারা তাদের ট্রানজ্যাকশনগুলো CALLDATA-এ পোস্ট করে।
এটি ব্যয়বহুল কারণ এটি সমস্ত ইথেরিয়াম নোড দ্বারা প্রসেস করা হয় এবং চিরকাল অনচেইন থাকে, যদিও রোলআপগুলোর কেবল অল্প সময়ের জন্য ডেটা প্রয়োজন হয়। প্রোটো-ড্যাঙ্কশার্ডিং ডেটা ব্লব প্রবর্তন করে যা পাঠানো যায় এবং ব্লকের সাথে যুক্ত করা যায়। এই ব্লবগুলোর ডেটা EVM-এর কাছে অ্যাক্সেসযোগ্য নয় এবং একটি নির্দিষ্ট সময়কালের পরে স্বয়ংক্রিয়ভাবে মুছে ফেলা হয় (লেখার সময় 4096 ইপক বা প্রায় 18 দিন সেট করা হয়েছে)। এর মানে হলো রোলআপগুলো তাদের ডেটা অনেক সস্তায় পাঠাতে পারে এবং সস্তা ট্রানজ্যাকশন হিসেবে শেষ ব্যবহারকারীদের কাছে সেই সঞ্চয়গুলো পৌঁছে দিতে পারে।
ব্লব ডেটা কীভাবে যাচাই করা হয়?
রোলআপগুলো তাদের এক্সিকিউট করা ট্রানজ্যাকশনগুলো ডেটা ব্লবে পোস্ট করে। তারা ডেটার একটি "কমিটমেন্ট"-ও পোস্ট করে। তারা ডেটাতে একটি পলিনোমিয়াল ফাংশন ফিট করে এটি করে। এই ফাংশনটি তারপর বিভিন্ন পয়েন্টে মূল্যায়ন করা যেতে পারে। উদাহরণস্বরূপ, যদি আমরা একটি অত্যন্ত সাধারণ ফাংশন f(x) = 2x-1 সংজ্ঞায়িত করি তবে আমরা x = 1, x = 2, x = 3 এর জন্য এই ফাংশনটি মূল্যায়ন করতে পারি যা 1, 3, 5 ফলাফল দেয়। একজন প্রমাণকারী ডেটাতে একই ফাংশন প্রয়োগ করে এবং একই পয়েন্টে এটি মূল্যায়ন করে। যদি মূল ডেটা পরিবর্তন করা হয়, তবে ফাংশনটি অভিন্ন হবে না এবং তাই প্রতিটি পয়েন্টে মূল্যায়ন করা মানগুলোও এক হবে না। বাস্তবে, কমিটমেন্ট এবং প্রমাণ আরও জটিল কারণ এগুলো ক্রিপ্টোগ্রাফিক ফাংশনে মোড়ানো থাকে।
KZG কী?
KZG মানে হলো Kate-Zaverucha-Goldberg - একটি স্কিমের তিনজন মূল লেখকের (একটি নতুন ট্যাবে খোলে) নাম যা ডেটার একটি ব্লবকে একটি ছোট ক্রিপ্টোগ্রাফিক "কমিটমেন্ট" (একটি নতুন ট্যাবে খোলে)-এ কমিয়ে দেয়। রোলআপ দ্বারা জমা দেওয়া ডেটার ব্লবটি যাচাই করতে হবে যাতে নিশ্চিত হওয়া যায় যে রোলআপটি খারাপ আচরণ করছে না। এর মধ্যে একজন প্রমাণকারী ব্লবের ট্রানজ্যাকশনগুলো পুনরায় এক্সিকিউট করে চেক করে যে কমিটমেন্টটি বৈধ ছিল কিনা। এটি ধারণাগতভাবে সেই উপায়ের মতোই যেভাবে এক্সিকিউশন ক্লায়েন্টগুলো মার্কেল প্রুফ ব্যবহার করে লেয়ার ১ (l1)-এ ইথেরিয়াম ট্রানজ্যাকশনের বৈধতা চেক করে। KZG হলো একটি বিকল্প প্রমাণ যা ডেটাতে একটি পলিনোমিয়াল সমীকরণ ফিট করে। কমিটমেন্টটি কিছু গোপন ডেটা পয়েন্টে পলিনোমিয়াল মূল্যায়ন করে। একজন প্রমাণকারী ডেটার উপর একই পলিনোমিয়াল ফিট করবে এবং একই মানগুলোতে এটি মূল্যায়ন করবে, চেক করবে যে ফলাফলটি একই কিনা। এটি ডেটা যাচাই করার একটি উপায় যা কিছু রোলআপ এবং শেষ পর্যন্ত ইথেরিয়াম প্রোটোকল-এর অন্যান্য অংশ দ্বারা ব্যবহৃত জিরো-নলেজ কৌশলগুলোর সাথে সামঞ্জস্যপূর্ণ।
KZG সিরিমনি কী ছিল?
KZG সিরিমনি ছিল ইথেরিয়াম কমিউনিটির অনেক মানুষের জন্য সম্মিলিতভাবে সংখ্যার একটি গোপন র্যান্ডম স্ট্রিং তৈরি করার একটি উপায় যা কিছু ডেটা যাচাই করতে ব্যবহার করা যেতে পারে। এটি অত্যন্ত গুরুত্বপূর্ণ যে সংখ্যার এই স্ট্রিংটি অজানা থাকে এবং কেউ এটি পুনরায় তৈরি করতে না পারে। এটি নিশ্চিত করার জন্য, সিরিমনিতে অংশগ্রহণকারী প্রত্যেক ব্যক্তি পূর্ববর্তী অংশগ্রহণকারীর কাছ থেকে একটি স্ট্রিং পেয়েছিলেন। তারপর তারা কিছু নতুন র্যান্ডম মান তৈরি করে (যেমন, তাদের ব্রাউজারকে তাদের মাউসের গতিবিধি পরিমাপ করার অনুমতি দিয়ে) এবং পূর্ববর্তী মানের সাথে এটি মিশ্রিত করে। তারপর তারা মানটি পরবর্তী অংশগ্রহণকারীর কাছে পাঠায় এবং তাদের স্থানীয় মেশিন থেকে এটি ধ্বংস করে দেয়। যতক্ষণ সিরিমনিতে একজন ব্যক্তি সততার সাথে এটি করেছেন, চূড়ান্ত মানটি আক্রমণকারীর কাছে অজানা থাকবে।
EIP-4844 KZG সিরিমনি জনসাধারণের জন্য উন্মুক্ত ছিল এবং হাজার হাজার মানুষ তাদের নিজস্ব এনট্রপি (র্যান্ডমনেস) যোগ করতে অংশগ্রহণ করেছিল। মোট 140,000-এর বেশি অবদান ছিল, যা এটিকে বিশ্বের সবচেয়ে বড় এই ধরনের সিরিমনিতে পরিণত করেছে। সিরিমনিটিকে দুর্বল করার জন্য, সেই অংশগ্রহণকারীদের 100% কে সক্রিয়ভাবে অসৎ হতে হবে। অংশগ্রহণকারীদের দৃষ্টিকোণ থেকে, যদি তারা জানে যে তারা সৎ ছিল, তবে অন্য কাউকে বিশ্বাস করার দরকার নেই কারণ তারা জানে যে তারা সিরিমনিটি সুরক্ষিত করেছে (তারা ব্যক্তিগতভাবে N-এর মধ্যে 1 জন সৎ অংশগ্রহণকারীর প্রয়োজনীয়তা পূরণ করেছে)।
ড্যাঙ্কশার্ডিং কী?
ড্যাঙ্কশার্ডিং হলো রোলআপ স্কেলিংয়ের সম্পূর্ণ বাস্তবায়ন যা প্রোটো-ড্যাঙ্কশার্ডিং দিয়ে শুরু হয়েছিল। ড্যাঙ্কশার্ডিং রোলআপগুলোর জন্য তাদের সংকুচিত ট্রানজ্যাকশন ডেটা ডাম্প করার জন্য ইথেরিয়াম-এ প্রচুর পরিমাণে জায়গা নিয়ে আসবে। এর মানে হলো ইথেরিয়াম সহজেই শত শত পৃথক রোলআপ সমর্থন করতে সক্ষম হবে এবং প্রতি সেকেন্ডে লক্ষ লক্ষ ট্রানজ্যাকশনকে বাস্তবে পরিণত করবে।
এটি যেভাবে কাজ করে তা হলো প্রোটো-ড্যাঙ্কশার্ডিং-এ ব্লকের সাথে যুক্ত ব্লবগুলোকে ছয় (6) থেকে সম্পূর্ণ ড্যাঙ্কশার্ডিং-এ 64-এ প্রসারিত করে। প্রয়োজনীয় বাকি পরিবর্তনগুলো হলো কনসেনসাস ক্লায়েন্ট-গুলোর কাজ করার পদ্ধতিতে আপডেট যাতে তারা নতুন বড় ব্লবগুলো পরিচালনা করতে সক্ষম হয়। এই পরিবর্তনগুলোর মধ্যে বেশ কয়েকটি ড্যাঙ্কশার্ডিং থেকে স্বাধীন অন্যান্য উদ্দেশ্যে ইতিমধ্যেই রোডম্যাপে রয়েছে। উদাহরণস্বরূপ, ড্যাঙ্কশার্ডিং-এর জন্য প্রপোজার-বিল্ডার সেপারেশন (pbs) বাস্তবায়িত হওয়া প্রয়োজন। এটি এমন একটি আপগ্রেড যা বিভিন্ন ভ্যালিডেটর জুড়ে ব্লক তৈরি এবং ব্লক প্রস্তাব করার কাজগুলোকে আলাদা করে। একইভাবে, ড্যাঙ্কশার্ডিং-এর জন্য ডেটা অ্যাভেইলেবিলিটি স্যাম্পলিং প্রয়োজন, তবে এটি খুব হালকা ক্লায়েন্টগুলোর বিকাশের জন্যও প্রয়োজনীয় যা খুব বেশি ঐতিহাসিক ডেটা সংরক্ষণ করে না ("স্টেটলেস ক্লায়েন্ট")।
বর্তমান অগ্রগতি
সম্পূর্ণ ড্যাঙ্কশার্ডিং এখনও কয়েক বছর দূরে। ইতিমধ্যে, 140,000-এর বেশি অবদান নিয়ে KZG সিরিমনি শেষ হয়েছে এবং প্রোটো-ড্যাঙ্কশার্ডিং-এর জন্য EIP (একটি নতুন ট্যাবে খোলে) পরিপক্ক হয়েছে। এই প্রস্তাবটি সমস্ত টেস্টনেটে সম্পূর্ণরূপে বাস্তবায়িত হয়েছে এবং মার্চ 2024-এ Cancun-Deneb ("Dencun") নেটওয়ার্ক আপগ্রেডের সাথে মেইননেট-এ লাইভ হয়েছে।
আরও পড়ুন
- প্রোটো-ড্যাঙ্কশার্ডিং নোটস (একটি নতুন ট্যাবে খোলে) - ভিটালিক বুটেরিন
- ড্যাঙ্কশার্ডিং নিয়ে ড্যাঙ্করাডের নোটস (একটি নতুন ট্যাবে খোলে)
- ড্যাঙ্করাড, প্রোটো এবং ভিটালিক ড্যাঙ্কশার্ডিং নিয়ে আলোচনা করেছেন (একটি নতুন ট্যাবে খোলে)
- KZG সিরিমনি (একটি নতুন ট্যাবে খোলে)
- ট্রাস্টেড সেটআপ নিয়ে কার্ল বিকহুইজেনের ডেভকন আলোচনা (একটি নতুন ট্যাবে খোলে)
- ব্লবের জন্য ডেটা অ্যাভেইলেবিলিটি স্যাম্পলিং সম্পর্কে আরও জানুন (একটি নতুন ট্যাবে খোলে)
- KZG কমিটমেন্ট এবং প্রমাণ নিয়ে ড্যাঙ্করাড ফিস্ট (একটি নতুন ট্যাবে খোলে)
- KZG পলিনোমিয়াল কমিটমেন্ট (একটি নতুন ট্যাবে খোলে)