समीक्षा के लिए दंकराड फीस्ट और आदित्य असगांवकर को विशेष धन्यवाद शेयरिंग एथेरियम स्केलेबिलिटी का भविष्य है, और यह पारिस्थितिकी तंत्र को प्रति सेकंड कई हजारों लेनदेन का समर्थन करने में मदद करने के लिए महत्वपूर्ण होगा और दुनिया के बड़े हिस्से को नियमित रूप से एक सस्ती कीमत पर प्लेटफॉर्म का उपयोग करने की अनुमति देगा। हालाँकि, यह एथेरियम पारिस्थितिकी तंत्र में और अधिक व्यापक रूप से ब्लॉकचेन पारिस्थितिकी तंत्र में अधिक गलत समझा अवधारणाओं में से एक है। यह बहुत विशिष्ट गुणों वाले विचारों के एक बहुत विशिष्ट सेट को संदर्भित करता है, लेकिन यह अक्सर उन तकनीकों के साथ मिल जाता है जिनमें बहुत अलग और अक्सर बहुत कमजोर सुरक्षा गुण होते हैं। इस पोस्ट का उद्देश्य यह बताना होगा कि शार्डिंग क्या विशिष्ट गुण प्रदान करता है, यह अन्य तकनीकों से कैसे भिन्न होता है जो कि शार्डिंग हैं, और इन गुणों को प्राप्त करने के लिए एक शार्प सिस्टम को क्या त्याग करना पड़ता है। नहीं मापनीयता त्रिलम्मा शार्डिंग का वर्णन करने का सबसे अच्छा तरीका समस्या कथन से शुरू होता है जिसने समाधान को आकार दिया और प्रेरित किया: । स्केलेबिलिटी ट्रिलेम्मा स्केलेबिलिटी ट्रिलेम्मा कहती है कि तीन गुण हैं जो एक ब्लॉकचेन के लिए प्रयास करते हैं, और यह कि, । तीन गुण हैं: यदि आप "सरल" तकनीकों से चिपके रहते हैं, तो आप उन तीन में से केवल दो प्राप्त कर सकते हैं : श्रृंखला एक नियमित नोड की तुलना में अधिक लेनदेन की प्रक्रिया कर सकती है (सोचें: एक उपभोक्ता लैपटॉप) सत्यापित कर सकता है। मापनीयता : बड़े केंद्रीकृत अभिनेताओं के एक छोटे समूह पर बिना किसी भरोसे के निर्भरता के श्रृंखला चल सकती है। इसका आमतौर पर अर्थ यह है कि नोड्स के एक सेट का कोई विश्वास (या ईमानदार-बहुमत की धारणा) नहीं होना चाहिए, जिसे आप केवल एक उपभोक्ता लैपटॉप के साथ नहीं जोड़ सकते। विकेंद्रीकरण : श्रृंखला उस पर हमला करने की कोशिश कर रहे भाग लेने वाले नोड्स के एक बड़े प्रतिशत का विरोध कर सकती है (आदर्श रूप से 50%; 25% से ऊपर कुछ भी ठीक है, 5% निश्चित रूप से ठीक है)। सुरक्षा नहीं अब हम "आसान समाधान" के तीन वर्गों को देख सकते हैं जिन्हें केवल तीन में से दो मिलते हैं: - जिसमें बिटकॉइन, प्री-पीओएस/शार्डिंग एथेरियम, लिटकोइन और अन्य समान श्रृंखलाएं शामिल हैं। ये एक पूर्ण नोड चलाने वाले प्रत्येक भागीदार पर भरोसा करते हैं जो प्रत्येक लेनदेन की पुष्टि करता है, और इसलिए उनके पास विकेंद्रीकरण और सुरक्षा है, लेकिन स्केलेबिलिटी नहीं है। पारंपरिक ब्लॉकचेन - डीपीओएस परिवार सहित, लेकिन कई अन्य भी। ये छोटी संख्या में नोड्स (अक्सर 10-100) पर भरोसा करते हैं, जो आपस में आम सहमति बनाए रखते हैं, जिसमें उपयोगकर्ताओं को इनमें से अधिकांश नोड्स पर भरोसा करना पड़ता है। यह स्केलेबल और सुरक्षित है (उपरोक्त परिभाषाओं का उपयोग करके), लेकिन यह विकेंद्रीकृत नहीं है। हाई-टीपीएस चेन - यह अलग-अलग श्रृंखलाओं पर अलग-अलग अनुप्रयोगों को लाइव करके और उनके बीच बात करने के लिए क्रॉस-चेन-संचार प्रोटोकॉल का उपयोग करके "स्केलिंग आउट" की सामान्य अवधारणा को संदर्भित करता है। यह विकेंद्रीकृत और स्केलेबल है, लेकिन यह सुरक्षित नहीं है, क्योंकि एक हमलावर को उस श्रृंखला को तोड़ने के लिए कई श्रृंखलाओं में से एक में केवल एक आम सहमति नोड बहुमत प्राप्त करने की आवश्यकता होती है (इसलिए अक्सर < पूरे पारिस्थितिकी तंत्र का <1%) और संभवतः लहर प्रभाव का कारण बनता है। अन्य श्रृंखलाओं में अनुप्रयोगों को बहुत नुकसान। बहु-श्रृंखला पारिस्थितिकी तंत्र एक शापित ब्लॉकचेन है: शेयरिंग एक ऐसी तकनीक है जो आप तीनों को प्राप्त करती है। : यह एक नोड की तुलना में कहीं अधिक लेनदेन की प्रक्रिया कर सकता है स्केलेबल : यह पूरी तरह से उपभोक्ता लैपटॉप पर जीवित रह सकता है, "सुपरनोड्स" पर कोई निर्भरता नहीं है विकेंद्रीकृत : एक हमलावर सिस्टम के एक छोटे से हिस्से को संसाधनों की एक छोटी संख्या के साथ लक्षित नहीं कर सकता है; वे केवल हावी होने और पूरी चीज़ पर हमला करने की कोशिश कर सकते हैं सुरक्षित बाकी पोस्ट में वर्णन किया जाएगा कि कैसे शार्प ब्लॉकचैन ऐसा करने का प्रबंधन करते हैं। यादृच्छिक नमूने के माध्यम से साझा करना शार्डिंग को समझने का सबसे आसान संस्करण रैंडम सैंपलिंग के माध्यम से शार्डिंग है। रैंडम सैंपलिंग के माध्यम से शेयरिंग में शार्डिंग के रूपों की तुलना में कमजोर ट्रस्ट गुण होते हैं, जिन्हें हम एथेरियम इकोसिस्टम में बना रहे हैं, लेकिन यह सरल तकनीक का उपयोग करता है। मूल विचार इस प्रकार है। मान लीजिए कि आपके पास बड़ी संख्या में (जैसे 10000) सत्यापनकर्ताओं के साथ हिस्सेदारी श्रृंखला का सबूत है, और आपके पास बड़ी संख्या में (उदाहरण के लिए 100) ब्लॉक हैं जिन्हें सत्यापित करने की आवश्यकता है। कोई भी एक कंप्यूटर इतना शक्तिशाली नहीं है कि अगले ब्लॉक के आने से पहले इन ब्लॉकों को मान्य कर सके। सभी इसलिए, हम क्या करते हैं कि हम देते हैं। हम सत्यापनकर्ता सूची को बेतरतीब ढंग से फेरबदल करते हैं, और हम पहले ब्लॉक को सत्यापित करने के लिए फेरबदल सूची में पहले 100 सत्यापनकर्ताओं को असाइन करते हैं, दूसरे ब्लॉक को सत्यापित करने के लिए फेरबदल सूची में दूसरे 100 सत्यापनकर्ता, आदि। सत्यापनकर्ताओं का एक यादृच्छिक रूप से चयनित समूह जिसे सौंपा जाता है किसी ब्लॉक को सत्यापित करना (या कोई अन्य कार्य करना) कहलाता है। सत्यापन करने के काम को बेतरतीब ढंग से विभाजित कर समिति जब कोई सत्यापनकर्ता किसी ब्लॉक को सत्यापित करता है, तो वे इस तथ्य की पुष्टि करते हुए एक हस्ताक्षर प्रकाशित करते हैं कि उन्होंने ऐसा किया था। बाकी सभी, 100 संपूर्ण ब्लॉकों को सत्यापित करने के बजाय, अब केवल 10000 हस्ताक्षरों को सत्यापित करते हैं - बहुत कम मात्रा में काम, विशेष रूप से के साथ। प्रत्येक ब्लॉक को एक ही पी2पी नेटवर्क के माध्यम से प्रसारित करने के बजाय, प्रत्येक ब्लॉक को एक अलग उप-नेटवर्क पर प्रसारित किया जाता है, और नोड्स को केवल उन ब्लॉकों के अनुरूप सबनेट में शामिल होने की आवश्यकता होती है जिनके लिए वे जिम्मेदार हैं (या अन्य कारणों से रुचि रखते हैं)। बीएलएस हस्ताक्षर एकत्रीकरण विचार करें कि क्या होता है यदि प्रत्येक नोड की कंप्यूटिंग शक्ति 2x बढ़ जाती है। क्योंकि प्रत्येक नोड अब 2x अधिक हस्ताक्षरों को सुरक्षित रूप से मान्य कर सकता है, आप 2x अधिक सत्यापनकर्ताओं का समर्थन करने के लिए न्यूनतम जमा राशि में कटौती कर सकते हैं, और इसलिए आप 100 के बजाय 200 समितियां बना सकते हैं। इसलिए, आप 100 के बजाय प्रति स्लॉट 200 ब्लॉक सत्यापित कर सकते हैं। इसके अलावा, 2x बड़ा हो सकता है। इसलिए, आपके पास 2x आकार के 2x अधिक ब्लॉक हैं, या पूरी तरह से 4x अधिक श्रृंखला क्षमता है। प्रत्येक व्यक्तिगत ब्लॉक क्या हो रहा है, इसके बारे में बात करने के लिए हम कुछ गणित भाषा का परिचय दे सकते हैं। का उपयोग करते हुए, हम एकल नोड की कम्प्यूटेशनल क्षमता को संदर्भित करने के लिए " " का उपयोग करते हैं। एक पारंपरिक ब्लॉकचेन आकार के ब्लॉक को प्रोसेस कर सकता है। ऊपर वर्णित एक शार्प श्रृंखला समानांतर में ब्लॉक को संसाधित कर सकती है (याद रखें, प्रत्येक नोड को अप्रत्यक्ष रूप से प्रत्येक ब्लॉक को सत्यापित करने की लागत है क्योंकि प्रत्येक नोड को केवल निश्चित संख्या में हस्ताक्षर सत्यापित करने की आवश्यकता होती है), और प्रत्येक ब्लॉक क्षमता है, और इसलिए शार्प चेन की कुल क्षमता है। यही कारण है कि हम इस प्रकार के शार्पनिंग को कहते हैं, और यह प्रभाव एक महत्वपूर्ण कारण है कि हम सोचते हैं कि लंबे समय में, ब्लॉकचैन को स्केल करने का सबसे अच्छा तरीका है। बिग ओ नोटेशन ओ (सी) O(C) ओ (सी) ओ (1) O(C) O(C2) द्विघात शार्डिंग अक्सर पूछे जाने वाले प्रश्न: 100 समितियों में विभाजित करना 100 अलग-अलग श्रृंखलाओं में विभाजित होने से कैसे भिन्न है? दो प्रमुख अंतर हैं: । 100-श्रृंखला वाले बहु-श्रृंखला पारिस्थितिकी तंत्र में, हमलावर को कहर बरपाने के लिए कुल हिस्सेदारी का केवल ~ 0.5% की आवश्यकता होती है: वे एकल श्रृंखला पर हमला करने वाले 51% पर ध्यान केंद्रित कर सकते हैं। एक शार्प ब्लॉकचैन में, हमलावर के पास ऐसा करने के लिए हिस्सेदारी का लगभग ~ 30-40% होना चाहिए (दूसरे शब्दों में, श्रृंखला ने की है)। निश्चित रूप से, वे तब तक प्रतीक्षा कर सकते हैं जब तक कि वे भाग्यशाली न हों और कुल हिस्सेदारी के 50% से कम होने के बावजूद यादृच्छिक मौके से एक ही शार्क में 51% प्राप्त करें, लेकिन यह उन हमलावरों के लिए तेजी से कठिन हो जाता है जिनके पास 51% से कम है। यदि किसी हमलावर के पास ~ 30% से कम है, तो यह लगभग असंभव है। यादृच्छिक नमूनाकरण हमलावर को अपनी शक्ति को एक शार्क पर केंद्रित करने से रोकता है पूरी सुरक्षा साझा एक सामाजिक अनुबंध है (और इस दस्तावेज़ के बाद के खंडों में हम इसे तकनीकी रूप से लागू करने के कुछ तरीकों का वर्णन करते हैं) कि एक श्रृंखला में एक भी खराब ब्लॉक की एक भी श्रृंखला स्वीकार्य नहीं है और जैसे ही इसका पता चलता है, इसे बाहर निकाल दिया जाना चाहिए। यह सुनिश्चित करता है कि श्रृंखला के एक आवेदन के दृष्टिकोण से, पूर्ण सुरक्षा है: अनुबंध ए अनुबंध बी पर भरोसा कर सकता है, क्योंकि यदि अनुबंध बी श्रृंखला पर हमले के कारण दुर्व्यवहार करता है, तो पूरे इतिहास में लेन-देन शामिल है। अनुबंध ए जो अनुबंध बी में खराबी के परिणामस्वरूप दुर्व्यवहार करता है। टाइट कपलिंग: अगर एक भी शार्ड को खराब ब्लॉक मिलता है, तो इससे बचने के लिए पूरी चेन फिर से संगठित हो जाती है। भीतर इन दोनों अंतरों से यह सुनिश्चित होता है कि शार्डिंग अनुप्रयोगों के लिए एक ऐसा वातावरण तैयार करता है जो एकल-श्रृंखला पर्यावरण के प्रमुख सुरक्षा गुणों को संरक्षित करता है, जिस तरह से मल्टीचैन पारिस्थितिक तंत्र मौलिक रूप से नहीं करते हैं। बेहतर सुरक्षा मॉडल के साथ साझाकरण में सुधार बिटकॉइन सर्किलों में एक सामान्य परहेज, और एक जिससे मैं पूरी तरह सहमत हूं, वह यह है कि । यदि इस तरह के ब्लॉकचेन पर 51% हमला होता है, तो हमलावर बुरे काम कर सकता है, जैसे लेन-देन को वापस करना या सेंसर करना, लेकिन वे अमान्य लेनदेन नहीं डाल सकते। और यहां तक कि अगर वे लेनदेन को वापस या सेंसर करते हैं, तो नियमित नोड्स चलाने वाले उपयोगकर्ता आसानी से उस व्यवहार का पता लगा सकते हैं, इसलिए यदि समुदाय एक कांटे के साथ हमले को हल करने के लिए समन्वय करना चाहता है जो हमलावर की शक्ति को छीन लेता है तो वे इतनी जल्दी कर सकते हैं। बिटकॉइन (या एथेरियम) जैसे ब्लॉकचेन पूरी तरह से एक ईमानदार बहुमत धारणा पर भरोसा नहीं करते हैं कुछ । इस तरह की श्रृंखला में नोड्स चलाने वाले नियमित उपयोगकर्ताओं की संस्कृति नहीं होती है और न ही हो सकती है, और इसलिए प्रमुख नोड्स और पारिस्थितिकी तंत्र के खिलाड़ी अधिक आसानी से एक साथ मिल सकते हैं और एक प्रोटोकॉल परिवर्तन लागू कर सकते हैं जिसे समुदाय बहुत नापसंद करता है। इससे भी बदतर, उपयोगकर्ता के नोड डिफ़ॉल्ट रूप से इसे स्वीकार करेंगे। कुछ समय बाद, उपयोगकर्ता नोटिस करेंगे, लेकिन तब तक जबरन प्रोटोकॉल परिवर्तन एक पूर्ण सिद्ध परिवर्तन को अस्वीकार करने के लिए होगा, और उन्हें एक दिन या उससे अधिक के मूल्य को वापस करने का दर्दनाक निर्णय लेना होगा। जिस गतिविधि के बारे में सभी ने सोचा था, उसे पहले ही अंतिम रूप दे दिया गया था। इस अतिरिक्त सुरक्षा की कमी अधिक केंद्रीकृत उच्च-टीपीएस श्रृंखलाओं की एक प्रमुख कमजोरी है होगा: समन्वय का बोझ उपयोगकर्ताओं पर आदर्श रूप से, हम चाहते हैं कि एक ऐसा शार्डिंग हो जो वैधता के लिए 51% विश्वास मान्यताओं से बचा जाए, और सुरक्षा के शक्तिशाली कवच को बनाए रखता है जो पारंपरिक ब्लॉकचेन को पूर्ण सत्यापन से मिलता है। और पिछले कुछ वर्षों में हमारे अधिकांश शोध इसी के बारे में हैं। गणना का मापनीय सत्यापन हम 51% -अटैक-प्रूफ स्केलेबल सत्यापन समस्या को दो मामलों में विभाजित कर सकते हैं: करना: यह जांचना कि कुछ गणना सही ढंग से की गई थी, यह मानते हुए कि आपके पास गणना के सभी इनपुट हैं। गणना को मान्य की पुष्टि करना: यह जाँचना कि गणना के लिए इनपुट स्वयं किसी न किसी रूप में संग्रहीत हैं, जहाँ आप वास्तव में आवश्यकता पड़ने पर उन्हें डाउनलोड कर सकते हैं; यह जाँच वास्तव में संपूर्ण इनपुट को स्वयं डाउनलोड किए की जानी चाहिए (क्योंकि डेटा हर ब्लॉक के लिए डाउनलोड करने के लिए बहुत बड़ा हो सकता है)। डेटा उपलब्धता बिना एक ब्लॉकचैन में एक ब्लॉक को मान्य करने में गणना और डेटा उपलब्धता जांच दोनों शामिल हैं: आपको यह आश्वस्त होना चाहिए कि ब्लॉक में लेनदेन वैध हैं और ब्लॉक में दावा किया गया नया राज्य रूट हैश उन लेनदेन को निष्पादित करने का सही परिणाम है, लेकिन आप भी यह सुनिश्चित करने की आवश्यकता है कि ब्लॉक से पर्याप्त डेटा वास्तव में प्रकाशित किया गया था ताकि उस डेटा को डाउनलोड करने वाले उपयोगकर्ता राज्य की गणना कर सकें और ब्लॉकचेन को संसाधित करना जारी रख सकें। यह दूसरा भाग एक बहुत ही सूक्ष्म लेकिन महत्वपूर्ण अवधारणा है जिसे कहा जाता है; इस पर बाद में। डेटा उपलब्धता समस्या गणना को स्केल रूप से मान्य करना अपेक्षाकृत आसान है; तकनीकों के दो परिवार हैं: और । धोखाधड़ी के सबूत ZK-SNARKs दो तकनीकों को इस प्रकार वर्णित किया जा सकता है: एक ऐसी प्रणाली है जहां एक संगणना के परिणाम को स्वीकार करने के लिए, आपको किसी ऐसे व्यक्ति की आवश्यकता होती है, जिसके पास एक होती है, जो "मैं प्रमाणित करता हूं कि यदि आप इनपुट के साथ गणना बनाते हैं, तो आपको आउटपुट मिलता है"। आप डिफ़ॉल्ट रूप से इन संदेशों पर भरोसा करते हैं, लेकिन आप किसी अन्य व्यक्ति के लिए एक चुनौती देने के लिए एक के लिए अवसर छोड़ देते हैं (एक हस्ताक्षरित संदेश "मैं असहमत हूं, आउटपुट जेड है")। केवल जब कोई चुनौती होती है, तो सभी नोड गणना चलाते हैं। दोनों पक्षों में से जो भी गलत था, वह अपनी जमा राशि खो देता है, और उस गणना के परिणाम पर निर्भर सभी गणनाओं की पुनर्गणना की जाती है। धोखाधड़ी के सबूत जमा राशि X C Y चुनौती देने सबूत का एक रूप है जो सीधे दावे को साबित करता है "इनपुट पर गणना करना आउटपुट देता है"। सबूत क्रिप्टोग्राफिक रूप से "ध्वनि" है: यदि के बराबर है, तो वैध सबूत बनाने के लिए यह कम्प्यूटेशनल रूप से अक्षम है। सबूत भी जल्दी से सत्यापित होता है, भले ही को चलाने में बहुत अधिक समय लगता हो। ZK-SNARKs पर अधिक गणितीय विवरण के लिए देखें। ZK-SNARKs क्रिप्टोग्राफिक X C Y C(x) Y नहीं C यह पोस्ट धोखाधड़ी के सबूतों के आधार पर गणना मापनीय है क्योंकि "सामान्य स्थिति में" आप एक एकल हस्ताक्षर को सत्यापित करने के साथ एक जटिल गणना चलाने की जगह लेते हैं। एक असाधारण मामला है, जहां आपको गणना की श्रृंखला को सत्यापित करना होगा क्योंकि एक चुनौती है, लेकिन असाधारण मामला बहुत दुर्लभ है क्योंकि इसे ट्रिगर करना बहुत महंगा है (या तो मूल दावेदार या चुनौती देने वाला एक बड़ी जमा राशि खो देता है)। ZK-SNARKs अवधारणात्मक रूप से सरल हैं - वे एक गणना को बहुत सस्ता सबूत सत्यापन के साथ प्रतिस्थापित करते हैं - लेकिन वे कैसे काम करते हैं इसके पीछे गणित काफी जटिल है। सेमी-स्केलेबल सिस्टम का एक वर्ग है जो गणना को स्केलेबल रूप से सत्यापित करता है, जबकि अभी भी प्रत्येक नोड को सभी डेटा को सत्यापित करने की आवश्यकता होती है। कम्प्यूटेशन के साथ अधिकांश डेटा को बदलने के लिए कंप्रेशन ट्रिक्स के एक सेट का उपयोग करके इसे काफी प्रभावी बनाया जा सकता है। यह का दायरा है। केवल रोलअप डेटा उपलब्धता का स्केलेबल सत्यापन कठिन है डेटा की उपलब्धता को सत्यापित करने के लिए धोखाधड़ी-सबूत का उपयोग नहीं किया जा सकता है। के लिए धोखाधड़ी के सबूत इस तथ्य पर भरोसा करते हैं कि गणना के इनपुट को मूल दावा प्रस्तुत करने के क्षण में चेन पर प्रकाशित किया जाता है, और इसलिए यदि कोई चुनौती देता है, तो चुनौती निष्पादन ठीक उसी "वातावरण" में हो रहा है जो मूल निष्पादन था हो रहा है। डेटा उपलब्धता की जाँच के मामले में, आप ऐसा नहीं कर सकते, क्योंकि समस्या यह है कि इसे श्रृंखला पर प्रकाशित करने के लिए जाँच करने के लिए बहुत अधिक डेटा है। इसलिए, डेटा उपलब्धता के लिए एक धोखाधड़ी-सबूत योजना एक प्रमुख समस्या में चलती है: कोई व्यक्ति इसे प्रकाशित किए बिना "डेटा एक्स उपलब्ध है" का दावा कर सकता है, चुनौती मिलने की प्रतीक्षा कर सकता है, और ही डेटा एक्स प्रकाशित कर सकता है और चुनौती देने वाले को बाकी के सामने प्रकट कर सकता है। नेटवर्क गलत होना। गणना उसके बाद में इसका विस्तार किया गया है: मछुआरे की दुविधा मूल विचार यह है कि दो "दुनिया", एक जहां V1 एक दुष्ट प्रकाशक है और V2 एक ईमानदार चुनौती देने वाला है और दूसरा जहां V1 एक ईमानदार प्रकाशक है और V2 एक दुष्ट चुनौती देने वाला है, उन लोगों के लिए अप्रभेद्य हैं जो डाउनलोड करने की कोशिश नहीं कर रहे थे। उस समय डेटा का वह विशेष टुकड़ा। और निश्चित रूप से, एक स्केलेबल विकेन्द्रीकृत ब्लॉकचैन में, प्रत्येक व्यक्तिगत नोड केवल डेटा के एक छोटे से हिस्से को डाउनलोड करने की उम्मीद कर सकता है, इसलिए नोड्स के केवल एक छोटे से हिस्से को कुछ भी दिखाई देगा, सिवाय केवल इस तथ्य के कि असहमति थी। तथ्य यह है कि यह भेद करना असंभव है कि कौन सही था और कौन गलत था, डेटा उपलब्धता के लिए काम करने वाली धोखाधड़ी-सबूत योजना को असंभव बना देता है। अक्सर पूछे जाने वाले प्रश्न: तो क्या होगा यदि कुछ डेटा अनुपलब्ध है? ZK-SNARK के साथ आप सुनिश्चित हो सकते हैं कि सब कुछ , और क्या यह पर्याप्त नहीं है? मान्य है दुर्भाग्य से, केवल वैधता सही ढंग से चल रहे ब्लॉकचेन को सुनिश्चित करने के लिए पर्याप्त नहीं है। ऐसा इसलिए है क्योंकि यदि ब्लॉकचेन लेकिन सभी डेटा नहीं है, तो उपयोगकर्ताओं के पास डेटा को अपडेट करने का कोई तरीका नहीं है कि उन्हें सबूत उत्पन्न करने की आवश्यकता है कि का कोई भी ब्लॉक मान्य है। एक हमलावर जो एक वैध-लेकिन-अनुपलब्ध ब्लॉक उत्पन्न करता है, लेकिन फिर गायब हो जाता है, प्रभावी रूप से श्रृंखला को रोक सकता है। कोई व्यक्ति किसी विशिष्ट उपयोगकर्ता के खाते के डेटा को तब तक रोक सकता है जब तक कि उपयोगकर्ता फिरौती का भुगतान नहीं करता है, इसलिए समस्या विशुद्ध रूप से जीवंतता का मुद्दा नहीं है। वैध है उपलब्ध भविष्य कुछ मजबूत सूचना-सैद्धांतिक तर्क हैं कि यह समस्या मौलिक है, और कोई चतुर चाल नहीं है (उदाहरण के लिए को शामिल करना) जो इसके आसपास हो सकता है। विवरण के लिए देखें। क्रिप्टोग्राफिक संचयकों यह पेपर तो, आप कैसे जांचते हैं कि 1 एमबी डेटा वास्तव में इसे डाउनलोड करने की कोशिश किए बिना उपलब्ध है? यह असंभव लगता है! कुंजी एक तकनीक है जिसे कहा जाता है। डेटा उपलब्धता नमूनाकरण निम्नानुसार काम करता है: डेटा उपलब्धता नमूनाकरण डेटा के एक टुकड़े को 2N विखंडू के साथ डेटा के एक टुकड़े में विस्तारित करने के लिए नामक टूल का उपयोग करें, ताकि उन हिस्सों में से पूरे डेटा को पुनर्प्राप्त कर सके। इरेज़र कोडिंग कोई भी एन उपलब्धता की जांच करने के लिए, डेटा को डाउनलोड करने की कोशिश करने के बजाय, उपयोगकर्ता बस (उदाहरण के लिए 30 स्थिति), और ब्लॉक को तभी स्वीकार करते हैं जब उन्हें ब्लॉक में भाग सफलतापूर्वक मिल गए हों उनके चयनित पदों में से। संपूर्ण बेतरतीब ढंग से ब्लॉक में एक स्थिर संख्या में पदों का चयन करते हैं सभी इरेज़र कोड "100% उपलब्धता के लिए जाँच" (डेटा का हर एक टुकड़ा उपलब्ध है) समस्या को "50% उपलब्धता के लिए जाँच" (कम से कम आधे टुकड़े उपलब्ध हैं) समस्या में बदल देते हैं। रैंडम सैंपलिंग 50% उपलब्धता की समस्या को हल करता है। यदि 50% से कम डेटा उपलब्ध है, तो कम से कम एक चेक लगभग निश्चित रूप से विफल हो जाएगा, और यदि कम से कम 50% डेटा उपलब्ध है, जबकि कुछ नोड किसी ब्लॉक को उपलब्ध के रूप में पहचानने में विफल हो सकते हैं, तो इसमें समय लगता है ब्लॉक के शेष 50% को वापस लाने के लिए इरेज़र कोड पुनर्निर्माण प्रक्रिया को चलाने के लिए केवल एक ईमानदार नोड। और इसलिए, 1 एमबी ब्लॉक की उपलब्धता की जांच के लिए 1 एमबी डाउनलोड करने की आवश्यकता के बजाय, आपको केवल कुछ किलोबाइट डाउनलोड करने की आवश्यकता है। इससे ब्लॉक पर डेटा उपलब्धता जाँच चलाना संभव हो जाता है। पीयर-टू-पीयर सबनेट के साथ इस जाँच को कुशलतापूर्वक कैसे कार्यान्वित किया जा सकता है, इसके लिए देखें। प्रत्येक यह पोस्ट ZK-SNARK का उपयोग यह सत्यापित करने के लिए किया जा सकता है कि डेटा के एक टुकड़े पर इरेज़र कोडिंग की गई थी, और फिर अलग-अलग हिस्सों को सत्यापित करने के लिए मर्कल शाखाओं का उपयोग किया जा सकता है। वैकल्पिक रूप से, आप (जैसे। ) का उपयोग कर सकते हैं, जो अनिवार्य रूप से एक साधारण घटक में अलग-अलग तत्वों शुद्धता सत्यापन को मिटाने साबित करने के लिए कोडिंग करते हैं - और यही एथेरियम शार्डिंग का उपयोग कर रहा है। सही ढंग से बहुपद प्रतिबद्धताओं केट (उर्फ KZG) प्रतिबद्धताओं और और पुनर्कथन: हम कैसे सुनिश्चित कर रहे हैं कि सब कुछ फिर से सही है? मान लीजिए कि आपके पास 100 ब्लॉक हैं और आप समितियों पर भरोसा किए बिना उन सभी की शुद्धता को कुशलतापूर्वक सत्यापित करना चाहते हैं। हमें निम्नलिखित करने की आवश्यकता है: प्रत्येक क्लाइंट प्रत्येक ब्लॉक पर करता है, यह सत्यापित करते हुए कि प्रत्येक ब्लॉक में डेटा उपलब्ध है, जबकि प्रति ब्लॉक केवल कुछ किलोबाइट डाउनलोड करते हैं, भले ही ब्लॉक एक मेगाबाइट या आकार में बड़ा हो। क्लाइंट केवल तभी ब्लॉक स्वीकार करता है जब उसकी उपलब्धता चुनौतियों के सभी डेटा का सही ढंग से जवाब दिया गया हो। डेटा उपलब्धता नमूनाकरण अब जब हमारे पास सत्यापित डेटा उपलब्धता है, तो शुद्धता को सत्यापित करना आसान हो जाता है। दो तकनीकें हैं: हम का उपयोग कर सकते हैं: कुछ भागीदार जिनके पास जमा राशि है, वे प्रत्येक ब्लॉक की शुद्धता पर हस्ताक्षर कर सकते हैं। अन्य नोड्स, जिन्हें (या ) कहा जाता है, बेतरतीब ढंग से जांच करते हैं और ब्लॉक को पूरी तरह से संसाधित करने का प्रयास करते हैं। चूंकि हमने पहले ही डेटा उपलब्धता की जांच कर ली है, इसलिए डेटा को डाउनलोड करना और किसी विशेष ब्लॉक को पूरी तरह से संसाधित करना हमेशा संभव होगा। यदि उन्हें कोई अमान्य ब्लॉक मिलता है, तो वे एक पोस्ट करते हैं जिसे हर कोई सत्यापित करता है। यदि ब्लॉक खराब हो जाता है, तो उस ब्लॉक और उस पर निर्भर भविष्य के सभी ब्लॉकों की फिर से गणना करने की आवश्यकता है। धोखाधड़ी के सबूतों चैलेंजर्स मछुआरे चुनौती हम का उपयोग कर सकते हैं। प्रत्येक ब्लॉक सही साबित करने वाले ZK-SNARK के साथ आएगा। ZK-SNARKs उपरोक्त में से किसी भी मामले में, प्रत्येक ग्राहक को प्रति ब्लॉक केवल थोड़ी मात्रा में सत्यापन कार्य करने की आवश्यकता होती है, चाहे ब्लॉक कितना भी बड़ा क्यों न हो। धोखाधड़ी के सबूत के मामले में, कभी-कभी ब्लॉक को पूरी तरह से ऑन-चेन सत्यापित करने की आवश्यकता होगी, लेकिन यह अत्यंत दुर्लभ होना चाहिए क्योंकि एक चुनौती को ट्रिगर करना बहुत महंगा है। और इसमें बस इतना ही है! एथेरियम शार्डिंग के मामले में, निकट-अवधि की योजना केवल शार्प्ड ब्लॉक्स को बनाने की है; यानी, शार्क एक "डेटा उपलब्धता इंजन" है, और उच्च-थ्रूपुट सुरक्षित लेनदेन प्रसंस्करण क्षमताओं को लागू करने के लिए उस सुरक्षित डेटा स्थान, साथ ही धोखाधड़ी के सबूत या ZK-SNARKs का उपयोग करना का काम है। हालांकि, "मूल" उच्च-थ्रूपुट निष्पादन को जोड़ने के लिए ऐसी अंतर्निहित प्रणाली बनाना पूरी तरह से संभव है। डेटा-ओनली विशुद्ध रूप से लेयर -2 रोलअप Shared Systems के प्रमुख गुण क्या हैं और Tradeoffs क्या हैं? शार्डिंग का मुख्य लक्ष्य पारंपरिक (गैर-शार्ड) ब्लॉकचेन के सबसे महत्वपूर्ण सुरक्षा गुणों की नकल करने के लिए जितना संभव हो उतना करीब आना है, लेकिन प्रत्येक लेनदेन को व्यक्तिगत रूप से सत्यापित करने के लिए प्रत्येक नोड की आवश्यकता के बिना। साझाकरण काफी करीब आता है। पारंपरिक ब्लॉकचेन में: क्योंकि मान्य नोड्स नोटिस करते हैं कि वे अमान्य हैं और उन्हें अनदेखा करते हैं। अमान्य ब्लॉक के माध्यम से नहीं जा सकता क्योंकि मान्य नोड्स उन्हें डाउनलोड करने और उन्हें अनदेखा करने में विफल रहते हैं। अनुपलब्ध ब्लॉकों के माध्यम से नहीं मिल सकता उन्नत सुरक्षा सुविधाओं वाले शार्प ब्लॉकचैन में: क्योंकि या तो: अमान्य ब्लॉक के माध्यम से नहीं जा सकता एक धोखाधड़ी का सबूत उन्हें जल्दी से पकड़ लेता है और पूरे नेटवर्क को ब्लॉक के गलत होने की सूचना देता है, और निर्माता को भारी दंड देता है, या एक ZK-SNARK शुद्धता साबित करता है, और आप एक अमान्य ब्लॉक के लिए एक मान्य ZK-SNARK नहीं बना सकते। क्योंकि: अनुपलब्ध ब्लॉकों को पार नहीं किया जा सकता यदि किसी ब्लॉक का 50% से कम डेटा उपलब्ध है, तो प्रत्येक क्लाइंट के लिए कम से कम एक डेटा उपलब्धता नमूना जांच लगभग निश्चित रूप से विफल हो जाएगी, जिससे क्लाइंट ब्लॉक को अस्वीकार कर देगा, यदि किसी ब्लॉक का कम से कम 50% डेटा उपलब्ध है, तो वास्तव में संपूर्ण ब्लॉक उपलब्ध है, क्योंकि शेष ब्लॉक के पुनर्निर्माण के लिए केवल एक ईमानदार नोड की आवश्यकता होती है। बिना शार्डिंग के पारंपरिक उच्च-टीपीएस श्रृंखलाओं में ये गारंटी प्रदान करने का कोई तरीका नहीं है। मल्टीचैन पारिस्थितिक तंत्र में एक हमलावर की समस्या से बचने का कोई तरीका नहीं है जो हमले के लिए एक श्रृंखला का चयन करता है और आसानी से इसे ले लेता है (श्रृंखला सुरक्षा साझा है, लेकिन अगर यह खराब तरीके से किया जाता है तो यह एक वास्तविक पारंपरिक उच्च-टीपीएस श्रृंखला में बदल जाएगा। इसके सभी नुकसानों के साथ, और यदि यह अच्छी तरह से किया जाता है, तो यह उपरोक्त शार्डिंग तकनीकों का अधिक जटिल कार्यान्वयन होगा)। कर सकती अत्यधिक कार्यान्वयन-निर्भर हैं, लेकिन वे आम तौर पर पारंपरिक उच्च-टीपीएस श्रृंखलाओं की कमजोरियों (यह है कि वे खनिक/सत्यापनकर्ता साझा करते हैं), या मल्टीचैन पारिस्थितिक तंत्र की कमजोरियों के लिए कमजोर हैं (यह है कि वे खनिकों को साझा नहीं करते हैं/सत्यापनकर्ता ) साझा श्रृंखलाएं इन मुद्दों से बचती हैं। साइडचेन । विशेष रूप से: हालाँकि, शार्प सिस्टम के कवच में कुछ झंकार हैं । यही है, यदि विरोधी वास्तविक समय में अपनी पसंद के नोड्स के किसी भी सेट को हैक करने (या बस बंद) करने की क्षमता रखता है, तो उन्हें केवल एक समिति को तोड़ने के लिए कम संख्या में नोड्स पर हमला करने की आवश्यकता होती है। इसके अलावा, यदि एक विरोधी (चाहे एक अनुकूली विरोधी या कुल हिस्सेदारी के 50% के साथ सिर्फ एक हमलावर) एक समिति को तोड़ता है, तो उनके केवल कुछ नोड्स (उस समिति में शामिल) को सार्वजनिक रूप से इसमें भाग लेने की पुष्टि की जा सकती है। हमले, और इसलिए केवल एक छोटी सी हिस्सेदारी को दंडित किया जा सकता है। यह एक और महत्वपूर्ण कारण है कि डेटा उपलब्धता नमूनाकरण या तो धोखाधड़ी के सबूत या ZK-SNARKs के साथ यादृच्छिक नमूनाकरण तकनीकों का एक महत्वपूर्ण पूरक है। समितियों पर भरोसा करने वाली साझा श्रृंखलाएं अनुकूली विरोधियों के प्रति संवेदनशील होती हैं और उनकी जवाबदेही कमजोर होती है केवल हों कि वे सामूहिक रूप से पर्याप्त डेटा उपलब्धता नमूनाकरण अनुरोध करते हैं कि प्रतिक्रियाएं लगभग हमेशा कम से कम 50% ब्लॉक को शामिल करने के लिए ओवरलैप करती हैं। व्यवहार में, इसका मतलब है कि (और यह संख्या सिस्टम की क्षमता के अनुपात को एकल नोड की क्षमता के अनुपात में बढ़ा देती है)। यह - आम तौर पर काफी भरोसेमंद, लेकिन निश्चित रूप से 0-ऑफ-एन ट्रस्ट जितना मजबूत नहीं है कि गैर-शार्क श्रृंखला में नोड्स उपलब्धता के लिए हैं। डेटा उपलब्धता नमूनाकरण केवल तभी सुरक्षित होता है जब पर्याप्त संख्या में ऑनलाइन ग्राहक कुछ सौ ग्राहक ऑनलाइन होने चाहिए कुछ-का-एन-ट्रस्ट मॉडल है ; यदि नेटवर्क बहुत धीमा है, तो नोड्स एक ब्लॉक को स्वीकार कर सकते हैं जैसा कि धोखाधड़ी-सबूत आने से पहले यह दर्शाता है कि यह गलत है। सौभाग्य से, यदि आप अमान्यता की खोज के बाद सभी अमान्य ब्लॉकों को वापस करने के सख्त नियम का पालन करते हैं, तो यह सीमा एक उपयोगकर्ता-सेट पैरामीटर है: प्रत्येक व्यक्तिगत उपयोगकर्ता चुनता है कि वे अंतिम रूप से कितनी देर तक प्रतीक्षा करते हैं और यदि वे लंबे समय तक नहीं चाहते हैं तो पीड़ित होते हैं, लेकिन अधिक सावधान उपयोगकर्ता सुरक्षित हैं। फिर भी, यह उपयोगकर्ता अनुभव का कमजोर होना है। यदि धारदार श्रृंखला धोखाधड़ी के सबूतों पर निर्भर करती है, तो यह समय की धारणाओं पर निर्भर करती है वैधता को सत्यापित करने के लिए ZK-SNARKs का उपयोग करना इसे हल करता है। , जिससे अत्यधिक नेटवर्किंग स्थितियों में विफलताओं का जोखिम बढ़ जाता है। बड़ी मात्रा में डेटा की तुलना में छोटी मात्रा में डेटा भेजना आसान होता है (और आसान होता है, यदि कोई शक्तिशाली सरकार श्रृंखला को सेंसर करने का प्रयास करती है)। यदि वे पूरी श्रृंखला को होल्ड करना चाहते हैं तो ब्लॉक एक्सप्लोरर को अधिक डेटा स्टोर करने की आवश्यकता है। बहुत अधिक मात्रा में अपरिष्कृत डेटा होता है जिसे प्रसारित करने की आवश्यकता होती है सुरक्षित रूप से छिपाना शेयर्ड ब्लॉकचेन शार्प पीयर-टू-पीयर नेटवर्क पर निर्भर करते हैं, और । इसे कम करता है क्योंकि सबनेट के बीच कुछ अतिरेक है, लेकिन फिर भी एक जोखिम है। प्रत्येक व्यक्तिगत पी2पी "सबनेट" पर हमला करना आसान होता है क्योंकि इसमें कम नोड होते हैं डेटा उपलब्धता नमूनाकरण के लिए उपयोग किया जाने वाला सबनेट मॉडल ये वैध चिंताएं हैं, हालांकि हमारे विचार में वे केंद्रीकृत परत -2 सेवाओं के बजाय अधिक अनुप्रयोगों को ऑन-चेन चलाने की अनुमति देकर बहुत अधिक हैं। उस ने कहा, ये चिंताएं, विशेष रूप से अंतिम दो, एक निश्चित बिंदु से परे एक शार्प चेन के थ्रूपुट को बढ़ाने के लिए वास्तविक बाधा हैं। द्विघात शार्पनिंग की द्विघातता की एक सीमा होती है। उपयोगकर्ता-स्तरीय केंद्रीकरण में कमी से संयोग से, यदि उनका थ्रूपुट बहुत अधिक हो जाता है, तो शार्प किए गए ब्लॉकचेन के बढ़ते सुरक्षा जोखिम भी प्रमुख कारण हैं कि का विस्तार करने का प्रयास काफी हद तक छोड़ दिया गया है; ऐसा लगता है कि द्विघात शार्पिंग को द्विघात रखना ही वास्तव में खुशहाल माध्यम है। सुपर-द्विघात शार्डिंग केवल केंद्रीकृत उत्पादन और साझा सत्यापन क्यों नहीं? शार्डिंग का एक विकल्प जो अक्सर प्रस्तावित किया जाता है वह एक श्रृंखला है जो एक केंद्रीकृत उच्च-टीपीएस श्रृंखला की तरह संरचित है, सिवाय इसके कि यह वैधता और उपलब्धता के सत्यापन की अनुमति देने के लिए डेटा उपलब्धता नमूनाकरण और शीर्ष पर शार्डिंग का उपयोग करता है। यह केंद्रीकृत उच्च-टीपीएस श्रृंखलाओं में सुधार करता है क्योंकि वे आज भी मौजूद हैं, लेकिन यह अभी भी एक तेज प्रणाली की तुलना में काफी कमजोर है। यह कुछ कारणों से है: । सेंसरशिप का पता लगाने के लिए या तो (i) लेन-देन को देखने में सक्षम होना और यह सत्यापित करना आवश्यक है कि कोई भी लेन-देन नहीं है जो स्पष्ट रूप से इसमें शामिल होने के योग्य है, या (ii) में 1-ऑफ-एन ट्रस्ट मॉडल होना और यह सत्यापित करना कि कोई भी ब्लॉक अंदर जाने में विफल नहीं होता है। एक केंद्रीकृत उच्च-टीपीएस श्रृंखला में, (i) असंभव है, और (ii) कठिन है क्योंकि छोटी नोड गणना भी 1-ऑफ-एन ट्रस्ट मॉडल को तोड़ने की अधिक संभावना बनाती है, और यदि श्रृंखला में एक ब्लॉक समय है जो DAS के लिए बहुत तेज़ है (जैसा कि अधिकांश केंद्रीकृत उच्च-TPS श्रृंखलाएँ करती हैं), तो यह साबित करना बहुत कठिन है कि एक नोड के ब्लॉक को केवल इसलिए अस्वीकार नहीं किया जा रहा है क्योंकि वे सभी बहुत धीरे-धीरे प्रकाशित हो रहे हैं। उच्च-टीपीएस श्रृंखला में ब्लॉक उत्पादकों द्वारा सेंसरशिप का पता लगाना बहुत कठिन है प्रत्येक ब्लॉक उत्पादकों यदि अधिकांश ब्लॉक निर्माता और पारिस्थितिकी तंत्र के सदस्य एक अलोकप्रिय प्रोटोकॉल परिवर्तन के माध्यम से मजबूर करने की कोशिश करते हैं, तो उपयोगकर्ता के ग्राहक निश्चित रूप से इसका लगाएंगे, लेकिन क्योंकि उन्हें बहुत ही नए सेट को स्पिन करने की आवश्यकता होगी पुराने नियमों को बनाए रखने वाली श्रृंखला को बनाए रखने के लिए महंगे उच्च-थ्रूपुट नोड्स। पता समुदाय के लिए विद्रोह करना और दूर करना बहुत कठिन है । ब्लॉक-उत्पादक नोड्स का उच्च थ्रूपुट उन्हें बहुत ही पता लगाने योग्य और बंद करने में आसान बनाता है। व्यक्तिगत उपयोगकर्ताओं के लैपटॉप के बाद जाने की तुलना में समर्पित उच्च-प्रदर्शन गणना को सेंसर करना राजनीतिक और तार्किक रूप से आसान है। केंद्रीकृत बुनियादी ढांचा बाहरी तत्वों द्वारा लगाए गए सेंसरशिप के प्रति अधिक संवेदनशील है , जिससे जोखिम बढ़ रहा है कि पूरी श्रृंखला 1-3 कंपनियों की क्लाउड सेवाओं के भीतर चलाई जाएगी, और इसलिए कई ब्लॉक उत्पादकों के एक साथ विफल होने के कारण श्रृंखला के नीचे जाने का जोखिम है। . अपने स्वयं के हार्डवेयर पर सत्यापनकर्ता चलाने की संस्कृति के साथ एक शार्प चेन फिर से इसके लिए बहुत कम असुरक्षित है। केंद्रीकृत क्लाउड सेवाओं में जाने के लिए उच्च-प्रदर्शन गणना के लिए एक मजबूत दबाव है आधार परत के रूप में उचित रूप से शार्प किए गए सिस्टम बेहतर होते हैं। एक शार्प्ड बेस लेयर को देखते हुए, आप हमेशा एक केंद्रीकृत-उत्पादन सिस्टम बना सकते हैं (उदाहरण के लिए क्योंकि आप साथ एक उच्च-थ्रूपुट डोमेन चाहते हैं) इसे रोलअप के रूप में बनाकर शीर्ष पर स्तरित किया जा सकता है। लेकिन अगर आपके पास केंद्रीकृत ब्लॉक उत्पादन पर निर्भरता वाली आधार परत है, तो आप शीर्ष पर अधिक-विकेंद्रीकृत परत 2 नहीं बना सकते हैं। defi के लिए सिंक्रोनस कंपोज़ेबिलिटी के भी प्रकाशित। यहाँ