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

অপটিমিস্টিক রোলআপ

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

যেহেতু কম্পিউটেশন হলো ইথেরিয়াম ব্যবহারের ধীর এবং ব্যয়বহুল অংশ, তাই অপটিমিস্টিক রোলআপ স্কেলেবিলিটিতে 10-100 গুণ পর্যন্ত উন্নতি দিতে পারে। অপটিমিস্টিক রোলআপ ইথেরিয়ামে ট্রানজ্যাকশনগুলোকে calldata হিসেবে বা ব্লব-এ লেখে, যা ব্যবহারকারীদের জন্য গ্যাস খরচ কমায়।

পূর্বশর্ত

আপনার আমাদের ইথেরিয়াম স্কেলিং এবং লেয়ার ২ (l2) পেজগুলো পড়া এবং বোঝা উচিত।

অপটিমিস্টিক রোলআপ কী?

অপটিমিস্টিক রোলআপ হলো ইথেরিয়াম স্কেলিং করার একটি পদ্ধতি যার মধ্যে কম্পিউটেশন এবং স্টেট স্টোরেজ অফচেইন স্থানান্তর করা জড়িত। অপটিমিস্টিক রোলআপ ইথেরিয়ামের বাইরে ট্রানজ্যাকশন এক্সিকিউট করে, কিন্তু মেইননেটে ট্রানজ্যাকশন ডেটা calldata হিসেবে বা ব্লব-এ পোস্ট করে।

অপটিমিস্টিক রোলআপ অপারেটররা ইথেরিয়ামে জমা দেওয়ার আগে একাধিক অফচেইন ট্রানজ্যাকশন একসাথে বড় ব্যাচে বান্ডিল করে। এই পদ্ধতিটি প্রতিটি ব্যাচে একাধিক ট্রানজ্যাকশনের মধ্যে নির্দিষ্ট খরচ ছড়িয়ে দিতে সক্ষম করে, যা শেষ-ব্যবহারকারীদের জন্য ফি কমায়। অপটিমিস্টিক রোলআপ ইথেরিয়ামে পোস্ট করা ডেটার পরিমাণ কমাতেও কম্প্রেশন কৌশল ব্যবহার করে।

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

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

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

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

অপটিমিস্টিক রোলআপগুলো কীভাবে ইথেরিয়ামের সাথে ইন্টারঅ্যাক্ট করে?

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

একটি অপটিমিস্টিক রোলআপের আর্কিটেকচার নিম্নলিখিত অংশগুলো নিয়ে গঠিত:

অনচেইন কন্ট্রাক্ট: অপটিমিস্টিক রোলআপের কাজ ইথেরিয়ামে চলা স্মার্ট কন্ট্রাক্ট দ্বারা নিয়ন্ত্রিত হয়। এর মধ্যে এমন কন্ট্রাক্ট অন্তর্ভুক্ত রয়েছে যা রোলআপ ব্লক সংরক্ষণ করে, রোলআপে স্টেট আপডেটগুলো পর্যবেক্ষণ করে এবং ব্যবহারকারীর জমা ট্র্যাক করে। এই অর্থে, ইথেরিয়াম অপটিমিস্টিক রোলআপের জন্য বেস লেয়ার বা "লেয়ার ১ (l1)" হিসেবে কাজ করে।

অফচেইন ভার্চুয়াল মেশিন (VM): যদিও অপটিমিস্টিক রোলআপ প্রোটোকল পরিচালনাকারী কন্ট্রাক্টগুলো ইথেরিয়ামে চলে, রোলআপ প্রোটোকল ইথেরিয়াম ভার্চুয়াল মেশিন থেকে আলাদা অন্য একটি ভার্চুয়াল মেশিনে কম্পিউটেশন এবং স্টেট স্টোরেজ সম্পাদন করে। অফচেইন VM হলো যেখানে অ্যাপ্লিকেশনগুলো থাকে এবং স্টেট পরিবর্তনগুলো এক্সিকিউট করা হয়; এটি একটি অপটিমিস্টিক রোলআপের জন্য উপরের লেয়ার বা "লেয়ার ২ (l2)" হিসেবে কাজ করে।

যেহেতু অপটিমিস্টিক রোলআপগুলো EVM-এর জন্য লেখা বা কম্পাইল করা প্রোগ্রামগুলো চালানোর জন্য ডিজাইন করা হয়েছে, তাই অফচেইন VM অনেক EVM ডিজাইন স্পেক অন্তর্ভুক্ত করে। অতিরিক্তভাবে, অনচেইন গণনা করা জালিয়াতির প্রমাণ ইথেরিয়াম নেটওয়ার্ককে অফচেইন VM-এ গণনা করা স্টেট পরিবর্তনের বৈধতা প্রয়োগ করতে দেয়।

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

অপটিমিস্টিক রোলআপগুলো নিম্নলিখিত বিষয়গুলোর জন্য মূল ইথেরিয়াম প্রোটোকলের উপর নির্ভর করে:

ডেটার প্রাপ্যতা

যেমনটি উল্লেখ করা হয়েছে, অপটিমিস্টিক রোলআপ ইথেরিয়ামে ট্রানজ্যাকশন ডেটা calldata বা ব্লব হিসেবে পোস্ট করে। যেহেতু রোলআপ চেইনের এক্সিকিউশন জমা দেওয়া ট্রানজ্যাকশনের উপর ভিত্তি করে, তাই যে কেউ এই তথ্যটি ব্যবহার করতে পারে—যা ইথেরিয়ামের বেস লেয়ারে নোঙর করা—রোলআপের স্টেট এক্সিকিউট করতে এবং স্টেট ট্রানজিশনের সঠিকতা যাচাই করতে।

ডেটার প্রাপ্যতা অত্যন্ত গুরুত্বপূর্ণ কারণ স্টেট ডেটাতে অ্যাক্সেস ছাড়া, চ্যালেঞ্জাররা অবৈধ রোলআপ অপারেশনগুলোর বিরোধিতা করার জন্য জালিয়াতির প্রমাণ তৈরি করতে পারে না। ইথেরিয়াম ডেটার প্রাপ্যতা প্রদান করার ফলে, রোলআপ অপারেটরদের ক্ষতিকারক কাজ (যেমন, অবৈধ ব্লক জমা দেওয়া) করে পার পেয়ে যাওয়ার ঝুঁকি কমে যায়।

সেন্সরশিপ প্রতিরোধ

অপটিমিস্টিক রোলআপগুলো সেন্সরশিপ প্রতিরোধের জন্যও ইথেরিয়ামের উপর নির্ভর করে। একটি অপটিমিস্টিক রোলআপে একটি কেন্দ্রীভূত সত্তা (অপারেটর) ট্রানজ্যাকশন প্রসেস করার এবং ইথেরিয়ামে রোলআপ ব্লক জমা দেওয়ার জন্য দায়ী। এর কিছু প্রভাব রয়েছে:

  • রোলআপ অপারেটররা সম্পূর্ণ অফলাইনে গিয়ে, অথবা নির্দিষ্ট ট্রানজ্যাকশন অন্তর্ভুক্ত করে এমন ব্লক তৈরি করতে অস্বীকার করে ব্যবহারকারীদের সেন্সর করতে পারে।

  • রোলআপ অপারেটররা মালিকানার মার্কেল প্রমাণের জন্য প্রয়োজনীয় স্টেট ডেটা আটকে রেখে ব্যবহারকারীদের রোলআপ কন্ট্রাক্টে জমা করা তহবিল উত্তোলন করতে বাধা দিতে পারে। স্টেট ডেটা আটকে রাখা ব্যবহারকারীদের কাছ থেকে রোলআপের স্টেট গোপন করতে পারে এবং তাদের রোলআপের সাথে ইন্টারঅ্যাক্ট করতে বাধা দিতে পারে।

অপটিমিস্টিক রোলআপগুলো অপারেটরদের ইথেরিয়ামে স্টেট আপডেটের সাথে যুক্ত ডেটা প্রকাশ করতে বাধ্য করে এই সমস্যার সমাধান করে। অনচেইন রোলআপ ডেটা প্রকাশ করার নিম্নলিখিত সুবিধা রয়েছে:

  • যদি কোনো অপটিমিস্টিক রোলআপ অপারেটর অফলাইনে যায় বা ট্রানজ্যাকশন ব্যাচ তৈরি করা বন্ধ করে দেয়, তবে অন্য একটি নোড উপলব্ধ ডেটা ব্যবহার করে রোলআপের শেষ স্টেট পুনরুৎপাদন করতে পারে এবং ব্লক উৎপাদন চালিয়ে যেতে পারে।

  • ব্যবহারকারীরা ট্রানজ্যাকশন ডেটা ব্যবহার করে তহবিলের মালিকানা প্রমাণ করে মার্কেল প্রমাণ তৈরি করতে পারে এবং রোলআপ থেকে তাদের সম্পদ উত্তোলন করতে পারে।

  • ব্যবহারকারীরা সিকোয়েন্সারের পরিবর্তে L1-এ তাদের ট্রানজ্যাকশন জমা দিতে পারে, সেক্ষেত্রে বৈধ ব্লক তৈরি চালিয়ে যাওয়ার জন্য সিকোয়েন্সারকে একটি নির্দিষ্ট সময়সীমার মধ্যে ট্রানজ্যাকশনটি অন্তর্ভুক্ত করতে হবে।

নিষ্পত্তি

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

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

অপটিমিস্টিক রোলআপগুলো কীভাবে কাজ করে?

ট্রানজ্যাকশন এক্সিকিউশন এবং অ্যাগ্রিগেশন

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

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

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

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

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

ইথেরিয়ামে রোলআপ ব্লক জমা দেওয়া

যেমনটি উল্লেখ করা হয়েছে, একটি অপটিমিস্টিক রোলআপের অপারেটর অফচেইন ট্রানজ্যাকশনগুলোকে একটি ব্যাচে বান্ডিল করে এবং নোটারাইজেশনের জন্য ইথেরিয়ামে পাঠায়। এই প্রক্রিয়ার মধ্যে ট্রানজ্যাকশন-সম্পর্কিত ডেটা সংকুচিত করা এবং এটিকে ইথেরিয়ামে calldata হিসেবে বা ব্লবে প্রকাশ করা জড়িত।

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

এক্সিকিউশনের সময় একটি স্মার্ট কন্ট্রাক্ট ফাংশনে আর্গুমেন্ট পাস করার জন্য Solidity-তেও calldata কীওয়ার্ড ব্যবহার করা হয়। calldata একটি ট্রানজ্যাকশনের সময় কল করা ফাংশনটিকে শনাক্ত করে এবং বাইটের একটি নির্বিচার ক্রম আকারে ফাংশনে ইনপুট ধারণ করে।

অপটিমিস্টিক রোলআপের প্রেক্ষাপটে, অনচেইন কন্ট্রাক্টে সংকুচিত ট্রানজ্যাকশন ডেটা পাঠাতে calldata ব্যবহার করা হয়। রোলআপ অপারেটর রোলআপ কন্ট্রাক্টে প্রয়োজনীয় ফাংশন কল করে এবং সংকুচিত ডেটাকে ফাংশন আর্গুমেন্ট হিসেবে পাস করে একটি নতুন ব্যাচ যোগ করে। calldata ব্যবহার করলে ব্যবহারকারীর ফি কমে যায় কারণ রোলআপগুলোর বেশিরভাগ খরচ অনচেইন ডেটা সংরক্ষণ থেকে আসে।

এই ধারণাটি কীভাবে কাজ করে তা দেখানোর জন্য এখানে একটি রোলআপ ব্যাচ জমা দেওয়ার একটি উদাহরণ (opens in a new tab) দেওয়া হলো। সিকোয়েন্সার appendSequencerBatch() মেথডটি ইনভোক করেছে এবং calldata ব্যবহার করে সংকুচিত ট্রানজ্যাকশন ডেটাকে ইনপুট হিসেবে পাস করেছে।

কিছু রোলআপ এখন ইথেরিয়ামে ট্রানজ্যাকশনের ব্যাচ পোস্ট করতে ব্লব ব্যবহার করে।

ব্লবগুলো অ-পরিবর্তনযোগ্য এবং অ-স্থায়ী (ঠিক calldata-এর মতো) তবে প্রায় 18 দিন পরে ইতিহাস থেকে মুছে ফেলা হয়। ব্লব সম্পর্কে আরও তথ্যের জন্য, ড্যাঙ্কশার্ডিং দেখুন।

স্টেট কমিটমেন্ট

যেকোনো সময়ে, অপটিমিস্টিক রোলআপের স্টেট (অ্যাকাউন্ট, ব্যালেন্স, কন্ট্রাক্ট কোড ইত্যাদি) একটি মার্কেল ট্রি হিসেবে সংগঠিত হয় যাকে "স্টেট ট্রি" বলা হয়। এই মার্কেল ট্রির রুট (স্টেট রুট), যা রোলআপের সর্বশেষ স্টেটকে নির্দেশ করে, তা হ্যাশ করা হয় এবং রোলআপ কন্ট্রাক্টে সংরক্ষণ করা হয়। চেইনে প্রতিটি স্টেট ট্রানজিশন একটি নতুন রোলআপ স্টেট তৈরি করে, যা একজন অপারেটর একটি নতুন স্টেট রুট গণনা করে কমিট করে।

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

রোলআপ অপারেটরকে ট্রানজ্যাকশন ব্যাচের জন্যও একটি মার্কেল রুট কমিট করতে হবে। এটি যে কাউকে একটি মার্কেল প্রমাণ উপস্থাপন করে ব্যাচে (L1-এ) একটি ট্রানজ্যাকশনের অন্তর্ভুক্তি প্রমাণ করতে দেয়।

স্টেট কমিটমেন্ট, বিশেষ করে স্টেট রুট, একটি অপটিমিস্টিক রোলআপে স্টেট পরিবর্তনের সঠিকতা প্রমাণের জন্য প্রয়োজনীয়। রোলআপ কন্ট্রাক্ট অপারেটরদের কাছ থেকে নতুন স্টেট রুটগুলো পোস্ট করার পরপরই গ্রহণ করে, তবে পরে রোলআপটিকে তার সঠিক স্টেটে ফিরিয়ে আনতে অবৈধ স্টেট রুটগুলো মুছে ফেলতে পারে।

জালিয়াতির প্রমাণ

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

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

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

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

মাল্টি-রাউন্ড ইন্টারেক্টিভ প্রুভিং

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

চ্যালেঞ্জার তখন বেছে নেবে যে সে কোন অ্যাসারশনটিকে চ্যালেঞ্জ করতে চায়। বিভাজন প্রক্রিয়া (যাকে "বাইসেকশন প্রোটোকল" বলা হয়) চলতে থাকে যতক্ষণ না উভয় পক্ষ এক্সিকিউশনের একটি একক ধাপ সম্পর্কে একটি অ্যাসারশনের বিরোধিতা করে। এই পর্যায়ে, L1 কন্ট্রাক্ট প্রতারক পক্ষকে ধরার জন্য নির্দেশ (এবং এর ফলাফল) মূল্যায়ন করে বিরোধের সমাধান করবে।

অ্যাসার্টারকে বিরোধপূর্ণ একক-ধাপ কম্পিউটেশনের বৈধতা যাচাই করে একটি "ওয়ান-স্টেপ প্রুফ" প্রদান করতে হবে। যদি অ্যাসার্টার ওয়ান-স্টেপ প্রুফ প্রদান করতে ব্যর্থ হয়, বা L1 যাচাইকারী প্রমাণটিকে অবৈধ বলে মনে করে, তবে তারা চ্যালেঞ্জে হেরে যায়।

এই ধরণের জালিয়াতির প্রমাণ সম্পর্কে কিছু নোট:

  1. মাল্টি-রাউন্ড ইন্টারেক্টিভ জালিয়াতির প্রমাণকে দক্ষ বলে মনে করা হয় কারণ এটি বিরোধ সালিশিতে L1 চেইনকে যে কাজ করতে হবে তা কমিয়ে দেয়। সম্পূর্ণ ট্রানজ্যাকশন রিপ্লে করার পরিবর্তে, L1 চেইনকে কেবল রোলআপের এক্সিকিউশনের একটি ধাপ পুনরায় এক্সিকিউট করতে হবে।

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

  3. ক্ষতিকারক অ্যাসার্টারের বন্ডের একটি অংশ চ্যালেঞ্জারকে দেওয়া হয়, যখন অন্য অংশটি পোড়ানো হয়। পোড়ানো ভ্যালিডেটরদের মধ্যে যোগসাজশ প্রতিরোধ করে; যদি দুজন ভ্যালিডেটর ভুয়া চ্যালেঞ্জ শুরু করার জন্য যোগসাজশ করে, তবে তারা এখনও সম্পূর্ণ স্টেকের একটি উল্লেখযোগ্য অংশ হারাবে।

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

অপটিমিস্টিক রোলআপের জন্য জালিয়াতির প্রমাণ কেন গুরুত্বপূর্ণ

জালিয়াতির প্রমাণগুলো গুরুত্বপূর্ণ কারণ এগুলো অপটিমিস্টিক রোলআপগুলোতে আস্থা-নিরপেক্ষ চূড়ান্ততা সহজতর করে। আস্থা-নিরপেক্ষ চূড়ান্ততা হলো অপটিমিস্টিক রোলআপের একটি গুণ যা গ্যারান্টি দেয় যে একটি ট্রানজ্যাকশন—যতক্ষণ এটি বৈধ—অবশেষে নিশ্চিত করা হবে।

ক্ষতিকারক নোডগুলো মিথ্যা চ্যালেঞ্জ শুরু করে একটি বৈধ রোলআপ ব্লকের নিশ্চিতকরণ বিলম্বিত করার চেষ্টা করতে পারে। যাইহোক, জালিয়াতির প্রমাণগুলো শেষ পর্যন্ত রোলআপ ব্লকের বৈধতা প্রমাণ করবে এবং এটি নিশ্চিত করবে।

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

L1/L2 আন্তঃকার্যক্ষমতা

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

1. সম্পদ স্থানান্তর

রোলআপে প্রবেশ করা

একটি অপটিমিস্টিক রোলআপ ব্যবহার করতে, ব্যবহারকারীরা L1-এ রোলআপের সেতু কন্ট্রাক্টে ETH, ERC-20 টোকেন এবং অন্যান্য গৃহীত সম্পদ জমা দেয়। সেতু কন্ট্রাক্টটি ট্রানজ্যাকশনটিকে L2-তে রিলে করবে, যেখানে সমপরিমাণ সম্পদ মিন্ট করা হয় এবং অপটিমিস্টিক রোলআপে ব্যবহারকারীর নির্বাচিত ঠিকানায় পাঠানো হয়।

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

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

রোলআপ থেকে প্রস্থান করা

জালিয়াতির প্রমাণ স্কিমের কারণে একটি অপটিমিস্টিক রোলআপ থেকে ইথেরিয়ামে উত্তোলন করা আরও কঠিন। যদি কোনো ব্যবহারকারী L1-এ এসক্রো করা তহবিল উত্তোলন করার জন্য একটি L2 > L1 ট্রানজ্যাকশন শুরু করে, তবে তাদের অবশ্যই চ্যালেঞ্জ পিরিয়ড—যা প্রায় সাত দিন স্থায়ী হয়—শেষ হওয়া পর্যন্ত অপেক্ষা করতে হবে। তা সত্ত্বেও, উত্তোলন প্রক্রিয়াটি নিজেই বেশ সহজবোধ্য।

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

ইথেরিয়ামে তহবিল উত্তোলন করার আগে এক সপ্তাহ অপেক্ষা করা এড়াতে, অপটিমিস্টিক রোলআপ ব্যবহারকারীরা একজন তারল্য প্রদানকারী (LP) নিয়োগ করতে পারে। একজন তারল্য প্রদানকারী একটি মুলতুবি L2 উত্তোলনের মালিকানা গ্রহণ করে এবং ব্যবহারকারীকে L1-এ অর্থ প্রদান করে (একটি ফির বিনিময়ে)।

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

2. EVM সামঞ্জস্যতা

ডেভেলপারদের জন্য, অপটিমিস্টিক রোলআপের সুবিধা হলো ইথেরিয়াম ভার্চুয়াল মেশিন (EVM)-এর সাথে তাদের সামঞ্জস্যতা—বা, আরও ভালো, সমতা। EVM-সামঞ্জস্যপূর্ণ রোলআপগুলো ইয়েলো পেপার (opens in a new tab)-এর স্পেসিফিকেশনগুলো মেনে চলে এবং বাইটকোড স্তরে EVM-কে সমর্থন করে।

অপটিমিস্টিক রোলআপে EVM-সামঞ্জস্যতার নিম্নলিখিত সুবিধা রয়েছে:

i. ডেভেলপাররা কোডবেসগুলো ব্যাপকভাবে পরিবর্তন না করেই ইথেরিয়ামে বিদ্যমান স্মার্ট কন্ট্রাক্টগুলোকে অপটিমিস্টিক রোলআপ চেইনে স্থানান্তর করতে পারে। এটি L2-তে ইথেরিয়াম স্মার্ট কন্ট্রাক্ট ডিপ্লয়মেন্ট করার সময় ডেভেলপমেন্ট টিমের সময় বাঁচাতে পারে।

ii. অপটিমিস্টিক রোলআপ ব্যবহারকারী ডেভেলপার এবং প্রজেক্ট টিমগুলো ইথেরিয়ামের পরিকাঠামোর সুবিধা নিতে পারে। এর মধ্যে রয়েছে প্রোগ্রামিং ভাষা, কোড লাইব্রেরি, টেস্টিং টুল, ক্লায়েন্ট সফ্টওয়্যার, ডিপ্লয়মেন্ট পরিকাঠামো ইত্যাদি।

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

3. ক্রস-চেইন কন্ট্রাক্ট কল

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

ক্রস-চেইন কন্ট্রাক্ট কলগুলো অ্যাসিঙ্ক্রোনাসভাবে ঘটে—যার অর্থ কলটি প্রথমে শুরু হয়, তারপর পরবর্তী সময়ে এক্সিকিউট করা হয়। এটি ইথেরিয়ামে দুটি কন্ট্রাক্টের মধ্যে কলের থেকে আলাদা, যেখানে কলটি অবিলম্বে ফলাফল তৈরি করে।

একটি ক্রস-চেইন কন্ট্রাক্ট কলের উদাহরণ হলো পূর্বে বর্ণিত টোকেন জমা। L1-এ একটি কন্ট্রাক্ট ব্যবহারকারীর টোকেনগুলো এসক্রো করে এবং রোলআপে সমপরিমাণ টোকেন মিন্ট করার জন্য একটি জোড়া L2 কন্ট্রাক্টে একটি বার্তা পাঠায়।

যেহেতু ক্রস-চেইন বার্তা কলগুলোর ফলে কন্ট্রাক্ট এক্সিকিউশন হয়, তাই প্রেরককে সাধারণত কম্পিউটেশনের জন্য গ্যাস খরচ কভার করতে হয়। টার্গেট চেইনে ট্রানজ্যাকশন ব্যর্থ হওয়া রোধ করতে একটি উচ্চ গ্যাস লিমিট সেট করার পরামর্শ দেওয়া হয়। টোকেন ব্রিজিং দৃশ্যকল্প একটি ভালো উদাহরণ; যদি ট্রানজ্যাকশনের L1 দিক (টোকেন জমা দেওয়া) কাজ করে, কিন্তু কম গ্যাসের কারণে L2 দিক (নতুন টোকেন মিন্টিং) ব্যর্থ হয়, তবে জমাটি পুনরুদ্ধারযোগ্য হয়ে যায়।

পরিশেষে, আমাদের মনে রাখা উচিত যে কন্ট্রাক্টগুলোর মধ্যে L2 > L1 বার্তা কলগুলোর বিলম্বের হিসাব করা প্রয়োজন (L1 > L2 কলগুলো সাধারণত কয়েক মিনিট পরে এক্সিকিউট করা হয়)। এর কারণ হলো অপটিমিস্টিক রোলআপ থেকে মেইননেটে পাঠানো বার্তাগুলো চ্যালেঞ্জ উইন্ডোর মেয়াদ শেষ না হওয়া পর্যন্ত এক্সিকিউট করা যায় না।

অপটিমিস্টিক রোলআপ ফি কীভাবে কাজ করে?

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

  1. স্টেট রাইট: অপটিমিস্টিক রোলআপগুলো ট্রানজ্যাকশন ডেটা এবং ব্লক হেডার (পূর্ববর্তী ব্লক হেডার হ্যাশ, স্টেট রুট, ব্যাচ রুট নিয়ে গঠিত) ইথেরিয়ামে একটি blob বা "বাইনারি লার্জ অবজেক্ট" হিসেবে প্রকাশ করে। EIP-4844 (opens in a new tab) অনচেইনে ডেটা অন্তর্ভুক্ত করার জন্য একটি সাশ্রয়ী সমাধান চালু করেছে। একটি blob হলো একটি নতুন ট্রানজ্যাকশন ফিল্ড যা রোলআপগুলোকে ইথেরিয়াম L1-এ সংকুচিত স্টেট ট্রানজিশন ডেটা পোস্ট করতে দেয়। calldata-এর বিপরীতে, যা স্থায়ীভাবে অনচেইন থাকে, ব্লবগুলো স্বল্পস্থায়ী এবং 4096 ইপক (opens in a new tab) (প্রায় 18 দিন) পরে ক্লায়েন্টদের থেকে মুছে ফেলা যেতে পারে। সংকুচিত ট্রানজ্যাকশনের ব্যাচ পোস্ট করতে ব্লব ব্যবহার করে, অপটিমিস্টিক রোলআপগুলো L1-এ ট্রানজ্যাকশন লেখার খরচ উল্লেখযোগ্যভাবে কমাতে পারে।

  2. ব্যবহৃত ব্লব গ্যাস: ব্লব-বহনকারী ট্রানজ্যাকশনগুলো EIP-1559 (opens in a new tab) দ্বারা প্রবর্তিত একটির মতো একটি ডায়নামিক ফি মেকানিজম নিয়োগ করে। টাইপ-3 ট্রানজ্যাকশনের জন্য গ্যাস ফি ব্লবগুলোর জন্য ভিত্তি ফি বিবেচনা করে, যা ব্লব-স্পেসের চাহিদা এবং পাঠানো ট্রানজ্যাকশনের ব্লব-স্পেস ব্যবহারের উপর ভিত্তি করে নেটওয়ার্ক দ্বারা নির্ধারিত হয়।

  3. L2 অপারেটর ফি: এটি ট্রানজ্যাকশন প্রসেস করার ক্ষেত্রে হওয়া কম্পিউটেশনাল খরচের ক্ষতিপূরণ হিসেবে রোলআপ নোডগুলোকে দেওয়া পরিমাণ, অনেকটা ইথেরিয়ামের গ্যাস ফির মতো। রোলআপ নোডগুলো কম ট্রানজ্যাকশন ফি চার্জ করে কারণ L2-গুলোর প্রসেসিং ক্ষমতা বেশি এবং নেটওয়ার্ক কনজেশনের সম্মুখীন হয় না যা ইথেরিয়ামের ভ্যালিডেটরদের উচ্চ ফি সহ ট্রানজ্যাকশনগুলোকে অগ্রাধিকার দিতে বাধ্য করে।

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

অপটিমিস্টিক রোলআপগুলো কীভাবে ইথেরিয়াম স্কেল করে?

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

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

অপটিমিস্টিক রোলআপগুলো ট্রানজ্যাকশন ডেটা কম্প্রেশন অর্জন করতে এবং TPS রেট উন্নত করতে বেশ কয়েকটি কৌশল ব্যবহার করে। উদাহরণস্বরূপ, এই নিবন্ধটি (opens in a new tab) মেইননেটে একটি বেসিক ব্যবহারকারী ট্রানজ্যাকশন (ইথার পাঠানো) যে ডেটা তৈরি করে তার সাথে একই ট্রানজ্যাকশন একটি রোলআপে কতটা ডেটা তৈরি করে তার তুলনা করে:

প্যারামিটারইথেরিয়াম (L1)রোলআপ (L2)
নন্স~30
গ্যাসপ্রাইস~80-0.5
গ্যাস30-0.5
টু214
ভ্যালু9~3
স্বাক্ষর~68 (2 + 33 + 33)~0.5
ফ্রম0 (স্বাক্ষর থেকে পুনরুদ্ধার করা হয়েছে)4
মোট~112 বাইট~12 বাইট

এই পরিসংখ্যানগুলোর উপর কিছু মোটামুটি গণনা করা একটি অপটিমিস্টিক রোলআপ দ্বারা প্রদত্ত স্কেলেবিলিটি উন্নতিগুলো দেখাতে সাহায্য করতে পারে:

  1. প্রতিটি ব্লকের টার্গেট সাইজ হলো 15 মিলিয়ন গ্যাস এবং এক বাইট ডেটা যাচাই করতে 16 গ্যাস খরচ হয়। গড় ব্লক সাইজকে 16 গ্যাস দিয়ে ভাগ করলে (15,000,000/16) দেখা যায় যে গড় ব্লক 937,500 বাইট ডেটা ধারণ করতে পারে।
  2. যদি একটি বেসিক রোলআপ ট্রানজ্যাকশন 12 বাইট ব্যবহার করে, তবে গড় ইথেরিয়াম ব্লক 78,125 রোলআপ ট্রানজ্যাকশন (937,500/12) বা 39 রোলআপ ব্যাচ (যদি প্রতিটি ব্যাচ গড়ে 2,000 ট্রানজ্যাকশন ধারণ করে) প্রসেস করতে পারে।
  3. যদি ইথেরিয়ামে প্রতি 15 সেকেন্ডে একটি নতুন ব্লক তৈরি হয়, তবে রোলআপের প্রসেসিং স্পিড হবে প্রায় 5,208 ট্রানজ্যাকশন প্রতি সেকেন্ডে। এটি একটি ইথেরিয়াম ব্লক ধারণ করতে পারে এমন বেসিক রোলআপ ট্রানজ্যাকশনের সংখ্যাকে (78,125) গড় ব্লক টাইম (15 সেকেন্ড) দিয়ে ভাগ করে করা হয়।

এটি একটি মোটামুটি আশাবাদী অনুমান, কারণ অপটিমিস্টিক রোলআপ ট্রানজ্যাকশনগুলো সম্ভবত ইথেরিয়ামে একটি সম্পূর্ণ ব্লক গঠন করতে পারে না। যাইহোক, এটি একটি মোটামুটি ধারণা দিতে পারে যে অপটিমিস্টিক রোলআপগুলো ইথেরিয়াম ব্যবহারকারীদের কতটা স্কেলেবিলিটি লাভ দিতে পারে (বর্তমান বাস্তবায়নগুলো 2,000 TPS পর্যন্ত অফার করে)।

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

অপটিমিস্টিক রোলআপের সুবিধা এবং অসুবিধা

সুবিধাঅসুবিধা
নিরাপত্তা বা আস্থাহীনতা বিসর্জন না দিয়ে স্কেলেবিলিটিতে ব্যাপক উন্নতি প্রদান করে।সম্ভাব্য জালিয়াতি চ্যালেঞ্জের কারণে ট্রানজ্যাকশন চূড়ান্ততায় বিলম্ব।
ট্রানজ্যাকশন ডেটা লেয়ার ১ (l1) চেইনে সংরক্ষণ করা হয়, যা স্বচ্ছতা, নিরাপত্তা, সেন্সরশিপ-প্রতিরোধ এবং বিকেন্দ্রীকরণ উন্নত করে।কেন্দ্রীভূত রোলআপ অপারেটররা (সিকোয়েন্সার) ট্রানজ্যাকশনের ক্রমকে প্রভাবিত করতে পারে।
জালিয়াতির প্রমাণ আস্থা-নিরপেক্ষ চূড়ান্ততার গ্যারান্টি দেয় এবং সৎ সংখ্যালঘুদের চেইন সুরক্ষিত করার অনুমতি দেয়।যদি কোনো সৎ নোড না থাকে তবে একজন ক্ষতিকারক অপারেটর অবৈধ ব্লক এবং স্টেট কমিটমেন্ট পোস্ট করে তহবিল চুরি করতে পারে।
জালিয়াতির প্রমাণ গণনা করা নিয়মিত L2 নোডের জন্য উন্মুক্ত, বৈধতার প্রমাণের (ZK-রোলআপে ব্যবহৃত) বিপরীতে যার জন্য বিশেষ হার্ডওয়্যারের প্রয়োজন হয়।নিরাপত্তা মডেলটি অন্তত একটি সৎ নোডের উপর নির্ভর করে যা রোলআপ ট্রানজ্যাকশন এক্সিকিউট করে এবং অবৈধ স্টেট ট্রানজিশনকে চ্যালেঞ্জ করার জন্য জালিয়াতির প্রমাণ জমা দেয়।
রোলআপগুলো "আস্থা-নিরপেক্ষ লাইভনেস" থেকে উপকৃত হয় (যে কেউ ট্রানজ্যাকশন এক্সিকিউট করে এবং অ্যাসারশন পোস্ট করে চেইনটিকে এগিয়ে নিতে বাধ্য করতে পারে)ইথেরিয়ামে তহবিল উত্তোলন করার আগে ব্যবহারকারীদের এক সপ্তাহের চ্যালেঞ্জ পিরিয়ডের মেয়াদ শেষ হওয়ার জন্য অপেক্ষা করতে হবে।
অপটিমিস্টিক রোলআপগুলো চেইনে নিরাপত্তা বাড়ানোর জন্য সু-পরিকল্পিত ক্রিপ্টো-অর্থনৈতিক প্রণোদনার উপর নির্ভর করে।রোলআপগুলোকে অবশ্যই সমস্ত ট্রানজ্যাকশন ডেটা অনচেইনে পোস্ট করতে হবে, যা খরচ বাড়িয়ে তুলতে পারে।
EVM এবং Solidity-এর সাথে সামঞ্জস্যতা ডেভেলপারদের ইথেরিয়াম-নেটিভ স্মার্ট কন্ট্রাক্টগুলোকে রোলআপে পোর্ট করতে বা নতুন dapp তৈরি করতে বিদ্যমান টুলিং ব্যবহার করার অনুমতি দেয়।

অপটিমিস্টিক রোলআপের একটি ভিজ্যুয়াল ব্যাখ্যা

ভিজ্যুয়াল লার্নার? Finematics-এর অপটিমিস্টিক রোলআপের ব্যাখ্যা দেখুন:

অপটিমিস্টিক রোলআপ সম্পর্কে আরও পড়ুন

টিউটোরিয়াল: ইথেরিয়ামে অপটিমিস্টিক রোলআপ এবং সেতু