Trending News

BTC
$17,155.50
-0.4
ETH
$1,264.14
-1.51
LTC
$76.37
-2.08
DASH
$46.65
+1.19
XMR
$148.56
+0.86
NXT
$0.00
-0.4
ETC
$19.13
-0.57

1.x फ़ाइलें: जनवरी कॉल डाइजेस्ट

0



14 जनवरी tl;dc (बहुत लंबा, कॉल नहीं किया)

अस्वीकरण: यह आवर्ती Eth1.x शोध कॉल में चर्चा किए गए विषयों का एक डाइजेस्ट है, और नेटवर्क उन्नयन के लिए अंतिम योजनाओं या प्रतिबद्धताओं का प्रतिनिधित्व नहीं करता है।

इस कॉल के मुख्य विषय थे

  • रफ डेटा एक बाइनरी ट्राई स्ट्रक्चर पर स्विच करने के फायदे की मात्रा निर्धारित करता है
  • बाइनरी कोशिशों पर स्विच करने के लिए संक्रमण रणनीतियाँ और संभावित चुनौतियाँ
  • गवाहों के लिए “मर्क्लाइज़िंग” अनुबंध कोड, और गैस शेड्यूलिंग/मीटरिंग के लिए निहितार्थ
  • चेन प्रूनिंग और ऐतिहासिक श्रृंखला/राज्य डेटा – नेटवर्क निहितार्थ और वितरण के दृष्टिकोण।

संभार तंत्र

EthCC के बाद के सप्ताहांत (7-8 मार्च), एक छोटा 1.x शोध शिखर सम्मेलन होगा, जिसमें कुछ दिनों की ठोस चर्चा और हाथ में विषयों पर काम करने का इरादा होगा। सत्र 40 उपस्थित लोगों पर (स्थल की कमी से) छाया हुआ होगा, जो अपेक्षित प्रतिभागियों के लिए पर्याप्त से अधिक होना चाहिए।

स्टैनफोर्ड ब्लॉकचैन सप्ताह और ETHDenver के आसपास कुछ अनौपचारिक, तदर्थ सभा भी होने की संभावना है, लेकिन कुछ भी स्पष्ट रूप से नियोजित नहीं है।

अगली कॉल फरवरी में पहले या दूसरे सप्ताह के लिए अस्थायी रूप से निर्धारित है – अभी और पेरिस में शिखर सम्मेलन के बीच का आधा रास्ता।

तकनीकी चर्चा

ईआईपी #2465

हालांकि सीधे तौर पर स्टेटलेस एथेरियम से संबंधित नहीं है, यह ईआईपी लेन-देन के प्रसार के लिए नेटवर्क प्रोटोकॉल में सुधार करता है, और इस प्रकार एक बहुत ही सीधा सुधार है जो चीजों को सही दिशा में ले जाता है जिस पर शोध काम कर रहा है। सहायता!

बाइनरी ट्री आकार बचत

बाइनरी ट्री स्ट्रक्चर (वर्तमान हेक्सरी ट्री स्ट्रक्चर के बजाय) में संक्रमण को सिद्धांत रूप में गवाहों के आकार को 3.75x की तरह कम करना चाहिए, लेकिन व्यवहार में यह कमी केवल आधी हो सकती है, यह इस बात पर निर्भर करता है कि आप इसे कैसे देखते हैं।.

गवाह लगभग 30% कोड और 70% हैश हैं। ट्री के भीतर हैश 3x कम हो जाते हैं, लेकिन बाइनरी ट्री के साथ कोड में सुधार नहीं होता है, क्योंकि इसे हमेशा गवाह में शामिल करने की आवश्यकता होती है। तो एक बाइनरी ट्री प्रारूप में स्विच करने से गवाह आकार ~ 300-1400kB, हेक्सरी ट्री में ~ 800-3,400kB से नीचे आ जाएगा।

स्विच बनाना

बाइनरी ट्री में वास्तविक संक्रमण को लागू करना एक और मामला है, जिसमें कुछ प्रश्न हैं जिन्हें दूर करने की आवश्यकता है। अनिवार्य रूप से दो अलग-अलग संभावित रणनीतियाँ हैं जिनका पालन किया जा सकता है:

प्रगतिशील संक्रमण — यह ट्रांज़िशन का एक ‘शिप ऑफ़ थीसस’ मॉडल है, जिसके तहत पूरे राज्य के ट्राई को एक बाइनरी फॉर्मेट अकाउंट-बाय-अकाउंट और स्टोरेजस्लॉट-बाय-स्टोरेज स्लॉट में माइग्रेट किया जाता है, क्योंकि राज्य का प्रत्येक भाग ईवीएम निष्पादन द्वारा छुआ जाता है। इसका तात्पर्य यह है कि, हमेशा के लिए, एथेरियम की स्थिति एक हेक्सरी/बाइनरी हाइब्रिड होगी, और नए ट्राई प्रारूप (शायद एक POKE opcode के साथ;) में अपडेट होने के लिए खातों को “पोक” करने की आवश्यकता होगी। लाभ यह है कि यह श्रृंखला के सामान्य कामकाज को बाधित नहीं करता है, और उन्नयन के लिए बड़े पैमाने पर समन्वय की आवश्यकता नहीं होती है। नुकसान जटिलता है: दोनों हेक्सरी और बाइनरी ट्राई प्रारूपों को ग्राहकों में शामिल करने की आवश्यकता है, और प्रक्रिया वास्तव में कभी भी “खत्म” नहीं होगी, क्योंकि राज्य के कुछ हिस्सों को बाहरी रूप से एक्सेस नहीं किया जा सकता है, और उनके मालिकों द्वारा स्पष्ट रूप से पोक करने की आवश्यकता होगी जो शायद पूरे राज्य के लिए नहीं होगा। सभी ग्राहकों के लिए भंडारण आवश्यकताओं में अचानक नाटकीय वृद्धि से बचने के लिए प्रगतिशील रणनीति के लिए ग्राहकों को अपने डेटाबेस को एक हेक्सरी डेटाबेस लेआउट के अंदर ‘वर्चुअलाइज्ड’ बाइनरी ट्री के रूप में संशोधित करने की आवश्यकता होगी (नोट: यह डेटाबेस सुधार स्वतंत्र हो सकता है पूर्ण ‘प्रगतिशील’ संक्रमण, और अभी भी अकेले फायदेमंद होगा)।

गणना और साफ-सुथरा – यह एक या अधिक हार्ड-फोर्क्स पर पूरा किया गया ‘एक बार’ संक्रमण होगा, जिससे भविष्य में एक तारीख को स्विच के लिए चुना जाएगा, और फिर नेटवर्क में सभी प्रतिभागियों को राज्य को बाइनरी ट्री के रूप में पुन: गणना करने की आवश्यकता होगी। , और फिर एक साथ नए स्वरूप में स्विच करें। यह रणनीति कुछ अर्थों में लागू करने के लिए ‘सरल’ होगी क्योंकि यह इंजीनियरिंग की तरफ सीधा है। लेकिन यह एक समन्वय के दृष्टिकोण से अधिक जटिल है: नए बाइनरी ट्री स्टेट को कांटे से पहले पूर्व-गणना करने की आवश्यकता होती है, जिसमें एक घंटा (या उसके बाद) लग सकता है – उस विंडो के दौरान, यह स्पष्ट नहीं है कि लेनदेन और नए ब्लॉक कैसे संभाले जाएंगे ( क्योंकि उन्हें अभी तक गैर-गणना की गई बाइनरी स्टेट ट्री, और/या लीगेसी ट्री में शामिल करने की आवश्यकता होगी)। इस प्रक्रिया को इस तथ्य से कठिन बना दिया जाएगा कि कई खनिक और एक्सचेंज अंतिम समय में ग्राहकों को अपग्रेड करना पसंद करते हैं। वैकल्पिक रूप से हम नए राज्य की फिर से गणना करने के लिए पूरी श्रृंखला को थोड़े समय के लिए रोकने की कल्पना कर सकते हैं – एक प्रक्रिया जो समन्वय के लिए और भी मुश्किल और संभावित रूप से विवादास्पद हो सकती है।

दोनों विकल्प अभी भी ‘मेज पर’ हैं, और अगले चरणों के संबंध में कोई भी निर्णय लेने से पहले और विचार और चर्चा की आवश्यकता है। विशेष रूप से एक तरफ कार्यान्वयन जटिलता और दूसरी ओर समन्वय चुनौतियों के बीच व्यापार-बंद का वजन।

कोड “चंकिंग”

गवाहों के कोड भाग को संबोधित करते हुए, कोड ‘मर्क्लाइज़ेशन’ पर कुछ प्रोटोटाइपिंग कार्य किया गया है, जो अनिवार्य रूप से अनुबंध कोड को गवाह में डालने से पहले टुकड़ों में विभाजित करने की अनुमति देता है। मूल विचार यह है कि, यदि एक स्मार्ट अनुबंध में एक विधि को बुलाया जाता है, तो गवाह को केवल अनुबंध कोड के उन हिस्सों को शामिल करना चाहिए जिन्हें वास्तव में पूरे अनुबंध के बजाय बुलाया गया था। यह अभी भी बहुत प्रारंभिक शोध है, लेकिन यह गवाह के कोड हिस्से में अतिरिक्त ~ 50% की कमी का सुझाव देता है। अधिक महत्वाकांक्षी रूप से, एक वैश्विक ‘कोड ट्राई’ बनाने के लिए कोड चंकिंग का अभ्यास बढ़ाया जा सकता है, लेकिन यह एक अच्छी तरह से विकसित विचार नहीं है और इसकी अपनी चुनौतियां हैं जो आगे की जांच की गारंटी देती हैं।

अलग-अलग तरीके हैं जिनके द्वारा कोड को टुकड़ों में विभाजित किया जा सकता है, और फिर गवाहों को उत्पन्न करने के लिए उपयोग किया जा सकता है। पहला ‘डायनेमिक’ है, जिसमें यह JUMPDEST निर्देशों को खोजने और उन बिंदुओं के पास क्लीविंग पर निर्भर करता है, जिसके परिणामस्वरूप कोड के टूटने के आधार पर वेरिएबल चंक साइज होते हैं। दूसरा ‘स्थैतिक’ है, जो निश्चित आकार में कोड को तोड़ देगा, और कुछ आवश्यक मेटाडेटा जोड़ देगा जहां निर्दिष्ट किया गया है कि सही कूद गंतव्य खंड के भीतर हैं। ऐसा लगता है कि इन दोनों में से कोई भी दृष्टिकोण मान्य होगा, और दोनों संगत हो सकते हैं और उपयोगकर्ताओं को यह तय करने के लिए छोड़ दिया जा सकता है कि किसे नियोजित करना है। किसी भी तरह से, चंकिंग गवाह के आकार को और कम करने में सक्षम बनाता है।

(संयुक्त राष्ट्र) गैस

एक खुला प्रश्न यह है कि ब्लॉक गवाहों की शुरूआत के साथ गैस शेड्यूलिंग में क्या परिवर्तन आवश्यक या वांछनीय होंगे। गवाह पीढ़ी को गैस में भुगतान करने की आवश्यकता है। यदि कोड को खंडित किया जाता है, तो एक ब्लॉक के भीतर कुछ ओवरलैप होगा जहां कई लेनदेन एक ही कोड को कवर करते हैं, और इस प्रकार ब्लॉक में शामिल सभी लेनदेन द्वारा ब्लॉक गवाह के कुछ हिस्सों का भुगतान एक से अधिक बार किया जाएगा। यह एक सुरक्षित विचार की तरह लगता है (और एक जो खनिकों के लिए अच्छा होगा) इसे अपने लेनदेन के गवाह की पूरी लागत का भुगतान करने के लिए लेनदेन के पोस्टर पर छोड़ना होगा, और फिर खनिक को अधिक भुगतान रखना होगा। यह गैस की लागत में बदलाव की आवश्यकता को कम करता है और खनिकों को गवाह पेश करने के लिए प्रोत्साहित करता है, लेकिन दुर्भाग्य से कुल प्रतिबद्ध गैस के एक हिस्से के साथ केवल उप-कॉल (लेन-देन में) पर भरोसा करने के मौजूदा सुरक्षा मॉडल को तोड़ता है। सुरक्षा मॉडल में उस बदलाव को कैसे संभाला जाता है, इस पर पूरी तरह से और पूरी तरह से विचार करने की आवश्यकता है। दिन के अंत में, लक्ष्य प्रत्येक लेन-देन को अपने स्वयं के गवाह के उत्पादन की लागत को चार्ज करना है, जो उस कोड के आनुपातिक है जिसे वह छूता है।

वेई तांग का UNGAS प्रस्ताव ईवीएम में किसी भी बदलाव को पूरा करना आसान हो सकता है। यह स्टेटलेस एथेरियम के लिए कड़ाई से आवश्यक नहीं है, लेकिन यह एक विचार है कि भविष्य में गैस शेड्यूल में ब्रेकिंग परिवर्तन को कैसे आसान बनाया जाए। पूछने का सवाल यह है कि “यूएनजीएएस के बिना और उसके साथ परिवर्तन कैसा दिखता है – और उन चीजों पर विचार किया जाता है, क्या यूएनजीएएस वास्तव में इस सामान को लागू करने में काफी आसान बनाता है?”। इसका उत्तर देने के लिए, हमें ऐसे प्रयोगों की आवश्यकता है जो मर्क्लाइज्ड कोड और नए गैस नियमों के साथ काम करें, और फिर देखें कि ईवीएम में लागत और निष्पादन के संबंध में क्या बदलना चाहिए।

प्रूनिंग और डेटा डिलीवरी

एक स्टेटलेस मॉडल में, जिन नोड्स में कुछ या सभी राज्य नहीं होते हैं, उन्हें बाकी नेटवर्क को संकेत देने के लिए एक तरीके की आवश्यकता होती है कि उनके पास कौन सा डेटा है और किस डेटा की कमी है। इसका नेटवर्क टोपोलॉजी के लिए निहितार्थ है – स्टेटलेस क्लाइंट जिनके पास डेटा की कमी है, उन्हें नेटवर्क पर कहीं भी आवश्यक डेटा को मज़बूती से और जल्दी से खोजने में सक्षम होने की आवश्यकता है, साथ ही उन डेटा को सामने से प्रसारित करना चाहिए जो उनके पास नहीं है (और इसकी आवश्यकता हो सकती है) . चेन-प्रूनिंग ईआईपी में से एक में ऐसी सुविधा जोड़ना एक नेटवर्किंग (लेकिन आम सहमति नहीं) प्रोटोकॉल परिवर्तन है, और यह कुछ ऐसा है जो अब भी किया जा सकता है।

इस समस्या का दूसरा पक्ष यह है कि ऐतिहासिक डेटा को कहाँ संग्रहीत किया जाए, और अब तक प्रस्तावित सबसे अच्छा समाधान एक एथ-विशिष्ट वितरित भंडारण नेटवर्क है, जो अनुरोधित डेटा की सेवा कर सकता है। यह कई स्वादों में आ सकता है; पूरा राज्य अनुबंध कोड के समान ‘चंकिंग’ के लिए उत्तरदायी हो सकता है; आंशिक-राज्य नोड्स राज्य के हिस्सों को देख सकते हैं (यादृच्छिक रूप से असाइन किए गए) और नेटवर्क के किनारों पर अनुरोध द्वारा उनकी सेवा कर सकते हैं; क्लाइंट अतिरिक्त डेटा रूटिंग तंत्र को नियोजित कर सकते हैं ताकि एक स्टेटलेस नोड अभी भी एक मध्यस्थ के माध्यम से लापता डेटा प्राप्त कर सके (जिसके पास वह डेटा नहीं है जिसकी उसे आवश्यकता है, लेकिन दूसरे नोड से जुड़ा है जो करता है)। हालाँकि इसे लागू किया गया है, सामान्य लक्ष्य यह है कि ग्राहक नेटवर्क में शामिल होने में सक्षम हों और सभी आवश्यक डेटा प्राप्त करने में सक्षम हों, मज़बूती से, और एक पूर्ण-राज्य नोड से जुड़ने की स्थिति के लिए जॉकी किए बिना, जो प्रभावी रूप से एलईएस के साथ होता है अब नोड्स। इन विचारों के इर्द-गिर्द काम अभी भी शुरुआती चरण में है, लेकिन गेट टीम के पास ‘स्टेट टाइलिंग’ (चंकिंग) के साथ प्रयोग करने के कुछ आशाजनक परिणाम हैं, और टर्बो-गेथ राज्य के गपशप भागों के लिए डेटा रूटिंग पर काम कर रहा है।


हमेशा की तरह, यदि आपके पास Eth1x प्रयासों, विषयों के अनुरोध, या योगदान करने के बारे में कोई प्रश्न हैं, तो किसी कार्यक्रम में भाग लें, ethresear.ch पर अपना परिचय दें या ट्विटर पर @gichiba और/या @JHancock से संपर्क करें।



Source link

Leave A Reply

Your email address will not be published.

Shares