آپ کے بلاکچین پر کتنے TPS ہیں؟

غیر تکنیکی شخص سے کسی بھی تقسیم شدہ نظام کے بارے میں ایک پسندیدہ سوال یہ ہے کہ "آپ کے بلاکچین پر کتنے ٹی پی ایس ہیں؟" تاہم، جواب میں دیا گیا نمبر عام طور پر اس بات سے بہت کم مماثلت رکھتا ہے جو سائل سننا چاہتا ہے۔ درحقیقت، وہ پوچھنا چاہتا تھا کہ "کیا آپ کا بلاک چین میری کاروباری ضروریات کو پورا کرے گا،" اور یہ تقاضے ایک نمبر نہیں ہیں، بلکہ بہت سی شرائط ہیں - یہاں نیٹ ورک فالٹ ٹولرنس، حتمی ضروریات، سائز، لین دین کی نوعیت اور بہت سے دوسرے پیرامیٹرز ہیں۔ لہذا سوال کا جواب "کتنے ٹی پی ایس" کے آسان ہونے کا امکان نہیں ہے، اور تقریبا کبھی مکمل نہیں ہوتا ہے۔ ایک تقسیم شدہ نظام جس میں دسیوں یا سیکڑوں نوڈس کافی پیچیدہ حسابات انجام دے رہے ہیں وہ نیٹ ورک کی حالت، بلاک چین کے مواد، تکنیکی خرابیوں، معاشی مسائل، نیٹ ورک پر حملے اور بہت سی دوسری وجوہات سے متعلق مختلف ریاستوں کی ایک بڑی تعداد میں ہو سکتا ہے۔ . جن مراحل پر کارکردگی کے مسائل ممکن ہیں وہ روایتی خدمات سے مختلف ہیں، اور بلاک چین نیٹ ورک سرور ایک نیٹ ورک سروس ہے جو ڈیٹا بیس، ویب سرور اور ٹورینٹ کلائنٹ کی فعالیت کو یکجا کرتی ہے، جو اسے تمام سب سسٹمز پر لوڈ پروفائل کے لحاظ سے انتہائی پیچیدہ بناتی ہے۔ : پروسیسر، میموری، نیٹ ورک، اسٹوریج

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

بلاکچین کلائنٹ کے ذریعہ سروس کی درخواست کے مراحل

کسی بھی کم یا زیادہ پیچیدہ سروس کے معیار کے بارے میں ایمانداری سے بات کرنے کے لیے، آپ کو نہ صرف اوسط قدروں بلکہ زیادہ سے زیادہ/کم از کم، میڈین، پرسنٹائلز کو بھی مدنظر رکھنا ہوگا۔ نظریاتی طور پر، ہم کچھ بلاکچین میں 1000 tps کے بارے میں بات کر سکتے ہیں، لیکن اگر 900 ٹرانزیکشنز بہت زیادہ رفتار کے ساتھ مکمل ہوئیں، اور 100 چند سیکنڈز کے لیے "اٹک" گئیں، تو تمام لین دین پر جمع ہونے والا اوسط وقت کلائنٹ کے لیے مکمل طور پر منصفانہ میٹرک نہیں ہے۔ جو میں چند سیکنڈ میں لین دین مکمل نہیں کر سکا۔ متفقہ راؤنڈز یا نیٹ ورک کی تقسیم کی وجہ سے ہونے والے عارضی "سوراخ" ایک سروس کو بہت زیادہ برباد کر سکتے ہیں جس نے ٹیسٹ بینچوں پر بہترین کارکردگی دکھائی ہے۔

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

  1. لین دین کلائنٹ پر بنتا ہے۔
  2. لین دین کلائنٹ پر دستخط شدہ ہے۔
  3. کلائنٹ نوڈس میں سے ایک کو منتخب کرتا ہے اور اس پر اپنا لین دین بھیجتا ہے۔
  4. کلائنٹ نوڈ کے اسٹیٹ ڈیٹا بیس کے اپ ڈیٹس کو سبسکرائب کرتا ہے، اس کے لین دین کے نتائج ظاہر ہونے کا انتظار کرتا ہے۔
  5. نوڈ ٹرانزیکشن کو p2p نیٹ ورک پر تقسیم کرتا ہے۔
  6. کئی یا ایک بی پی (بلاک پروڈیوسر) جمع شدہ لین دین پر عمل کرتا ہے، ریاستی ڈیٹا بیس کو اپ ڈیٹ کرتا ہے۔
  7. لین دین کی مطلوبہ تعداد پر کارروائی کرنے کے بعد BP ایک نیا بلاک بناتا ہے۔
  8. BP p2p نیٹ ورک پر ایک نیا بلاک تقسیم کرتا ہے۔
  9. نیا بلاک اس نوڈ پر پہنچایا جاتا ہے جس تک کلائنٹ رسائی حاصل کر رہا ہے۔
  10. نوڈ اسٹیٹ ڈیٹا بیس کو اپ ڈیٹ کرتا ہے۔
  11. نوڈ کلائنٹ کے حوالے سے اپ ڈیٹ دیکھتا ہے اور اسے لین دین کی اطلاع بھیجتا ہے۔

اب آئیے ان مراحل پر گہری نظر ڈالتے ہیں اور ہر مرحلے میں کارکردگی کے ممکنہ مسائل کو بیان کرتے ہیں۔ مرکزی نظام کے برعکس، ہم نیٹ ورک کلائنٹس پر کوڈ کے نفاذ پر بھی غور کریں گے۔ اکثر، TPS کی پیمائش کرتے وقت، ٹرانزیکشن پروسیسنگ کا وقت نوڈس سے جمع کیا جاتا ہے، نہ کہ کلائنٹ سے - یہ مکمل طور پر منصفانہ نہیں ہے۔ کلائنٹ کو اس بات کی پرواہ نہیں ہے کہ نوڈ نے اس کے لین دین پر کتنی جلدی کارروائی کی؛ اس کے لیے سب سے اہم چیز وہ لمحہ ہے جب بلاکچین میں شامل اس لین دین کے بارے میں قابل اعتماد معلومات اس کے لیے دستیاب ہو جاتی ہے۔ یہ میٹرک ہے جو بنیادی طور پر لین دین کے عمل کا وقت ہے۔ اس کا مطلب یہ ہے کہ مختلف کلائنٹس، یہاں تک کہ ایک ہی ٹرانزیکشن بھیجتے ہوئے، بالکل مختلف اوقات وصول کر سکتے ہیں، جو کہ نوڈ کے چینل، لوڈ اور قربت وغیرہ پر منحصر ہے۔ لہذا کلائنٹس پر اس وقت کی پیمائش کرنا بالکل ضروری ہے، کیونکہ یہ وہ پیرامیٹر ہے جسے بہتر بنانے کی ضرورت ہے۔

کلائنٹ کی طرف سے لین دین کی تیاری

آئیے پہلے دو نکات کے ساتھ شروع کریں: لین دین کلائنٹ کے ذریعہ بنایا اور دستخط کیا ہے۔ عجیب بات یہ ہے کہ یہ کلائنٹ کے نقطہ نظر سے بلاک چین کی کارکردگی میں رکاوٹ بھی ہو سکتی ہے۔ سنٹرلائزڈ سروسز کے لیے یہ غیر معمولی بات ہے، جو ڈیٹا کے ساتھ تمام حسابات اور آپریشنز کو سنبھال لیتی ہیں، اور کلائنٹ صرف ایک مختصر درخواست تیار کرتا ہے جس میں بڑی مقدار میں ڈیٹا یا کیلکولیشن کی درخواست کی جا سکتی ہے، اور ایک ریڈی میڈ نتیجہ حاصل کر سکتے ہیں۔ بلاک چینز میں، کلائنٹ کوڈ زیادہ سے زیادہ طاقتور ہوتا جاتا ہے، اور بلاکچین کور زیادہ سے زیادہ ہلکا ہوتا جاتا ہے، اور بڑے پیمانے پر کمپیوٹنگ کے کام عام طور پر کلائنٹ سافٹ ویئر میں منتقل ہوتے ہیں۔ بلاک چینز میں، ایسے کلائنٹ ہیں جو ایک لین دین کو کافی عرصے تک تیار کر سکتے ہیں (میں مختلف مرکل ثبوتوں، مختصر ثبوتوں، حد کے دستخطوں اور کلائنٹ کی طرف سے دیگر پیچیدہ آپریشنز کے بارے میں بات کر رہا ہوں)۔ آسان آن چین تصدیق اور کلائنٹ پر لین دین کی بھاری تیاری کی ایک اچھی مثال مرکل ٹری پر مبنی فہرست میں رکنیت کا ثبوت ہے، یہاں مضمون.

اس کے علاوہ، یہ نہ بھولیں کہ کلائنٹ کوڈ صرف بلاکچین کو لین دین نہیں بھیجتا ہے، بلکہ پہلے بلاکچین کی حالت کے بارے میں سوال کرتا ہے - اور یہ سرگرمی نیٹ ورک اور بلاکچین نوڈس کی بھیڑ کو متاثر کر سکتی ہے۔ لہذا، پیمائش کرتے وقت، کلائنٹ کوڈ کے رویے کو ہر ممکن حد تک مکمل طور پر نقل کرنا مناسب ہوگا۔ یہاں تک کہ اگر آپ کے بلاکچین میں عام ہلکے کلائنٹس موجود ہیں جو کچھ اثاثہ کی منتقلی کے لیے آسان ترین لین دین پر باقاعدہ ڈیجیٹل دستخط لگاتے ہیں، تب بھی ہر سال کلائنٹ پر زیادہ بڑے حساب کتاب ہوتے ہیں، کرپٹو الگورتھم مضبوط ہو رہے ہیں، اور پروسیسنگ کا یہ حصہ مستقبل میں ایک اہم رکاوٹ میں تبدیل. اس لیے، ہوشیار رہیں اور اس صورت حال کو مت چھوڑیں جب، 3.5 سیکنڈ تک چلنے والے لین دین میں، 2.5s لین دین کی تیاری اور دستخط کرنے پر، اور 1.0s اسے نیٹ ورک پر بھیجنے اور جواب کے انتظار میں خرچ ہوتے ہیں۔ اس رکاوٹ کے خطرات کا اندازہ لگانے کے لیے، آپ کو کلائنٹ مشینوں سے میٹرکس جمع کرنے کی ضرورت ہے، نہ کہ صرف بلاکچین نوڈس سے۔

لین دین بھیجنا اور اس کی حیثیت کی نگرانی کرنا

اگلا مرحلہ لین دین کو منتخب بلاکچین نوڈ پر بھیجنا اور اسے ٹرانزیکشن پول میں قبول کرنے کی حیثیت حاصل کرنا ہے۔ یہ مرحلہ باقاعدہ ڈیٹا بیس تک رسائی کی طرح ہے؛ نوڈ کو پول میں لین دین کو ریکارڈ کرنا چاہیے اور p2p نیٹ ورک کے ذریعے اس کے بارے میں معلومات کی تقسیم شروع کرنی چاہیے۔ یہاں کارکردگی کا اندازہ لگانے کا طریقہ روایتی ویب API مائیکرو سروسز کی کارکردگی کا اندازہ لگانے کے مترادف ہے، اور بلاک چینز میں خود لین دین کو اپ ڈیٹ کیا جا سکتا ہے اور فعال طور پر ان کی حیثیت کو تبدیل کیا جا سکتا ہے۔ عام طور پر، کچھ بلاک چینز پر لین دین کی معلومات کو اپ ڈیٹ کرنا متعدد بار ہو سکتا ہے، مثال کے طور پر جب چین فورک کے درمیان سوئچ کرتے وقت یا جب BPs کسی بلاک میں ٹرانزیکشن شامل کرنے کے اپنے ارادے کا اعلان کرتے ہیں۔ اس پول کے سائز اور اس میں لین دین کی تعداد کی حد بلاک چین کی کارکردگی کو متاثر کر سکتی ہے۔ اگر ٹرانزیکشن پول زیادہ سے زیادہ ممکنہ سائز میں بھرا ہوا ہے، یا RAM میں فٹ نہیں ہے، تو نیٹ ورک کی کارکردگی تیزی سے گر سکتی ہے۔ بلاک چینز کے پاس فضول پیغامات کے سیلاب سے بچانے کا کوئی مرکزی ذریعہ نہیں ہے، اور اگر بلاکچین زیادہ حجم کے لین دین اور کم فیس کو سپورٹ کرتا ہے، تو یہ ٹرانزیکشن پول کو اوور فلو کرنے کا سبب بن سکتا ہے—ایک اور ممکنہ کارکردگی کی رکاوٹ۔

بلاکچینز میں، کلائنٹ اپنی پسند کے کسی بھی بلاکچین نوڈ پر ٹرانزیکشن بھیجتا ہے، لین دین کی ہیش عام طور پر بھیجنے سے پہلے کلائنٹ کو معلوم ہوتی ہے، اس لیے اسے بس کنکشن حاصل کرنے کی ضرورت ہے اور ٹرانسمیشن کے بعد، بلاکچین کے تبدیل ہونے کا انتظار کریں۔ اس کی حالت، اس کے لین دین کو قابل بناتی ہے۔ نوٹ کریں کہ "tps" کی پیمائش کرکے آپ بلاکچین نوڈ سے جڑنے کے مختلف طریقوں کے لیے بالکل مختلف نتائج حاصل کر سکتے ہیں۔ یہ ایک باقاعدہ HTTP RPC یا WebSocket ہو سکتا ہے جو آپ کو "سبسکرائب" پیٹرن کو نافذ کرنے کی اجازت دیتا ہے۔ دوسری صورت میں، کلائنٹ کو پہلے ایک اطلاع موصول ہوگی، اور نوڈ ٹرانزیکشن کی حیثیت کے بارے میں جوابات پر کم وسائل (بنیادی طور پر میموری اور ٹریفک) خرچ کرے گا۔ لہذا جب "tps" کی پیمائش کرتے ہیں تو یہ ضروری ہے کہ کلائنٹس کے نوڈس سے جڑنے کے طریقے کو مدنظر رکھا جائے۔ اس لیے، اس رکاوٹ کے خطرات کا اندازہ لگانے کے لیے، بینچ مارک بلاکچین کو چاہیے کہ وہ کلائنٹس کو WebSocket اور HTTP RPC دونوں درخواستوں کے ساتھ، حقیقی نیٹ ورکس کے تناسب سے نقل کرنے کے ساتھ ساتھ لین دین کی نوعیت اور ان کے سائز کو تبدیل کرنے کے قابل ہو۔

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

پی 2 پی نیٹ ورک کے ذریعے لین دین اور بلاکس کی ترسیل

بلاک چینز میں، پیئر ٹو پیر (p2p) نیٹ ورکنگ کا استعمال شرکاء کے درمیان لین دین اور بلاکس کو منتقل کرنے کے لیے کیا جاتا ہے۔ لین دین پورے نیٹ ورک میں پھیلتا ہے، نوڈس میں سے ایک سے شروع ہو کر، جب تک کہ وہ پیر بلاک پروڈیوسرز تک نہیں پہنچ جاتے، جو لین دین کو بلاکس میں پیک کرتے ہیں اور اسی p2p کا استعمال کرتے ہوئے، تمام نیٹ ورک نوڈس میں نئے بلاکس تقسیم کرتے ہیں۔ زیادہ تر جدید p2p نیٹ ورکس کی بنیاد Kademlia پروٹوکول کی مختلف ترمیمات ہیں۔ یہاں اس پروٹوکول کا ایک اچھا خلاصہ، اور یہاں - BitTorrent نیٹ ورک میں مختلف پیمائشوں کے ساتھ ایک مضمون، جس سے کوئی یہ سمجھ سکتا ہے کہ اس قسم کا نیٹ ورک کسی مرکزی سروس کے سخت طریقے سے تشکیل شدہ نیٹ ورک کے مقابلے میں زیادہ پیچیدہ اور کم پیش قیاسی ہے۔ اس کے علاوہ، یہاں Ethereum نوڈس کے لیے مختلف دلچسپ میٹرکس کی پیمائش کے بارے میں مضمون۔

مختصراً، اس طرح کے نیٹ ورکس میں ہر ہم مرتبہ دوسرے ہم عصروں کی اپنی متحرک فہرست کو برقرار رکھتا ہے جہاں سے وہ معلومات کے بلاکس کی درخواست کرتا ہے جن کو مواد کے ذریعے حل کیا جاتا ہے۔ جب کسی ہم مرتبہ کو کوئی درخواست موصول ہوتی ہے، تو وہ یا تو ضروری معلومات فراہم کرتا ہے یا فہرست میں سے اگلے چھدم بے ترتیب ساتھی کو درخواست بھیج دیتا ہے، اور جواب موصول ہونے کے بعد، وہ اسے درخواست کنندہ کو دے دیتا ہے اور اسے تھوڑی دیر کے لیے کیش کر دیتا ہے۔ اگلی بار پہلے معلومات کا بلاک۔ اس طرح، مقبول معلومات ایک بڑی تعداد میں ساتھیوں کی بڑی تعداد میں کیچز میں ختم ہو جاتی ہیں، اور غیر مقبول معلومات کو آہستہ آہستہ تبدیل کر دیا جاتا ہے۔ ساتھی اس بات کا ریکارڈ رکھتے ہیں کہ کس نے کتنی معلومات کس کو منتقل کی ہیں، اور نیٹ ورک فعال ڈسٹری بیوٹرز کو ان کی درجہ بندی میں اضافہ کرکے اور انہیں اعلیٰ سطح کی خدمت فراہم کرکے متحرک کرنے کی کوشش کرتا ہے، خود بخود غیر فعال شرکاء کو ہم مرتبہ کی فہرستوں سے ہٹاتا ہے۔

لہذا، اب ٹرانزیکشن کو پورے نیٹ ورک میں تقسیم کرنے کی ضرورت ہے تاکہ بلاک بنانے والے اسے دیکھ سکیں اور اسے بلاک میں شامل کر سکیں۔ نوڈ فعال طور پر ہر ایک کو ایک نئی ٹرانزیکشن "تقسیم" کرتا ہے اور نیٹ ورک کو سنتا ہے، انڈیکس میں ایک بلاک کا انتظار کر رہا ہے جس کے منتظر کلائنٹ کو مطلع کرنے کے لیے مطلوبہ لین دین ظاہر ہوگا۔ نیٹ ورک کو p2p نیٹ ورکس میں نئی ​​لین دین اور بلاکس کے بارے میں معلومات ایک دوسرے کو منتقل کرنے میں جو وقت لگتا ہے اس کا انحصار بہت بڑی تعداد میں عوامل پر ہوتا ہے: قریبی کام کرنے والے ایماندار نوڈس کی تعداد (نیٹ ورک کے نقطہ نظر سے)، "گرم- ان نوڈس کے کیچز، بلاکس کا سائز، لین دین، تبدیلیوں کی نوعیت، نیٹ ورک جغرافیہ، نوڈس کی تعداد اور بہت سے دوسرے عوامل۔ اس طرح کے نیٹ ورکس میں کارکردگی کے میٹرکس کی پیچیدہ پیمائش ایک پیچیدہ معاملہ ہے؛ یہ ضروری ہے کہ بیک وقت کلائنٹس اور ساتھیوں (بلاک چین نوڈس) دونوں پر درخواست پر کارروائی کے وقت کا جائزہ لیا جائے۔ کسی بھی p2p میکانزم میں دشواری، ڈیٹا کی غلط اخراج اور کیشنگ، فعال ساتھیوں کی فہرستوں کا غیر موثر انتظام، اور بہت سے دوسرے عوامل تاخیر کا سبب بن سکتے ہیں جو کہ پورے نیٹ ورک کی کارکردگی کو متاثر کرتے ہیں، اور اس رکاوٹ کا تجزیہ کرنا سب سے مشکل ہے۔ ٹیسٹ اور نتائج کی تشریح۔

بلاکچین پروسیسنگ اور اسٹیٹ ڈیٹا بیس کو اپ ڈیٹ کرنا

بلاکچین کا سب سے اہم حصہ متفقہ الگورتھم ہے، نیٹ ورک سے موصول ہونے والے نئے بلاکس پر اس کا اطلاق اور ریاستی ڈیٹا بیس میں نتائج کی ریکارڈنگ کے ساتھ لین دین کی کارروائی۔ زنجیر میں ایک نیا بلاک شامل کرنا اور پھر مین چین کو منتخب کرنا جلد از جلد کام کرنا چاہیے۔ تاہم، حقیقی زندگی میں، "چاہیے" کا مطلب "کام" نہیں ہے، اور مثال کے طور پر، کوئی ایسی صورت حال کا تصور کر سکتا ہے جہاں دو طویل مسابقتی زنجیریں آپس میں مسلسل تبدیل ہو رہی ہوں، ہر سوئچ پر پول میں ہزاروں لین دین کے میٹا ڈیٹا کو تبدیل کر رہی ہوں۔ ، اور ریاستی ڈیٹا بیس کو مسلسل رول بیک کر رہا ہے۔ یہ مرحلہ، رکاوٹ کی وضاحت کے لحاظ سے، p2p نیٹ ورک کی تہہ سے آسان ہے، کیونکہ لین دین پر عمل درآمد اور متفقہ الگورتھم سختی سے تعییناتی ہیں، اور یہاں کسی بھی چیز کی پیمائش کرنا آسان ہے۔
اہم بات یہ ہے کہ نیٹ ورک کے مسائل کے ساتھ اس مرحلے کی کارکردگی میں بے ترتیب انحطاط کو الجھائیں - نوڈس بلاکس اور مین چین کے بارے میں معلومات فراہم کرنے میں سست ہیں، اور ایک بیرونی کلائنٹ کے لیے یہ ایک سست نیٹ ورک کی طرح نظر آتا ہے، حالانکہ مسئلہ اس میں موجود ہے۔ ایک بالکل مختلف جگہ۔

اس مرحلے پر کارکردگی کو بہتر بنانے کے لیے، خود نوڈس سے میٹرکس کو اکٹھا کرنا اور ان کی نگرانی کرنا مفید ہے، اور ان میں اسٹیٹ ڈیٹا بیس کو اپ ڈیٹ کرنے سے متعلق شامل کرنا: نوڈ پر پروسیس کیے گئے بلاکس کی تعداد، ان کا سائز، لین دین کی تعداد، چین فورک کے درمیان سوئچز کی تعداد، غلط بلاکس کی تعداد، ورچوئل مشین آپریٹنگ ٹائم، ڈیٹا کمٹ ٹائم، وغیرہ۔ یہ نیٹ ورک کے مسائل کو چین پروسیسنگ الگورتھم میں غلطیوں سے الجھنے سے روکے گا۔

ایک ورچوئل مشین پروسیسنگ لین دین معلومات کا ایک مفید ذریعہ ہو سکتا ہے جو بلاکچین کے آپریشن کو بہتر بنا سکتا ہے۔ میموری مختص کرنے کی تعداد، پڑھنے/لکھنے کی ہدایات کی تعداد، اور کنٹریکٹ کوڈ پر عمل درآمد کی کارکردگی سے متعلق دیگر میٹرکس ڈویلپرز کو کافی مفید معلومات فراہم کر سکتے ہیں۔ ایک ہی وقت میں، سمارٹ کنٹریکٹس پروگرام ہیں، جس کا مطلب ہے کہ نظریہ میں وہ کسی بھی وسائل کو استعمال کر سکتے ہیں: cpu/memory/network/storage، اس لیے ٹرانزیکشن پروسیسنگ ایک غیر یقینی مرحلہ ہے، جس کے علاوہ، ورژن کے درمیان منتقل ہونے پر بہت زیادہ تبدیلیاں آتی ہیں۔ اور کنٹریکٹ کوڈز کو تبدیل کرتے وقت۔ لہذا، بلاک چین کی کارکردگی کو مؤثر طریقے سے بہتر بنانے کے لیے ٹرانزیکشن پروسیسنگ سے متعلق میٹرکس کی بھی ضرورت ہے۔

بلاک چین میں لین دین کو شامل کرنے کے بارے میں اطلاع کی کلائنٹ کی طرف سے رسید

یہ بلاک چین کلائنٹ کی سروس حاصل کرنے کا آخری مرحلہ ہے؛ دوسرے مراحل کے مقابلے میں، کوئی زیادہ اوور ہیڈ لاگت نہیں ہے، لیکن پھر بھی یہ قابل غور ہے کہ کلائنٹ کو نوڈ سے بھاری جواب موصول ہونے کے امکان پر غور کیا جائے (مثال کے طور پر، ایک سمارٹ معاہدہ ڈیٹا کی ایک صف کو واپس کرنا)۔ کسی بھی صورت میں، یہ نقطہ اس شخص کے لیے سب سے اہم ہے جس نے یہ سوال پوچھا کہ "آپ کے بلاک چین میں کتنے ٹی پی ایس ہیں؟"، کیونکہ اس وقت، سروس حاصل کرنے کا وقت ریکارڈ کیا جاتا ہے۔

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

حاصل يہ ہوا

نتیجے کے طور پر، ہم بلاکچینز پر کیے جانے والے آپریشنز کی اقسام کو بیان کر سکتے ہیں اور انہیں کئی زمروں میں تقسیم کر سکتے ہیں:

  1. کرپٹوگرافک تبدیلیاں، ثبوت کی تعمیر
  2. ہم مرتبہ سے ہم مرتبہ نیٹ ورکنگ، لین دین اور بلاک نقل
  3. لین دین کی پروسیسنگ، سمارٹ معاہدوں پر عمل درآمد
  4. بلاک چین میں تبدیلیوں کو ریاستی ڈیٹا بیس میں لاگو کرنا، لین دین اور بلاکس کے ڈیٹا کو اپ ڈیٹ کرنا
  5. ریاستی ڈیٹا بیس، بلاکچین نوڈ API، سبسکرپشن سروسز کے لیے صرف پڑھنے کی درخواستیں۔

عام طور پر، جدید بلاکچین نوڈس کے لیے تکنیکی تقاضے انتہائی سنگین ہیں - خفیہ نگاری کے لیے تیز رفتار CPUs، اسٹیٹ ڈیٹا بیس کو ذخیرہ کرنے اور اس تک فوری رسائی کے لیے بڑی مقدار میں RAM، بیک وقت کھلے رابطوں کی ایک بڑی تعداد کا استعمال کرتے ہوئے نیٹ ورک کا تعامل، اور بڑی اسٹوریج۔ اس طرح کی اعلی ضروریات اور مختلف قسم کے آپریشنز کی کثرت لامحالہ اس حقیقت کی طرف لے جاتی ہے کہ نوڈس کے پاس کافی وسائل نہیں ہوسکتے ہیں، اور پھر مذکورہ بالا مراحل میں سے کوئی بھی نیٹ ورک کی مجموعی کارکردگی کے لیے ایک اور رکاوٹ بن سکتا ہے۔

بلاکچینز کی کارکردگی کو ڈیزائن اور جانچتے وقت، آپ کو ان تمام نکات کو مدنظر رکھنا ہوگا۔ ایسا کرنے کے لیے، آپ کو کلائنٹس اور نیٹ ورک نوڈس سے بیک وقت میٹرکس اکٹھا کرنے اور ان کا تجزیہ کرنے کی ضرورت ہے، ان کے درمیان ارتباط تلاش کرنا، کلائنٹس کو خدمات فراہم کرنے میں لگنے والے وقت کا اندازہ لگانا، تمام اہم وسائل کو مدنظر رکھنا: cpu/memory/network/storage سمجھیں کہ وہ کس طرح استعمال ہوتے ہیں اور ایک دوسرے پر اثر انداز ہوتے ہیں۔ یہ سب مختلف بلاکچینز کی رفتار کا موازنہ "کتنے TPS" کی شکل میں کرنا ایک انتہائی نا شکرا کام بناتا ہے، کیوں کہ مختلف کنفیگریشنز اور اسٹیٹس کی ایک بڑی تعداد موجود ہے۔ بڑے سنٹرلائزڈ سسٹمز، سیکڑوں سرورز کے کلسٹرز میں، یہ مسائل بھی پیچیدہ ہیں اور مختلف میٹرکس کی ایک بڑی تعداد کو جمع کرنے کی بھی ضرورت ہوتی ہے، لیکن بلاک چینز میں، p2p نیٹ ورکس، ورچوئل مشینوں کے پروسیسنگ معاہدوں، اندرونی معیشتوں، ڈگریوں کی تعداد کی وجہ سے۔ آزادی بہت زیادہ ہے، جس کی وجہ سے کئی سرورز پر بھی ٹیسٹ ہوتا ہے، یہ غیر اشارے والا ہے اور صرف انتہائی تخمینی اقدار کو ظاہر کرتا ہے جن کا حقیقت سے تقریباً کوئی تعلق نہیں ہے۔

اس لیے، بلاکچین کور میں ترقی کرتے وقت، کارکردگی کا جائزہ لینے اور اس سوال کا جواب دینے کے لیے کہ "کیا اس میں پچھلی بار کے مقابلے میں بہتری آئی ہے؟" ہم کافی پیچیدہ سافٹ ویئر استعمال کرتے ہیں جو درجنوں نوڈس کے ساتھ بلاک چین کے لانچ کو آرکیسٹریٹ کرتا ہے اور خود بخود ایک بینچ مارک لانچ کرتا ہے اور میٹرکس جمع کرتا ہے۔ ؛ اس معلومات کے بغیر پروٹوکول کو ڈیبگ کرنا انتہائی مشکل ہے جو متعدد شرکاء کے ساتھ کام کرتے ہیں۔

لہذا، جب آپ کو یہ سوال موصول ہوتا ہے کہ "آپ کے بلاکچین میں کتنے TPS ہیں؟"، تو اپنے بات چیت کرنے والے کو چائے پیش کریں اور پوچھیں کہ کیا وہ درجن بھر گراف دیکھنے کے لیے تیار ہے اور بلاکچین کی کارکردگی کے مسائل کے تینوں خانوں اور اس کے لیے آپ کی تجاویز کو بھی سنیں۔ ان کو حل کرنا...

ماخذ: www.habr.com

نیا تبصرہ شامل کریں