ZYCORD दस्तावेज़
हिन्दी
Zycordदस्तावेज़शब्दावली

शब्दावली

सर्टिफिकेट (certificate), fold, skip, underwriter, cell। इनमें से कई का अर्थ यहाँ और जगहों से सँकरा है, और दो-एक ऐसी घटनाओं के नाम हैं जिनके लिए ज़्यादातर चेन के पास कोई शब्द ही नहीं।

यह प्रोटोकॉल जिस शब्दावली का प्रयोग करता है, उसी अर्थ में जिसमें वह करता है। इनमें से कई शब्दों का अर्थ यहाँ और जगहों से सँकरा है, और उनमें से दो — skip और drop — ऐसी घटनाओं के नाम हैं जिनके लिए ज़्यादातर चेन के पास कोई शब्द नहीं, क्योंकि उनके पास उनका कोई समतुल्य ही नहीं।

सर्टिफिकेट (certificate)#

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

Fold#

वह नियतात्मक लूप जो बहीखाते को आगे बढ़ाता है। वह किसी ब्लॉक के सर्टिफिकेट को एक पूर्ण क्रम में चलता है, और हर एक के लिए जाँचता है कि उसके घोषित reads अब भी टिके हैं या नहीं: अगर टिके हैं तो वह writes कमिट कर देता है, और अगर नहीं तो skip कर देता है। fold एक व्यस्त key-value कार्य-समुच्चय पर तुलना, जोड़ और लेखन करता है — न कोई कोड निष्पादन, न हस्ताक्षर सत्यापन, न पुनर्निष्पादन, और न कोई दीर्घवृत्तीय-वक्र गणित। यह व्यवस्था का इकलौता चरण है जो समानांतर नहीं होता।

Skip#

उस सर्टिफिकेट के साथ जो होता है जिसके घोषित reads अब नहीं टिकते। उसका शुल्क उसके underwriter के खाते में डाला जाता है, और ब्लॉक valid बना रहता है। skip शब्दार्थ है, विफलता नहीं: शामिल होना और लागू होना अलग घटनाएँ हैं, और यही बात ब्लॉक उत्पादक को अंधा रहने देती है — वह किसी बासी सर्टिफिकेट को शामिल करके कभी अमान्य ब्लॉक बना ही नहीं सकता।

Drop#

एक बिना बिल वाली अघटना, और वह शब्द जो कार्यान्वयन श्वेतपत्र की शब्दावली में जोड़ता है। जो सर्टिफिकेट अपनी जमा राशि पहले ही खप जाने के बाद प्रयोग तक पहुँचता है वह drop हो जाता है: न बिल, न seen चिह्न, और ताज़ा जमा के विरुद्ध दोबारा भेजने को स्वतंत्र। इसलिए ईमानदार उपयोगकर्ता अपने ही जमा cell पर हुई दौड़ में कुछ नहीं गँवाते।

Underwriter#

वह पक्ष जिसका बंधक धन किसी सर्टिफिकेट के लिए ज़िम्मेदार होता है। उसके बिना कोई सर्टिफिकेट होता ही नहीं। skip होना मुफ़्त नहीं होना चाहिए, वरना mempool डूब जाए — पर skip हुए सर्टिफिकेट ने भेजने वाले के शेष को छुआ ही नहीं, इसलिए भेजने वाले से वसूलने को कुछ है ही नहीं। underwriter ही हर टकराव को एक मालिक देता है। Era 0 में इकलौता तरीक़ा स्वयं-बीमित है: भेजने वाला किसी अनबँधे cell से एक छोटी जमा राशि जोड़ देता है।

Cell#

किसी slot पर मौजूद मान — 32 बाइट में big-endian संग्रहीत एक अचिह्नित 256-बिट पूर्णांक। शून्य ही अनुपस्थिति है: जो slot कभी लिखा ही न गया और जो slot शून्य लिखा गया, दोनों एक ही slot हैं। यह सुविधा नहीं, एक consensus अपेक्षा है: इससे state root उस स्टेट का फलन बना रहता है, न कि उस इतिहास का जिसने उसे बनाया।

One-shot पता (0x01)#

वह पता जिसका हस्ताक्षर अधिकार उसके पहले ही डेबिट से हमेशा के लिए जल जाता है। नए-नए निकाले गए one-shot पते पर भुगतान करना बिना किसी होड़ वाला तेज़ रास्ता है, और हर भुगतान के लिए नया पता निकालना ही एक भुगतान को अगले से अजुड़ा बनाता है। इसकी क़ीमत यह है कि “इसमें से कुछ खर्च करो” ऐसा काम है ही नहीं जो one-shot पता कर सके — वॉलेट नियम 1 देखें।

Persistent पता (0x02)#

एक दोबारा इस्तेमाल होने वाला पता। वह spent registry में कभी जा ही नहीं सकता, इसलिए उस पर burn-grief की कोई सतह ही नहीं। व्यापारी, दान पते और माइनिंग भुगतान इसी का इस्तेमाल करें; zycordd --payout किसी और को मना कर देता है।

Spent-address registry#

उन one-shot पतों का स्थायी consensus समुच्चय जिनका अधिकार जला दिया गया है। spent पते के तहत cell के मान undo horizon के बाद छाँटे जा सकते हैं, पर registry की प्रविष्टि कभी नहीं — वही उस पते को पुनर्जीवित होने से रोकती है। प्रति पता लगभग 33 बाइट, हमेशा के लिए: प्रोटोकॉल की ईमानदार खुली समस्या, जो हर nullifier-set डिज़ाइन के साथ संरचनात्मक रूप से साझा है।

Valid बनाम applicable#

दो प्रिडिकेट जिन्हें पारंपरिक चेन एक कर देती है। Valid स्टेटलेस, समानांतर, और केवल सर्टिफिकेट के बाइट्स से किसी के भी द्वारा जाँचने योग्य है। Applicable स्टेटफ़ुल, अनुक्रमिक, और केवल बहीखाते में स्थिति से तय होता है। दो valid सर्टिफिकेट एक ही slot के लिए एक ही इनपुट मान घोषित कर सकते हैं; उनमें से अधिकतम एक ही applicable हो सकता है।

Guarded delta#

वह पहुँच-अनुशासन जिसमें कोई सर्टिफिकेट किसी slot पर एक प्रिडिकेट का दावा करता है — balance ≥ 10 — बिना उस मान को गणना में पढ़े, और एक चिह्नित delta लिखता है। एक ही slot पर कितने भी guarded डेबिट और क्रेडिट आपस में क्रम-निरपेक्ष होते हैं, इसलिए skip केवल असली ओवरड्राफ़्ट पर होता है, महज़ इसलिए नहीं कि शेष बदल गया। यह अकेला अनुशासन हस्तांतरण, आपूर्ति-सीमित mint, भत्ते और vault हिस्से, सब को समेट लेता है।

Pure delta#

बिना किसी guard वाला एक चिह्नित delta। वह न कभी टकरा सकता है, न कभी skip हो सकता है। टिप, गणक, संचायक, इनाम की गिनती।

Exact read#

SLOAD शैली का अनुशासन: पठन slot का मान गणना में लौटाता है और सर्टिफिकेट को उससे बाँध देता है। मनमाना तर्क, व्यस्त slot पर टकराव, और एप्लिकेशन sequencers का क्षेत्र।

Epoch beacon#

एक आरक्षित slot जिसे प्रोटोकॉल प्रति epoch एक बार लिखता है। प्रोग्रामों को टाइमस्टैम्प या ऊँचाई जैसे परिवेशी मान सीधे नहीं पढ़ने चाहिए — इससे निष्पादन घोषित reads के अलावा किसी और चीज़ का फलन बन जाता — इसलिए वे beacon को किसी भी और slot की तरह पढ़ते हैं, आदर्श रूप से एक रेंज guard के साथ। यह proof-of-work का उत्पाद है और जब तक कोई VRF नहीं आता तब तक ऊँचे मूल्य की लॉटरी के लिए अनुपयुक्त है।

Epoch#

2,880 ब्लॉक — 30-सेकंड के ब्लॉकों पर लगभग एक दिन। वह इकाई जिस पर सब्सिडी घटती है, अनुक्रमिक क्षमता का लक्ष्य हिलता है, और beacon ताज़ा होता है।

TTL#

वह ऊँचाई जिस तक किसी सर्टिफिकेट का कमिट होना ज़रूरी है ताकि वह valid रहे। consensus से 240 ब्लॉक (लगभग दो घंटे) पर बँधा हुआ, और यही seen set को छँटने योग्य रखता है। किसी seen या समय-समाप्त सर्टिफिकेट को शामिल करने से ब्लॉक अमान्य हो जाता है — इसलिए किसी हस्ताक्षर का बिल अधिकतम एक बार बनता है, और केवल उस स्थिति पर जिसे उसके हस्ताक्षरकर्ता ने हस्ताक्षर करके स्वीकार किया।

Sequential और parallel gas#

शुल्क दो बाज़ारों में बँटते हैं: एक अनुक्रमिक स्टेट परिवर्तन के लिए, जो दुर्लभ है, और एक समानांतर सत्यापन के लिए, जो नहीं है। इसलिए हस्ताक्षर की जाँच किसी स्टोरेज राइट के साथ एक ही नीलामी में मुक़ाबला नहीं करती, और यही भारी क्रिप्टोग्राफ़ी को डिज़ाइन से सस्ता बनाता है।

Era#

लॉन्च का एक चरण, जो चेन पर मापी गई सीमाओं से शुरू होता है — ब्लॉक ऊँचाई और टिकाऊ stake — कभी किसी कैलेंडर तारीख़ या वोट से नहीं। Era 0 में माइनिंग और देशी परिसंपत्तियाँ हैं, और उसी के भीतर दो ऊँचाइयाँ पहले bond (40,320) और फिर cEVM, sequencers तथा forced inclusion (80,640) चालू करती हैं; Era 1 तब checkpoint अंतिमता जोड़ता है जब बंधक stake आपूर्ति का 1% टिकाऊ रूप से बनाए रखे; Era 2 प्रस्ताव को एक stake समिति को सौंपता है; Era S गोपनीय भुगतान जोड़ता है, और वह भी केवल प्रकाशित ऑडिट के बाद।

RandomX#

proof-of-work फ़ंक्शन, जो सामान्य-प्रयोजन CPU के लिए अनुकूलित है ताकि साधारण हार्डवेयर प्रतिस्पर्धी बना रहे। यह एक consensus पैरामीटर है, कोई सेटिंग नहीं: जो बाइनरी किसी नेटवर्क का pow_engine गणना न कर सके वह पीछे लौटने के बजाय शुरू होने से मना कर देती है।

Treasury#

प्रोटोकॉल पते का अपना शेष cell, जिसमें ब्लॉक 0 से हर ब्लॉक सब्सिडी का 3% जमा होता है। genesis पर उसके पास न कोई कुंजी है, न पता, न कोरम और उसे Era 2 से पहले खोला नहीं जा सकता, जब hard fork से 3-में-से-5 कुंजियों का समुच्चय पिन किया जा सकता है। अगर कोई कभी सार्वजनिक रूप से उस पर दावा करने सामने नहीं आता, तो वे कॉइन कभी जारी ही नहीं होते।

State root#

किसी ऊँचाई पर पूरी स्टेट के प्रति प्रतिबद्धता। नोड शुरू होने पर उसे दोबारा गणना करता है और संग्रहीत मान से असहमति होने पर चलने से मना कर देता है, और वह नोडों के बीच उत्पादन-समय के विभेदक पहरेदार का भी काम करता है: जो दो कार्यान्वयन एक ही ब्लॉक अनुक्रम से अलग root तक पहुँचें उन्होंने उनमें से किसी एक में बग खोज लिया है।

हर शब्द मानक रूप से कहाँ परिभाषित है#

यह पृष्ठ पढ़ने में सहायक है। जो परिभाषाएँ बाध्य करती हैं वे विशिष्टि और golden vectors में हैं; तर्क श्वेतपत्र में है, और कार्यान्वयन का अपना शब्दावली अनुभाग docs/ARCHITECTURE.md में है।