

एक ऐसा कॉन्ट्रैक्ट जो एक विफल कॉल के बाद भी चलता रहता है, आज किसी भी विश्वसनीय तरीके से नहीं बता सकता कि कैली का रिवर्ट जानबूझकर हुआ या सिर्फ गैस समाप्त हो गई है, जो सेंडर ने चुनी है। यह अंतर अपर्याप्त गैस ग्रीफिंग की मूल कारण है, और एक नया प्रारंभिक प्रस्ताव EVM स्तर पर इसे बंद करने का प्रयास करता है। EIP-8456, जिसे सोमवार को Ethereum Magicians पर चर्चा के लिए खोला गया, 2 गैस के लिए अस्थायी रूप से opcode 0xA5 पर CALLSTATUS नामक एक निर्देश जोड़ता है। यह वर्तमान फ्रेम में सबसे हालिया कॉल या create संचालन की पूर्णता की स्थिति को तीन बिट्स के रूप में पुश करता है। बिट 0 का मतलब है रिवर्ट, बिट 1 का मतलब है असामान्य रुकावट जैसे गैस समाप्त होना, और बिट 2 का मतलब है कि किसी नीचे के फ्रेम में कुछ रुक गया। लेखक बताते हैं कि आज केवल साक्ष्य gasleft() अंकगणित है, और हर repricing फ़ोर्क ने उन सीमाओं को तोड़ दिया है। EIP-8037 का प्रस्तावित द्वि-आयामी गैस इस अंकगणित को और कमजोर बना देगा, क्योंकि इसका संचय सीधे GAS opcode के माध्यम से दिखाई नहीं देता। तो तीसरा बिट क्यों? अधिकांश वास्तविक कॉल प्रॉक्सी, OpenZeppelin के functionCall wrapper, Multicall3 या ERC-1271 साइनेचर चेकर्स के माध्यम से होते हैं। अगर केवल सीधे कैली की समाप्ति की सूचना मिलती, तो एक wrapper, जो गैस समाप्त होने पर रुकता है और कारण के साथ reverts करता है, स्पष्ट reverts की तरह प्रतीत होगा। प्रारंभिक प्रस्ताव में एक स्टिकी फ्लैग है, जो प्रत्येक फ्रेम में से होकर प्रवाहित होता है, इसलिए कोई सेंडर, जो केवल gas पर नियंत्रण रखता है, कभी bhi caller को साधारण revert पढ़ने के लिए मजबूर नहीं कर सकता। यह परिणामों की सूचना देता है, कारणों की नहीं, और कैलीअभीभी INVALID के माध्यम सेजानबुझकर halt पैदा कर सकता है। यह केवल प्रस्तावित प्रोटोटाइप के पश्चात्लिखित कोड की सुरक्षा करता है, क्योंकि पहले से स्थापित कॉन्ट्रैक्ट्सइसे पढ़ेंगे। अभीतककोईबाहरीसमीक्षाएँनहींहैं, opcode संख्याअभीखुलीहै,और58प्रस्तुतमामलोंकेलिएएकप्रोटोटाइपऔरपरीक्षणअभीप्रतीक्षामेंहै। लिंक - https://t.co/KnByUBgWrY

अधिकांश ईथेरियम वॉलेट अभी भी अपने पते को जानने वाले किसी भी व्यक्ति को आपकी पूरी वित्तीय इतिहास दिखाते हैं, और ईथेरियम फाउंडेशन अब इसे एक सुरक्षा छेद के रूप में प्रस्तुत कर रहा है, न कि केवल गोपनीयता का एक अच्छा विकल्प। सोमवार को, फाउंडेशन ने पोस्ट किया कि पिछले सप्ताह के हमलों और दुरुपयोगों ने उन्हें एक बात स्पष्ट कर दी है, जो है कि गोपनीयता और सुरक्षा को अलग-अलग लक्ष्यों के रूप में नहीं समझा जा सकता। उनका कहना था कि जब गोपनीयता डिफ़ॉल्ट हो, तो आपको एक हमलावर के द्वारा आपके ऑनचेन इतिहास का उपयोग करने की चिंता कम करनी चाहिए। पोस्ट में कोहाकू, फाउंडेशन के प्राथमिकता-गोपनीयता वाले वॉलेट टूलिंग प्रोजेक्ट पर एक अपडेट का हवाला दिया गया। जावास्क्रिप्ट रिपो में पैकेजेस में विभाजित किया गया है, जिन्हें एक-एक करके कोई भी वॉलेट टीम उठा सकती है। गोपनीयता पूल्स और टॉर्नेडो कैश के लिए पुस्तकालय हैं, साथ ही एक रेलगन पुस्तकालय, जिसे README में वर्तमान में "निरंतरता" के साथ चिह्नित किया गया है। एक प्लगइन पैकेज सुरक्षित पूल प्रोटोकॉल के लिए मानक इंटरफ़ेस परिभाषित करता है, ताकि एक वॉलेट सभी के साथ समान तरीके से संवाद कर सके। एक प्रोवाइडर पैकेज ethers, viem, Helios और Colibri पर सामान्यीकरण करता है। रिपो में पोस्ट-क्वांटम ERC-4337 खाता भी समाहित है। रस्ट क्रेट्स अलग सह-संबंधित रिपो में मौजूद हैं। मुझे पसंद है कि इसे एक SDK के रूप में प्रस्तुत किया गया है, सिर्फ़ एक और प्राइवेसी-वॉलेट की तरह, जो उपयोगकर्ताओं से पैसे स्थानांतरित करने को कहती हो। विचार है कि मौजूदा वॉलेट सभी टीमों के प्रत्येक के स्वयं के 3 प्रोटोकॉल को पुनः कार्यान्वित किए बिना, सुरक्षित प्रवाहों को जोड़ सकते हैं। README में स्थिति के बारे में सीधा-सीधा कहा गया है। कुछ हिस्से "उत्पादन" के लिए तैयार नहीं हैं, और पैकेज में unaudited कोड है। अंबायर के जॉर्डन Enev ने पिछले शुक्रवार कहा कि टीम महीनों से समाकलनों की परीक्षण कर रही है, और कोई सार्वजनिक प्रकटीकरण की मिति प्रदान नहीं की गई है। विटलिक और निकोलस कंसिग्नी @EFDevcon पर, 28 मई (अगले मंगलवार) को, Ambire के साथ Ethereum mainnet पर Kohaku का प्रदर्शन करने के लिए समयबद्ध हैं, सत्र सूची के मुताबिक। यहाँ रिपो है - 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-बिट PCM के रूप में, यदि आप इसका अनुरोध करें। दस्तावेज़ में कुछ सीमाएँ सूचीबद्ध हैं जिन्हें आसानी से पार किया जा सकता है। प्रत्येक अनुरोध में 4,096 अक्षरों तक हो सकता है, हालाँकि ollama run लंबे पाठ को स्वयं विभाजित करता है। मूल्य, प्रतीक, ईमेल और URL को स्पेलआउट किया जाता है, जबकि संख्यात्मक तिथियों को लिखे गए अनुसार पढ़ा जाता है, इसलिए दस्तावेज़ सुझाव देता है कि तिथियों को शब्दों में लिखा जाए। असमर्थित विकल्प, जैसे स्पीड या निर्देश, 400 त्रुटि प्रतिक्रिया देते हैं, प्रशांतता से 무시 करने के बजाय। अनुमति पत्र पर प्रस्तुति से पहले सावधानी से पढ़ना महत्वपूर्ण है। डिफ़ॉल्ट English phonon मॉडल Apache 2.0 है। 40M French, German, Spanish, Portuguese और मल्टीलिंगुअल संस्करण CC BY-NC 4.0 हैं, जो व्यावसायिक प्रयोग को मना करते हैं। Ollama कहता है कि M5 Max MacBook Pro पर, यह Gradium के स्वयं के runtime से 35 प्रतिशत तेज़ी से चला, हालाँकि यह Gradium की स्वयं की प्रयोगशाला परीक्षण है, स्वतंत्र परीक्षण नहीं। अभी के लिए, स्पीच केवल Apple Silicon पर ही समर्थित है, Windows और Linux समर्थन "जल्द ही" के रूप में सूचीबद्ध है।

एक ईथेरियम L2 जो शून्य साइनेचर स्वीकार करता है, वह सुरक्षा बग जैसा लगता है, लेकिन BB84 इसे क्वांटम हमलों से बचने के लिए जानबूझकर कर रहा है। पिछले हफ्ते के अंत में, इसके संस्थापक, जो Hadamard के नाम से पोस्ट करते हैं, ने Ethereum Research पर डिज़ाइन प्रकाशित किया और आलोचनात्मक प्रतिक्रिया के लिए कहा। 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 होता है, और यदि कोई वॉलेट अंतिम कड़ी पर पुनः समय-समय पर पुनः सक्रियण चरण को मिस करता है, तो वह पता मर जाता है। पोस्ट में एक front-running दोष भी शामिल है, जिसे टीम ने इसे लिखते समय पाया। Commits में कोई साइनेचर नहीं होता, इसलिए पहले कोई नया commit pending commit को प्रतिस्थापित कर सकता था, और हमलावर प्रकट किए गए रहस्य को अपने स्वयं के भुगतान से पुनः-बांध सकता था। 21अक्टूबर से प्रभावी हुए एक नियम से पहला commit ही विजयी माना जाता है। सीमाएं स्पष्ट रूप से स्पष्ट की गई हैं। L1 डिपॉज़िट्स और निकासी में अभी भी ECDSA का प्रयोग होता है। अभी कोई fault proof नहीं हैं, और पोस्ट के स्वयं के हवाले से, यह चेन L2BEAT Stage 0 में भी पहुंचने में सक्षम नहीं होगी। sequencer, टीम द्वारा संचालित है, और 160-बिट पते 2^80 क्वांटम सेकंड-प्रीइमेज प्रतिरोधकता प्रदान करते हैं। पोस्ट में पूछा गया है कि क्या hash-chain accounts EIP-7702 ya सामान्य L2s पर native account abstraction validation mode के रूप में बन सकते हैं।

OpenZeppelin ने Chainlink को अपने टोकन टूलिंग में क्रॉस-चेन और कॉम्प्लायंस के लिए डिफ़ॉल्ट बना दिया है, और अगर आप कॉम्प्लायंस बॉक्स को टिक करते हैं, तो आपके टोकन की लाइसेंस बदल जाती है। एक हफ्ते पहले, OpenZeppelin ने Chainlink के साथ एक रणनीतिक साझेदारी की घोषणा की। CCIP और ACE, Chainlink का क्रॉस-चेन प्रोटोकॉल और उसका ऑटोमेटेड कॉम्प्लायंस इंजन, अब Contracts Wizard में बुना हुआ है, जो OpenZeppelin का AI टूलिंग और इसके दस्तावेज़ है। ERC20, स्टेबलकॉइन और RWA जनरेटर सभी दोनों विकल्प प्रदान करते हैं। CCIP विकल्प का चयन करने से टोकन, Chainlink के बर्न-एंड-मिंट पूल की आवश्यकता के अनुसार, मिंट और बर्न कॉल्स को अपनी स्वयं की अनुमतियों के पीछे प्रदर्शित करता है। यह CCIP पंजीकरण के लिए एक प्रशासक का नाम भी निर्दिष्ट करता है। यह हिस्सा आपके द्वारा चुनी गई कोई भी लाइसेंस बनाए रखता है, क्योंकि Chainlink का कोड इसमें शामिल नहीं होता। ACE विकल्प अलग है। यह स्थानांतरण, मिंट और बर्न को एक पॉलिसी इंजन पर प्रेषित करता है, जिसे आप स्वयं डिप्लॉय और कॉन्फ़िगर करते हैं। OpenZeppelin के स्वयं के दस्तावेज़ में कहा गया है कि ACE का उपयोग करने वाले टोकन BUSL-1.1 के अधीन होते हैं, और उत्पादन उपयोग ACE लाइसेंस और इसके अतिरिक्त उपयोग प्रदानों को पूरा करना होगा। वर्षों से, OpenZeppelin से जनरेट किया गया टोकन, आपके द्वारा चुनी हुई कोई भी लाइसेंस (आमतौर पर MIT) प्रयोग करता है। अब, सिर्फ़ एक ही चेकबॉक्स से यह परिवर्तित होता है, और समय की कमी में स्थिति समझने में सक्षम होने में समय में मदद मिल सकती है। जनरेटर पूल को पंजीकृत नहीं करता, प्रवेशाधिकार सेट नहीं करता,और पॉलिसीज़ में कुछ भी नहीं लिखता। एक पॉलिसी इंजन से संबद्ध होने से कोई पॉलिसी कॉन्फ़िगर नहीं होती,औरआपको सभी संबंधित प्रणालियों को पूरा करने में समय मिलता है। घोषणा में OpenZeppelin Defender से Chainlink के Runtime Environment में स्थानांतरण का मार्गभीउल्लेखहै। इसमें से कुछभीछुपायानहींगयाहै,औरएकRWAटीमकेलिएजोपहलेसेचेनलिंकचाहतीहै,यहवास्तविकएकीकरणकार्यबचाताहै। मैंबस्तवमेंचाहताहूँकिबिल्डरइसकाचयनजानबुझकरकरें,औरइसलिएनहींकिविज़ारडइसेवहाँडालदेताहै।

स्मार्ट कॉन्ट्रैक्ट मैक्सिस, आपका सॉलिडिटी कंपाइलर शायद एक स्टोर को चुपचाप हटा दिया होगा जिसकी आपको आवश्यकता थी, और आप इसे अपने स्रोत में कभी नहीं देख पाए। सॉलिडिटी 0.8.38 का पिछले गुरुवार को अपडेट आया। इसमें Yul ऑप्टिमाइज़र में एक बग को ठीक किया गया है, जो 0.8.19 से 0.8.37 तक के हर रिलीज़ में मौजूद था। ऑप्टिमाइज़र मेमोरी और स्टोरेज में क्या है, इसके बारे में नोट्स रखता है। वह इन नोट्स का उपयोग करके एक लोड को उस मान से प्रतिस्थापित करता है जिसे वह पहले से जानता है, और उस स्टोर को छोड़ देता है जो पहले से मौजूद मान को फिर से लिखता है। यह तय करने के लिए कि दो पते ओवरलैप हो सकते हैं या नहीं, वह प्रत्येक पते को एक बेस वेरिएबल प्लस ऑफसेट के रूप में वर्णित करता है। एक ही बेस, अलग-अलग ऑफसेट, इसलिए वे अलग-अलग स्लॉट होने चाहिए। ये वर्णन कैश किए गए थे। फिर किसी ने बेस वेरिएबल को पुनः असाइन कर दिया। ऑप्टिमाइज़र हमेशा इसे महसूस नहीं करता। अब यह पुराने मान से बनाए गए पते की तुलना नए मान से बनाए गए पते से करता है, मानते हुए कि वे एक ही बेस साझा करते हैं। वह तय करता है कि वे अलग हैं, लेकिन रनटाइम पर वे एक ही स्थान को संदर्भित करते हैं। परिणाम है—एक पुराना (stale) नोट। बाद में किया गया लोड पुराना मान लौटा सकता है। आपकी आवश्यकता वाला स्टोर हटा सकता है। उस स्थान पर keccak256 पुराने डेटा को हैश कर सकता है। केवल ऑप्टिमाइज़र सक्रिय होने पर कंपाइल किया गया कोड प्रभावित होता है। via-IR के साथ, कोई भी कोड प्रभावित हो सकता है, حتى inline assembly के बिना। डिफ़ॉल्ट पुरानी पाइपलाइन के साथ, केवल कुछ inline assembly और कंपाइलर-जनित हेल्पर्स। अनऑप्टिमाइज़्ड बिल्ड सुरक्षित हैं। टीम इसे कम सीवेरिटी मानती है, और उन्होंने कुछऐसा किया,जो मैं हर कंपाइलर टीम की कामना करता हूँ— उन्होंने Sourcify डेटाबेस में प्रत्येक प्रमाणित कॉन्ट्रैक्ट को, सुधार के साथ-साथ सुधार के बिना, पुनः कंपाइल किया,और सभी में bytecode समान पाया गया। इसलिए,यह rare है। rare ka matlab never nahi hai,खासकर agar aapka code naya hai aur abhi tak deploy nahi kiya gaya hai। यह bug Ethereum Foundation bug bounty के माध्यम से aaya, aur ek doosri report ne dikhaya ki inline assembly ke bina bhi plain Solidity isse trigger kar sakti hai।


