অপ্টিমেস্টিক রোলআপস
পেজ সর্বশেষ আপডেট: ২৫ ফেব্রুয়ারী, ২০২৬
অপ্টিমেস্টিক রোলআপস হলো লেয়ার ২ (L2) প্রটোকল যা ইথিরিয়ামের বেস লেয়ারের থ্রুপুট বাড়ানোর জন্য ডিজাইন করা হয়েছে। এগুলো অফচেইনে লেনদেন প্রসেস করার মাধ্যমে মূল Ethereum চেইনে কম্পিউটেশন কমায়, যা প্রসেসিং স্পিডে উল্লেখযোগ্য উন্নতি প্রদান করে। অন্যান্য স্কেলিং সমাধান, যেমন sidechains-এর বিপরীতে, অপ্টিমেস্টিক রোলআপস অনচেইনে লেনদেনের ফলাফল প্রকাশ করে মেইননেট থেকে নিরাপত্তা লাভ করে, অথবা plasma chains, যা ফ্রড প্রুফ দিয়ে ইথিরিয়ামে লেনদেন যাচাই করে, কিন্তু লেনদেনের ডাটা অন্য কোথাও সংরক্ষণ করে।
যেহেতু ইথিরিয়াম ব্যবহারের ক্ষেত্রে কম্পিউটেশন হলো ধীর এবং ব্যয়বহুল অংশ, তাই অপ্টিমেস্টিক রোলআপস স্কেলিং-এ 10-100x পর্যন্ত উন্নতি দিতে পারে। অপ্টিমেস্টিক রোলআপস ইথিরিয়ামে লেনদেনগুলোকে calldata হিসেবে বা blobs-এ লেখে, যা ব্যবহারকারীদের জন্য গ্যাস খরচ কমায়।
পূর্বশর্ত
আপনার আমাদের Ethereum scaling এবং layer 2 পেজগুলো পড়া এবং বোঝা উচিত।
অপ্টিমেস্টিক রোলআপ কী?
অপ্টিমেস্টিক রোলআপ হলো ইথিরিয়াম স্কেলিং করার একটি পদ্ধতি যেখানে কম্পিউটেশন এবং স্টেট স্টোরেজ অফচেইনে সরিয়ে নেওয়া হয়। অপ্টিমেস্টিক রোলআপস ইথিরিয়ামের বাইরে লেনদেন এক্সিকিউট করে, কিন্তু লেনদেনের ডাটা মেইননেটে calldata হিসেবে বা blobs-এ পোস্ট করে।
অপ্টিমেস্টিক রোলআপ অপারেটররা ইথিরিয়ামে সাবমিট করার আগে একাধিক অফচেইন লেনদেন একসাথে বড় ব্যাচে বান্ডিল করে। এই পদ্ধতিটি প্রতিটি ব্যাচের একাধিক লেনদেনের মধ্যে নির্দিষ্ট খরচ ছড়িয়ে দিতে সক্ষম করে, যা সাধারণ ব্যবহারকারীদের জন্য ফি কমায়। অপ্টিমেস্টিক রোলআপস ইথিরিয়ামে পোস্ট করা ডাটার পরিমাণ কমানোর জন্য কম্প্রেশন টেকনিকও ব্যবহার করে।
অপ্টিমেস্টিক রোলআপগুলোকে "অপ্টিমেস্টিক" (আশাবাদী) হিসেবে বিবেচনা করা হয় কারণ তারা ধরে নেয় যে অফচেইন লেনদেনগুলো বৈধ এবং অনচেইনে পোস্ট করা লেনদেনের ব্যাচগুলোর জন্য ভ্যালিডিটি প্রুফ প্রকাশ করে না। এটি অপ্টিমেস্টিক রোলআপগুলোকে zero-knowledge rollups থেকে আলাদা করে যা অফচেইন লেনদেনের জন্য ক্রিপ্টোগ্রাফিক প্রকাশ করে।
এর পরিবর্তে অপ্টিমেস্টিক রোলআপস এমন ক্ষেত্রগুলো শনাক্ত করতে একটি ফ্রড-প্রুভিং স্কিমের ওপর নির্ভর করে যেখানে লেনদেনগুলো সঠিকভাবে হিসাব করা হয়নি। ইথিরিয়ামে একটি রোলআপ ব্যাচ সাবমিট করার পর, একটি নির্দিষ্ট সময়সীমা থাকে (যাকে চ্যালেঞ্জ পিরিয়ড বলা হয়) যার মধ্যে যে কেউ একটি কম্পিউট করে রোলআপ লেনদেনের ফলাফলকে চ্যালেঞ্জ করতে পারে।
যদি ফ্রড প্রুফ সফল হয়, তবে রোলআপ প্রটোকল লেনদেন(গুলো) পুনরায় এক্সিকিউট করে এবং সেই অনুযায়ী রোলআপের স্টেট আপডেট করে। একটি সফল ফ্রড প্রুফের আরেকটি প্রভাব হলো যে সিকোয়েন্সার একটি ব্লকে ভুলভাবে এক্সিকিউট হওয়া লেনদেন অন্তর্ভুক্ত করার জন্য দায়ী, সে শাস্তি পায়।
চ্যালেঞ্জ পিরিয়ড শেষ হওয়ার পর যদি রোলআপ ব্যাচটি চ্যালেঞ্জবিহীন থাকে (অর্থাৎ, সমস্ত লেনদেন সঠিকভাবে এক্সিকিউট হয়েছে), তবে এটি বৈধ বলে বিবেচিত হয় এবং ইথিরিয়ামে গৃহীত হয়। অন্যরা একটি আনকনফার্মড রোলআপ ব্লকের ওপর কাজ চালিয়ে যেতে পারে, তবে একটি শর্ত থাকে: যদি এটি পূর্বে প্রকাশিত কোনো ভুলভাবে এক্সিকিউট হওয়া লেনদেনের ওপর ভিত্তি করে হয়, তবে লেনদেনের ফলাফল বাতিল করা হবে।
অপ্টিমেস্টিক রোলআপস কীভাবে ইথিরিয়ামের সাথে ইন্টারঅ্যাক্ট করে?
অপ্টিমেস্টিক রোলআপস হলো offchain scaling solutions যা ইথিরিয়ামের ওপর কাজ করার জন্য তৈরি করা হয়েছে। প্রতিটি অপ্টিমেস্টিক রোলআপ ইথিরিয়াম নেটওয়ার্কে ডিপ্লয় করা এক সেট স্মার্ট কন্ট্রাক্ট দ্বারা পরিচালিত হয়। অপ্টিমেস্টিক রোলআপস মূল ইথিরিয়াম চেইনের বাইরে লেনদেন প্রসেস করে, কিন্তু অফচেইন লেনদেনগুলো (ব্যাচ আকারে) একটি অনচেইন রোলআপ কন্ট্রাক্টে পোস্ট করে। ইথিরিয়াম ব্লকচেইনের মতো, এই লেনদেনের রেকর্ডটি ইমমিউটেবল এবং এটি "অপ্টিমেস্টিক রোলআপ চেইন" গঠন করে।
একটি অপ্টিমেস্টিক রোলআপের আর্কিটেকচার নিচের অংশগুলো নিয়ে গঠিত:
অনচেইন কন্ট্রাক্টস: অপ্টিমেস্টিক রোলআপের কার্যক্রম ইথিরিয়ামে চলা স্মার্ট কন্ট্রাক্ট দ্বারা নিয়ন্ত্রিত হয়। এর মধ্যে এমন কন্ট্রাক্ট অন্তর্ভুক্ত থাকে যা রোলআপ ব্লক সংরক্ষণ করে, রোলআপে স্টেট আপডেট মনিটর করে এবং ব্যবহারকারীর ডিপোজিট ট্র্যাক করে। এই অর্থে, ইথিরিয়াম অপ্টিমেস্টিক রোলআপের জন্য বেস লেয়ার বা "লেয়ার 1" হিসেবে কাজ করে।
অফচেইন ভার্চুয়াল মেশিন (VM): যদিও অপ্টিমেস্টিক রোলআপ প্রটোকল পরিচালনাকারী কন্ট্রাক্টগুলো ইথিরিয়ামে চলে, রোলআপ প্রটোকল Ethereum Virtual Machine থেকে আলাদা অন্য একটি ভার্চুয়াল মেশিনে কম্পিউটেশন এবং স্টেট স্টোরেজ সম্পন্ন করে। অফচেইন VM-এ অ্যাপ্লিকেশনগুলো থাকে এবং স্টেট পরিবর্তনগুলো এক্সিকিউট হয়; এটি একটি অপ্টিমেস্টিক রোলআপের জন্য আপার লেয়ার বা "লেয়ার ২" হিসেবে কাজ করে।
যেহেতু অপ্টিমেস্টিক রোলআপগুলো EVM-এর জন্য লেখা বা কম্পাইল করা প্রোগ্রাম চালানোর জন্য ডিজাইন করা হয়েছে, তাই অফচেইন VM অনেক EVM ডিজাইন স্পেকস অন্তর্ভুক্ত করে। অধিকন্তু, অনচেইনে কম্পিউট করা ফ্রড প্রুফ ইথিরিয়াম নেটওয়ার্ককে অফচেইন VM-এ কম্পিউট করা স্টেট পরিবর্তনের বৈধতা প্রয়োগ করতে দেয়।
অপ্টিমেস্টিক রোলআপগুলোকে 'হাইব্রিড স্কেলিং সলিউশন' হিসেবে বর্ণনা করা হয় কারণ, যদিও এগুলো আলাদা প্রটোকল হিসেবে বিদ্যমান, এদের নিরাপত্তা বৈশিষ্ট্যগুলো ইথিরিয়াম থেকে প্রাপ্ত। অন্যান্য বিষয়ের মধ্যে, ইথিরিয়াম একটি রোলআপের অফচেইন কম্পিউটেশনের সঠিকতা এবং কম্পিউটেশনের পেছনের ডাটা এভেইলএবিলিটি নিশ্চিত করে। এটি অপ্টিমেস্টিক রোলআপগুলোকে বিশুদ্ধ অফচেইন স্কেলিং প্রটোকলগুলোর (যেমন, sidechains) চেয়ে বেশি সুরক্ষিত করে তোলে যা নিরাপত্তার জন্য ইথিরিয়ামের ওপর নির্ভর করে না।
অপ্টিমেস্টিক রোলআপস নিচের বিষয়গুলোর জন্য মূল ইথিরিয়াম প্রটোকলের ওপর নির্ভর করে:
ডাটা এভেইলএবিলিটি
যেমনটি উল্লেখ করা হয়েছে, অপ্টিমেস্টিক রোলআপস ইথিরিয়ামে লেনদেনের ডাটা calldata বা blobs হিসেবে পোস্ট করে। যেহেতু রোলআপ চেইনের এক্সিকিউশন সাবমিট করা লেনদেনের ওপর ভিত্তি করে হয়, তাই যে কেউ এই তথ্য ব্যবহার করে—যা ইথিরিয়ামের বেস লেয়ারে নোঙর করা থাকে—রোলআপের স্টেট এক্সিকিউট করতে এবং স্টেট ট্রানজিশনের সঠিকতা যাচাই করতে পারে।
Data availability অত্যন্ত গুরুত্বপূর্ণ কারণ স্টেট ডাটায় অ্যাক্সেস ছাড়া, চ্যালেঞ্জাররা অবৈধ রোলআপ অপারেশনগুলোর বিরোধিতা করার জন্য ফ্রড প্রুফ তৈরি করতে পারে না। ইথিরিয়াম ডাটা এভেইলএবিলিটি প্রদান করায়, রোলআপ অপারেটরদের ক্ষতিকারক কাজ (যেমন, অবৈধ ব্লক সাবমিট করা) করে পার পেয়ে যাওয়ার ঝুঁকি কমে যায়।
সেন্সরশিপ রেজিস্ট্যান্স
অপ্টিমেস্টিক রোলআপস সেন্সরশিপ রেজিস্ট্যান্সের জন্যও ইথিরিয়ামের ওপর নির্ভর করে। একটি অপ্টিমেস্টিক রোলআপে একটি সেন্ট্রালাইজড সত্তা (অপারেটর) লেনদেন প্রসেস করার এবং ইথিরিয়ামে রোলআপ ব্লক সাবমিট করার জন্য দায়ী থাকে। এর কিছু প্রভাব রয়েছে:
-
রোলআপ অপারেটররা সম্পূর্ণ অফলাইনে গিয়ে, অথবা নির্দিষ্ট লেনদেন অন্তর্ভুক্ত করে এমন ব্লক তৈরি করতে অস্বীকার করে ব্যবহারকারীদের সেন্সর করতে পারে।
-
রোলআপ অপারেটররা মালিকানার মার্কেল প্রুফের জন্য প্রয়োজনীয় স্টেট ডাটা আটকে রেখে ব্যবহারকারীদের রোলআপ কন্ট্রাক্টে জমা করা ফান্ড তুলতে বাধা দিতে পারে। স্টেট ডাটা আটকে রাখা ব্যবহারকারীদের কাছ থেকে রোলআপের স্টেট গোপন করতে পারে এবং তাদের রোলআপের সাথে ইন্টারঅ্যাক্ট করতে বাধা দিতে পারে।
অপ্টিমেস্টিক রোলআপস অপারেটরদের ইথিরিয়ামে স্টেট আপডেটের সাথে সম্পর্কিত ডাটা প্রকাশ করতে বাধ্য করে এই সমস্যার সমাধান করে। অনচেইনে রোলআপ ডাটা প্রকাশ করার নিচের সুবিধাগুলো রয়েছে:
-
যদি কোনো অপ্টিমেস্টিক রোলআপ অপারেটর অফলাইনে যায় বা লেনদেনের ব্যাচ তৈরি করা বন্ধ করে দেয়, তবে অন্য একটি নোড উপলব্ধ ডাটা ব্যবহার করে রোলআপের শেষ স্টেট পুনরুৎপাদন করতে পারে এবং ব্লক তৈরি চালিয়ে যেতে পারে।
-
ব্যবহারকারীরা লেনদেনের ডাটা ব্যবহার করে ফান্ডের মালিকানা প্রমাণ করার জন্য মার্কেল প্রুফ তৈরি করতে পারে এবং রোলআপ থেকে তাদের সম্পদ তুলে নিতে পারে।
-
ব্যবহারকারীরা সিকোয়েন্সারের পরিবর্তে L1-এ তাদের লেনদেন সাবমিট করতে পারে, সেক্ষেত্রে বৈধ ব্লক তৈরি চালিয়ে যাওয়ার জন্য সিকোয়েন্সারকে একটি নির্দিষ্ট সময়সীমার মধ্যে লেনদেনটি অন্তর্ভুক্ত করতে হবে।
সেটেলমেন্ট
অপ্টিমেস্টিক রোলআপের প্রেক্ষাপটে ইথিরিয়াম যে আরেকটি ভূমিকা পালন করে তা হলো সেটেলমেন্ট লেয়ার। একটি সেটেলমেন্ট লেয়ার সম্পূর্ণ ব্লকচেইন ইকোসিস্টেমকে নোঙর করে, নিরাপত্তা প্রতিষ্ঠা করে এবং অন্য কোনো চেইনে (এক্ষেত্রে অপ্টিমেস্টিক রোলআপস) কোনো বিরোধ দেখা দিলে অবজেক্টিভ ফাইনালিটি প্রদান করে যার জন্য সালিশির প্রয়োজন হয়।
ইথিরিয়াম মেইননেট অপ্টিমেস্টিক রোলআপগুলোর জন্য ফ্রড প্রুফ যাচাই করতে এবং বিরোধ নিষ্পত্তি করতে একটি হাব প্রদান করে। অধিকন্তু, রোলআপে পরিচালিত লেনদেনগুলো কেবল ইথিরিয়ামে রোলআপ ব্লক গৃহীত হওয়ার পরই চূড়ান্ত হয়। একবার একটি রোলআপ লেনদেন ইথিরিয়ামের বেস লেয়ারে কমিট হয়ে গেলে, এটি আর রোলব্যাক করা যায় না (চেইন রিঅর্গানাইজেশনের অত্যন্ত বিরল ঘটনা ছাড়া)।
অপ্টিমেস্টিক রোলআপস কীভাবে কাজ করে?
লেনদেন এক্সিকিউশন এবং এগ্রিগেশন
ব্যবহারকারীরা "অপারেটরদের" কাছে লেনদেন সাবমিট করে, যারা হলো অপ্টিমেস্টিক রোলআপে লেনদেন প্রসেস করার জন্য দায়ী নোড। "ভ্যালিডেটর" বা "এগ্রিগেটর" হিসেবেও পরিচিত, অপারেটর লেনদেনগুলো এগ্রিগেট করে, অন্তর্নিহিত ডাটা কম্প্রেস করে এবং ইথিরিয়ামে ব্লক প্রকাশ করে।
যদিও যে কেউ ভ্যালিডেটর হতে পারে, অপ্টিমেস্টিক রোলআপ ভ্যালিডেটরদের ব্লক তৈরি করার আগে একটি বন্ড প্রদান করতে হয়, অনেকটা proof-of-stake system-এর মতো। যদি ভ্যালিডেটর একটি অবৈধ ব্লক পোস্ট করে বা একটি পুরানো-কিন্তু-অবৈধ ব্লকের ওপর তৈরি করে (এমনকি তাদের ব্লকটি বৈধ হলেও) তবে এই বন্ডটি স্ল্যাশিং করা হতে পারে। এভাবে অপ্টিমেস্টিক রোলআপস ভ্যালিডেটররা সততার সাথে কাজ করে তা নিশ্চিত করতে ক্রিপ্টোইকোনমিক ইনসেনটিভ ব্যবহার করে।
অপ্টিমেস্টিক রোলআপ চেইনের অন্যান্য ভ্যালিডেটররা রোলআপের স্টেটের তাদের কপি ব্যবহার করে সাবমিট করা লেনদেনগুলো এক্সিকিউট করবে বলে আশা করা হয়। যদি কোনো ভ্যালিডেটরের চূড়ান্ত স্টেট অপারেটরের প্রস্তাবিত স্টেট থেকে আলাদা হয়, তবে তারা একটি চ্যালেঞ্জ শুরু করতে পারে এবং একটি ফ্রড প্রুফ কম্পিউট করতে পারে।
কিছু অপ্টিমেস্টিক রোলআপ পারমিশনলেস ভ্যালিডেটর সিস্টেম বাদ দিয়ে চেইন এক্সিকিউট করার জন্য একটি একক "সিকোয়েন্সার" ব্যবহার করতে পারে। ভ্যালিডেটরের মতো, সিকোয়েন্সার লেনদেন প্রসেস করে, রোলআপ ব্লক তৈরি করে এবং L1 চেইনে (ইথিরিয়াম) রোলআপ লেনদেন সাবমিট করে।
সিকোয়েন্সার একজন সাধারণ রোলআপ অপারেটরের চেয়ে আলাদা কারণ লেনদেনের ক্রম নির্ধারণের ওপর তাদের বেশি নিয়ন্ত্রণ থাকে। এছাড়া, সিকোয়েন্সারের রোলআপ চেইনে অগ্রাধিকারমূলক অ্যাক্সেস থাকে এবং এটিই একমাত্র সত্তা যা অনচেইন কন্ট্রাক্টে লেনদেন সাবমিট করার জন্য অনুমোদিত। নন-সিকোয়েন্সার নোড বা সাধারণ ব্যবহারকারীদের লেনদেনগুলো কেবল একটি আলাদা ইনবক্সে সারিবদ্ধ থাকে যতক্ষণ না সিকোয়েন্সার সেগুলোকে একটি নতুন ব্যাচে অন্তর্ভুক্ত করে।
ইথিরিয়ামে রোলআপ ব্লক সাবমিট করা
যেমনটি উল্লেখ করা হয়েছে, একটি অপ্টিমেস্টিক রোলআপের অপারেটর অফচেইন লেনদেনগুলোকে একটি ব্যাচে বান্ডিল করে এবং নোটারাইজেশনের জন্য ইথিরিয়ামে পাঠায়। এই প্রক্রিয়ায় লেনদেন-সম্পর্কিত ডাটা কম্প্রেস করা এবং ইথিরিয়ামে calldata হিসেবে বা ব্লবসে প্রকাশ করা জড়িত।
calldata হলো একটি স্মার্ট কন্ট্রাক্টের একটি নন-মডিফায়েবল, নন-পারসিস্টেন্ট এরিয়া যা বেশিরভাগ ক্ষেত্রে memory-এর মতো আচরণ করে। যদিও calldata ব্লকচেইনের history logs (opens in a new tab)-এর অংশ হিসেবে অনচেইনে থাকে, এটি ইথিরিয়ামের স্টেটের অংশ হিসেবে সংরক্ষিত হয় না। যেহেতু calldata ইথিরিয়ামের স্টেটের কোনো অংশ স্পর্শ করে না, তাই অনচেইনে ডাটা সংরক্ষণের জন্য এটি স্টেটের চেয়ে সস্তা।
calldata কিওয়ার্ডটি সলিডিটিতে এক্সিকিউশনের সময় একটি স্মার্ট কন্ট্রাক্ট ফাংশনে আর্গুমেন্ট পাস করতেও ব্যবহৃত হয়। calldata একটি লেনদেনের সময় কল করা ফাংশনটিকে শনাক্ত করে এবং বাইটের একটি আরবিট্রারি সিকোয়েন্স আকারে ফাংশনের ইনপুটগুলো ধারণ করে।
অপ্টিমেস্টিক রোলআপের প্রেক্ষাপটে, অনচেইন কন্ট্রাক্টে কম্প্রেস করা লেনদেনের ডাটা পাঠাতে calldata ব্যবহৃত হয়। রোলআপ অপারেটর রোলআপ কন্ট্রাক্টে প্রয়োজনীয় ফাংশন কল করে এবং কম্প্রেস করা ডাটাকে ফাংশন আর্গুমেন্ট হিসেবে পাস করে একটি নতুন ব্যাচ যোগ করে। calldata ব্যবহার করলে ব্যবহারকারীর ফি কমে যায় কারণ রোলআপগুলোর বেশিরভাগ খরচ অনচেইনে ডাটা সংরক্ষণ থেকে আসে।
এই ধারণাটি কীভাবে কাজ করে তা দেখানোর জন্য এখানে একটি রোলআপ ব্যাচ সাবমিশনের an example (opens in a new tab) দেওয়া হলো। সিকোয়েন্সার appendSequencerBatch() মেথডটি ইনভোক করেছে এবং calldata ব্যবহার করে কম্প্রেস করা লেনদেনের ডাটাকে ইনপুট হিসেবে পাস করেছে।
কিছু রোলআপ এখন ইথিরিয়ামে লেনদেনের ব্যাচ পোস্ট করতে ব্লবস ব্যবহার করে।
ব্লবস নন-মডিফায়েবল এবং নন-পারসিস্টেন্ট (calldata-এর মতোই) তবে ~18 দিন পর ইতিহাস থেকে মুছে ফেলা হয়। ব্লবস সম্পর্কে আরও তথ্যের জন্য, Danksharding দেখুন।
স্টেট কমিটমেন্টস
যেকোনো সময়ে, অপ্টিমেস্টিক রোলআপের স্টেট (একাউন্ট, ব্যালেন্স, কন্ট্রাক্ট কোড ইত্যাদি) একটি "স্টেট ট্রি" নামক Merkle tree হিসেবে সাজানো থাকে। এই মার্কেল ট্রির রুট (স্টেট রুট), যা রোলআপের সর্বশেষ স্টেটকে রেফারেন্স করে, তা হ্যাস করা হয় এবং রোলআপ কন্ট্রাক্টে সংরক্ষণ করা হয়। চেইনে প্রতিটি স্টেট ট্রানজিশন একটি নতুন রোলআপ স্টেট তৈরি করে, যা একজন অপারেটর একটি নতুন স্টেট রুট কম্পিউট করে কমিট করে।
ব্যাচ পোস্ট করার সময় অপারেটরকে পুরানো স্টেট রুট এবং নতুন স্টেট রুট উভয়ই সাবমিট করতে হয়। যদি পুরানো স্টেট রুট অনচেইন কন্ট্রাক্টে বিদ্যমান স্টেট রুটের সাথে মিলে যায়, তবে পরেরটি বাতিল করা হয় এবং নতুন স্টেট রুট দিয়ে প্রতিস্থাপন করা হয়।
রোলআপ অপারেটরকে লেনদেনের ব্যাচের জন্যও একটি মার্কেল রুট কমিট করতে হয়। এটি যে কাউকে একটি Merkle proof উপস্থাপন করে ব্যাচে (L1-এ) একটি লেনদেনের অন্তর্ভুক্তি প্রমাণ করতে দেয়।
স্টেট কমিটমেন্টস, বিশেষ করে স্টেট রুটস, একটি অপ্টিমেস্টিক রোলআপে স্টেট পরিবর্তনের সঠিকতা প্রমাণের জন্য প্রয়োজনীয়। রোলআপ কন্ট্রাক্ট অপারেটরদের কাছ থেকে নতুন স্টেট রুটগুলো পোস্ট করার পরপরই গ্রহণ করে, তবে পরে রোলআপটিকে তার সঠিক স্টেটে ফিরিয়ে আনতে অবৈধ স্টেট রুটগুলো মুছে ফেলতে পারে।
ফ্রড প্রুভিং
যেমনটি ব্যাখ্যা করা হয়েছে, অপ্টিমেস্টিক রোলআপস যে কাউকে ভ্যালিডিটি প্রুফ প্রদান না করেই ব্লক প্রকাশ করতে দেয়। তবে, চেইনটি নিরাপদ থাকে তা নিশ্চিত করতে, অপ্টিমেস্টিক রোলআপস একটি সময়সীমা নির্দিষ্ট করে যার মধ্যে যে কেউ একটি স্টেট ট্রানজিশনের বিরোধিতা করতে পারে। তাই, রোলআপ ব্লকগুলোকে "অ্যাসারশনস" বলা হয় কারণ যে কেউ তাদের বৈধতার বিরোধিতা করতে পারে।
যদি কেউ কোনো অ্যাসারশনের বিরোধিতা করে, তবে রোলআপ প্রটোকল ফ্রড প্রুফ কম্পিউটেশন শুরু করবে। প্রতিটি ধরনের ফ্রড প্রুফ ইন্টারঅ্যাকটিভ—অন্য কেউ এটিকে চ্যালেঞ্জ করার আগে কাউকে অবশ্যই একটি অ্যাসারশন পোস্ট করতে হবে। পার্থক্যটি হলো ফ্রড প্রুফ কম্পিউট করতে কত রাউন্ড ইন্টারঅ্যাকশনের প্রয়োজন হয় তার মধ্যে।
সিঙ্গেল-রাউন্ড ইন্টারঅ্যাকটিভ প্রুভিং স্কিমগুলো অবৈধ অ্যাসারশন শনাক্ত করতে L1-এ বিরোধপূর্ণ লেনদেনগুলো রিপ্লে করে। রোলআপ প্রটোকল একটি ভেরিফায়ার কন্ট্রাক্ট ব্যবহার করে L1-এ (ইথিরিয়াম) বিরোধপূর্ণ লেনদেনের রি-এক্সিকিউশন এমুলেট করে, যেখানে কম্পিউট করা স্টেট রুট নির্ধারণ করে কে চ্যালেঞ্জে জিতবে। যদি রোলআপের সঠিক স্টেট সম্পর্কে চ্যালেঞ্জারের দাবি সঠিক হয়, তবে অপারেটরের বন্ড স্ল্যাশিং করে তাকে শাস্তি দেওয়া হয়।
তবে, জালিয়াতি শনাক্ত করতে L1-এ লেনদেন রি-এক্সিকিউট করার জন্য পৃথক লেনদেনের স্টেট কমিটমেন্ট প্রকাশ করা প্রয়োজন এবং এটি রোলআপগুলোকে অনচেইনে প্রকাশ করতে হবে এমন ডাটা বৃদ্ধি করে। লেনদেন রিপ্লে করার ফলে উল্লেখযোগ্য গ্যাস খরচও হয়। এই কারণগুলোর জন্য, অপ্টিমেস্টিক রোলআপস মাল্টি-রাউন্ড ইন্টারঅ্যাকটিভ প্রুভিং-এ স্যুইচ করছে, যা আরও দক্ষতার সাথে একই উদ্দেশ্য (অর্থাৎ, অবৈধ রোলআপ অপারেশন শনাক্ত করা) অর্জন করে।
মাল্টি-রাউন্ড ইন্টারঅ্যাকটিভ প্রুভিং
মাল্টি-রাউন্ড ইন্টারঅ্যাকটিভ প্রুভিং-এ অ্যাসার্টার এবং চ্যালেঞ্জারের মধ্যে একটি ব্যাক-অ্যান্ড-ফোর্থ প্রটোকল জড়িত থাকে যা একটি L1 ভেরিফায়ার কন্ট্রাক্ট দ্বারা তদারকি করা হয়, যা শেষ পর্যন্ত মিথ্যাবাদী পক্ষকে নির্ধারণ করে। একটি L2 নোড একটি অ্যাসারশনকে চ্যালেঞ্জ করার পর, অ্যাসার্টারকে বিরোধপূর্ণ অ্যাসারশনটিকে দুটি সমান ভাগে ভাগ করতে হয়। এক্ষেত্রে প্রতিটি পৃথক অ্যাসারশনে অন্যটির সমান সংখ্যক কম্পিউটেশন স্টেপ থাকবে।
চ্যালেঞ্জার তখন বেছে নেবে সে কোন অ্যাসারশনটিকে চ্যালেঞ্জ করতে চায়। ভাগ করার প্রক্রিয়াটি (যাকে "বাইসেকশন প্রটোকল" বলা হয়) চলতে থাকে যতক্ষণ না উভয় পক্ষ এক্সিকিউশনের একটি একক স্টেপ সম্পর্কে একটি অ্যাসারশনের বিরোধিতা করে। এই পর্যায়ে, L1 কন্ট্রাক্ট প্রতারক পক্ষকে ধরার জন্য নির্দেশ (এবং এর ফলাফল) মূল্যায়ন করে বিরোধের সমাধান করবে।
অ্যাসার্টারকে বিরোধপূর্ণ সিঙ্গেল-স্টেপ কম্পিউটেশনের বৈধতা যাচাই করে একটি "ওয়ান-স্টেপ প্রুফ" প্রদান করতে হয়। যদি অ্যাসার্টার ওয়ান-স্টেপ প্রুফ প্রদান করতে ব্যর্থ হয়, বা L1 ভেরিফায়ার প্রুফটিকে অবৈধ বলে মনে করে, তবে তারা চ্যালেঞ্জে হেরে যায়।
এই ধরনের ফ্রড প্রুফ সম্পর্কে কিছু নোট:
-
মাল্টি-রাউন্ড ইন্টারঅ্যাকটিভ ফ্রড প্রুভিং দক্ষ বলে বিবেচিত হয় কারণ এটি বিরোধ সালিশিতে L1 চেইনকে যে কাজ করতে হয় তা কমিয়ে দেয়। সম্পূর্ণ লেনদেন রিপ্লে করার পরিবর্তে, L1 চেইনকে কেবল রোলআপের এক্সিকিউশনের একটি স্টেপ রি-এক্সিকিউট করতে হয়।
-
বাইসেকশন প্রটোকলগুলো অনচেইনে পোস্ট করা ডাটার পরিমাণ কমায় (প্রতিটি লেনদেনের জন্য স্টেট কমিট প্রকাশ করার প্রয়োজন নেই)। এছাড়া, অপ্টিমেস্টিক রোলআপ লেনদেনগুলো ইথিরিয়ামের গ্যাস লিমিট দ্বারা সীমাবদ্ধ নয়। বিপরীতভাবে, লেনদেন রি-এক্সিকিউট করা অপ্টিমেস্টিক রোলআপগুলোকে অবশ্যই নিশ্চিত করতে হবে যে একটি একক ইথিরিয়াম লেনদেনের মধ্যে এর এক্সিকিউশন এমুলেট করার জন্য একটি L2 লেনদেনের গ্যাস লিমিট কম থাকে।
-
ক্ষতিকারক অ্যাসার্টারের বন্ডের একটি অংশ চ্যালেঞ্জারকে পুরস্কৃত করা হয়, যখন অন্য অংশটি বার্ন করা হয়। বার্নিং ভ্যালিডেটরদের মধ্যে যোগসাজশ প্রতিরোধ করে; যদি দুজন ভ্যালিডেটর ভুয়া চ্যালেঞ্জ শুরু করার জন্য যোগসাজশ করে, তবুও তারা সম্পূর্ণ স্টেকের একটি উল্লেখযোগ্য অংশ হারাবে।
-
মাল্টি-রাউন্ড ইন্টারঅ্যাকটিভ প্রুভিং-এ উভয় পক্ষকে (অ্যাসার্টার এবং চ্যালেঞ্জার) নির্দিষ্ট সময়সীমার মধ্যে পদক্ষেপ নিতে হয়। সময়সীমা শেষ হওয়ার আগে কাজ করতে ব্যর্থ হলে ডিফল্টিং পক্ষ চ্যালেঞ্জটি হারায়।
অপ্টিমেস্টিক রোলআপের জন্য ফ্রড প্রুফ কেন গুরুত্বপূর্ণ
ফ্রড প্রুফ গুরুত্বপূর্ণ কারণ এগুলো অপ্টিমেস্টিক রোলআপে ট্রাস্টলেস ফাইনালিটি সহজতর করে। ট্রাস্টলেস ফাইনালিটি হলো অপ্টিমেস্টিক রোলআপের একটি গুণ যা গ্যারান্টি দেয় যে একটি লেনদেন—যতক্ষণ এটি বৈধ—অবশেষে কনফার্ম হবে।
ক্ষতিকারক নোডগুলো মিথ্যা চ্যালেঞ্জ শুরু করে একটি বৈধ রোলআপ ব্লকের কনফার্মেশন বিলম্বিত করার চেষ্টা করতে পারে। তবে, ফ্রড প্রুফ শেষ পর্যন্ত রোলআপ ব্লকের বৈধতা প্রমাণ করবে এবং এটিকে কনফার্ম করবে।
এটি অপ্টিমেস্টিক রোলআপের আরেকটি নিরাপত্তা বৈশিষ্ট্যের সাথেও সম্পর্কিত: চেইনের বৈধতা একটি সৎ নোডের অস্তিত্বের ওপর নির্ভর করে। সৎ নোডটি বৈধ অ্যাসারশন পোস্ট করে বা অবৈধ অ্যাসারশনের বিরোধিতা করে চেইনটিকে সঠিকভাবে এগিয়ে নিতে পারে। যাই হোক না কেন, যে ক্ষতিকারক নোডগুলো সৎ নোডের সাথে বিরোধে জড়ায় তারা ফ্রড প্রুভিং প্রক্রিয়ার সময় তাদের স্টেক হারাবে।
L1/L2 ইন্টারঅপারেবিলিটি
অপ্টিমেস্টিক রোলআপস ইথিরিয়াম মেইননেটের সাথে ইন্টারঅপারেবিলিটির জন্য ডিজাইন করা হয়েছে এবং ব্যবহারকারীদের L1 এবং L2-এর মধ্যে মেসেজ এবং আরবিট্রারি ডাটা পাস করতে দেয়। এগুলো EVM-এর সাথেও সামঞ্জস্যপূর্ণ, তাই আপনি বিদ্যমান dapps অপ্টিমেস্টিক রোলআপে পোর্ট করতে পারেন বা ইথিরিয়াম ডেভেলপমেন্ট টুলস ব্যবহার করে নতুন ডিএ্যাপস তৈরি করতে পারেন।
১. অ্যাসেট মুভমেন্ট
রোলআপে প্রবেশ করা
একটি অপ্টিমেস্টিক রোলআপ ব্যবহার করতে, ব্যবহারকারীরা L1-এ রোলআপের bridge কন্ট্রাক্টে ETH, ERC-20 টোকেন এবং অন্যান্য গৃহীত সম্পদ জমা করে। ব্রিজ কন্ট্রাক্ট লেনদেনটিকে L2-তে রিলে করবে, যেখানে সমপরিমাণ সম্পদ মিন্ট করা হয় এবং অপ্টিমেস্টিক রোলআপে ব্যবহারকারীর নির্বাচিত এডড্রেসে পাঠানো হয়।
ব্যবহারকারী-উত্পন্ন লেনদেনগুলো (যেমন একটি L1 > L2 ডিপোজিট) সাধারণত সারিবদ্ধ থাকে যতক্ষণ না সিকোয়েন্সার সেগুলোকে রোলআপ কন্ট্রাক্টে পুনরায় সাবমিট করে। তবে, সেন্সরশিপ রেজিস্ট্যান্স বজায় রাখতে, অপ্টিমেস্টিক রোলআপস ব্যবহারকারীদের সরাসরি অনচেইন রোলআপ কন্ট্রাক্টে একটি লেনদেন সাবমিট করার অনুমতি দেয় যদি এটি অনুমোদিত সর্বোচ্চ সময়ের চেয়ে বেশি বিলম্বিত হয়।
কিছু অপ্টিমেস্টিক রোলআপ সিকোয়েন্সারদের ব্যবহারকারীদের সেন্সর করা থেকে বিরত রাখতে আরও সহজবোধ্য পদ্ধতি গ্রহণ করে। এখানে, একটি ব্লক রোলআপ চেইনে প্রসেস করা লেনদেনগুলো ছাড়াও পূর্ববর্তী ব্লকের পর থেকে L1 কন্ট্রাক্টে সাবমিট করা সমস্ত লেনদেন (যেমন, ডিপোজিট) দ্বারা সংজ্ঞায়িত করা হয়। যদি কোনো সিকোয়েন্সার একটি L1 লেনদেন উপেক্ষা করে, তবে এটি (প্রমাণযোগ্যভাবে) ভুল স্টেট রুট প্রকাশ করবে; তাই, সিকোয়েন্সাররা একবার L1-এ পোস্ট করা ব্যবহারকারী-উত্পন্ন মেসেজগুলো বিলম্বিত করতে পারে না।
রোলআপ থেকে প্রস্থান করা
ফ্রড প্রুভিং স্কিমের কারণে একটি অপ্টিমেস্টিক রোলআপ থেকে ইথিরিয়ামে ফান্ড তোলা বেশি কঠিন। যদি কোনো ব্যবহারকারী L1-এ এসক্রো করা ফান্ড তোলার জন্য একটি L2 > L1 লেনদেন শুরু করে, তবে তাদের চ্যালেঞ্জ পিরিয়ড—যা প্রায় সাত দিন স্থায়ী হয়—শেষ হওয়া পর্যন্ত অপেক্ষা করতে হবে। তা সত্ত্বেও, তোলার প্রক্রিয়াটি নিজেই বেশ সহজবোধ্য।
L2 রোলআপে তোলার অনুরোধ শুরু হওয়ার পর, লেনদেনটি পরবর্তী ব্যাচে অন্তর্ভুক্ত করা হয়, যখন রোলআপে ব্যবহারকারীর সম্পদগুলো বার্ন করা হয়। একবার ব্যাচটি ইথিরিয়ামে প্রকাশিত হলে, ব্যবহারকারী ব্লকে তাদের এক্সিট লেনদেনের অন্তর্ভুক্তি যাচাই করে একটি মার্কেল প্রুফ কম্পিউট করতে পারে। তারপর L1-এ লেনদেন চূড়ান্ত করতে এবং মেইননেটে ফান্ড তোলার জন্য বিলম্বের সময়কাল পার হওয়া পর্যন্ত অপেক্ষা করার বিষয়।
ইথিরিয়ামে ফান্ড তোলার আগে এক সপ্তাহ অপেক্ষা করা এড়াতে, অপ্টিমেস্টিক রোলআপ ব্যবহারকারীরা একজন লিকুইডিটি প্রোভাইডার (LP) নিয়োগ করতে পারে। একজন লিকুইডিটি প্রোভাইডার একটি পেন্ডিং L2 তোলার মালিকানা গ্রহণ করে এবং L1-এ ব্যবহারকারীকে অর্থ প্রদান করে (একটি ফির বিনিময়ে)।
লিকুইডিটি প্রোভাইডাররা ফান্ড রিলিজ করার আগে ব্যবহারকারীর তোলার অনুরোধের বৈধতা পরীক্ষা করতে পারে (নিজেদের চেইন এক্সিকিউট করে)। এভাবে তাদের নিশ্চয়তা থাকে যে লেনদেনটি শেষ পর্যন্ত কনফার্ম হবে (অর্থাৎ, ট্রাস্টলেস ফাইনালিটি)।
২. EVM সামঞ্জস্যতা
ডেভেলপারদের জন্য, অপ্টিমেস্টিক রোলআপের সুবিধা হলো Ethereum Virtual Machine (EVM)-এর সাথে তাদের সামঞ্জস্যতা—বা আরও ভালোভাবে বললে, সমতা। EVM-সামঞ্জস্যপূর্ণ রোলআপগুলো Ethereum Yellow Paper (opens in a new tab)-এর স্পেসিফিকেশনগুলো মেনে চলে এবং বাইটকোড স্তরে EVM সমর্থন করে।
অপ্টিমেস্টিক রোলআপে EVM-সামঞ্জস্যতার নিচের সুবিধাগুলো রয়েছে:
i. ডেভেলপাররা কোডবেস ব্যাপকভাবে পরিবর্তন না করেই ইথিরিয়ামে বিদ্যমান স্মার্ট কন্ট্রাক্টগুলোকে অপ্টিমেস্টিক রোলআপ চেইনে মাইগ্রেট করতে পারে। এটি L2-তে ইথিরিয়াম স্মার্ট কন্ট্রাক্ট ডিপ্লয় করার সময় ডেভেলপমেন্ট টিমের সময় বাঁচাতে পারে।
ii. অপ্টিমেস্টিক রোলআপ ব্যবহারকারী ডেভেলপার এবং প্রজেক্ট টিমগুলো ইথিরিয়ামের ইনফ্রাস্ট্রাকচারের সুবিধা নিতে পারে। এর মধ্যে প্রোগ্রামিং ভাষা, কোড লাইব্রেরি, টেস্টিং টুলস, ক্লায়েন্ট সফটওয়্যার, ডিপ্লয়মেন্ট ইনফ্রাস্ট্রাকচার ইত্যাদি অন্তর্ভুক্ত।
বিদ্যমান টুলিং ব্যবহার করা গুরুত্বপূর্ণ কারণ এই টুলগুলো বছরের পর বছর ধরে ব্যাপকভাবে অডিট, ডিবাগ এবং উন্নত করা হয়েছে। এটি ইথিরিয়াম ডেভেলপারদের সম্পূর্ণ নতুন ডেভেলপমেন্ট স্ট্যাক দিয়ে কীভাবে তৈরি করতে হয় তা শেখার প্রয়োজনীয়তাও দূর করে।
৩. ক্রস-চেইন কন্ট্রাক্ট কলস
ব্যবহারকারীরা (এক্সটার্নালি ওনড একাউন্ট) রোলআপ কন্ট্রাক্টে একটি লেনদেন সাবমিট করে বা তাদের জন্য কোনো সিকোয়েন্সার বা ভ্যালিডেটর দিয়ে এটি করিয়ে L2 কন্ট্রাক্টের সাথে ইন্টারঅ্যাক্ট করে। অপ্টিমেস্টিক রোলআপস ইথিরিয়ামে কন্ট্রাক্ট একাউন্টগুলোকে L1 এবং L2-এর মধ্যে মেসেজ রিলে করতে এবং ডাটা পাস করতে ব্রিজিং কন্ট্রাক্ট ব্যবহার করে L2 কন্ট্রাক্টের সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেয়। এর মানে হলো আপনি একটি L2 অপ্টিমেস্টিক রোলআপে কন্ট্রাক্টের অন্তর্গত ফাংশনগুলো ইনভোক করার জন্য ইথিরিয়াম মেইননেটে একটি L1 কন্ট্রাক্ট প্রোগ্রাম করতে পারেন।
ক্রস-চেইন কন্ট্রাক্ট কলগুলো অ্যাসিঙ্ক্রোনাসভাবে ঘটে—যার মানে কলটি প্রথমে শুরু হয়, তারপর পরে এক্সিকিউট হয়। এটি ইথিরিয়ামে দুটি কন্ট্রাক্টের মধ্যে কলের চেয়ে আলাদা, যেখানে কলটি অবিলম্বে ফলাফল তৈরি করে।
ক্রস-চেইন কন্ট্রাক্ট কলের একটি উদাহরণ হলো পূর্বে বর্ণিত টোকেন ডিপোজিট। L1-এ একটি কন্ট্রাক্ট ব্যবহারকারীর টোকেনগুলো এসক্রো করে এবং রোলআপে সমপরিমাণ টোকেন মিন্ট করার জন্য একটি পেয়ার করা L2 কন্ট্রাক্টে একটি মেসেজ পাঠায়।
যেহেতু ক্রস-চেইন মেসেজ কলগুলোর ফলে কন্ট্রাক্ট এক্সিকিউশন হয়, তাই প্রেরককে সাধারণত কম্পিউটেশনের জন্য gas costs কভার করতে হয়। টার্গেট চেইনে লেনদেন ব্যর্থ হওয়া রোধ করতে একটি উচ্চ গ্যাস লিমিট সেট করার পরামর্শ দেওয়া হয়। টোকেন ব্রিজিং দৃশ্যপট একটি ভালো উদাহরণ; যদি লেনদেনের L1 দিকটি (টোকেন জমা করা) কাজ করে, কিন্তু L2 দিকটি (নতুন টোকেন মিন্ট করা) কম গ্যাসের কারণে ব্যর্থ হয়, তবে ডিপোজিটটি পুনরুদ্ধার অযোগ্য হয়ে যায়।
পরিশেষে, আমাদের লক্ষ্য করা উচিত যে কন্ট্রাক্টগুলোর মধ্যে L2 > L1 মেসেজ কলগুলোতে বিলম্বের হিসাব রাখতে হবে (L1 > L2 কলগুলো সাধারণত কয়েক মিনিট পরে এক্সিকিউট হয়)। এর কারণ হলো অপ্টিমেস্টিক রোলআপ থেকে মেইননেটে পাঠানো মেসেজগুলো চ্যালেঞ্জ উইন্ডোর মেয়াদ শেষ না হওয়া পর্যন্ত এক্সিকিউট করা যায় না।
অপ্টিমেস্টিক রোলআপ ফি কীভাবে কাজ করে?
অপ্টিমেস্টিক রোলআপস ইথিরিয়ামের মতোই একটি গ্যাস ফি স্কিম ব্যবহার করে, যা নির্দেশ করে ব্যবহারকারীরা প্রতি লেনদেনে কত টাকা দেয়। অপ্টিমেস্টিক রোলআপে চার্জ করা ফি নিচের উপাদানগুলোর ওপর নির্ভর করে:
-
স্টেট রাইট: অপ্টিমেস্টিক রোলআপস লেনদেনের ডাটা এবং ব্লক হেডার (পূর্ববর্তী ব্লক হেডার হ্যাস, স্টেট রুট, ব্যাচ রুট নিয়ে গঠিত) ইথিরিয়ামে একটি
blob, বা "বাইনারি লার্জ অবজেক্ট" হিসেবে প্রকাশ করে। EIP-4844 (opens in a new tab) অনচেইনে ডাটা অন্তর্ভুক্ত করার জন্য একটি সাশ্রয়ী সমাধান চালু করেছে। একটিblobহলো একটি নতুন লেনদেন ফিল্ড যা রোলআপগুলোকে ইথিরিয়াম L1-এ কম্প্রেস করা স্টেট ট্রানজিশন ডাটা পোস্ট করতে দেয়।calldata-এর বিপরীতে, যা স্থায়ীভাবে অনচেইনে থাকে, ব্লবস স্বল্পস্থায়ী এবং 4096 epochs (opens in a new tab) (প্রায় 18 দিন) পরে ক্লায়েন্টদের থেকে মুছে ফেলা যায়। কম্প্রেস করা লেনদেনের ব্যাচ পোস্ট করতে ব্লবস ব্যবহার করে, অপ্টিমেস্টিক রোলআপস L1-এ লেনদেন লেখার খরচ উল্লেখযোগ্যভাবে কমাতে পারে। -
ব্যবহৃত ব্লব গ্যাস: ব্লব-বহনকারী লেনদেনগুলো EIP-1559 (opens in a new tab) দ্বারা প্রবর্তিত মেকানিজমের মতো একটি ডায়নামিক ফি মেকানিজম ব্যবহার করে। টাইপ-3 লেনদেনের জন্য গ্যাস ফি ব্লবসের বেস ফি বিবেচনা করে, যা ব্লব-স্পেসের চাহিদা এবং পাঠানো লেনদেনের ব্লব-স্পেস ব্যবহারের ওপর ভিত্তি করে নেটওয়ার্ক দ্বারা নির্ধারিত হয়।
-
L2 অপারেটর ফি: এটি হলো লেনদেন প্রসেস করার সময় হওয়া কম্পিউটেশনাল খরচের ক্ষতিপূরণ হিসেবে রোলআপ নোডগুলোকে দেওয়া পরিমাণ, অনেকটা ইথিরিয়ামের গ্যাস ফির মতো। রোলআপ নোডগুলো কম লেনদেন ফি চার্জ করে কারণ L2-গুলোর প্রসেসিং ক্ষমতা বেশি থাকে এবং তারা নেটওয়ার্ক কনজেশনের সম্মুখীন হয় না যা ইথিরিয়ামের ভ্যালিডেটরদের উচ্চ ফি সহ লেনদেনগুলোকে অগ্রাধিকার দিতে বাধ্য করে।
অপ্টিমেস্টিক রোলআপস ব্যবহারকারীদের জন্য ফি কমানোর জন্য বেশ কয়েকটি মেকানিজম প্রয়োগ করে, যার মধ্যে রয়েছে লেনদেন ব্যাচ করা এবং ডাটা প্রকাশের খরচ কমাতে calldata কম্প্রেস করা। ইথিরিয়াম-ভিত্তিক অপ্টিমেস্টিক রোলআপ ব্যবহার করতে কত খরচ হয় তার রিয়েল-টাইম ওভারভিউয়ের জন্য আপনি L2 fee tracker (opens in a new tab) চেক করতে পারেন।
অপ্টিমেস্টিক রোলআপস কীভাবে ইথিরিয়াম স্কেল করে?
যেমনটি ব্যাখ্যা করা হয়েছে, অপ্টিমেস্টিক রোলআপস ডাটা এভেইলএবিলিটি গ্যারান্টি দিতে ইথিরিয়ামে কম্প্রেস করা লেনদেনের ডাটা প্রকাশ করে। অনচেইনে প্রকাশিত ডাটা কম্প্রেস করার ক্ষমতা অপ্টিমেস্টিক রোলআপের মাধ্যমে ইথিরিয়ামে থ্রুপুট স্কেল করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
মূল ইথিরিয়াম চেইন ব্লকগুলো কত ডাটা ধারণ করতে পারে তার ওপর সীমা নির্ধারণ করে, যা গ্যাস ইউনিটে প্রকাশ করা হয় (average block size হলো 15 মিলিয়ন গ্যাস)। যদিও এটি প্রতিটি লেনদেন কতটা গ্যাস ব্যবহার করতে পারে তা সীমাবদ্ধ করে, এর মানে হলো আমরা লেনদেন-সম্পর্কিত ডাটা কমিয়ে প্রতি ব্লকে প্রসেস করা লেনদেন বাড়াতে পারি—যা সরাসরি স্কেলাবিলিটি উন্নত করে।
অপ্টিমেস্টিক রোলআপস লেনদেনের ডাটা কম্প্রেশন অর্জন করতে এবং TPS রেট উন্নত করতে বেশ কয়েকটি কৌশল ব্যবহার করে। উদাহরণস্বরূপ, এই article (opens in a new tab) মেইননেটে একটি বেসিক ব্যবহারকারী লেনদেন (ইথার পাঠানো) যে ডাটা তৈরি করে তার সাথে একটি রোলআপে একই লেনদেন কতটা ডাটা তৈরি করে তার তুলনা করে:
| প্যারামিটার | ইথিরিয়াম (L1) | রোলআপ (L2) |
|---|---|---|
| নন্স | ~3 | 0 |
| গ্যাস প্রাইস | ~8 | 0-0.5 |
| গ্যাস | 3 | 0-0.5 |
| টু | 21 | 4 |
| ভ্যালু | 9 | ~3 |
| সিগনেচার | ~68 (2 + 33 + 33) | ~0.5 |
| ফ্রম | 0 (সিগনেচার থেকে রিকভার করা) | 4 |
| মোট | ~112 বাইটস | ~12 বাইটস |
এই পরিসংখ্যানগুলোর ওপর কিছু মোটামুটি হিসাব করলে একটি অপ্টিমেস্টিক রোলআপ দ্বারা প্রদত্ত স্কেলাবিলিটি উন্নতিগুলো দেখাতে সাহায্য করতে পারে:
- প্রতিটি ব্লকের টার্গেট সাইজ হলো 15 মিলিয়ন গ্যাস এবং এক বাইট ডাটা যাচাই করতে 16 গ্যাস খরচ হয়। গড় ব্লক সাইজকে 16 গ্যাস দিয়ে ভাগ করলে (15,000,000/16) দেখা যায় গড় ব্লক 937,500 বাইট ডাটা ধারণ করতে পারে।
- যদি একটি বেসিক রোলআপ লেনদেন 12 বাইট ব্যবহার করে, তবে গড় ইথিরিয়াম ব্লক 78,125 রোলআপ লেনদেন (937,500/12) বা 39 রোলআপ ব্যাচ (যদি প্রতিটি ব্যাচ গড়ে 2,000 লেনদেন ধারণ করে) প্রসেস করতে পারে।
- যদি ইথিরিয়ামে প্রতি 15 সেকেন্ডে একটি নতুন ব্লক তৈরি হয়, তবে রোলআপের প্রসেসিং স্পিড হবে প্রায় 5,208 লেনদেন প্রতি সেকেন্ডে। এটি একটি ইথিরিয়াম ব্লক ধারণ করতে পারে এমন বেসিক রোলআপ লেনদেনের সংখ্যাকে (78,125) গড় ব্লক টাইম (15 সেকেন্ড) দিয়ে ভাগ করে করা হয়।
এটি একটি মোটামুটি আশাবাদী অনুমান, কারণ অপ্টিমেস্টিক রোলআপ লেনদেনগুলো ইথিরিয়ামে একটি সম্পূর্ণ ব্লক গঠন করতে পারে না। তবে, এটি একটি মোটামুটি ধারণা দিতে পারে যে অপ্টিমেস্টিক রোলআপস ইথিরিয়াম ব্যবহারকারীদের কতটা স্কেলাবিলিটি লাভ দিতে পারে (বর্তমান ইমপ্লিমেন্টেশনগুলো 2,000 TPS পর্যন্ত অফার করে)।
ইথিরিয়ামে data sharding প্রবর্তনের ফলে অপ্টিমেস্টিক রোলআপে স্কেলাবিলিটি উন্নত হবে বলে আশা করা হচ্ছে। যেহেতু রোলআপ লেনদেনগুলোকে অন্যান্য নন-রোলআপ লেনদেনের সাথে ব্লকস্পেস শেয়ার করতে হয়, তাই তাদের প্রসেসিং ক্ষমতা মূল ইথিরিয়াম চেইনে ডাটা থ্রুপুট দ্বারা সীমাবদ্ধ। ডাঙ্কশার্ডিং ব্যয়বহুল, স্থায়ী CALLDATA-এর পরিবর্তে সস্তা, অস্থায়ী "ব্লব" স্টোরেজ ব্যবহার করে প্রতি ব্লকে ডাটা প্রকাশ করার জন্য L2 চেইনগুলোর জন্য উপলব্ধ স্থান বৃদ্ধি করবে।
অপ্টিমেস্টিক রোলআপের সুবিধা এবং অসুবিধা
| সুবিধা | অসুবিধা |
|---|---|
| নিরাপত্তা বা ট্রাস্টলেসনেস বিসর্জন না দিয়েই স্কেলাবিলিটিতে ব্যাপক উন্নতি প্রদান করে। | সম্ভাব্য ফ্রড চ্যালেঞ্জের কারণে লেনদেনের ফাইনালিটিতে বিলম্ব। |
| লেনদেনের ডাটা লেয়ার 1 চেইনে সংরক্ষিত থাকে, যা স্বচ্ছতা, নিরাপত্তা, সেন্সরশিপ-রেজিস্ট্যান্স এবং ডিসেন্ট্রালাইজেশন উন্নত করে। | সেন্ট্রালাইজড রোলআপ অপারেটররা (সিকোয়েন্সার) লেনদেনের ক্রমকে প্রভাবিত করতে পারে। |
| ফ্রড প্রুভিং ট্রাস্টলেস ফাইনালিটির গ্যারান্টি দেয় এবং সৎ সংখ্যালঘুদের চেইন সুরক্ষিত করার অনুমতি দেয়। | যদি কোনো সৎ নোড না থাকে তবে একজন ক্ষতিকারক অপারেটর অবৈধ ব্লক এবং স্টেট কমিটমেন্ট পোস্ট করে ফান্ড চুরি করতে পারে। |
| ফ্রড প্রুফ কম্পিউট করা সাধারণ L2 নোডের জন্য উন্মুক্ত, ভ্যালিডিটি প্রুফের (ZK-রোলআপে ব্যবহৃত) বিপরীতে যার জন্য বিশেষ হার্ডওয়্যার প্রয়োজন। | সিকিউরিটি মডেল অন্তত একটি সৎ নোডের ওপর নির্ভর করে যা রোলআপ লেনদেন এক্সিকিউট করে এবং অবৈধ স্টেট ট্রানজিশনকে চ্যালেঞ্জ করতে ফ্রড প্রুফ সাবমিট করে। |
| রোলআপগুলো "ট্রাস্টলেস লাইভনেস" থেকে উপকৃত হয় (যে কেউ লেনদেন এক্সিকিউট করে এবং অ্যাসারশন পোস্ট করে চেইনটিকে এগিয়ে নিতে বাধ্য করতে পারে) | ইথিরিয়ামে ফান্ড ফেরত নেওয়ার আগে ব্যবহারকারীদের এক সপ্তাহের চ্যালেঞ্জ পিরিয়ডের মেয়াদ শেষ হওয়া পর্যন্ত অপেক্ষা করতে হবে। |
| অপ্টিমেস্টিক রোলআপস চেইনে নিরাপত্তা বাড়াতে সু-পরিকল্পিত ক্রিপ্টোইকোনমিক ইনসেনটিভের ওপর নির্ভর করে। | রোলআপগুলোকে অবশ্যই সমস্ত লেনদেনের ডাটা অনচেইনে পোস্ট করতে হবে, যা খরচ বাড়াতে পারে। |
| EVM এবং সলিডিটির সাথে সামঞ্জস্যতা ডেভেলপারদের ইথিরিয়াম-নেটিভ স্মার্ট কন্ট্রাক্টগুলোকে রোলআপে পোর্ট করতে বা নতুন ডিএ্যাপস তৈরি করতে বিদ্যমান টুলিং ব্যবহার করতে দেয়। |
অপ্টিমেস্টিক রোলআপের একটি ভিজ্যুয়াল ব্যাখ্যা
ভিজ্যুয়ালি শিখতে বেশি পছন্দ করেন? Finematics-এর অপ্টিমেস্টিক রোলআপের ব্যাখ্যা দেখুন:
অপ্টিমেস্টিক রোলআপ সম্পর্কে আরও পড়া
- How do optimistic rollups work (The Complete guide) (opens in a new tab)
- What is a Blockchain Rollup? A Technical Introduction (opens in a new tab)
- The Essential Guide to Arbitrum (opens in a new tab)
- The Practical Guide To Ethereum Rollups (opens in a new tab)
- The State Of Fraud Proofs In Ethereum L2s (opens in a new tab)
- How does Optimism's Rollup really work? (opens in a new tab)
- OVM Deep Dive (opens in a new tab)
- What is the Optimistic Virtual Machine? (opens in a new tab)
টিউটোরিয়াল: ইথিরিয়ামে অপ্টিমেস্টিক রোলআপস এবং ব্রিজ
- Optimism standard bridge contract walkthrough – L1 এবং L2-এর মধ্যে সম্পদ স্থানান্তরের জন্য অপ্টিমিজম স্ট্যান্ডার্ড ব্রিজের একটি টীকাযুক্ত কোড ওয়াকথ্রু।