سمارٹ معاہدے: اچھے، برے اور سست

پرائیویٹ بلاک چینز کو کوڈ چلانے کے لیے بے چین کیوں نہیں ہونا چاہیے۔

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

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

تو کیا پرائیویٹ بلاک چینز میں سمارٹ معاہدوں کا مستقبل روشن ہے؟ ٹھیک ہے، قسم کی، لیکن واقعی نہیں. آپ دیکھتے ہیں، مسئلہ یہ ہے:

پرائیویٹ بلاک چینز میں، سمارٹ کنٹریکٹس چار اچھے خیالات کو ایک برے کے ساتھ جوڑتے ہیں۔

تو اچھے خیالات کیا ہیں؟ (a) ایک کمپیوٹر پروگرام کے طور پر کاروباری منطق کا اظہار کرنا، (b) ان واقعات کی نمائندگی کرنا جو اس منطق کو پروگرام میں پیغامات کے طور پر متحرک کرتے ہیں، (c) یہ ثابت کرنے کے لیے ڈیجیٹل دستخطوں کا استعمال کرتے ہوئے کہ پیغامات کس نے بھیجے ہیں، اور (d) مندرجہ بالا تمام چیزوں کو شامل کرنا ایک بلاکچین.

اور برا؟ ہر بلاکچین نوڈ پر ہر پیغام کے لیے ہر پروگرام کو انجام دینا۔ دوسرے الفاظ میں، بنانا پھانسی تمام پروگراموں میں سے بلاکچین کا کام ہے، بجائے اس کے کہ اسے بطور استعمال کریں۔ ذخیرہ پروگراموں اور پیغامات کے لیے۔ اور پھر بھی یہ عالمی سطح پر عمل درآمد ہی پوری وجہ ہے کہ Ethereum کو کیوں تیار کیا گیا تھا۔

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

ایتھریم کو سمجھنا۔

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

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

ان منصوبوں میں سے کچھ میں شامل ہونے کے بعد، ویٹیکک بیری ایک سادہ لیکن شاندار سوال کیا: بہت ساری ایپلیکیشن مخصوص بلاکچینز کے بجائے، ایک بھی پبلک بلاکچین کیوں نہ ہو جسے کرنے کے لیے پروگرام کیا جا سکے۔ جو کچھ ہم چاہتے ہیں? یہ über-blockchain لامحدود طور پر قابل توسیع ہو گا، صرف اسے استعمال کرنے والوں کے تخیل تک محدود ہے۔ کرپٹو کے شوقین افراد کی دنیا اس طاقتور خیال سے تقریباً متفقہ طور پر قائل ہو چکی تھی۔ اور اسی طرح، کے ساتھ کراؤڈ فنڈنگ ​​میں $18 ملین اور بڑے جوش و خروش سے، Ethereum پیدا ہوا۔

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

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

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

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

توڑ نیچے

اب جب کہ ہم جانتے ہیں کہ Ethereum سمارٹ کنٹریکٹس کیسے کام کرتے ہیں، ہم انہیں پانچ اجزاء میں تقسیم کر سکتے ہیں:

  1. کمپیوٹر پروگرام کے طور پر کاروباری منطق کا اظہار۔
  2. ان واقعات کی نمائندگی کرنا جو اس منطق کو پروگراموں میں پیغامات کے طور پر متحرک کرتے ہیں۔
  3. ڈیجیٹل دستخطوں کا استعمال یہ ثابت کرنے کے لیے کہ پیغامات کس نے بھیجے ہیں۔
  4. پروگراموں، پیغامات اور دستخطوں کو بلاک چین پر رکھنا۔
  5. ہر نوڈ پر ہر پیغام کے لیے ہر پروگرام کو انجام دینا۔

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

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

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

حساب میں پریشانی

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

  1. سیٹ کریں x اپنی پسند کے واحد ہندسے والے نمبر پر
  2. سیٹ کریں y کرنے کے لئے 123*x+567
  3. سیٹ کریں x کے آخری دو ہندسوں تک yیعنی y modulo 100
  4. If x سے زیادہ ہے 2 پھر مرحلہ 2 پر واپس جائیں۔
  5. بصورت دیگر روکیں اور کی قدر آؤٹ پٹ کریں۔ x

کافی سادہ، ٹھیک ہے؟ تو یہاں آپ کے لیے ایک سوال ہے: کیا یہ پروگرام کبھی ختم ہوگا؟ یا یہ ایک میں پھنس جائے گا؟ لامحدود لوپ? اتنا یقین نہیں ہے؟ اچھا میں آپ کو آپ کے غم سے نکال دیتا ہوں: یہ x کی ابتدائی قدر پر منحصر ہے۔.

If x is 0, 1, 2, 5, 6, 7 or 8، پروگرام کافی تیزی سے رک جاتا ہے۔ لیکن اگر x is 3, 4 or 9، یہ غیر معینہ مدت تک جاری رہتا ہے۔ مجھ پر یقین نہیں ہے؟ ایکسل کھولیں اور اپنے لیے کوشش کریں (آپ کو "MOD" فنکشن کی ضرورت ہوگی)۔

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

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

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

سمارٹ معاہدے بمقابلہ کنکرنسی

اگر گیس بھاگ جانے والی گنتی کو روک سکتی ہے، تو کیا سمارٹ معاہدوں کو سبز روشنی ملتی ہے؟ ٹھیک ہے، اتنی جلدی نہیں، کیونکہ سمارٹ معاہدوں میں ایک اور مسئلہ ہے جس کے بارے میں ہمیں بات کرنے کی ضرورت ہے:

زیادہ ٹرانزیکشن تھرو پٹ کے لیے اسمارٹ کنٹریکٹ خراب کام کرتے ہیں۔.

ہم آہنگی کمپیوٹر فن تعمیر میں سب سے بنیادی مسائل میں سے ایک ہے۔ ایک نظام میں اچھی ہم آہنگی ہوتی ہے اگر یہ متعدد عملوں کو بیک وقت اور کسی بھی ترتیب میں ہونے کی اجازت دیتا ہے۔ سمورتی نظام تاخیر کو کم کرتے ہیں اور مجموعی طور پر بہت زیادہ تھرو پٹ کو فعال کرتے ہیں، جیسے کہ ٹیکنالوجیز کا زیادہ سے زیادہ استعمال کرتے ہوئے عمل کا شیڈولنگ, متوازی پروسیسنگ اور ڈیٹا کی تقسیم. اس طرح گوگل سرچ کرتا ہے۔ 30 ٹریلین ویب صفحات تقریبا 100,000 اوقات فی سیکنڈ.

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

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

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

تو یہ بٹ کوائن کے لین دین کے ماڈل کے بارے میں کیا ہے جو آرڈر سے باہر ہونے کو ممکن بناتا ہے؟ بٹ کوائن میں، ہر لین دین واضح طور پر بیان کرتا ہے دوسرے لین دین سے اس کا تعلق۔ اس میں ان پٹ اور آؤٹ پٹس کا ایک سیٹ ہوتا ہے، جس میں ہر ان پٹ پچھلے لین دین کے آؤٹ پٹ سے منسلک ہوتا ہے جسے وہ "خرچ" کرتا ہے۔ فکر کرنے کے لیے کوئی اور انحصار نہیں ہے۔ جب تک کہ (a) دو بٹ ​​کوائن ٹرانزیکشنز ایک ہی آؤٹ پٹ کو خرچ کرنے کی کوشش نہیں کرتے ہیں، اور (b) ایک کا آؤٹ پٹ دوسرے کے ان پٹ کا باعث نہیں بنتا، بٹ کوائن نوڈ اس بات کا یقین کر سکتا ہے کہ لین دین آزاد ہیں، اور یہ کسی بھی ترتیب میں ان پر کارروائی کر سکتا ہے۔. بلاکچین میں ان کی آخری پوزیشنوں سے کوئی فرق نہیں پڑتا۔

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

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

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

Ethereum کے حق میں

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

دراصل، اگر ہم عوامی بلاکچینز کے بارے میں بات کر رہے ہیں، تو مجھے یقین ہے کہ وہاں موجود ہیں۔ لیکن ان وجوہات کو سمجھنے کے لیے ہمیں خود Ethereum نیٹ ورک کی حرکیات کے بارے میں سوچنے کی ضرورت ہے۔

ٹرانزیکشن سپیم کو روکنا

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

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

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

کومپیکٹ ڈیٹا ثبوت

بلاک چین میں، بلاکس زیادہ تر ان لین دین سے بھرے جاتے ہیں جن کی وہ تصدیق کرتے ہیں۔ تاہم ہر بلاک میں ایک کمپیکٹ "ہیڈر" بھی ہوتا ہے، جس میں اہم معلومات ہوتی ہیں جیسے ٹائم اسٹیمپ اور پچھلے بلاک کا لنک۔ پر مبنی عوامی بلاکچینز کے لیے کام ہیشنگ کا ثبوت, ہیشنگ الگورتھم کے لیے ان پٹ صرف یہ بلاک ہیڈر ہے۔ اس کا مطلب یہ ہے کہ کسی زنجیر کی اتھارٹی کا اندازہ "ہلکے وزن والے کلائنٹ" کے ذریعے اس کے زیادہ تر مواد کو ڈاؤن لوڈ کیے بغیر لگایا جا سکتا ہے۔ مثال کے طور پر، نومبر 2015 تک، بٹ کوائن ہیڈر کا مکمل سیٹ 30 MB سائز کا ہے، مقابلے میں 45 GB مکمل سلسلہ کے لئے. یہ 1500:1 کا تناسب ہے، جو محدود بینڈوتھ اور سٹوریج والے موبائل آلات میں ایک اہم فرق پیدا کرتا ہے۔

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

ریاستی جڑوں کا حساب لگانے کا درخت جیسا طریقہ ایک اہم خاصیت رکھتا ہے: ایک معروف ریاستی جڑ کو دیکھتے ہوئے، معاہدے کے ڈیٹا بیس میں کسی خاص اندراج کی قدر کو مؤثر طریقے سے ثابت کیا جا سکتا ہے۔ اس ثبوت کا سائز a کی گہرائی کے متناسب ہے۔ بائنری درخت جس کے پتے انفرادی ڈیٹا بیس کے اندراجات ہیں، یعنی لاگ2 ڈیٹا بیس کا کل سائز۔ اس کا مطلب یہ ہے کہ، انفرادی اندراج کے لیے، صرف ثبوت ڈبلیو لمبائی میں جب ڈیٹا بیس کا سائز ہوتا ہے۔ مربع - اسکیل ایبلٹی کی وہ قسم جس کے لیے کمپیوٹر سائنسدان مارتے ہیں۔ اب یاد کریں کہ ہر بلاک کا اسٹیٹ روٹ اس کے ہیڈر میں ہوتا ہے، جس کی تصدیق ہلکا پھلکا کلائنٹ کر سکتا ہے۔ نتیجے کے طور پر، ہلکے وزن والے کلائنٹ انفرادی ڈیٹا بیس اندراجات کے لیے نیٹ ورک میں کسی بھی مکمل نوڈ سے محفوظ طریقے سے اور مؤثر طریقے سے استفسار کر سکتے ہیں، اور مکمل نوڈس جھوٹ نہیں بول سکتے.

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

نجی بلاکچینز کے لیے فیصلہ

آئیے پرائیویٹ بلاکچینز کے تناظر میں ان دو دلائل کو دوبارہ دیکھیں۔ نجی زنجیروں کے بارے میں سب سے پہلی بات یہ ہے کہ ان کے پاس مقامی ٹوکن یا کریپٹو کرنسی کا رجحان نہیں ہے۔ یہ کئی وجوہات کی بناء پر ہے:

  • نجی زنجیروں میں دلچسپی رکھنے والے اداروں کی قسم نئی اثاثہ کلاس کے ساتھ ڈیل نہیں کرنا چاہتی۔
  • نجی زنجیروں کے لیے متفقہ ماڈل کام کے ثبوت کے بجائے بند کان کنوں کے ایک سیٹ کے درمیان معاہدے پر مبنی ہے۔ لہذا کان کنی کی لاگت کم سے کم ہے اور کان کنوں کو زیادہ انعام کی ضرورت نہیں ہے۔
  • چونکہ ایک نجی سلسلہ میں تمام شرکاء کی جانچ پڑتال کی جاتی ہے، اس لیے اسپام اور بدسلوکی پر کم تشویش ہے۔

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

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

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

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

ڈبل ڈیکر بلاک چینز

لہذا اگر سمارٹ معاہدوں کے بارے میں سب کچھ نجی زنجیروں میں معنی رکھتا ہے، عالمی عملدرآمد کے علاوہ، یہ ہمیں کہاں چھوڑ دیتا ہے؟ کس قسم کا بلاکچین ہمیں کارکردگی اور لچک فراہم کرے گا جس کی ہمیں ضرورت ہے؟ سچ پوچھیں تو، میں اب بھی اس کے بارے میں سوچ رہا ہوں۔ لیکن ایک جواب ہو سکتا ہے: دو درجوں کے ساتھ ایک بلاکچین.

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

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

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

عوامی بلاک چینز میں سمارٹ معاہدے

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

عقلی انتخاب عوامی بلاک چین ہوگا جس میں (a) فی سٹوریج بائٹ سب سے سستی قیمت، اور/یا (b) کل کان کنی کی طاقت کی بنیاد پر اعلیٰ ترین سطح کا تحفظ۔ چونکہ کمپیوٹیشن فیصلہ کن ہے، اس لیے کمپنیوں کو صرف نیٹ ورک کی ادائیگی کی ضرورت ہے۔ ذخیرہ ان کا معاہدہ اور پیغامات، اصل میں نہیں۔ عمل انہیں اس کے علاوہ، صرف ذخیرہ کرنے کے لیے بلاکچین استعمال کرکے، وہ استعمال کرسکتے ہیں۔ کوئی بھی پروگرامنگ زبان جو وہ چاہتے ہیں۔. یہ Ethereum bytecode ہو سکتا ہے، JavaScript/ECMAScript پڑھنے کی اہلیت یا اس سے بھی مشین کوڈ اعلی کارکردگی کے لئے. اصل میں، Ethereum معاہدے پہلے ہی ذخیرہ کیا جا سکتا ہے بٹ کوائن بلاکچین پر میٹا ڈیٹا کا استعمال۔ یہ بالکل وہی دو سطحی طریقہ ہے جو میں نے تجویز کیا تھا۔

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

اپسنہار

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

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

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

اگر سمارٹ معاہدے اپنا وعدہ پورا نہیں کر سکتے تو ہم ان کی قیمت کیوں ادا کر رہے ہیں؟

پڑھنے کے لئے شکریہ.

ٹائم اسٹیمپ:

سے زیادہ ملٹیچین