এড়িয়ে গিয়ে মূল কন্টেন্টে যান
Change page

প্রুফ-অফ-স্টেক রিওয়ার্ডস এবং পেনাল্টি

পৃষ্ঠাটি সর্বশেষ আপডেট করা হয়েছে: ২৬ ফেব্রুয়ারী, ২০২৬

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

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

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

সমস্ত রিওয়ার্ড এবং পেনাল্টি প্রতি ইপোকে একবার প্রয়োগ করা হয়।

আরও বিস্তারিত জানতে পড়তে থাকুন...

রিওয়ার্ড এবং পেনাল্টি

পুরস্কার

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

1base_reward = effective_balance * (base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))))

যেখানে base_reward_factor হল 64, base_rewards_per_epoch হল 4 এবং sum(active balance) হল সমস্ত সক্রিয় ভ্যালিডেটর জুড়ে মোট স্টেক করা ইথার।

এর মানে হল বেস রিওয়ার্ড ভ্যালিডেটরের কার্যকরী ব্যালেন্সের সমানুপাতিক এবং নেটওয়ার্কে ভ্যালিডেটরের সংখ্যার ব্যস্তানুপাতিক। যত বেশি ভ্যালিডেটর, সামগ্রিক ইস্যুয়েন্স তত বেশি (sqrt(N) হিসাবে), কিন্তু প্রতি ভ্যালিডেটরের জন্য base_reward তত কম (1/sqrt(N) হিসাবে)। এই ফ্যাক্টরগুলো একটি স্টেকিং নোডের জন্য APR-কে প্রভাবিত করে। এর যৌক্তিকতা Vitalik's notes (opens in a new tab)-এ পড়ুন।

মোট রিওয়ার্ড তখন পাঁচটি উপাদানের যোগফল হিসাবে গণনা করা হয়, যার প্রত্যেকটির একটি ওয়েটিং আছে যা নির্ধারণ করে প্রতিটি উপাদান মোট রিওয়ার্ডে কতটা যোগ করবে। উপাদানগুলো হলো:

11. source vote: the validator has made a timely vote for the correct source checkpoint
22. target vote: the validator has made a timely vote for the correct target checkpoint
33. head vote: the validator has made a timely vote for the correct head block
44. sync committee reward: the validator has participated in a sync committee
55. proposer reward: the validator has proposed a block in the correct slot

প্রতিটি উপাদানের জন্য ওয়েটিংগুলি নিম্নরূপ:

1TIMELY_SOURCE_WEIGHT uint64(14)
2TIMELY_TARGET_WEIGHT uint64(26)
3TIMELY_HEAD_WEIGHT uint64(14)
4SYNC_REWARD_WEIGHT uint64(2)
5PROPOSER_WEIGHT uint64(8)

এই ওয়েটগুলোর যোগফল 64। রিওয়ার্ডটি প্রযোজ্য ওয়েটগুলোর যোগফলকে 64 দ্বারা ভাগ করে গণনা করা হয়। একজন ভ্যালিডেটর যিনি সময়মত সোর্স, টার্গেট এবং হেড ভোট দিয়েছেন, একটি ব্লক প্রস্তাব করেছেন এবং একটি সিঙ্ক কমিটিতে অংশগ্রহণ করেছেন, তিনি 64/64 * base_reward == base_reward পেতে পারেন। তবে, একজন ভ্যালিডেটর সাধারণত ব্লক প্রোপোজার হন না, তাই তাদের সর্বোচ্চ রিওয়ার্ড হলো 64-8 /64 * base_reward == 7/8 * base_reward। যে ভ্যালিডেটররা ব্লক প্রোপোজার বা সিঙ্ক কমিটিতে নেই তারা 64-8-2 / 64 * base_reward == 6.75/8 * base_reward পেতে পারে।

দ্রুত অ্যাটেস্টেশনকে উৎসাহিত করতে একটি অতিরিক্ত রিওয়ার্ড যোগ করা হয়। এটি হলো inclusion_delay_reward। এর মান base_reward-কে 1/delay দ্বারা গুণ করার সমান, যেখানে delay হলো ব্লক প্রস্তাবনা এবং অ্যাটেস্টেশনকে পৃথককারী স্লটের সংখ্যা। উদাহরণস্বরূপ, যদি অ্যাটেস্টেশনটি ব্লক প্রস্তাবনার এক স্লটের মধ্যে জমা দেওয়া হয়, তবে অ্যাটেস্টর base_reward * 1/1 == base_reward পাবেন। যদি অ্যাটেস্টেশনটি পরবর্তী স্লটে আসে, তবে অ্যাটেস্টর base_reward * 1/2 পাবেন এবং এভাবেই চলতে থাকবে।

ব্লক প্রোপোজাররা ব্লকে অন্তর্ভুক্ত প্রতিটি বৈধ অ্যাটেস্টেশনের জন্য 8 / 64 * base_reward পায়, তাই রিওয়ার্ডের প্রকৃত মান অ্যাটেস্টিং ভ্যালিডেটরের সংখ্যার সাথে স্কেল করে। ব্লক প্রোপোজাররা তাদের প্রস্তাবিত ব্লকে অন্যান্য ভ্যালিডেটরদের অসদাচরণের প্রমাণ অন্তর্ভুক্ত করে তাদের রিওয়ার্ড বাড়াতে পারে। এই রিওয়ার্ডগুলো হলো সেই "প্রোৎসাহন" যা ভ্যালিডেটরদের সততাকে উৎসাহিত করে। একজন ব্লক প্রোপোজার যিনি স্ল্যাশিং অন্তর্ভুক্ত করবেন তাকে slashed_validators_effective_balance / 512 দিয়ে পুরস্কৃত করা হবে।

পেনাল্টি

এখন পর্যন্ত আমরা নিখুঁতভাবে সুশৃঙ্খল ভ্যালিডেটরদের বিবেচনা করেছি, কিন্তু সেই ভ্যালিডেটরদের কী হবে যারা সময়মত হেড, সোর্স এবং টার্গেট ভোট দেয় না বা ধীরে ধীরে করে?

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

কনসেন্সাস স্পেকস (opens in a new tab)-এ রিওয়ার্ড এবং পেনাল্টি সম্পর্কে আরও পড়ুন। Bellatrix আপগ্রেডে রিওয়ার্ড এবং পেনাল্টি সমন্বয় করা হয়েছিল - ড্যানি রায়ান এবং ভিটালিককে এই Peep an EIP ভিডিও (opens in a new tab)-তে এটি নিয়ে আলোচনা করতে দেখুন।

স্ল্যাশিং

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

  • একই স্লটের জন্য দুটি ভিন্ন ব্লক প্রস্তাব ও স্বাক্ষর করার মাধ্যমে
  • এমন একটি ব্লকে অ্যাটেস্ট করার মাধ্যমে যা অন্য একটিকে "ঘিরে রাখে" (কার্যকরভাবে ইতিহাস পরিবর্তন করা)
  • একই ব্লকের জন্য দুটি ক্যান্ডিডেটে অ্যাটেস্ট করার মাধ্যমে "ডাবল ভোটিং" করা

যদি এই কাজগুলি সনাক্ত করা হয়, ভ্যালিডেটরকে স্ল্যাশড করা হয়। এর মানে হলো একজন 32 ETH ভ্যালিডেটরের জন্য তাৎক্ষণিকভাবে 0.0078125 বার্ন করা হয় (সক্রিয় ব্যালেন্সের সাথে রৈখিকভাবে স্কেল করা হয়), তারপর একটি 36 দিনের অপসারণ সময়কাল শুরু হয়। এই অপসারণ সময়কালে ভ্যালিডেটরের স্টেক ধীরে ধীরে কমে যায়। মধ্যবর্তী সময়ে (দিন ১৮) একটি অতিরিক্ত পেনাল্টি প্রয়োগ করা হয় যার মাত্রা স্ল্যাশিং ইভেন্টের আগের ৩৬ দিনে সমস্ত স্ল্যাশড ভ্যালিডেটরের মোট স্টেক করা ইথারের সাথে স্কেল করে। এর মানে হল যখন আরও বেশি ভ্যালিডেটর স্ল্যাশড হয়, তখন স্ল্যাশের মাত্রা বৃদ্ধি পায়। সর্বোচ্চ স্ল্যাশ হলো সমস্ত স্ল্যাশড ভ্যালিডেটরের সম্পূর্ণ কার্যকরী ব্যালেন্স (অর্থাৎ, যদি অনেক ভ্যালিডেটর স্ল্যাশড হতে থাকে তবে তারা তাদের সম্পূর্ণ স্টেক হারাতে পারে)। অন্যদিকে, একটি একক, বিচ্ছিন্ন স্ল্যাশিং ইভেন্ট শুধুমাত্র ভ্যালিডেটরের স্টেকের একটি ছোট অংশ বার্ন করে। স্ল্যাশড ভ্যালিডেটরের সংখ্যার সাথে স্কেল করা এই মধ্যবর্তী পেনাল্টিকে "কোরিলেশন পেনাল্টি" বলা হয়।

ইনঅ্যাক্টিভিটি লিক

যদি কনসেন্সাস লেয়ার চূড়ান্ত না করে চারটির বেশি ইপোক পার করে, তাহলে "ইনঅ্যাক্টিভিটি লিক" নামক একটি জরুরি প্রোটোকল সক্রিয় করা হয়। ইনঅ্যাক্টিভিটি লিকের চূড়ান্ত লক্ষ্য হল চেইনকে ফাইনালিটি পুনরুদ্ধারের জন্য প্রয়োজনীয় শর্ত তৈরি করা। উপরে যেমন ব্যাখ্যা করা হয়েছে, ফাইনালিটির জন্য সোর্স এবং টার্গেট চেকপয়েন্টগুলিতে সম্মত হতে মোট স্টেক করা ইথারের ২/৩ সংখ্যাগরিষ্ঠতা প্রয়োজন। যদি মোট ভ্যালিডেটরের ১/৩ এর বেশি প্রতিনিধিত্বকারী ভ্যালিডেটররা অফলাইন হয়ে যায় বা সঠিক অ্যাটেস্টেশন জমা দিতে ব্যর্থ হয়, তাহলে ২/৩ সুপারম্যাজরিটির পক্ষে চেকপয়েন্ট চূড়ান্ত করা সম্ভব নয়। ইনঅ্যাক্টিভিটি লিক নিষ্ক্রিয় ভ্যালিডেটরদের স্টেক ধীরে ধীরে কমে যেতে দেয় যতক্ষণ না তারা মোট স্টেকের ১/৩ এর কম নিয়ন্ত্রণ করে, যা অবশিষ্ট সক্রিয় ভ্যালিডেটরদের চেইন চূড়ান্ত করতে দেয়। নিষ্ক্রিয় ভ্যালিডেটরদের পুল যতই বড় হোক না কেন, অবশিষ্ট সক্রিয় ভ্যালিডেটররা অবশেষে স্টেকের >২/৩ নিয়ন্ত্রণ করবে। স্টেকের ক্ষতি নিষ্ক্রিয় ভ্যালিডেটরদের যত তাড়াতাড়ি সম্ভব পুনরায় সক্রিয় হওয়ার জন্য একটি শক্তিশালী উৎসাহ! Medalla টেস্টনেটে একটি ইনঅ্যাক্টিভিটি লিকের পরিস্থিতি দেখা গিয়েছিল যখন < ৬৬% সক্রিয় ভ্যালিডেটর ব্লকচেইনের বর্তমান হেডের উপর কনসেন্সাসে আসতে সক্ষম হয়েছিল। ইনঅ্যাক্টিভিটি লিক সক্রিয় করা হয়েছিল এবং অবশেষে ফাইনালিটি পুনরুদ্ধার করা হয়েছিল!

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

আরও পড়ুন

সোর্স

এই প্রবন্ধটা কি সহায়ক ছিল?