---
title: "بلاک کی تجویز"
description: "اس بات کی وضاحت کہ حصہ داری کا ثبوت (PoS) ایتھیریم میں بلاکس کیسے تجویز کیے جاتے ہیں۔"
lang: ur
---

بلاکس بلاک چین کی بنیادی اکائیاں ہیں۔ بلاکس معلومات کی مجرد اکائیاں ہیں جو نوڈز کے درمیان منتقل ہوتی ہیں، ان پر اتفاق رائے کیا جاتا ہے اور ہر نوڈ کے ڈیٹا بیس میں شامل کیا جاتا ہے۔ یہ صفحہ بتاتا ہے کہ انہیں کیسے تیار کیا جاتا ہے۔

## پیشگی شرائط {#prerequisites}

بلاک کی تجویز حصہ داری کا ثبوت (PoS) پروٹوکول کا حصہ ہے۔ اس صفحے کو سمجھنے میں مدد کے لیے، ہم تجویز کرتے ہیں کہ آپ [حصہ داری کا ثبوت (PoS)](/developers/docs/consensus-mechanisms/pos/) اور [بلاک کے فن تعمیر](/developers/docs/blocks/) کے بارے میں پڑھیں۔

## بلاکس کون تیار کرتا ہے؟ {#who-produces-blocks}

توثیق کار اکاؤنٹس بلاکس تجویز کرتے ہیں۔ توثیق کار اکاؤنٹس کا انتظام نوڈ آپریٹرز کرتے ہیں جو اپنے ایگزیکیوشن کلائنٹ اور اتفاق رائے کے کلائنٹس کے حصے کے طور پر توثیق کار سافٹ ویئر چلاتے ہیں اور انہوں نے ڈپازٹ کنٹریکٹ میں کم از کم <span dir="ltr">32 ETH</span> جمع کرائے ہیں۔ تاہم، ہر توثیق کار صرف کبھی کبھار ہی بلاک تجویز کرنے کا ذمہ دار ہوتا ہے۔ [ایتھیریم](/) وقت کو سلاٹس اور ادوار میں ماپتا ہے۔ ہر سلاٹ بارہ سیکنڈ کا ہوتا ہے، اور <span dir="ltr">32</span> سلاٹس (<span dir="ltr">6.4</span> منٹ) مل کر ایک دور بناتے ہیں۔ ہر سلاٹ ایتھیریم پر ایک نیا بلاک شامل کرنے کا موقع ہوتا ہے۔

### بے ترتیب انتخاب {#random-selection}

ہر سلاٹ میں ایک بلاک تجویز کرنے کے لیے ایک واحد توثیق کار کو ظاہری طور پر بے ترتیب (pseudo-randomly) چنا جاتا ہے۔ بلاک چین میں حقیقی بے ترتیبی جیسی کوئی چیز نہیں ہوتی کیونکہ اگر ہر نوڈ واقعی بے ترتیب نمبر تیار کرے، تو وہ اتفاق رائے پر نہیں پہنچ سکتے۔ اس کے بجائے، مقصد توثیق کار کے انتخاب کے عمل کو غیر متوقع بنانا ہے۔ ایتھیریم پر بے ترتیبی ایک الگورتھم کا استعمال کرتے ہوئے حاصل کی جاتی ہے جسے RANDAO کہا جاتا ہے جو بلاک تجویز کنندہ کے ہیش کو ایک سیڈ (seed) کے ساتھ ملاتا ہے جو ہر بلاک پر اپ ڈیٹ ہوتا ہے۔ یہ قدر کل توثیق کاروں کے مجموعے میں سے ایک مخصوص توثیق کار کو منتخب کرنے کے لیے استعمال ہوتی ہے۔ توثیق کار کا انتخاب دو ادوار پہلے ہی طے کر لیا جاتا ہے تاکہ سیڈ کی مخصوص قسم کی ہیرا پھیری سے بچا جا سکے۔

اگرچہ توثیق کار ہر سلاٹ میں RANDAO میں اضافہ کرتے ہیں، لیکن عالمی RANDAO کی قدر فی دور صرف ایک بار اپ ڈیٹ ہوتی ہے۔ اگلے بلاک تجویز کنندہ کے اشاریہ کا حساب لگانے کے لیے، RANDAO کی قدر کو سلاٹ نمبر کے ساتھ ملایا جاتا ہے تاکہ ہر سلاٹ میں ایک منفرد قدر حاصل کی جا سکے۔ کسی انفرادی توثیق کار کے منتخب ہونے کا امکان محض `1/N` نہیں ہے (جہاں `N` = کل فعال توثیق کار)۔ اس کے بجائے، اس کا وزن ہر توثیق کار کے موثر ETH بیلنس کے حساب سے کیا جاتا ہے۔ زیادہ سے زیادہ موثر بیلنس <span dir="ltr">32 ETH</span> ہے (اس کا مطلب ہے کہ `balance < 32 ETH` کا وزن `balance == 32 ETH` سے کم ہوتا ہے، لیکن `balance > 32 ETH` کا وزن `balance == 32 ETH` سے زیادہ نہیں ہوتا)۔

ہر سلاٹ میں صرف ایک بلاک تجویز کنندہ منتخب کیا جاتا ہے۔ عام حالات میں، ایک واحد بلاک تیار کنندہ اپنے مختص کردہ سلاٹ میں ایک ہی بلاک بناتا اور جاری کرتا ہے۔ ایک ہی سلاٹ کے لیے دو بلاکس بنانا ایک کٹوتی کے قابل جرم ہے، جسے اکثر "دوغلا پن" کہا جاتا ہے۔

## بلاک کیسے بنایا جاتا ہے؟ {#how-is-a-block-created}

بلاک تجویز کنندہ سے توقع کی جاتی ہے کہ وہ ایک دستخط شدہ بیکن بلاک نشر کرے گا جو ان کے اپنے مقامی طور پر چلنے والے فورک کے انتخاب کا الگورتھم کے نقطہ نظر کے مطابق چین کے تازہ ترین سرے پر بنایا گیا ہو۔ فورک کے انتخاب کا الگورتھم پچھلے سلاٹ سے بچی ہوئی قطار میں لگی کسی بھی تصدیق کو لاگو کرتا ہے، پھر اپنی تاریخ میں تصدیقات کے سب سے زیادہ جمع شدہ وزن والے بلاک کو تلاش کرتا ہے۔ وہ بلاک تجویز کنندہ کے ذریعے بنائے گئے نئے بلاک کا پیرنٹ ہوتا ہے۔

بلاک تجویز کنندہ اپنے مقامی ڈیٹا بیس اور چین کے نقطہ نظر سے ڈیٹا اکٹھا کر کے ایک بلاک بناتا ہے۔ بلاک کے مندرجات ذیل کے اسنیپٹ میں دکھائے گئے ہیں:

```rust
class BeaconBlockBody(Container):
    randao_reveal: BLSSignature
    eth1_data: Eth1Data
    graffiti: Bytes32
    proposer_slashings: List[ProposerSlashing, MAX_PROPOSER_SLASHINGS]
    attester_slashings: List[AttesterSlashing, MAX_ATTESTER_SLASHINGS]
    attestations: List[Attestation, MAX_ATTESTATIONS]
    deposits: List[Deposit, MAX_DEPOSITS]
    voluntary_exits: List[SignedVoluntaryExit, MAX_VOLUNTARY_EXITS]
    sync_aggregate: SyncAggregate
    execution_payload: ExecutionPayload
```

`randao_reveal` فیلڈ ایک قابل تصدیق بے ترتیب قدر لیتی ہے جسے بلاک تجویز کنندہ موجودہ دور کے نمبر پر دستخط کر کے بناتا ہے۔ `eth1_data` ڈپازٹ کنٹریکٹ کے بارے میں بلاک تجویز کنندہ کے نقطہ نظر کے لیے ایک ووٹ ہے، جس میں ڈپازٹ مرکل ٹرائی کی روٹ اور ڈپازٹس کی کل تعداد شامل ہے جو نئے ڈپازٹس کی تصدیق کو ممکن بناتی ہے۔ `graffiti` ایک اختیاری فیلڈ ہے جسے بلاک میں کوئی پیغام شامل کرنے کے لیے استعمال کیا جا سکتا ہے۔ `proposer_slashings` اور `attester_slashings` وہ فیلڈز ہیں جن میں اس بات کا ثبوت ہوتا ہے کہ چین کے بارے میں تجویز کنندہ کے نقطہ نظر کے مطابق کچھ توثیق کاروں نے کٹوتی کے قابل جرائم کا ارتکاب کیا ہے۔ `deposits` نئے توثیق کاروں کے ڈپازٹس کی ایک فہرست ہے جن سے بلاک تجویز کنندہ واقف ہے، اور `voluntary_exits` ان توثیق کاروں کی فہرست ہے جو خروج کرنا چاہتے ہیں جن کے بارے میں بلاک تجویز کنندہ نے اتفاق رائے کی تہہ کے گپ شپ نیٹ ورک پر سنا ہے۔ `sync_aggregate` ایک ویکٹر ہے جو یہ ظاہر کرتا ہے کہ کن توثیق کاروں کو پہلے ہم آہنگی کمیٹی (توثیق کاروں کا ایک ذیلی سیٹ جو لائٹ کلائنٹ کا ڈیٹا فراہم کرتا ہے) میں تفویض کیا گیا تھا اور انہوں نے ڈیٹا پر دستخط کرنے میں حصہ لیا تھا۔

`execution_payload` ایگزیکیوشن کلائنٹ اور اتفاق رائے کے کلائنٹس کے درمیان لین دین کے بارے میں معلومات کو منتقل کرنے کے قابل بناتا ہے۔ `execution_payload` ایگزیکیوشن ڈیٹا کا ایک بلاک ہے جو بیکن بلاک کے اندر نیسٹ کیا جاتا ہے۔ `execution_payload` کے اندر موجود فیلڈز ایتھیریم یلو پیپر میں بیان کردہ بلاک کی ساخت کی عکاسی کرتی ہیں، سوائے اس کے کہ اس میں کوئی ommers نہیں ہیں اور `difficulty` کی جگہ `prev_randao` موجود ہے۔ ایگزیکیوشن کلائنٹ کو لین دین کے ایک مقامی پول تک رسائی حاصل ہوتی ہے جس کے بارے میں اس نے اپنے گپ شپ نیٹ ورک پر سنا ہوتا ہے۔ ان لین دین کو مقامی طور پر انجام دیا جاتا ہے تاکہ ایک اپ ڈیٹ شدہ حالت کی ٹرائی تیار کی جا سکے جسے پوسٹ اسٹیٹ کہا جاتا ہے۔ لین دین کو `execution_payload` میں `transactions` نامی فہرست کے طور پر شامل کیا جاتا ہے اور پوسٹ اسٹیٹ کو `state-root` فیلڈ میں فراہم کیا جاتا ہے۔

یہ تمام ڈیٹا ایک بیکن بلاک میں اکٹھا کیا جاتا ہے، اس پر دستخط کیے جاتے ہیں، اور بلاک تجویز کنندہ کے ساتھیوں کو نشر کیا جاتا ہے، جو اسے اپنے ساتھیوں تک پھیلاتے ہیں، وغیرہ۔

[بلاکس کی ساخت](/developers/docs/blocks) کے بارے میں مزید پڑھیں۔

## بلاک کا کیا ہوتا ہے؟ {#what-happens-to-blocks}

بلاک کو بلاک تجویز کنندہ کے مقامی ڈیٹا بیس میں شامل کیا جاتا ہے اور اتفاق رائے کی تہہ کے گپ شپ نیٹ ورک پر ساتھیوں کو نشر کیا جاتا ہے۔ جب کوئی توثیق کار بلاک وصول کرتا ہے، تو وہ اس کے اندر موجود ڈیٹا کی تصدیق کرتا ہے، جس میں یہ جانچنا شامل ہے کہ بلاک کا درست پیرنٹ ہے، درست سلاٹ سے مطابقت رکھتا ہے، تجویز کنندہ کا اشاریہ متوقع ہے، RANDAO کا انکشاف درست ہے اور تجویز کنندہ کی کٹوتی نہیں کی گئی ہے۔ `execution_payload` کو ان بنڈل کیا جاتا ہے، اور توثیق کار کا ایگزیکیوشن کلائنٹ مجوزہ حالت کی تبدیلی کو جانچنے کے لیے فہرست میں موجود لین دین کو دوبارہ انجام دیتا ہے۔ یہ فرض کرتے ہوئے کہ بلاک ان تمام جانچوں کو پاس کر لیتا ہے، ہر توثیق کار بلاک کو اپنی کینونیکل چین میں شامل کر لیتا ہے۔ پھر یہ عمل اگلے سلاٹ میں دوبارہ شروع ہوتا ہے۔

## بلاک کے انعامات {#block-rewards}

بلاک تجویز کنندہ کو ان کے کام کی ادائیگی موصول ہوتی ہے۔ ایک `base_reward` ہوتا ہے جس کا حساب فعال توثیق کاروں کی تعداد اور ان کے موثر بیلنس کے فنکشن کے طور پر کیا جاتا ہے۔ پھر بلاک تجویز کنندہ کو بلاک میں شامل ہر درست تصدیق کے لیے `base_reward` کا ایک حصہ ملتا ہے؛ جتنے زیادہ توثیق کار بلاک کی تصدیق کرتے ہیں، بلاک تجویز کنندہ کا انعام اتنا ہی زیادہ ہوتا ہے۔ ان توثیق کاروں کی اطلاع دینے پر بھی ایک انعام ہے جن کی کٹوتی کی جانی چاہیے، جو ہر کٹوتی شدہ توثیق کار کے لیے `1/512 * effective balance` کے برابر ہوتا ہے۔

[انعامات اور جرمانوں کے بارے میں مزید](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties)

## مزید مطالعہ {#further-reading}

- [بلاکس کا تعارف](/developers/docs/blocks/)
- [حصہ داری کا ثبوت (PoS) کا تعارف](/developers/docs/consensus-mechanisms/pos/)
- [ایتھیریم کے اتفاق رائے کی خصوصیات](https://github.com/ethereum/consensus-specs)
- [Gasper کا تعارف](/developers/docs/consensus-mechanisms/pos/gasper/)
- [ایتھیریم کو اپ گریڈ کرنا](https://eth2book.info/)