زیادہ تر بلاک چین ایک قطار کی طرح کام کرتے ہیں۔ ایک کان کن جیتتا ہے، ایک بلاک جوڑا جاتا ہے، اور سب اگلے کا انتظار کرتے ہیں۔ اگر دو کان کن ایک ہی لمحے میں کام مکمل کر لیں تو صرف ایک بلاک باقی رہتا ہے اور دوسرا پھینک دیا جاتا ہے۔
ATON کو مختلف طریقے سے بنایا جا رہا ہے۔ کان کن ایک ہی وقت میں بلاک بنا سکتے ہیں، اور چین انہیں رکھ لیتی ہے۔ اس سے ایک واضح سوال اٹھتا ہے۔ ادائیگیوں کو ایک ہی ترتیب چاہیے۔ اگر دو بلاک ایک ہی سکہ خرچ کریں تو ان میں سے صرف ایک ادائیگی شمار ہو سکتی ہے۔ تو بلاکوں کا جال ایک ایسی فہرست کیسے بنتا ہے جس پر ہر نوڈ متفق ہو؟
بلاک ڈی اے جی کیا ہے
سادہ چین میں ہر بلاک ایک والد بلاک کی طرف اشارہ کرتا ہے۔ ATON میں ہر نیا بلاک ہر اس حالیہ بلاک کی طرف اشارہ کرتا ہے جو اس کے کان کن نے دیکھا ہو اور جس کی طرف ابھی کسی اور نے اشارہ نہ کیا ہو۔ نتیجہ لکیر نہیں بلکہ جال ہوتا ہے۔ بلاک ہمیشہ وقت میں پیچھے کی طرف اشارہ کرتے ہیں، کبھی آگے نہیں، اور کوئی چکر نہیں بنتا۔ اسی ساخت کو لوگ بلاک ڈی اے جی کہتے ہیں، یعنی ایک سمت والا گراف جس میں کوئی چکر نہ ہو۔ آپ اسے ایک ایسی چین سمجھ سکتے ہیں جسے چوڑا ہونے کی اجازت ہے۔
مسئلہ جال خود نہیں ہے۔ مسئلہ اسے پڑھنا ہے۔ ایک ہی جال کو دیکھنے والے دو نوڈز کو صرف بلاکوں کی بنیاد پر بالکل ایک جیسی ترتیب شدہ فہرست نکالنی چاہیے۔ یہی ترتیب کے اصول کا کام ہے۔
پہلا قدم: اچھی طرح جڑے ہوئے بلاک تلاش کریں
اصول کی شروعات ایماندارانہ رویے کے بارے میں ایک سادہ مشاہدے سے ہوتی ہے۔ ایماندار کان کن کو نئے بلاکوں کی خبر جلدی ملتی ہے اور وہ ان کی طرف اشارہ کرتا ہے۔ اس لیے ایماندار بلاک، مل کر، مضبوطی سے جڑے ہوتے ہیں۔ ان میں سے ہر ایک اپنے سے کچھ ہی پہلے بنے زیادہ تر بلاکوں کا حوالہ دیتا ہے، اور اس کے کچھ ہی بعد بنے زیادہ تر بلاک اس کا حوالہ دیتے ہیں۔
تنہائی میں بنا بلاک مختلف نظر آتا ہے۔ اگر کوئی خفیہ طور پر کان کنی کرے اور بلاک دیر سے جاری کرے تو وہ بلاک کم بلاکوں کی طرف اشارہ کرتے ہیں، اور کم ہی بلاک ان کی طرف اشارہ کرتے ہیں۔ وہ جال کے کنارے پر ڈھیلے پڑے رہتے ہیں۔
اصول اسی فرق کو استعمال کرتا ہے۔ یہ بلاکوں کے سب سے بڑے ایسے گروہ کو چنتا ہے جو سب آپس میں قریب سے جڑے ہوں، اور اس گروہ کو چین کا مرکزی حصہ مانتا ہے۔ کمزور طور پر جڑے بلاک بھی رکھے جاتے ہیں، لیکن انہیں مرکزی حصے کے بعد رکھا جاتا ہے، اس کے اندر نہیں۔
دوسرا قدم: مرکزی حصے میں سے ایک ریڑھ چنیں
اچھی طرح جڑے گروہ کے اندر اصول ایک ریڑھ چنتا ہے۔ سب سے نئے بلاکوں سے شروع کر کے پیچھے کی طرف چلتے ہوئے، یہ ہر قدم پر اس بلاک کو ترجیح دیتا ہے جس کا جڑا ہوا ماضی سب سے وزنی ہو۔ یہ اس جانے پہچانے خیال کے قریب ہے کہ اس چین کی پیروی کی جائے جس کے پیچھے سب سے زیادہ کام ہو۔ فرق یہ ہے کہ وزن میں بلاک کے پیچھے کا پورا جڑا ہوا جال گنا جاتا ہے، صرف آباؤ اجداد کی ایک پتلی لکیر نہیں۔
چونکہ ریڑھ وزن کی بنیاد پر چنی جاتی ہے، اس لیے اسے ایمانداری سے بڑھانا اس میں اضافہ کرنے کا سب سے آسان راستہ ہے۔ بلاک روکے رکھنے سے فائدہ نہیں ہوتا، کیونکہ روکے گئے بلاک کمزور طور پر جڑے رہ جاتے ہیں اور ان کا وزن کم ہوتا ہے۔
تیسرا قدم: باقی کو بھریں
ریڑھ ایک ڈھانچہ دیتی ہے۔ پھر ریڑھ کا ہر بلاک ان بلاکوں کو ایک مقررہ ترتیب میں اپنے ساتھ کھینچ لیتا ہے جن کا وہ حوالہ دیتا ہے اور جو ابھی رکھے نہیں گئے۔ جہاں دو بلاک واقعی برابر ہوں، وہاں بلاک ہیش پر مبنی ایک فیصلہ کن اصول طے کرتا ہے، تاکہ ہر نوڈ برابری کو ایک ہی طرح توڑے۔
نتیجہ ایک ہی فہرست ہے۔ جال کے ہر بلاک کی اس میں ایک جگہ ہوتی ہے، اور جس نوڈ کے پاس وہی بلاک ہوں وہ وہی فہرست بناتا ہے۔ کوئی ووٹ نہیں دیتا، کوئی تال میل نہیں کرتا، اور کسی پر بھروسہ نہیں کیا جاتا۔ ترتیب خالصتاً ڈیٹا کا نتیجہ ہے۔
ترتیب کا ادائیگی کے لیے کیا مطلب ہے
فہرست بن جانے کے بعد لین دین فہرست کی ترتیب میں لاگو کیے جاتے ہیں۔ اگر بعد والے بلاک میں کوئی ایسی ادائیگی ہو جو پہلے والی سے ٹکراتی ہو تو بعد والی ادائیگی بس چھوڑ دی جاتی ہے۔ جس بلاک میں وہ تھی وہ پھر بھی شمار ہوتا ہے، اور کان کن کا کام پھر بھی قائم رہتا ہے۔
پورے ڈیزائن کا عملی نکتہ یہی ہے۔ کام اس لیے ضائع نہیں کیا جاتا کہ دو کان کن وقت میں قریب تھے۔ فی وقت زیادہ بلاکوں کا مطلب ادائیگیوں کے لیے زیادہ گنجائش ہے، بغیر کان کنوں سے ایک ہی جگہ کے لیے دوڑ لگوائے۔
Table: ایک سادہ چین اور بلاک ڈی اے جی آمنے سامنے
| سادہ چین | بلاک ڈی اے جی | |
|---|---|---|
| ایک ہی وقت میں بلاک | ایک باقی رہتا ہے | سب رکھے جاتے ہیں |
| ہر بلاک اشارہ کرتا ہے | ایک والد بلاک کی طرف | تمام حالیہ غیر حوالہ شدہ بلاکوں کی طرف |
| ترتیب آتی ہے | لکیر میں مقام سے | پورے جال پر لاگو ایک اصول سے |
| ٹکراتی ادائیگیاں | اپنے بلاک کے ساتھ ہار جاتی ہیں | بعد والی چھوڑ دی جاتی ہے، بلاک رہتا ہے |
ایماندارانہ حدود
ترتیب حتمیت نہیں ہے۔ بہت حالیہ بلاک کی جگہ اب بھی تھوڑی بدل سکتی ہے جب نئے بلاک آتے ہیں اور ریڑھ ٹھہرتی ہے۔ بلاک جتنا گہرا ہو، اس کے اوپر اتنا ہی زیادہ جڑا ہوا وزن بنتا ہے، اور اسے ہلانا اتنا ہی مشکل ہو جاتا ہے۔ کسی مخصوص رقم کی ادائیگی کے لیے آپ کو کتنا انتظار کرنا چاہیے، اس سوال کا جواب ہم شائع شدہ پیرامیٹرز سے دیں گے، آج کسی وعدے سے نہیں۔
اگر آپ کام کو ہوتے ہوئے دیکھنا چاہتے ہیں تو پروجیکٹ کا گھر aton-chain.com پر ہے۔