Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
title: "প্রত্যয়নসমূহ"
description: "প্রুফ-অফ-স্টেক ইথেরিয়ামের উপর প্রত্যয়নসমূহের একটি বিবরণ।"
lang: bn
---

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

## প্রত্যয়ন কী? {#what-is-an-attestation}

প্রতিটি [ইপকে](/glossary/#epoch) (6.4 মিনিট) একজন ভ্যালিডেটর নেটওয়ার্কে একটি প্রত্যয়ন প্রস্তাব করেন। প্রত্যয়নটি ইপকের একটি নির্দিষ্ট স্লটের জন্য। প্রত্যয়নের উদ্দেশ্য হল ভ্যালিডেটরের চেইনের দৃষ্টিভঙ্গির পক্ষে ভোট দেওয়া, বিশেষ করে সবচেয়ে সাম্প্রতিক জাস্টিফাইড ব্লক এবং বর্তমান ইপকের প্রথম ব্লক (`সোর্স` এবং `টার্গেট` চেকপয়েন্ট হিসাবে পরিচিত)। এই তথ্যটি সমস্ত অংশগ্রহণকারী ভ্যালিডেটরদের জন্য একত্রিত করা হয়, যা নেটওয়ার্ককে ব্লকচেইনের স্টেট সম্পর্কে কনসেন্সাসে পৌঁছাতে সক্ষম করে।

প্রত্যয়নটিতে নিম্নলিখিত উপাদানগুলি রয়েছে:

- `aggregation_bits`: ভ্যালিডেটরদের একটি বিটলিস্ট যেখানে অবস্থানটি তাদের কমিটিতে ভ্যালিডেটর সূচকে ম্যাপ করে; মান (0/1) নির্দেশ করে যে ভ্যালিডেটর `data`-তে স্বাক্ষর করেছেন কিনা (অর্থাৎ, তারা সক্রিয় কিনা এবং ব্লক প্রোপোজারের সাথে একমত কিনা)
- `data`: প্রত্যয়ন সম্পর্কিত বিবরণ, যেমনটি নীচে সংজ্ঞায়িত করা হয়েছে
- `signature`: একটি BLS সিগনেচার যা স্বতন্ত্র ভ্যালিডেটরদের সিগনেচার একত্রিত করে

একটি প্রত্যয়নকারী ভ্যালিডেটরের জন্য প্রথম কাজ হল `data` তৈরি করা। `data`-তে নিম্নলিখিত তথ্য রয়েছে:

- `slot`: যে স্লট নম্বরটিকে প্রত্যয়নটি উল্লেখ করে
- `index`: একটি সংখ্যা যা চিহ্নিত করে যে একটি প্রদত্ত স্লটে ভ্যালিডেটর কোন কমিটির অন্তর্গত
- `beacon_block_root`: চেইনের শীর্ষে ভ্যালিডেটর যে ব্লকটি দেখেন তার রুট হ্যাস (ফর্ক-চয়েস অ্যালগরিদম প্রয়োগের ফল)
- `source`: ফাইনালিটি ভোটের অংশ যা নির্দেশ করে যে ভ্যালিডেটররা সবচেয়ে সাম্প্রতিক জাস্টিফাইড ব্লক হিসাবে কী দেখছেন
- `target`: ফাইনালিটি ভোটের অংশ যা নির্দেশ করে যে ভ্যালিডেটররা বর্তমান ইপকের প্রথম ব্লক হিসাবে কী দেখছেন

`data` তৈরি হয়ে গেলে, ভ্যালিডেটর তাদের অংশগ্রহণের প্রমাণস্বরূপ `aggregation_bits`-এ তাদের নিজস্ব ভ্যালিডেটর সূচকের সাথে সঙ্গতিপূর্ণ বিটটি 0 থেকে 1-এ ফ্লিপ করতে পারেন।

অবশেষে, ভ্যালিডেটর প্রত্যয়নটিতে স্বাক্ষর করে এবং এটি নেটওয়ার্কে ব্রডকাস্ট করে।

### একত্রিত প্রত্যয়ন {#aggregated-attestation}

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

প্রতিটি ইপকে প্রতিটি সাবনেটে 16 জন ভ্যালিডেটরকে `aggregators` হিসাবে নির্বাচিত করা হয়। অ্যাগ্রিগেটররা গসিপ নেটওয়ার্কের মাধ্যমে শোনা সমস্ত প্রত্যয়ন সংগ্রহ করে যেগুলির `data` তাদের নিজস্ব ডেটার সমতুল্য। প্রতিটি ম্যাচিং প্রত্যয়নের প্রেরককে `aggregation_bits`-এ রেকর্ড করা হয়। অ্যাগ্রিগেটররা তারপর প্রত্যয়নের সমষ্টিটিকে বৃহত্তর নেটওয়ার্কে ব্রডকাস্ট করে।

যখন একজন ভ্যালিডেটরকে ব্লক প্রোপোজার হিসাবে নির্বাচিত করা হয়, তখন তারা নতুন ব্লকের সর্বশেষ স্লট পর্যন্ত সাবনেট থেকে সমষ্টিগত প্রত্যয়নসমূহ প্যাকেজ করে।

### প্রত্যয়ন অন্তর্ভুক্তির জীবনচক্র {#attestation-inclusion-lifecycle}

1. জেনারেসন
2. বিস্তার
3. একত্রীকরণ
4. বিস্তার
5. অন্তর্ভুক্তি

প্রত্যয়নের জীবনচক্রটি নীচের পরিকল্পিত চিত্রে রূপরেখা দেওয়া হয়েছে:

![প্রত্যয়নের জীবনচক্র](./attestation_schematic.png)

## পুরস্কার {#rewards}

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

জমা দেওয়া প্রত্যয়ন এবং এর অন্তর্ভুক্তি বিলম্বের উপর নির্ভর করে অংশগ্রহণের প্রতিটি ফ্ল্যাগ সত্য বা মিথ্যা হতে পারে।

সেরা পরিস্থিতিটি ঘটে যখন তিনটি ফ্ল্যাগই সত্য হয়, সেক্ষেত্রে একজন ভ্যালিডেটর উপার্জন করবেন (প্রতিটি সঠিক ফ্ল্যাগের জন্য):

`রিওয়ার্ড += বেস রিওয়ার্ড * ফ্ল্যাগ ওয়েট * ফ্ল্যাগ অ্যাটেস্টিং রেট / 64`

ফ্ল্যাগ অ্যাটেস্টিং রেট পরিমাপ করা হয় প্রদত্ত ফ্ল্যাগের জন্য সমস্ত অ্যাটেস্টিং ভ্যালিডেটরের কার্যকর ব্যালেন্সের যোগফলকে মোট সক্রিয় কার্যকর ব্যালেন্সের সাথে তুলনা করে।

### বেস রিওয়ার্ড {#base-reward}

বেস রিওয়ার্ড গণনা করা হয় অ্যাটেস্টিং ভ্যালিডেটরের সংখ্যা এবং তাদের কার্যকর স্টেক করা ইথার ব্যালেন্স অনুযায়ী:

`বেস রিওয়ার্ড = ভ্যালিডেটর কার্যকর ব্যালেন্স x 2^6 / SQRT(সমস্ত সক্রিয় ভ্যালিডেটরের কার্যকর ব্যালেন্স)`

#### অন্তর্ভুক্তি বিলম্ব {#inclusion-delay}

যে সময়ে ভ্যালিডেটররা চেইনের শীর্ষে (`ব্লক n`) ভোট দিয়েছিলেন, তখন `ব্লক n+1` এখনও প্রস্তাব করা হয়নি। অতএব প্রত্যয়নসমূহ স্বাভাবিকভাবেই **এক ব্লক পরে** অন্তর্ভুক্ত হয় তাই `ব্লক n` চেইনের হেড হওয়ার পক্ষে ভোট দেওয়া সমস্ত প্রত্যয়ন `ব্লক n+1`-এ অন্তর্ভুক্ত হয় এবং, **অন্তর্ভুক্তি বিলম্ব** 1 হয়। যদি অন্তর্ভুক্তি বিলম্ব দ্বিগুণ হয়ে দুটি স্লটে পৌঁছায়, তবে প্রত্যয়নের পুরস্কার অর্ধেক হয়ে যায়, কারণ প্রত্যয়নের পুরস্কার গণনা করতে বেস রিওয়ার্ডকে অন্তর্ভুক্তি বিলম্বের অন্যোন্যক দ্বারা গুণ করা হয়।

### প্রত্যয়নের পরিস্থিতি {#attestation-scenarios}

#### অনুপস্থিত ভোটিং ভ্যালিডেটর {#missing-voting-validator}

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

#### অনুপস্থিত অ্যাগ্রিগেটর {#missing-aggregator}

মোট প্রতি ইপকে 16 জন অ্যাগ্রিগেটর থাকে। এছাড়াও, র‍্যান্ডম ভ্যালিডেটররা **256 ইপকের জন্য দুটি সাবনেটে** সাবস্ক্রাইব করে এবং অ্যাগ্রিগেটর অনুপস্থিত থাকলে ব্যাকআপ হিসাবে কাজ করে।

#### অনুপস্থিত ব্লক প্রোপোজার {#missing-block-proposer}

মনে রাখবেন যে কিছু ক্ষেত্রে একজন ভাগ্যবান অ্যাগ্রিগেটরও ব্লক প্রোপোজার হতে পারে। যদি ব্লক প্রোপোজার অনুপস্থিত থাকার কারণে প্রত্যয়নটি অন্তর্ভুক্ত না করা হয়, তবে পরবর্তী ব্লক প্রোপোজার একত্রিত প্রত্যয়নটি তুলে নিয়ে পরবর্তী ব্লকে অন্তর্ভুক্ত করবে। তবে, **অন্তর্ভুক্তি বিলম্ব** এক বেড়ে যাবে।

## আরও পড়ুন {#further-reading}

- [ভিটালিকের অ্যানোটেটেড কনসেন্সাস স্পেকে প্রত্যয়নসমূহ](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#attestationdata)
- [eth2book.info-তে প্রত্যয়নসমূহ](https://eth2book.info/capella/part3/containers/dependencies/#attestationdata)

_এমন কোনো কমিউনিটি রিসোর্স সম্পর্কে জানেন যা আপনাকে সাহায্য করেছে? এই পৃষ্ঠাটি সম্পাদনা করুন এবং এটি যোগ করুন!_
Loading