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

প্রুফ-অফ-স্টেক পুরস্কার এবং জরিমানা

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

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

এমন কিছু কাজও রয়েছে যা দুর্ঘটনাবশত করা খুব কঠিন এবং কোনো ক্ষতিকারক উদ্দেশ্য নির্দেশ করে, যেমন একই স্লটের জন্য একাধিক ব্লকের প্রস্তাব দেওয়া বা একই স্লটের জন্য একাধিক ব্লকের সত্যায়ন করা। এগুলো হলো "স্ল্যাশিং" যোগ্য আচরণ, যার ফলে ভ্যালিডেটরকে নেটওয়ার্ক থেকে সরিয়ে দেওয়ার আগে তার কিছু পরিমাণ ইথার (1 ETH পর্যন্ত) পুড়িয়ে ফেলা হয়, যা হতে 36 দিন সময় লাগে। স্ল্যাশিং হওয়া ভ্যালিডেটরের ইথার প্রস্থান সময়কাল জুড়ে ধীরে ধীরে কমে যায়, তবে 18 তম দিনে তারা একটি "কোরিলেশন পেনাল্টি" (correlation penalty) পায়, যা একই সময়ে আরও বেশি ভ্যালিডেটর স্ল্যাশিং হলে বড় হয়। তাই কনসেনসাস মেকানিজমের ইনসেনটিভ কাঠামো সততার জন্য অর্থ প্রদান করে এবং খারাপ অভিনেতাদের শাস্তি দেয়।

সমস্ত পুরস্কার এবং জরিমানা প্রতি ইপকে একবার প্রয়োগ করা হয়।

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

পুরস্কার এবং জরিমানা

পুরস্কার

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

base_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-কে প্রভাবিত করে। এর পেছনের যুক্তি ভিটালিকের নোটে (opens in a new tab) পড়ুন।

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

1. source vote: ভ্যালিডেটর সঠিক সোর্স চেকপয়েন্টের জন্য সময়মতো ভোট দিয়েছে
2. target vote: ভ্যালিডেটর সঠিক টার্গেট চেকপয়েন্টের জন্য সময়মতো ভোট দিয়েছে
3. head vote: ভ্যালিডেটর সঠিক হেড ব্লকের জন্য সময়মতো ভোট দিয়েছে
4. sync committee reward: ভ্যালিডেটর একটি সিঙ্ক কমিটিতে অংশগ্রহণ করেছে
5. proposer reward: ভ্যালিডেটর সঠিক স্লটে একটি ব্লকের প্রস্তাব দিয়েছে

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

TIMELY_SOURCE_WEIGHT	uint64(14)
TIMELY_TARGET_WEIGHT	uint64(26)
TIMELY_HEAD_WEIGHT	uint64(14)
SYNC_REWARD_WEIGHT	uint64(2)
PROPOSER_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 পায়, তাই পুরস্কারের প্রকৃত মান সত্যায়নকারী ভ্যালিডেটরদের সংখ্যার সাথে বৃদ্ধি পায়। ব্লক প্রস্তাবকরা তাদের প্রস্তাবিত ব্লকে অন্যান্য ভ্যালিডেটরদের অসদাচরণের প্রমাণ অন্তর্ভুক্ত করেও তাদের পুরস্কার বাড়াতে পারে। এই পুরস্কারগুলো হলো "গাজর" (carrots) যা ভ্যালিডেটরের সততাকে উৎসাহিত করে। একটি ব্লক প্রস্তাবক যা স্ল্যাশিং অন্তর্ভুক্ত করে তাকে slashed_validators_effective_balance / 512 দিয়ে পুরস্কৃত করা হবে।

জরিমানা

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

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

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

স্ল্যাশিং

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

  • একই স্লটের জন্য দুটি ভিন্ন ব্লকের প্রস্তাব এবং স্বাক্ষরকরণ করে
  • এমন একটি ব্লকের সত্যায়ন করে যা অন্য একটিকে "ঘিরে রাখে" (কার্যকরভাবে ইতিহাস পরিবর্তন করে)
  • একই ব্লকের জন্য দুজন প্রার্থীর সত্যায়ন করে "দ্বৈত ভোট" (double voting) দিয়ে

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

নিষ্ক্রিয়তাজনিত ক্ষয়

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

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

আরও পড়ুন

উৎস