

ایک ایسا معاہدہ جو ایک ناکام کال کے بعد بھی جاری رہتا ہے، آج کل یہ بتانے کا کوئی قابل اعتماد طریقہ نہیں رکھتا کہ کیا کالی کارنر نے جان بوجھ کر ریورٹ کیا یا صرف گیس ختم ہو گئی۔ یہ فرق غیر کافی گیس کے غریب کرنے کا بنیادی سبب ہے، اور ایک نئی مسودہ پroposal EVM سطح پر اس فرق کو بند کرنے کی کوشش کرتی ہے۔ EIP-8456، جسے منگل کو Ethereum Magicians پر بحث کے لیے کھولا گیا، ایک ایسا حکم شامل کرتا ہے جسے CALLSTATUS کہا جاتا ہے، جو ابتدائی طور پر 2 گیس پر opcode 0xA5 پر ہوگا۔ یہ موجودہ فریم میں تازہ ترین کال یا create آپریشن کی مکمل حالت کو تین بٹس کے طور پر پوش دیتا ہے۔ بٹ 0 کا مطلب ریورٹ ہے، بٹ 1 کا مطلب ایک استثنائی روک جیسے گیس ختم ہونا ہے، اور بٹ 2 کا مطلب کسی نچلے فریم میں کچھ روک گیا ہے۔ مصنف نے اشارہ کیا ہے کہ آج تک واحد ثبوت gasleft() ارٹھمیٹک ہے، اور ہر repricing فورک نے ان حدود کو توڑ دیا ہے۔ EIP-8037 کا پیشکش شدہ دو بعدی گیس اس ارٹھمیٹک کو مزید کمزور بنائے گا، کیونکہ اس کا ذخیرہ GAS opcode کے ذریعے نظر نہیں آتا۔ تو تینوں بٹ کیوں؟ زیادہ تر حقیقی کالز پروکسز، OpenZeppelin کے functionCall wrapper، Multicall3 یا ERC-1271 سائنچر چیکرز جیسے درمآنی طرفین سے گزرتی ہیں۔ اگر صرف براہ راست کالی کارنر کا اختتام رپورٹ ہوتا، تو ایک wrapper جو گیس ختم ہونے والے روک کو پکڑ لے اور وجہ کے ساتھ ریورٹ کر دے، وہ جان بوجھ کر ریورٹ لگتا۔ مسودہ ایک اسٹکی فلگ رکھتا ہے جو ہر فریم میں اوپر جاتا رہتا ہے، تاکہ صرف گیس پر قابو رکھنے والا بھی اس وقت تک کسی caller کو صرف ریورٹ نہ دکھا سکے۔ اس سے نتائج رپورٹ ہوتے ہیں، نہ کہ وجوہات، اور ایک callee اب بھي INVALID کے ذریعے جان بوجھ کر روک پیدا کر سکتا ہے۔ اس صرف ان کوڈز کو تحفظ فراہم کرتا ہے جو اس کے جاری ہونے کے بعد لکھے جائیں، کیونکہ متعین شدہ معاہدات اسے نہیں پڑھ سکتے۔ ابھی تک باہری جائزے نہیں ہوئے، opcode نمبر اب بھی معمول پر ہے، اور 58 درج معاملات کے لئے اب تک ایک پروٹوٹائپ اور ٹيسٹس منتظر ہيں۔ لنک - https://t.co/KnByUBgWrY

زیادہ تر ایتھریم والٹس اب بھی آپ کی مکمل مالی تاریخ کسی بھی شخص کو دکھاتی ہیں جس کے پاس آپ کا پتہ ہے، اور ایتھریم فاؤنڈیشن اب اسے ایک خصوصیات کا مسئلہ نہیں بلکہ ایک سیکورٹی خامی کے طور پر پیش کر رہی ہے۔ منگل کو، فاؤنڈیشن نے جاری کیا کہ گزشتہ ہفتے کے حملوں اور استعمال سے ان کے لیے ایک بات واضح ہو گئی ہے، جو یہ ہے کہ خصوصیات اور سیکورٹی کو الگ الگ مقاصد نہیں سمجھا جا سکتا۔ ان کا موقف یہ تھا کہ جب خصوصیات ڈیفالٹ ہو، تو آپ کو اس بات کے بارے میں کم فکر کرنے کی ضرورت ہے کہ حملہ آور آپ کی آن چین تاریخ کا استعمال کرے گا۔ پوسٹ میں فاؤنڈیشن کے خصوصیات پر مبنی والٹ ٹولنگ پروجیکٹ، کوہاکو پر اپڈیٹ کا حوالہ دیا گیا۔ جافاسکرپٹ ریپو اسے ایسے پیکجز میں تقسیم کرتا ہے جنہیں والٹ ٹیم ایک ایک کرکے استعمال کر سکتی ہے۔ پرائیوسر پولز اور ٹورنیڈو کاش کے لیے لائبریریز شامل ہیں، جبکہ ریڈمی میں رائلگن لائبریری کو "دستکاری" کے تحت نشان زد کیا گیا ہے۔ پلگ انز پیکج شیلڈڈ پول پروٹوکولز کے لیے معیاری انٹرفیس تعریف کرتا ہے، تاکہ والٹ سب کے ساتھ ایک جیسے طریقے سے بات چīت کر سکے۔ پرووائڈر پیکج اتھرس، وائم، ہیلیوس اور کولبری پر مشتمل ہے۔ ریپو میں ایک پوسٹ-کوانٹم ERC-4337 اکاؤنٹ بھی شامل ہے۔ رسٹ کریٹس الگ اخراج رپوزٹری میں موجود ہیں۔ مجھے یہ پسند ہے کہ اسے ایک اور خصوصی والٹ کے طور پر نہ بلکہ این اس ڈی (SDK) کے طور پر شکل دی گئی ہے جو صارفین سے فنڈز منتقل کرنے کا مطالبہ نہ کرے۔ اسکا مقصد یہ ہے کہ موجودہ والٹس شیلڈڈ فلوز شامل کر سکتے ہیں، بغیر ہر ٹیم تینوں پروٹوکولز دوبارہ لاگو کرنے کے۔ ریدمی میں حالات واضح طور پر بھر دئے گئے ہیں۔ کچھ حصوں کو "پروڈکشن" کے لئے تیار نہ بنایا جانے والا نشان زد کردہ ہے، اور پیکجز میں غیر جانچ شدہ کوڈ شامل ہے۔ امبائر کے جارڈن اینو نے پچھلے جمعہ کو بتایا کہ ٹیم نے انٹگریشنز کو مہینوں تک ٹيسٹ کرنے میں وقت صرف کر ديا ہے، اور اب تک کوئي عوامى لانچ تارikh نہيں ديا گيا ہے۔ وائلٹک اور نکولاس کونسیني کو @EFDevcon ميں اگلے منگل کو امبائر کے ساتھ اีتھرีم مین نيٹ پر كوهاكو كا ڈيمو دینا مقرر ہے، جس کا ذکر سشن لسٹنگ ميں ہے۔ �ہاں رپوزٹری ہے - https://t.co/egNbLgAo0J

اب آپ کا ٹرمنل آپ سے بات کر سکتا ہے، اور مزے کی بات یہ ہے کہ یہ کوئی کلاؤڈ API کال نہیں کرتا۔ ہفتے کو، Ollama نے macOS پر ٹیکسٹ-ٹو-اسپیچ کے ساتھ 0.40.11 جاری کیا۔ پہلا اسپیچ ماڈل Phonon ہے، جو Gradium کا ایک چھوٹا TTS ماڈل فیملی ہے۔ آپ اسے ollama pull phonon کے ساتھ ڈاؤن لوڈ کرتے ہیں اور کسی بھی دوسرے ماڈل کی طرح چلاتے ہیں۔ وہ چیز جس پر ڈویلپرز کو اصل میں توجہ دینی چاہیے وہ API ہے۔ Phonon localhost پر OpenAI کے مطابق /v1/audio/speech اینڈ پوائنٹ کے ساتھ کام کرتا ہے۔ اگر آپ کا کوڈ پہلے سے اسپیچ کے لیے OpenAI SDK استعمال کرتا ہے، تو دستاویزات کہتی ہیں کہ آپ کو صرف ایک نیا بیس URL درکار ہے۔ جب آواز تیار ہو رہی ہوتی ہے تو ریسپانس سٹریم ہوتا رہتا ہے، اس لیے پلے بیک مکمل متن کے ختم ہونے سے پہلے شروع ہو سکتا ہے۔ آپ چیٹ ماڈل کے جواب کو براہ راست Phonon میں پائپ بھی کر سکتے ہیں، اور یہ پہلے جملے کے بعد فوراً بولنا شروع کر دیتا ہے۔ آؤٹ پٹ 24 kHz مونو، ڈیفالٹ طور پر WAV کے طور پر یا اگر آپ درخواست کریں تو را و 16-bit PCM کے طور پر ہوتا ہے۔ دستاویزات میں کچھ حدود درج ہیں جن پر آسانی سے عمل درآمد ہو جاتا ہے۔ ہر درخواست میں زیادہ سے زیادہ 4,096 حروف ہوتے ہیں، حالانکہ ollama run لمبے متن کو آپ کے لیے تقسیم کر دیتا ہے۔ قیمتیں، علامتیں، ای میلز اور URLز کو الفاظ میں بول دیا جاتا ہے، جبکہ عددی تاریخوں کو وaise ہی پڑھا جاتا ہے، اس لیے دستاویزات تجویز کرتی ہیں کہ تاریخوں کو الفاظ میں لکھا جائے۔ غیر محفوظ آپشنز جیسے سپید یا انstructionz 400 ایرر واپس کرتے ہیں، بجائے اس کے کہ انھیں خاموش طور پر نظرانداز کر دیا جائے۔ لائسنسنگ پر اپنے کچھ بھی شپ کرنے سے پہلے توجہ سے پڑھنا ضروری ہے۔ ڈیفالٹ انگلش phonon ماڈل Apache 2.0 ہے۔ 40M فرانسیسی، جرمن، اسپینش، پرتگالز اور متعدد زبانوں والے ویرژنز CC BY-NC 4.0 ہیں، جن سے تجارتی استعمال منع ہے۔ Ollama بھی بتاتا ہے کہ M5 Max MacBook Pro پر اس نے Gradium کے اپنے رنٹائم سے 35 فصد تک تیزتر عمل کیا، جو ان کا بینچ مارک ہے، نہ کہ مستقل بینچ مارک۔ ابھی تک اسپیچ صرف Apple Silicon پر دست-available ہے، جبکہ ونڈوز اور لینکس سپورٹ جلد آنے والے ہیں۔

ایک ایتھریم L2 جو صفر دستخطوں کو قبول کرتی ہے، وہ سیکیورٹی بگ جیسی لگتی ہے، لیکن BB84 قوانٹم حملوں سے بچنے کے لیے جان بوجھ کر یہ کر رہا ہے۔ گزشتہ آخرِ ہفتہ، اس کے بانی، جو Hadamard کے نام سے پوسٹ کرتے ہیں، نے ایتھریم ریسرچ پر ڈیزائن شیئر کیا اور تنقیدی رائے کی درخواست کی۔ BB84 مین نیٹ پر ایک OP Stack rollup ہے جو 30 ستمبر سے لائیو ہے، جہاں L2 ٹرانزیکشنز میں کوئی ECDSA نہیں ہوتا۔ ہر اکاؤنٹ ایک راز سے بنائے گئے keccak-256 ہیش چین کا آخری نقطہ ہے، جس میں ڈیفالٹ طور پر 1,000 قدم ہوتے ہیں۔ خراج دینے کے لیے، آپ کا والٹ چین میں پچھلا مقدار ظاہر کرتا ہے، جسے کوئی بھی ایک بار ہیش کرکے تصدیق کر سکتا ہے۔ L2 کے اندر، صرف اس فرض پر منحصر ہے کہ keccak-256 کا پرائمیج رزسٹنس موجود ہے، جسے Grover's الگورتھم کم کرکے تقریباً 2^128 کام تک لاتا ہے۔ ایک راز ظاہر کرنے سے وہ عوامی ہو جاتا ہے، اس لیے پروٹوکول اس بات کو ضابطہ بناتا ہے کہ ہر پرائمیج کو پہلے ایک ٹرانزیکشن سے منسلک کرنے کے لیے commit اور reveal مرحلہ شامل کیا جائے۔ op-geth میں دو نئے ٹرانزیکشن ٹائپس اس کو سنبھالتے ہیں، اور sender check نے ecrecover کو بدل دیا۔ ایتھورائزیشن استعمال ہو جاتی ہے، چاہے call revert ہو جائے یا نہ ہو، اور اگر والٹ آخری لنک پر تجدید کا مرحلہ نہیں پورا کرتا، تو وہ ایڈریس مرجا دیا جاتا ہے۔ پوسٹ میں اس ٹیم نے اپنے لکھتے وقت ایک فرانت رننگ فلو بھی درج کیا ہے۔ Commit میں کوئی دستخط نہیں ہوتے، اس لیے ایک نئा commit پینڈنگ commit کو تبدیل کرتا تھا، اور حملہ آور مخفی راز کو اپنے اپنے ادائیگی سے منسلک کر سکتا تھا۔ 21 اکتوبر سے لاگو ہونے والے قاعدہ نے پہلا commit فتح منانے کا فیصلہ کر دیا۔ حدود واضح طور پر بیان کردہ ہیں۔ L1 ڈپازٹس اور وِدراولز اب بھي ECDSA استعمال کرتے ہیں۔ ابھی تک کوئي فولٹ پروفز نہیں ہیں، اور پوسٹ کے مطابق، زنجیر L2BEAT Stage 0 تک بھي نہیں پہنچ سکتی۔ sequencer ٹیم کے ذریعے چلایا جاتا ہے، اور 160-bit اڈریسز تقریباً 2^80 قوانٹم سیکنڈ-پرائمج رزسٹنس چھوڑتے ہیں۔ پوسٹ میں یہ بھي پوچھا گيا ہے کہ کya ہاش-چین اکاؤنٹس EIP-7702 ya عام L2s پر نِيٹِو اکاؤنٹ ابستراکشن والیدیشن موڈ بن سکتے ہيں؟

اوپن زیپلین نے چین لینک کو اپنے ٹوکن ٹولنگ میں کراس چین اور کمپلائنس کے لیے ڈیفالٹ بنایا ہے، اور اگر آپ کمپلائنس باکس کو ٹک کر دیں، تو آپ کے ٹوکن کی لائسنس تبدیل ہو جائے گی۔ ایک ہفتہ پہلے، اوپن زیپلین نے چین لینک کے ساتھ ایک استراتیجک شراکت کا اعلان کیا۔ CCIP اور ACE، جو چین لینک کے کراس چین پروٹوکول اور اس کا آٹومیٹڈ کمپلائنس انجن ہیں، اب کنٹریکٹس وائزر میں شامل ہو چکے ہیں، جو اوپن زیپلین کا AI ٹولنگ اور اس کے دستاویزات ہیں۔ ERC20، اسٹیبل کوائن اور RWA جنریٹرز میں دونوں آپشنز دستیاب ہیں۔ CCIP آپشن منتخب کرنے سے ٹوکن، چین لینک کے برن-اور-مِنٹ پول کی ضرورت والے مِنٹ اور برن کالز کو اپنی اپنی اجازتوں کے پیچھے ظاہر کرتا ہے۔ اس کے ساتھ ساتھ CCIP رجسٹریشن کے لیے ایڈمنسٹریٹر کا نام بھی مقرر کرتا ہے۔ یہ حصہ آپ کی منتخب کردہ لائسنس کو ویسا ہی رکھتا ہے، کیونکہ چین لینک کا کوئی کوڈ شامل نہیں ہوتا۔ ACE آپشن الگ ہے۔ یہ ٹرانسفرز، مِنٹس اور برنز کو ایک پالیسی انجن پر فوروارڈ کرتا ہے جسے آپ ڈپلو اور کانفگر کرتے ہیں۔ اوپن زیپلین کے اپنے دستاویزات میں کہا گیا ہے کہ ACE استعمال کرنے والے ٹوکن BUSL-1.1 کے تحت آتے ہیں، اور پیداواری استعمال ACE لائسنس اور اس کے اضافی استعمال گرینٹس کو پورا کرنا ضروری ہے۔ سالوں تک، جنریٹڈ اوپن زیپلین ٹوکن آپ کی منتخب کردہ لائسنس رکھتا تھا، عام طور پر MIT۔ اب ایک واحد چیک باکس اسے تبدیل کر دیتا ہے، اور ایک جونئر ڈو و جلد بازی میں شاید اسے نہ دیکھ پائے۔ جنریٹر آپ کا پول رجسٹر نہیں کرتا، اجازتیں نہیں سیٹ کرتا، اور آپ کی پالیسز نہیں لکھتا۔ ایک پالیسی انجن جوڑنا کوئی پالیسی سیٹ نہیں کرتا، اور آپ خود ذمہ دار رہتے ہیں کہ آپ کے لیے لاگو قوانین پورے ہوں۔ اعلان میں اوپن زیپلین ڈفینڈر سے چین لینک کے رنไทم ماحول تک منتقل ہونے کا راستہ بھی ذکر کیا گيا ہے۔ اس میں سے کچھ بھی پوشیدہ نہیں ہے، اور اگر RWA ٹیم پہلے سے چین لینک چاhti ہو، تو یہ حقیقی انٹیگریشن کام بچاتا ہے۔ میرا صرف یہ خواہش ہے کہ بنانے والے اسے جان بوجھ کر منتخب کریں، نہ کہ وائزر نے جگہ دیدی تو۔

اسمارٹ کنٹریکٹ ماکس، آپ کا سولڈیٹی کمپائلر شاید ایک ایسا اسٹور حذف کر چکا ہو جس کی آپ کو ضرورت تھی، اور آپ اسے اپنے سورس میں کبھی نہیں دیکھ پائے گے۔ سولڈیٹی 0.8.38 گزشتہ جمعرات کو جاری ہوئی۔ یہ Yul آپٹیمائزر میں ایک خطا کو درست کرتی ہے جو 0.8.19 سے لے کر 0.8.37 تک ہر ریلیز میں موجود تھا۔ آپٹیمائزر میموری اور اسٹوریج میں کیا موجود ہے، اس کے بارے میں نوٹس رکھتا ہے۔ وہ ان نوٹس کا استعمال کرتا ہے تاکہ ایک لوڈ کو اس کے پہلے سے جانے ہوئے اقدار سے تبدیل کر دے، اور اس اسٹور کو نظرانداز کر دے جو پہلے سے موجود چیز لکھ رہا ہو۔ دو اڈریسز کے اوورلیپ ہونے کا فیصلہ کرنے کے لیے، وہ ہر ایک کو ایک بنیادی متغیر جمع ایک آف سیٹ کے طور پر بیان کرتا ہے۔ ایک ہی بنیاد، مختلف آف سیٹ، تو وہ ضرور الگ سلوٹس ہوں گے۔ ان تفصیلات کو کیش کر لیا جاتا تھا۔ پھر کسی نے بنیادی متغیر کو دوبارہ متعین کر دیا۔ آپٹیمائزر ہمیشہ اس بات کا خیال نہیں رکھتا۔ اب وہ پرانے اقدار سے بنائے گئے اڈریس کو نئے اقدار سے بنائے گئے اڈریس کے ساتھ ت порت کرتا ہے، جیسے دونوں ایک ہی بنیاد شیرت کرتے ہوں۔ وہ فیصلہ کرتا ہے کہ وہ مختلف ہیں، لیکن رن ٹائم پر وہ ایک ہی جگہ کو اشارہ کرتے ہیں۔ نتیجہ ایک پرانا نوٹ ہوتا ہے۔ بعد میں لوڈ کرنے پر پرانا اقدار واپس آ سکتے ہیں۔ آپ کو ضرورت والی اسٹور حذف ہو سکتی ہے۔ اس جگہ پر keccak256 پرانا ڈیٹا ہاش کر سکتا ہے۔ صرف آپٹیمائزر آن والے کوڈ متاثر ہوتے ہیں۔ via-IR کے ساتھ، کوئ بھی کوڈ اس سے متاثر ہو سکتا ہے، حتٰى کہ ان لائن اسمبلی کے بغیر بھی۔ ڈفالٹ لیگسی پائپ لائن کے ساتھ، صرف بعض ان لائن اسمبلی اور کمپائلر جنریٹڈ ہيلپرز۔ آپٹمائزڈ نہ بنائے گئے بِلڈز محفوظ ہوتے ہیں۔ ٹیم نے اسے کم شدت والے خطا قرار دیا، اور انھوں نے وہ کام کیا جو ميں چاhta ہوں کہ ہر کمپائلر ٹیم کرے۔ انھوں نے Sourcify ڈे�ٹابیس میں موجود تمام تصدیق شدہ اسمارٹ کنٹریکٹس کو فکس کے ساتھ اور بغیر فکس کے دوبارہ کمپائل کیا، اور ان سب ميں بائٹ کوڈ مطابق تھا۔ تو �ہ نایاب ہے۔ نایاب کا مطلب یہ نہيں کہ کبھي نهيں، خاص طور پر اگر آپ کا کوڈ تازہ ہو اور ابھي تک ڈپلوئڈ نہيں ہوا ہو۔ اس خطا کا پتہ لگانے والا Ethereum Foundation بگ بونٹي سے آيا، اور دوسرا رپورٹ دکھاتا ہے کہ اسمبلی کے بغیر عام سولڈیٹي بھي اسے فعال کر سکتى ہے۔


