জিরো-নলেজ রোলআপ
জিরো-নলেজ রোলআপ (ZK-rollups) হলো লেয়ার ২ (l2) স্কেলিং সমাধান যা কম্পিউটেশন এবং স্টেট-স্টোরেজ অফচেইন সরিয়ে নিয়ে ইথেরিয়াম মেইননেটে থ্রুপুট বৃদ্ধি করে। ZK-রোলআপ একটি ব্যাচে হাজার হাজার ট্রানজ্যাকশন প্রক্রিয়া করতে পারে এবং তারপর মেইননেটে শুধুমাত্র কিছু ন্যূনতম সারসংক্ষেপ ডেটা পোস্ট করে। এই সারসংক্ষেপ ডেটা ইথেরিয়াম স্টেটে যে পরিবর্তনগুলো করা উচিত তা সংজ্ঞায়িত করে এবং সেই পরিবর্তনগুলো যে সঠিক তার কিছু ক্রিপ্টোগ্রাফিক প্রমাণ প্রদান করে।
পূর্বশর্ত
আপনার আমাদের ইথেরিয়াম স্কেলিং এবং লেয়ার ২ (l2) সম্পর্কিত পেজটি পড়া এবং বোঝা উচিত।
জিরো-নলেজ রোলআপ কী?
জিরো-নলেজ রোলআপ (ZK-rollups) ট্রানজ্যাকশনগুলোকে ব্যাচে বান্ডিল (বা 'রোল আপ') করে যা অফচেইন এক্সিকিউট করা হয়। অফচেইন কম্পিউটেশন ব্লকচেইনে পোস্ট করতে হবে এমন ডেটার পরিমাণ কমিয়ে দেয়। ZK-রোলআপ অপারেটররা প্রতিটি ট্রানজ্যাকশন আলাদাভাবে পাঠানোর পরিবর্তে একটি ব্যাচের সমস্ত ট্রানজ্যাকশন উপস্থাপন করার জন্য প্রয়োজনীয় পরিবর্তনগুলোর একটি সারসংক্ষেপ জমা দেয়। তারা তাদের পরিবর্তনগুলোর সঠিকতা প্রমাণ করার জন্য তৈরি করে।
ZK-রোলআপের স্টেট ইথেরিয়াম নেটওয়ার্কে ডিপ্লয় করা একটি স্মার্ট কন্ট্রাক্ট দ্বারা পরিচালিত হয়। এই স্টেট আপডেট করার জন্য, ZK-রোলআপ নোডগুলোকে যাচাইকরণের জন্য একটি বৈধতার প্রমাণ জমা দিতে হবে। যেমনটি উল্লেখ করা হয়েছে, বৈধতার প্রমাণ হলো একটি ক্রিপ্টোগ্রাফিক নিশ্চয়তা যে রোলআপ দ্বারা প্রস্তাবিত স্টেট-পরিবর্তনটি সত্যিই প্রদত্ত ট্রানজ্যাকশন ব্যাচ এক্সিকিউট করার ফলাফল। এর মানে হলো যে ZK-রোলআপগুলোকে ইথেরিয়ামে ট্রানজ্যাকশন চূড়ান্ত করার জন্য শুধুমাত্র বৈধতার প্রমাণ প্রদান করতে হবে, অপটিমিস্টিক রোলআপ-এর মতো সমস্ত ট্রানজ্যাকশন ডেটা অনচেইন পোস্ট করার পরিবর্তে।
একটি ZK-রোলআপ থেকে ইথেরিয়ামে ফান্ড সরানোর সময় কোনো বিলম্ব হয় না কারণ ZK-রোলআপ কন্ট্রাক্ট বৈধতার প্রমাণ যাচাই করার পর প্রস্থান ট্রানজ্যাকশনগুলো এক্সিকিউট করা হয়। বিপরীতভাবে, অপটিমিস্টিক রোলআপ থেকে ফান্ড উত্তোলনে বিলম্ব হয় যাতে যে কেউ একটি দিয়ে প্রস্থান ট্রানজ্যাকশনকে চ্যালেঞ্জ করতে পারে।
ZK-রোলআপ ইথেরিয়ামে ট্রানজ্যাকশনগুলোকে calldata হিসেবে লেখে। calldata হলো সেই জায়গা যেখানে স্মার্ট কন্ট্রাক্ট ফাংশনগুলোতে এক্সটার্নাল কলের অন্তর্ভুক্ত ডেটা সংরক্ষিত হয়। calldata-এর তথ্য ব্লকচেইনে প্রকাশিত হয়, যা যে কাউকে স্বাধীনভাবে রোলআপের স্টেট পুনর্গঠন করতে দেয়। ZK-রোলআপ ট্রানজ্যাকশন ডেটা কমানোর জন্য কম্প্রেশন কৌশল ব্যবহার করে—উদাহরণস্বরূপ, অ্যাকাউন্টগুলোকে একটি ঠিকানার পরিবর্তে একটি সূচক দ্বারা উপস্থাপন করা হয়, যা 28 বাইট ডেটা বাঁচায়। অনচেইন ডেটা প্রকাশ রোলআপের জন্য একটি উল্লেখযোগ্য খরচ, তাই ডেটা কম্প্রেশন ব্যবহারকারীদের জন্য ফি কমাতে পারে।
ZK-রোলআপ কীভাবে ইথেরিয়ামের সাথে ইন্টারঅ্যাক্ট করে?
একটি ZK-রোলআপ চেইন হলো একটি অফচেইন প্রোটোকল যা ইথেরিয়াম ব্লকচেইনের উপরে কাজ করে এবং অনচেইন ইথেরিয়াম স্মার্ট কন্ট্রাক্ট দ্বারা পরিচালিত হয়। ZK-রোলআপ মেইননেটের বাইরে ট্রানজ্যাকশন এক্সিকিউট করে, কিন্তু পর্যায়ক্রমে একটি অনচেইন রোলআপ কন্ট্রাক্টে অফচেইন ট্রানজ্যাকশন ব্যাচ কমিট করে। এই ট্রানজ্যাকশন রেকর্ডটি ইথেরিয়াম ব্লকচেইনের মতোই অপরিবর্তনীয় এবং এটি ZK-রোলআপ চেইন গঠন করে।
ZK-রোলআপের মূল আর্কিটেকচার নিচের উপাদানগুলো নিয়ে গঠিত:
-
অনচেইন কন্ট্রাক্ট: যেমনটি উল্লেখ করা হয়েছে, ZK-রোলআপ প্রোটোকল ইথেরিয়ামে চলা স্মার্ট কন্ট্রাক্ট দ্বারা নিয়ন্ত্রিত হয়। এর মধ্যে রয়েছে মূল কন্ট্রাক্ট যা রোলআপ ব্লক সংরক্ষণ করে, ডিপোজিট ট্র্যাক করে এবং স্টেট আপডেটগুলো পর্যবেক্ষণ করে। আরেকটি অনচেইন কন্ট্রাক্ট (যাচাইকারী কন্ট্রাক্ট) ব্লক প্রডিউসারদের দ্বারা জমা দেওয়া শূন্য-জ্ঞান প্রমাণ যাচাই করে। এইভাবে, ইথেরিয়াম ZK-রোলআপের জন্য বেস লেয়ার বা "লেয়ার ১ (l1)" হিসেবে কাজ করে।
-
অফচেইন ভার্চুয়াল মেশিন (VM): যদিও ZK-রোলআপ প্রোটোকল ইথেরিয়ামে থাকে, ট্রানজ্যাকশন এক্সিকিউশন এবং স্টেট স্টোরেজ EVM থেকে স্বাধীন একটি পৃথক ভার্চুয়াল মেশিনে ঘটে। এই অফচেইন VM হলো ZK-রোলআপে ট্রানজ্যাকশনের জন্য এক্সিকিউশন পরিবেশ এবং এটি ZK-রোলআপ প্রোটোকলের জন্য সেকেন্ডারি লেয়ার বা "লেয়ার ২ (l2)" হিসেবে কাজ করে। ইথেরিয়াম মেইননেটে যাচাইকৃত বৈধতার প্রমাণ অফচেইন VM-এ স্টেট ট্রানজিশনের সঠিকতার নিশ্চয়তা দেয়।
ZK-রোলআপ হলো "হাইব্রিড স্কেলিং সমাধান"—অফচেইন প্রোটোকল যা স্বাধীনভাবে কাজ করে কিন্তু ইথেরিয়াম থেকে নিরাপত্তা লাভ করে। বিশেষভাবে, ইথেরিয়াম নেটওয়ার্ক ZK-রোলআপে স্টেট আপডেটের বৈধতা প্রয়োগ করে এবং রোলআপের স্টেটের প্রতিটি আপডেটের পিছনে ডেটার প্রাপ্যতার নিশ্চয়তা দেয়। ফলস্বরূপ, ZK-রোলআপগুলো বিশুদ্ধ অফচেইন স্কেলিং সমাধানগুলোর তুলনায় উল্লেখযোগ্যভাবে বেশি নিরাপদ, যেমন সাইডচেইন, যা তাদের নিজস্ব নিরাপত্তা বৈশিষ্ট্যের জন্য দায়ী, বা ভ্যালিডিয়াম, যা বৈধতার প্রমাণ দিয়ে ইথেরিয়ামে ট্রানজ্যাকশন যাচাই করে, কিন্তু ট্রানজ্যাকশন ডেটা অন্য কোথাও সংরক্ষণ করে।
ZK-রোলআপগুলো নিচের বিষয়গুলোর জন্য মূল ইথেরিয়াম প্রোটোকলের উপর নির্ভর করে:
ডেটার প্রাপ্যতা
ZK-রোলআপগুলো অফচেইন প্রক্রিয়া করা প্রতিটি ট্রানজ্যাকশনের জন্য ইথেরিয়ামে স্টেট ডেটা প্রকাশ করে। এই ডেটার সাহায্যে, ব্যক্তি বা ব্যবসার পক্ষে রোলআপের স্টেট পুনরুৎপাদন করা এবং চেইনটিকে নিজেরাই যাচাই করা সম্ভব। ইথেরিয়াম এই ডেটা নেটওয়ার্কের সমস্ত অংশগ্রহণকারীদের কাছে calldata হিসেবে উপলব্ধ করে।
ZK-রোলআপগুলোকে অনচেইনে খুব বেশি ট্রানজ্যাকশন ডেটা প্রকাশ করার প্রয়োজন নেই কারণ বৈধতার প্রমাণগুলো ইতিমধ্যেই স্টেট ট্রানজিশনের সত্যতা যাচাই করে। তা সত্ত্বেও, অনচেইনে ডেটা সংরক্ষণ করা এখনও গুরুত্বপূর্ণ কারণ এটি লেয়ার ২ (l2) চেইনের স্টেটের পারমিশনলেস, স্বাধীন যাচাইকরণের অনুমতি দেয় যা ফলস্বরূপ যে কাউকে ট্রানজ্যাকশনের ব্যাচ জমা দেওয়ার অনুমতি দেয়, ক্ষতিকারক অপারেটরদের চেইন সেন্সর করা বা ফ্রিজ করা থেকে বাধা দেয়।
ব্যবহারকারীদের রোলআপের সাথে ইন্টারঅ্যাক্ট করার জন্য অনচেইন প্রয়োজন। স্টেট ডেটাতে অ্যাক্সেস ছাড়া ব্যবহারকারীরা তাদের অ্যাকাউন্ট ব্যালেন্স জিজ্ঞাসা করতে পারে না বা স্টেট তথ্যের উপর নির্ভর করে এমন ট্রানজ্যাকশন (যেমন, উত্তোলন) শুরু করতে পারে না।
ট্রানজ্যাকশনের চূড়ান্ততা
ইথেরিয়াম ZK-রোলআপের জন্য একটি নিষ্পত্তি লেয়ার হিসেবে কাজ করে: লেয়ার ২ (l2) ট্রানজ্যাকশনগুলো কেবল তখনই চূড়ান্তকৃত হয় যদি লেয়ার ১ (l1) কন্ট্রাক্ট বৈধতার প্রমাণ গ্রহণ করে। এটি ক্ষতিকারক অপারেটরদের চেইনকে দূষিত করার (যেমন, রোলআপ ফান্ড চুরি করা) ঝুঁকি দূর করে কারণ প্রতিটি ট্রানজ্যাকশন মেইননেটে অনুমোদিত হতে হবে। এছাড়াও, ইথেরিয়াম গ্যারান্টি দেয় যে লেয়ার ১ (l1)-এ চূড়ান্তকৃত হওয়ার পরে ব্যবহারকারীর ক্রিয়াকলাপগুলো বিপরীত করা যাবে না।
সেন্সরশিপ প্রতিরোধ
বেশিরভাগ ZK-রোলআপ ট্রানজ্যাকশন এক্সিকিউট করতে, ব্যাচ তৈরি করতে এবং লেয়ার ১ (l1)-এ ব্লক জমা দিতে একটি "সুপারনোড" (অপারেটর) ব্যবহার করে। যদিও এটি দক্ষতা নিশ্চিত করে, এটি সেন্সরশিপের ঝুঁকি বাড়ায়: ক্ষতিকারক ZK-রোলআপ অপারেটররা ব্যবহারকারীদের ট্রানজ্যাকশনগুলোকে ব্যাচে অন্তর্ভুক্ত করতে অস্বীকার করে তাদের সেন্সর করতে পারে।
একটি নিরাপত্তা ব্যবস্থা হিসেবে, ZK-রোলআপ ব্যবহারকারীদের মেইননেটে রোলআপ কন্ট্রাক্টে সরাসরি ট্রানজ্যাকশন জমা দেওয়ার অনুমতি দেয় যদি তারা মনে করে যে অপারেটর দ্বারা তাদের সেন্সর করা হচ্ছে। এটি ব্যবহারকারীদের অপারেটরের অনুমতির উপর নির্ভর না করে ZK-রোলআপ থেকে ইথেরিয়ামে জোরপূর্বক প্রস্থান করার অনুমতি দেয়।
ZK-রোলআপ কীভাবে কাজ করে?
ট্রানজ্যাকশন
ZK-রোলআপের ব্যবহারকারীরা ট্রানজ্যাকশনে স্বাক্ষর করে এবং প্রক্রিয়াকরণ এবং পরবর্তী ব্যাচে অন্তর্ভুক্তির জন্য লেয়ার ২ (l2) অপারেটরদের কাছে জমা দেয়। কিছু ক্ষেত্রে, অপারেটর হলো একটি কেন্দ্রীভূত সত্তা, যাকে সিকোয়েন্সার বলা হয়, যে ট্রানজ্যাকশন এক্সিকিউট করে, সেগুলোকে ব্যাচে একত্রিত করে এবং লেয়ার ১ (l1)-এ জমা দেয়। এই সিস্টেমে সিকোয়েন্সার হলো একমাত্র সত্তা যাকে লেয়ার ২ (l2) ব্লক তৈরি করতে এবং ZK-রোলআপ কন্ট্রাক্টে রোলআপ ট্রানজ্যাকশন যোগ করার অনুমতি দেওয়া হয়।
অন্যান্য ZK-রোলআপ একটি প্রুফ-অফ-স্টেক (PoS) ভ্যালিডেটর সেট ব্যবহার করে অপারেটরের ভূমিকা ঘোরাতে পারে। সম্ভাব্য অপারেটররা রোলআপ কন্ট্রাক্টে ফান্ড জমা দেয়, যেখানে প্রতিটি স্টেকের আকার পরবর্তী রোলআপ ব্যাচ তৈরি করার জন্য নির্বাচিত হওয়ার স্টেকারের সম্ভাবনাকে প্রভাবিত করে। অপারেটর যদি ক্ষতিকারকভাবে কাজ করে তবে তার স্টেক স্ল্যাশিং করা যেতে পারে, যা তাদের বৈধ ব্লক পোস্ট করতে উৎসাহিত করে।
ZK-রোলআপ কীভাবে ইথেরিয়ামে ট্রানজ্যাকশন ডেটা প্রকাশ করে
যেমনটি ব্যাখ্যা করা হয়েছে, ট্রানজ্যাকশন ডেটা ইথেরিয়ামে calldata হিসেবে প্রকাশিত হয়। calldata হলো একটি স্মার্ট কন্ট্রাক্টের একটি ডেটা এরিয়া যা একটি ফাংশনে আর্গুমেন্ট পাস করতে ব্যবহৃত হয় এবং মেমরি-এর মতো আচরণ করে। যদিও calldata ইথেরিয়ামের স্টেটের অংশ হিসেবে সংরক্ষিত হয় না, এটি ইথেরিয়াম চেইনের হিস্ট্রি লগ (opens in a new tab)-এর অংশ হিসেবে অনচেইনে থেকে যায়। calldata ইথেরিয়ামের স্টেটকে প্রভাবিত করে না, যা এটিকে অনচেইনে ডেটা সংরক্ষণ করার একটি সস্তা উপায় করে তোলে।
calldata কীওয়ার্ডটি প্রায়শই একটি ট্রানজ্যাকশন দ্বারা কল করা স্মার্ট কন্ট্রাক্ট মেথডকে শনাক্ত করে এবং বাইটের একটি নির্বিচার ক্রম আকারে মেথডটিতে ইনপুট ধারণ করে। ZK-রোলআপ অনচেইনে সংকুচিত ট্রানজ্যাকশন ডেটা প্রকাশ করতে calldata ব্যবহার করে; রোলআপ অপারেটর কেবল রোলআপ কন্ট্রাক্টে প্রয়োজনীয় ফাংশন কল করে একটি নতুন ব্যাচ যোগ করে এবং সংকুচিত ডেটাকে ফাংশন আর্গুমেন্ট হিসেবে পাস করে। এটি ব্যবহারকারীদের জন্য খরচ কমাতে সাহায্য করে কারণ রোলআপ ফি-এর একটি বড় অংশ অনচেইনে ট্রানজ্যাকশন ডেটা সংরক্ষণের দিকে যায়।
স্টেট কমিটমেন্ট
ZK-রোলআপের স্টেট, যার মধ্যে লেয়ার ২ (l2) অ্যাকাউন্ট এবং ব্যালেন্স অন্তর্ভুক্ত, একটি মার্কেল ট্রি হিসেবে উপস্থাপন করা হয়। মার্কেল ট্রির রুটের (মার্কেল রুট) একটি ক্রিপ্টোগ্রাফিক হ্যাশ অনচেইন কন্ট্রাক্টে সংরক্ষিত থাকে, যা রোলআপ প্রোটোকলকে ZK-রোলআপের স্টেটের পরিবর্তনগুলো ট্র্যাক করতে দেয়।
ট্রানজ্যাকশনের একটি নতুন সেট এক্সিকিউট করার পরে রোলআপ একটি নতুন স্টেটে ট্রানজিশন করে। যে অপারেটর স্টেট ট্রানজিশন শুরু করেছে তাকে একটি নতুন স্টেট রুট গণনা করতে হবে এবং অনচেইন কন্ট্রাক্টে জমা দিতে হবে। যদি ব্যাচের সাথে যুক্ত বৈধতার প্রমাণ যাচাইকারী কন্ট্রাক্ট দ্বারা প্রমাণীকৃত হয়, তবে নতুন মার্কেল রুটটি ZK-রোলআপের ক্যানোনিকাল স্টেট রুট হয়ে যায়।
স্টেট রুট গণনা করার পাশাপাশি, ZK-রোলআপ অপারেটর একটি ব্যাচ রুটও তৈরি করে—একটি মার্কেল ট্রির রুট যা একটি ব্যাচের সমস্ত ট্রানজ্যাকশন নিয়ে গঠিত। যখন একটি নতুন ব্যাচ জমা দেওয়া হয়, রোলআপ কন্ট্রাক্ট ব্যাচ রুট সংরক্ষণ করে, যা ব্যবহারকারীদের প্রমাণ করতে দেয় যে একটি ট্রানজ্যাকশন (যেমন, একটি উত্তোলনের অনুরোধ) ব্যাচে অন্তর্ভুক্ত ছিল। ব্যবহারকারীদের ট্রানজ্যাকশনের বিবরণ, ব্যাচ রুট এবং অন্তর্ভুক্তির পথ দেখানো একটি মার্কেল প্রমাণ প্রদান করতে হবে।
বৈধতার প্রমাণ
ZK-রোলআপ অপারেটর লেয়ার ১ (l1) কন্ট্রাক্টে যে নতুন স্টেট রুট জমা দেয় তা হলো রোলআপের স্টেটের আপডেটের ফলাফল। ধরুন অ্যালিস ববকে 10 টোকেন পাঠায়, অপারেটর কেবল অ্যালিসের ব্যালেন্স 10 কমিয়ে দেয় এবং ববের ব্যালেন্স 10 বাড়িয়ে দেয়। অপারেটর তারপর আপডেট করা অ্যাকাউন্ট ডেটা হ্যাশ করে, রোলআপের মার্কেল ট্রি পুনর্নির্মাণ করে এবং নতুন মার্কেল রুট অনচেইন কন্ট্রাক্টে জমা দেয়।
কিন্তু রোলআপ কন্ট্রাক্ট স্বয়ংক্রিয়ভাবে প্রস্তাবিত স্টেট কমিটমেন্ট গ্রহণ করবে না যতক্ষণ না অপারেটর প্রমাণ করে যে নতুন মার্কেল রুটটি রোলআপের স্টেটের সঠিক আপডেটের ফলে হয়েছে। ZK-রোলআপ অপারেটর একটি বৈধতার প্রমাণ তৈরি করে এটি করে, যা ব্যাচ করা ট্রানজ্যাকশনগুলোর সঠিকতা যাচাইকারী একটি সংক্ষিপ্ত ক্রিপ্টোগ্রাফিক কমিটমেন্ট।
বৈধতার প্রমাণ পক্ষগুলোকে বিবৃতিটি প্রকাশ না করেই একটি বিবৃতির সঠিকতা প্রমাণ করার অনুমতি দেয়—তাই, এগুলোকে শূন্য-জ্ঞান প্রমাণও বলা হয়। ZK-রোলআপ ইথেরিয়ামে ট্রানজ্যাকশনগুলো পুনরায় এক্সিকিউট না করেই অফচেইন স্টেট ট্রানজিশনের সঠিকতা নিশ্চিত করতে বৈধতার প্রমাণ ব্যবহার করে। এই প্রমাণগুলো একটি জেডকে-স্নার্ক (opens in a new tab) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) বা জেডকে-স্টার্ক (opens in a new tab) (Zero-Knowledge Scalable Transparent Argument of Knowledge) আকারে আসতে পারে।
SNARK এবং STARK উভয়ই ZK-রোলআপে অফচেইন কম্পিউটেশনের অখণ্ডতা প্রমাণ করতে সাহায্য করে, যদিও প্রতিটি প্রমাণের ধরনের স্বতন্ত্র বৈশিষ্ট্য রয়েছে।
জেডকে-স্নার্ক
জেডকে-স্নার্ক প্রোটোকল কাজ করার জন্য, একটি কমন রেফারেন্স স্ট্রিং (CRS) তৈরি করা প্রয়োজন: CRS বৈধতার প্রমাণ প্রমাণ এবং যাচাই করার জন্য পাবলিক প্যারামিটার প্রদান করে। প্রুভিং সিস্টেমের নিরাপত্তা CRS সেটআপের উপর নির্ভর করে; যদি পাবলিক প্যারামিটার তৈরি করতে ব্যবহৃত তথ্য ক্ষতিকারক অ্যাক্টরদের দখলে চলে যায় তবে তারা মিথ্যা বৈধতার প্রমাণ তৈরি করতে সক্ষম হতে পারে।
কিছু ZK-রোলআপ জেডকে-স্নার্ক সার্কিটের জন্য পাবলিক প্যারামিটার তৈরি করতে বিশ্বস্ত ব্যক্তিদের জড়িত করে একটি মাল্টি-পার্টি কম্পিউটেশন সেরিমনি (MPC) (opens in a new tab) ব্যবহার করে এই সমস্যার সমাধান করার চেষ্টা করে। প্রতিটি পক্ষ CRS তৈরি করতে কিছু র্যান্ডমনেস (যাকে "বিষাক্ত বর্জ্য" বলা হয়) অবদান রাখে, যা তাদের অবিলম্বে ধ্বংস করতে হবে।
ট্রাস্টেড সেটআপ ব্যবহার করা হয় কারণ এগুলো CRS সেটআপের নিরাপত্তা বাড়ায়। যতক্ষণ একজন সৎ অংশগ্রহণকারী তাদের ইনপুট ধ্বংস করে, জেডকে-স্নার্ক সিস্টেমের নিরাপত্তার নিশ্চয়তা দেওয়া হয়। তবুও, এই পদ্ধতির জন্য জড়িতদের তাদের নমুনা করা র্যান্ডমনেস মুছে ফেলার জন্য বিশ্বাস করা প্রয়োজন এবং সিস্টেমের নিরাপত্তার নিশ্চয়তাকে ক্ষুণ্ন না করা প্রয়োজন।
আস্থার অনুমান একপাশে রাখলে, জেডকে-স্নার্ক তাদের ছোট প্রমাণের আকার এবং ধ্রুবক-সময়ের যাচাইকরণের জন্য জনপ্রিয়। যেহেতু লেয়ার ১ (l1)-এ প্রমাণ যাচাইকরণ একটি ZK-রোলআপ পরিচালনার বৃহত্তর খরচ গঠন করে, লেয়ার ২ (l2)-গুলো জেডকে-স্নার্ক ব্যবহার করে এমন প্রমাণ তৈরি করে যা মেইননেটে দ্রুত এবং সস্তায় যাচাই করা যায়।
জেডকে-স্টার্ক
জেডকে-স্নার্কের মতো, জেডকে-স্টার্ক ইনপুটগুলো প্রকাশ না করেই অফচেইন কম্পিউটেশনের বৈধতা প্রমাণ করে। তবে, জেডকে-স্টার্ককে তাদের স্কেলেবিলিটি এবং স্বচ্ছতার কারণে জেডকে-স্নার্কের একটি উন্নতি হিসেবে বিবেচনা করা হয়।
জেডকে-স্টার্ক 'স্বচ্ছ', কারণ এগুলো একটি কমন রেফারেন্স স্ট্রিং (CRS)-এর ট্রাস্টেড সেটআপ ছাড়াই কাজ করতে পারে। পরিবর্তে, জেডকে-স্টার্ক প্রমাণ তৈরি এবং যাচাই করার জন্য প্যারামিটার সেট আপ করতে সর্বজনীনভাবে যাচাইযোগ্য র্যান্ডমনেসের উপর নির্ভর করে।
জেডকে-স্টার্ক আরও স্কেলেবিলিটি প্রদান করে কারণ বৈধতার প্রমাণ প্রমাণ এবং যাচাই করার জন্য প্রয়োজনীয় সময় অন্তর্নিহিত কম্পিউটেশনের জটিলতার সাথে সম্পর্কিতভাবে কোয়াসিলিনিয়ারলি বৃদ্ধি পায়। জেডকে-স্নার্কের সাথে, প্রমাণ এবং যাচাইকরণের সময় অন্তর্নিহিত কম্পিউটেশনের আকারের সাথে সম্পর্কিতভাবে লিনিয়ারলি স্কেল করে। এর মানে হলো বড় ডেটাসেট জড়িত থাকলে প্রমাণ এবং যাচাই করার জন্য জেডকে-স্টার্কের জেডকে-স্নার্কের চেয়ে কম সময় লাগে, যা এগুলোকে উচ্চ-ভলিউম অ্যাপ্লিকেশনের জন্য দরকারী করে তোলে।
জেডকে-স্টার্ক কোয়ান্টাম কম্পিউটারের বিরুদ্ধেও সুরক্ষিত, যেখানে জেডকে-স্নার্কে ব্যবহৃত উপবৃত্তাকার বক্ররেখা ক্রিপ্টোগ্রাফি (ECC) ব্যাপকভাবে কোয়ান্টাম কম্পিউটিং আক্রমণের জন্য সংবেদনশীল বলে মনে করা হয়। জেডকে-স্টার্কের নেতিবাচক দিক হলো যে এগুলো বড় প্রমাণের আকার তৈরি করে, যা ইথেরিয়ামে যাচাই করা বেশি ব্যয়বহুল।
ZK-রোলআপে বৈধতার প্রমাণ কীভাবে কাজ করে?
প্রমাণ তৈরি
ট্রানজ্যাকশন গ্রহণ করার আগে, অপারেটর স্বাভাবিক চেকগুলো সম্পাদন করবে। এর মধ্যে নিশ্চিত করা অন্তর্ভুক্ত যে:
- প্রেরক এবং প্রাপক অ্যাকাউন্টগুলো স্টেট ট্রির অংশ।
- ট্রানজ্যাকশন প্রক্রিয়া করার জন্য প্রেরকের কাছে পর্যাপ্ত ফান্ড রয়েছে।
- ট্রানজ্যাকশনটি সঠিক এবং রোলআপে প্রেরকের পাবলিক কীর সাথে মেলে।
- প্রেরকের নন্স সঠিক, ইত্যাদি।
একবার ZK-রোলআপ নোডের কাছে পর্যাপ্ত ট্রানজ্যাকশন হয়ে গেলে, এটি সেগুলোকে একটি ব্যাচে একত্রিত করে এবং একটি সংক্ষিপ্ত ZK-প্রমাণে কম্পাইল করার জন্য প্রুভিং সার্কিটের জন্য ইনপুট কম্পাইল করে। এর মধ্যে অন্তর্ভুক্ত:
- ব্যাচের সমস্ত ট্রানজ্যাকশন নিয়ে গঠিত একটি মার্কেল ট্রি রুট।
- ব্যাচে অন্তর্ভুক্তি প্রমাণ করার জন্য ট্রানজ্যাকশনের জন্য মার্কেল প্রমাণ।
- ট্রানজ্যাকশনে প্রতিটি প্রেরক-প্রাপক জোড়ার জন্য মার্কেল প্রমাণ প্রমাণ করতে যে সেই অ্যাকাউন্টগুলো রোলআপের স্টেট ট্রির অংশ।
- প্রতিটি ট্রানজ্যাকশনের জন্য স্টেট আপডেট প্রয়োগ করার পরে স্টেট রুট আপডেট করা থেকে প্রাপ্ত মধ্যবর্তী স্টেট রুটের একটি সেট (অর্থাৎ, প্রেরক অ্যাকাউন্ট কমানো এবং প্রাপক অ্যাকাউন্ট বাড়ানো)।
প্রুভিং সার্কিট প্রতিটি ট্রানজ্যাকশনের উপর "লুপিং" করে এবং ট্রানজ্যাকশন প্রক্রিয়া করার আগে অপারেটর যে চেকগুলো সম্পন্ন করেছিল তা সম্পাদন করে বৈধতার প্রমাণ গণনা করে। প্রথমে, এটি প্রদত্ত মার্কেল প্রমাণ ব্যবহার করে যাচাই করে যে প্রেরকের অ্যাকাউন্টটি বিদ্যমান স্টেট রুটের অংশ। তারপর এটি প্রেরকের ব্যালেন্স কমায়, তাদের নন্স বাড়ায়, আপডেট করা অ্যাকাউন্ট ডেটা হ্যাশ করে এবং একটি নতুন মার্কেল রুট তৈরি করতে মার্কেল প্রমাণের সাথে এটিকে একত্রিত করে।
এই মার্কেল রুটটি ZK-রোলআপের স্টেটের একমাত্র পরিবর্তনকে প্রতিফলিত করে: প্রেরকের ব্যালেন্স এবং নন্সের পরিবর্তন। এটি সম্ভব কারণ অ্যাকাউন্টের অস্তিত্ব প্রমাণ করতে ব্যবহৃত মার্কেল প্রমাণটি নতুন স্টেট রুট বের করতে ব্যবহৃত হয়।
প্রুভিং সার্কিট প্রাপকের অ্যাকাউন্টে একই প্রক্রিয়া সম্পাদন করে। এটি পরীক্ষা করে যে প্রাপকের অ্যাকাউন্টটি মধ্যবর্তী স্টেট রুটের অধীনে বিদ্যমান কিনা (মার্কেল প্রমাণ ব্যবহার করে), তাদের ব্যালেন্স বাড়ায়, অ্যাকাউন্ট ডেটা পুনরায় হ্যাশ করে এবং একটি নতুন স্টেট রুট তৈরি করতে মার্কেল প্রমাণের সাথে এটিকে একত্রিত করে।
প্রতিটি ট্রানজ্যাকশনের জন্য প্রক্রিয়াটি পুনরাবৃত্তি হয়; প্রতিটি "লুপ" প্রেরকের অ্যাকাউন্ট আপডেট করা থেকে একটি নতুন স্টেট রুট এবং প্রাপকের অ্যাকাউন্ট আপডেট করা থেকে পরবর্তী একটি নতুন রুট তৈরি করে। যেমনটি ব্যাখ্যা করা হয়েছে, স্টেট রুটের প্রতিটি আপডেট রোলআপের স্টেট ট্রির একটি অংশের পরিবর্তনকে উপস্থাপন করে।
ZK-প্রুভিং সার্কিট সম্পূর্ণ ট্রানজ্যাকশন ব্যাচের উপর পুনরাবৃত্তি করে, আপডেটের ক্রম যাচাই করে যার ফলে শেষ ট্রানজ্যাকশন এক্সিকিউট হওয়ার পরে একটি চূড়ান্ত স্টেট রুট তৈরি হয়। গণনা করা শেষ মার্কেল রুটটি ZK-রোলআপের নতুন ক্যানোনিকাল স্টেট রুট হয়ে যায়।
প্রমাণ যাচাইকরণ
প্রুভিং সার্কিট স্টেট আপডেটের সঠিকতা যাচাই করার পরে, লেয়ার ২ (l2) অপারেটর গণনা করা বৈধতার প্রমাণ লেয়ার ১ (l1)-এ যাচাইকারী কন্ট্রাক্টে জমা দেয়। কন্ট্রাক্টের যাচাইকরণ সার্কিট প্রমাণের বৈধতা যাচাই করে এবং প্রমাণের অংশ গঠনকারী পাবলিক ইনপুটগুলোও পরীক্ষা করে:
-
প্রি-স্টেট রুট: ZK-রোলআপের পুরানো স্টেট রুট (অর্থাৎ, ব্যাচ করা ট্রানজ্যাকশনগুলো এক্সিকিউট হওয়ার আগে), যা লেয়ার ২ (l2) চেইনের সর্বশেষ পরিচিত বৈধ স্টেটকে প্রতিফলিত করে।
-
পোস্ট-স্টেট রুট: ZK-রোলআপের নতুন স্টেট রুট (অর্থাৎ, ব্যাচ করা ট্রানজ্যাকশনগুলো এক্সিকিউট হওয়ার পরে), যা লেয়ার ২ (l2) চেইনের নতুন স্টেটকে প্রতিফলিত করে। পোস্ট-স্টেট রুট হলো প্রুভিং সার্কিটে স্টেট আপডেট প্রয়োগ করার পরে প্রাপ্ত চূড়ান্ত রুট।
-
ব্যাচ রুট: ব্যাচের মার্কেল রুট, যা ব্যাচে ট্রানজ্যাকশনগুলোকে মার্কেলাইজ করে এবং ট্রির রুট হ্যাশ করে প্রাপ্ত হয়।
-
ট্রানজ্যাকশন ইনপুট: জমা দেওয়া ব্যাচের অংশ হিসেবে এক্সিকিউট করা ট্রানজ্যাকশনগুলোর সাথে যুক্ত ডেটা।
যদি প্রমাণটি সার্কিটকে সন্তুষ্ট করে (অর্থাৎ, এটি বৈধ), এর মানে হলো যে বৈধ ট্রানজ্যাকশনের একটি ক্রম বিদ্যমান যা রোলআপকে পূর্ববর্তী স্টেট (প্রি-স্টেট রুট দ্বারা ক্রিপ্টোগ্রাফিকভাবে ফিঙ্গারপ্রিন্ট করা) থেকে একটি নতুন স্টেটে (পোস্ট-স্টেট রুট দ্বারা ক্রিপ্টোগ্রাফিকভাবে ফিঙ্গারপ্রিন্ট করা) ট্রানজিশন করে। যদি প্রি-স্টেট রুট রোলআপ কন্ট্রাক্টে সংরক্ষিত রুটের সাথে মেলে এবং প্রমাণটি বৈধ হয়, তবে রোলআপ কন্ট্রাক্ট প্রমাণ থেকে পোস্ট-স্টেট রুট নেয় এবং রোলআপের পরিবর্তিত স্টেট প্রতিফলিত করতে এর স্টেট ট্রি আপডেট করে।
প্রবেশ এবং প্রস্থান
ব্যবহারকারীরা লেয়ার ১ (l1) চেইনে ডিপ্লয় করা রোলআপের কন্ট্রাক্টে টোকেন জমা দিয়ে ZK-রোলআপে প্রবেশ করে। এই ট্রানজ্যাকশনটি সারিবদ্ধ করা হয় কারণ শুধুমাত্র অপারেটররা রোলআপ কন্ট্রাক্টে ট্রানজ্যাকশন জমা দিতে পারে।
যদি পেন্ডিং ডিপোজিট সারি পূর্ণ হতে শুরু করে, ZK-রোলআপ অপারেটর ডিপোজিট ট্রানজ্যাকশনগুলো নেবে এবং সেগুলোকে রোলআপ কন্ট্রাক্টে জমা দেবে। একবার ব্যবহারকারীর ফান্ড রোলআপে চলে গেলে, তারা প্রক্রিয়াকরণের জন্য অপারেটরের কাছে ট্রানজ্যাকশন পাঠিয়ে লেনদেন শুরু করতে পারে। ব্যবহারকারীরা তাদের অ্যাকাউন্ট ডেটা হ্যাশ করে, রোলআপ কন্ট্রাক্টে হ্যাশ পাঠিয়ে এবং বর্তমান স্টেট রুটের বিপরীতে যাচাই করার জন্য একটি মার্কেল প্রমাণ প্রদান করে রোলআপে ব্যালেন্স যাচাই করতে পারে।
একটি ZK-রোলআপ থেকে লেয়ার ১ (l1)-এ উত্তোলন করা সহজ। ব্যবহারকারী রোলআপে তাদের সম্পদ পোড়ানোর জন্য একটি নির্দিষ্ট অ্যাকাউন্টে পাঠিয়ে প্রস্থান ট্রানজ্যাকশন শুরু করে। যদি অপারেটর পরবর্তী ব্যাচে ট্রানজ্যাকশনটি অন্তর্ভুক্ত করে, ব্যবহারকারী অনচেইন কন্ট্রাক্টে একটি উত্তোলনের অনুরোধ জমা দিতে পারে। এই উত্তোলনের অনুরোধে নিচের বিষয়গুলো অন্তর্ভুক্ত থাকবে:
-
একটি ট্রানজ্যাকশন ব্যাচে বার্ন অ্যাকাউন্টে ব্যবহারকারীর ট্রানজ্যাকশনের অন্তর্ভুক্তি প্রমাণকারী মার্কেল প্রমাণ
-
ট্রানজ্যাকশন ডেটা
-
ব্যাচ রুট
-
জমা করা ফান্ড পাওয়ার জন্য লেয়ার ১ (l1) ঠিকানা
রোলআপ কন্ট্রাক্ট ট্রানজ্যাকশন ডেটা হ্যাশ করে, ব্যাচ রুট বিদ্যমান কিনা তা পরীক্ষা করে এবং ট্রানজ্যাকশন হ্যাশ ব্যাচ রুটের অংশ কিনা তা পরীক্ষা করতে মার্কেল প্রমাণ ব্যবহার করে। এরপর, কন্ট্রাক্ট প্রস্থান ট্রানজ্যাকশন এক্সিকিউট করে এবং লেয়ার ১ (l1)-এ ব্যবহারকারীর নির্বাচিত ঠিকানায় ফান্ড পাঠায়।
ZK-রোলআপ এবং EVM সামঞ্জস্যতা
অপটিমিস্টিক রোলআপের বিপরীতে, ZK-রোলআপগুলো ইথেরিয়াম ভার্চুয়াল মেশিন (EVM)-এর সাথে সহজে সামঞ্জস্যপূর্ণ নয়। সার্কিটে সাধারণ-উদ্দেশ্য EVM কম্পিউটেশন প্রমাণ করা সহজ কম্পিউটেশন (যেমন পূর্বে বর্ণিত টোকেন হস্তান্তর) প্রমাণ করার চেয়ে বেশি কঠিন এবং সম্পদ-নিবিড়।
তবে, জিরো-নলেজ প্রযুক্তিতে অগ্রগতি (opens in a new tab) শূন্য-জ্ঞান প্রমাণে EVM কম্পিউটেশন মোড়ানোর ক্ষেত্রে নতুন করে আগ্রহ জাগিয়ে তুলছে। এই প্রচেষ্টাগুলো একটি জিরো-নলেজ EVM (zkEVM) বাস্তবায়ন তৈরির দিকে পরিচালিত যা দক্ষতার সাথে প্রোগ্রাম এক্সিকিউশনের সঠিকতা যাচাই করতে পারে। একটি zkEVM সার্কিটে প্রমাণ/যাচাইকরণের জন্য বিদ্যমান EVM অপকোডগুলো পুনরায় তৈরি করে, যা স্মার্ট কন্ট্রাক্ট এক্সিকিউট করার অনুমতি দেয়।
EVM-এর মতো, কিছু ইনপুটে কম্পিউটেশন সম্পাদন করার পরে একটি zkEVM স্টেটগুলোর মধ্যে ট্রানজিশন করে। পার্থক্য হলো যে zkEVM প্রোগ্রামের এক্সিকিউশনের প্রতিটি ধাপের সঠিকতা যাচাই করার জন্য শূন্য-জ্ঞান প্রমাণও তৈরি করে। বৈধতার প্রমাণগুলো সেই ক্রিয়াকলাপগুলোর সঠিকতা যাচাই করতে পারে যা VM-এর স্টেট (মেমরি, স্ট্যাক, স্টোরেজ) এবং কম্পিউটেশন নিজেই স্পর্শ করে (অর্থাৎ, ক্রিয়াকলাপটি কি সঠিক অপকোডগুলোকে কল করেছে এবং সেগুলোকে সঠিকভাবে এক্সিকিউট করেছে?)।
EVM-সামঞ্জস্যপূর্ণ ZK-রোলআপের প্রবর্তন ডেভেলপারদের শূন্য-জ্ঞান প্রমাণের স্কেলেবিলিটি এবং নিরাপত্তার নিশ্চয়তা কাজে লাগাতে সাহায্য করবে বলে আশা করা হচ্ছে। আরও গুরুত্বপূর্ণভাবে, নেটিভ ইথেরিয়াম পরিকাঠামোর সাথে সামঞ্জস্যতার অর্থ হলো ডেভেলপাররা পরিচিত (এবং পরীক্ষিত) টুলিং এবং ভাষা ব্যবহার করে ZK-বান্ধব বিকেন্দ্রীকৃত অ্যাপ্লিকেশন (dapp) তৈরি করতে পারে।
ZK-রোলআপ ফি কীভাবে কাজ করে?
ZK-রোলআপে ট্রানজ্যাকশনের জন্য ব্যবহারকারীরা কত টাকা দেয় তা ইথেরিয়াম মেইননেটের মতোই গ্যাস ফি-এর উপর নির্ভর করে। তবে, গ্যাস ফি লেয়ার ২ (l2)-এ ভিন্নভাবে কাজ করে এবং নিচের খরচগুলো দ্বারা প্রভাবিত হয়:
-
স্টেট রাইট: ইথেরিয়ামের স্টেটে লেখার জন্য একটি নির্দিষ্ট খরচ রয়েছে (অর্থাৎ, ইথেরিয়াম ব্লকচেইনে একটি ট্রানজ্যাকশন জমা দেওয়া)। ZK-রোলআপ ট্রানজ্যাকশনগুলোকে ব্যাচ করে এবং একাধিক ব্যবহারকারীর মধ্যে নির্দিষ্ট খরচ ছড়িয়ে দিয়ে এই খরচ কমায়।
-
ডেটা প্রকাশ: ZK-রোলআপ প্রতিটি ট্রানজ্যাকশনের জন্য ইথেরিয়ামে
calldataহিসেবে স্টেট ডেটা প্রকাশ করে।calldataখরচ বর্তমানে EIP-1559 (opens in a new tab) দ্বারা নিয়ন্ত্রিত হয়, যা যথাক্রমে নন-জিরো বাইটের জন্য 16 গ্যাস এবংcalldata-এর জিরো বাইটের জন্য 4 গ্যাস খরচ নির্ধারণ করে। প্রতিটি ট্রানজ্যাকশনে প্রদত্ত খরচ এর জন্য অনচেইনে কতটাcalldataপোস্ট করতে হবে তার দ্বারা প্রভাবিত হয়। -
লেয়ার ২ (l2) অপারেটর ফি: এটি ট্রানজ্যাকশন প্রক্রিয়াকরণে হওয়া কম্পিউটেশনাল খরচের ক্ষতিপূরণ হিসেবে রোলআপ অপারেটরকে দেওয়া পরিমাণ, অনেকটা ইথেরিয়াম মেইননেটে ট্রানজ্যাকশন "প্রায়োরিটি ফি (টিপস)"-এর মতো।
-
প্রমাণ তৈরি এবং যাচাইকরণ: ZK-রোলআপ অপারেটরদের অবশ্যই ট্রানজ্যাকশন ব্যাচের জন্য বৈধতার প্রমাণ তৈরি করতে হবে, যা সম্পদ-নিবিড়। মেইননেটে শূন্য-জ্ঞান প্রমাণ যাচাই করতেও গ্যাস খরচ হয় (~ 500,000 গ্যাস)।
ট্রানজ্যাকশন ব্যাচ করার পাশাপাশি, ZK-রোলআপ ট্রানজ্যাকশন ডেটা সংকুচিত করে ব্যবহারকারীদের জন্য ফি কমায়। আপনি ইথেরিয়াম ZK-রোলআপ ব্যবহার করতে কত খরচ হয় তার একটি রিয়েল-টাইম ওভারভিউ দেখতে পারেন (opens in a new tab)।
ZK-রোলআপ কীভাবে ইথেরিয়ামকে স্কেল করে?
ট্রানজ্যাকশন ডেটা কম্প্রেশন
ZK-রোলআপ কম্পিউটেশন অফচেইন নিয়ে ইথেরিয়ামের বেস লেয়ারে থ্রুপুট প্রসারিত করে, কিন্তু স্কেলিংয়ের আসল বুস্ট আসে ট্রানজ্যাকশন ডেটা সংকুচিত করা থেকে। ইথেরিয়ামের ব্লক সাইজ প্রতিটি ব্লক ধারণ করতে পারে এমন ডেটা এবং সম্প্রসারণের মাধ্যমে, প্রতি ব্লকে প্রক্রিয়া করা ট্রানজ্যাকশনের সংখ্যা সীমিত করে। ট্রানজ্যাকশন-সম্পর্কিত ডেটা সংকুচিত করে, ZK-রোলআপ উল্লেখযোগ্যভাবে প্রতি ব্লকে প্রক্রিয়া করা ট্রানজ্যাকশনের সংখ্যা বৃদ্ধি করে।
ZK-রোলআপ অপটিমিস্টিক রোলআপের চেয়ে ট্রানজ্যাকশন ডেটা ভালোভাবে সংকুচিত করতে পারে কারণ তাদের প্রতিটি ট্রানজ্যাকশন যাচাই করার জন্য প্রয়োজনীয় সমস্ত ডেটা পোস্ট করতে হয় না। তাদের শুধুমাত্র রোলআপে অ্যাকাউন্ট এবং ব্যালেন্সের সর্বশেষ স্টেট পুনর্নির্মাণের জন্য প্রয়োজনীয় ন্যূনতম ডেটা পোস্ট করতে হবে।
রিকার্সিভ প্রমাণ
শূন্য-জ্ঞান প্রমাণের একটি সুবিধা হলো যে প্রমাণগুলো অন্যান্য প্রমাণ যাচাই করতে পারে। উদাহরণস্বরূপ, একটি একক জেডকে-স্নার্ক অন্যান্য জেডকে-স্নার্ক যাচাই করতে পারে। এই ধরনের "প্রমাণের-প্রমাণ" কে রিকার্সিভ প্রমাণ বলা হয় এবং এটি ZK-রোলআপে নাটকীয়ভাবে থ্রুপুট বৃদ্ধি করে।
বর্তমানে, বৈধতার প্রমাণগুলো ব্লক-বাই-ব্লক ভিত্তিতে তৈরি করা হয় এবং যাচাইকরণের জন্য লেয়ার ১ (l1) কন্ট্রাক্টে জমা দেওয়া হয়। তবে, একক ব্লক প্রমাণ যাচাই করা ZK-রোলআপগুলো অর্জন করতে পারে এমন থ্রুপুটকে সীমিত করে কারণ অপারেটর যখন একটি প্রমাণ জমা দেয় তখন কেবল একটি ব্লক চূড়ান্তকৃত করা যায়।
তবে, রিকার্সিভ প্রমাণ একটি বৈধতার প্রমাণ দিয়ে বেশ কয়েকটি ব্লক চূড়ান্তকৃত করা সম্ভব করে তোলে। এর কারণ হলো প্রুভিং সার্কিট রিকার্সিভভাবে একাধিক ব্লক প্রমাণ একত্রিত করে যতক্ষণ না একটি চূড়ান্ত প্রমাণ তৈরি হয়। লেয়ার ২ (l2) অপারেটর এই রিকার্সিভ প্রমাণ জমা দেয় এবং যদি কন্ট্রাক্ট এটি গ্রহণ করে, তবে সমস্ত প্রাসঙ্গিক ব্লক তাৎক্ষণিকভাবে চূড়ান্তকৃত হবে। রিকার্সিভ প্রমাণের সাথে, ইথেরিয়ামে বিরতিতে চূড়ান্তকৃত করা যায় এমন ZK-রোলআপ ট্রানজ্যাকশনের সংখ্যা বৃদ্ধি পায়।
ZK-রোলআপের সুবিধা এবং অসুবিধা
| সুবিধা | অসুবিধা |
|---|---|
| বৈধতার প্রমাণ অফচেইন ট্রানজ্যাকশনের সঠিকতা নিশ্চিত করে এবং অপারেটরদের অবৈধ স্টেট ট্রানজিশন এক্সিকিউট করা থেকে বাধা দেয়। | বৈধতার প্রমাণ গণনা এবং যাচাই করার সাথে যুক্ত খরচ যথেষ্ট এবং রোলআপ ব্যবহারকারীদের জন্য ফি বাড়াতে পারে। |
| দ্রুত ট্রানজ্যাকশন চূড়ান্ততা অফার করে কারণ লেয়ার ১ (l1)-এ বৈধতার প্রমাণ যাচাই হওয়ার পরে স্টেট আপডেটগুলো অনুমোদিত হয়। | জিরো-নলেজ প্রযুক্তির জটিলতার কারণে EVM-সামঞ্জস্যপূর্ণ ZK-রোলআপ তৈরি করা কঠিন। |
| নিরাপত্তার জন্য আস্থা-নিরপেক্ষ ক্রিপ্টোগ্রাফিক মেকানিজমের উপর নির্ভর করে, অপটিমিস্টিক রোলআপ-এর মতো উৎসাহিত অ্যাক্টরদের সততার উপর নয়। | বৈধতার প্রমাণ তৈরি করার জন্য বিশেষ হার্ডওয়্যারের প্রয়োজন, যা কয়েকটি পক্ষের দ্বারা চেইনের কেন্দ্রীভূত নিয়ন্ত্রণকে উৎসাহিত করতে পারে। |
| লেয়ার ১ (l1)-এ অফচেইন স্টেট পুনরুদ্ধার করার জন্য প্রয়োজনীয় ডেটা সংরক্ষণ করে, যা নিরাপত্তা, সেন্সরশিপ-প্রতিরোধ এবং বিকেন্দ্রীকরণের নিশ্চয়তা দেয়। | কেন্দ্রীভূত অপারেটররা (সিকোয়েন্সার) ট্রানজ্যাকশনের ক্রমকে প্রভাবিত করতে পারে। |
| ব্যবহারকারীরা বৃহত্তর মূলধন দক্ষতা থেকে উপকৃত হয় এবং বিলম্ব ছাড়াই লেয়ার ২ (l2) থেকে ফান্ড উত্তোলন করতে পারে। | হার্ডওয়্যারের প্রয়োজনীয়তা অংশগ্রহণকারীদের সংখ্যা কমাতে পারে যারা চেইনটিকে অগ্রগতি করতে বাধ্য করতে পারে, ক্ষতিকারক অপারেটরদের রোলআপের স্টেট ফ্রিজ করা এবং ব্যবহারকারীদের সেন্সর করার ঝুঁকি বাড়ায়। |
| লাইভনেস অনুমানের উপর নির্ভর করে না এবং ব্যবহারকারীদের তাদের ফান্ড রক্ষা করার জন্য চেইন যাচাই করতে হয় না। | কিছু প্রুভিং সিস্টেমের (যেমন, জেডকে-স্নার্ক) একটি ট্রাস্টেড সেটআপ প্রয়োজন যা ভুলভাবে পরিচালনা করা হলে, সম্ভাব্যভাবে একটি ZK-রোলআপের নিরাপত্তা মডেলের সাথে আপস করতে পারে। |
উন্নত ডেটা কম্প্রেশন ইথেরিয়ামে calldata প্রকাশের খরচ কমাতে এবং ব্যবহারকারীদের জন্য রোলআপ ফি কমানোর ক্ষেত্রে সাহায্য করতে পারে। |
ZK-রোলআপের একটি ভিজ্যুয়াল ব্যাখ্যা
Finematics-এর ZK-রোলআপ ব্যাখ্যা করা দেখুন:
কে zkEVM নিয়ে কাজ করছে?
লেয়ার ২ (l2) বনাম লেয়ার ১ (l1)-এর জন্য zkEVM
zkEVM নিয়ে কাজ করা প্রজেক্টগুলোর মধ্যে রয়েছে:
-
zkEVM (opens in a new tab) - zkEVM হলো ইথেরিয়াম ফাউন্ডেশন দ্বারা অর্থায়িত একটি প্রজেক্ট যা একটি EVM-সামঞ্জস্যপূর্ণ ZK-রোলআপ এবং ইথেরিয়াম ব্লকের জন্য বৈধতার প্রমাণ তৈরি করার একটি মেকানিজম তৈরি করে।
-
পলিগন zkEVM (opens in a new tab) - হলো ইথেরিয়াম মেইননেটে একটি বিকেন্দ্রীকৃত ZK রোলআপ যা একটি জিরো-নলেজ ইথেরিয়াম ভার্চুয়াল মেশিনে (zkEVM) কাজ করে যা শূন্য-জ্ঞান-প্রমাণ বৈধতাসহ স্মার্ট কন্ট্রাক্টসহ একটি স্বচ্ছ উপায়ে ইথেরিয়াম ট্রানজ্যাকশন এক্সিকিউট করে।
-
Scroll (opens in a new tab) - Scroll হলো একটি প্রযুক্তি-চালিত কোম্পানি যা ইথেরিয়ামের জন্য একটি নেটিভ zkEVM লেয়ার ২ (l2) সমাধান তৈরির কাজ করছে।
-
Taiko (opens in a new tab) - Taiko হলো একটি বিকেন্দ্রীকৃত, ইথেরিয়াম-সমতুল্য ZK-রোলআপ (একটি টাইপ 1 ZK-EVM (opens in a new tab))।
-
ZKsync (opens in a new tab) - ZKsync Era হলো Matter Labs দ্বারা নির্মিত একটি EVM-সামঞ্জস্যপূর্ণ ZK রোলআপ, যা এর নিজস্ব zkEVM দ্বারা চালিত।
-
Starknet (opens in a new tab) - StarkNet হলো StarkWare দ্বারা নির্মিত একটি EVM-সামঞ্জস্যপূর্ণ লেয়ার ২ (l2) স্কেলিং সমাধান।
-
Morph (opens in a new tab) - Morph হলো একটি হাইব্রিড রোলআপ স্কেলিং সমাধান যা লেয়ার ২ (l2) স্টেট চ্যালেঞ্জ সমস্যা সমাধানের জন্য zk-প্রমাণ ব্যবহার করে।
-
Linea (opens in a new tab) - Linea হলো ConsenSys দ্বারা নির্মিত একটি ইথেরিয়াম-সমতুল্য zkEVM লেয়ার ২ (l2), যা ইথেরিয়াম ইকোসিস্টেমের সাথে সম্পূর্ণভাবে সংযুক্ত।
ZK-রোলআপ সম্পর্কে আরও পড়া
- জিরো-নলেজ রোলআপ কী? (opens in a new tab)
- জিরো-নলেজ রোলআপ কী? (opens in a new tab)
- ইথেরিয়াম রোলআপের ব্যবহারিক গাইড (opens in a new tab)
- STARK বনাম SNARK (opens in a new tab)
- zkEVM কী? (opens in a new tab)
- ZK-EVM-এর ধরন: ইথেরিয়াম-সমতুল্য, EVM-সমতুল্য, টাইপ 1, টাইপ 4 এবং অন্যান্য ক্রিপ্টিক বাজওয়ার্ড (opens in a new tab)
- zkEVM-এর পরিচিতি (opens in a new tab)
- ZK-EVM লেয়ার ২ (l2) কী? (opens in a new tab)
- অসাধারণ-zkEVM রিসোর্স (opens in a new tab)
- জেডকে-স্নার্ক কীভাবে কাজ করে (opens in a new tab)
- SNARK কীভাবে সম্ভব? (opens in a new tab)
টিউটোরিয়াল: ইথেরিয়ামে গোপনীয়তা এবং জিরো-নলেজ
- একটি গোপন স্টেটের জন্য জিরো-নলেজ ব্যবহার করা – অন-চেইনে গোপন গেম স্টেট বজায় রাখতে কীভাবে ZK প্রমাণ এবং অফচেইন সার্ভার উপাদানগুলো ব্যবহার করবেন।
- স্টিলথ ঠিকানা ব্যবহার করা – কীভাবে ERC-5564 স্টিলথ ঠিকানাগুলো ক্রিপ্টোগ্রাফিক কী ডেরিভেশন ব্যবহার করে বেনামী ETH হস্তান্তর সক্ষম করে।
- ওয়েব২ প্রমাণীকরণের জন্য ইথেরিয়াম ব্যবহার করা – SAML-ভিত্তিক ওয়েব২ প্রমাণীকরণ সিস্টেমের সাথে ইথেরিয়াম ওয়ালেট স্বাক্ষর কীভাবে একীভূত করবেন।