ऑफ़-चेन जोड़ा गया।
समानांतर में सत्यापित।
क्रम में कमिट।
हर बड़ा ब्लॉकचेन हर नोड से हर ट्रांज़ैक्शन को एक वैश्विक स्टेट के विरुद्ध दोबारा निष्पादित कराता है। Zycord निष्पादन को चेन से बाहर ले जाता है: भुगतान वॉलेट बनाता है, कॉन्ट्रैक्ट कॉल को कॉन्ट्रैक्ट का sequencer उपयोगकर्ता के हस्ताक्षरित intent से निष्पादित करता है, और दोनों ही स्थितियों में परिणाम उस सब के साथ पूरा पहुँचता है जो उसने पढ़ा और लिखा। कोई भी मशीन उसे केवल बाइट्स से जाँच लेती है, और एक ही लूप उसे कमिट कर देता है — या skip कर देता है, और जिसने उसके लिए deposit रखा था उससे शुल्क वसूलता है।
ट्रांज़ैक्शन एक सर्टिफिकेट है
यह यह नहीं कहता कि “इसे निष्पादित करो”। यह कहता है “मैंने यह पढ़ा, मैंने वह लिखा, और यह रहा प्रमाण”। कोई भी दोबारा गणना करके मिलान कर सकता है।
reads पर program का पुनः-निष्पादन ठीक-ठीक writes उत्पन्न करता है, और deposit सबसे बुरी स्थिति को ढकता है। न डिस्क, न इतिहास।reads अब भी टिके हुए हैं?दो क्रियाएँ, दो चरण
पूरा डिज़ाइन इन दो प्रश्नों को अलग करने का ही है — और हर एक का उत्तर सबसे सस्ती जगह पर देने का।
क्या यह valid है?
उत्तर केवल सर्टिफिकेट को देखकर मिलता है। एक साथ हज़ारों, किसी भी मशीन पर।
- सख़्त Ed25519 हस्ताक्षर सही निकलते हैं
- पुनर्निष्पादन writes से मेल खाता है
- deposit सबसे बुरी स्थिति को ढकता है
- अमान्य: कभी किसी ईमानदार ब्लॉक में नहीं आता
क्या यह applicable है?
उत्तर ब्लॉक में सर्टिफिकेट की स्थिति पर मिलता है, बाइट्स की स्टेट तालिका से तुलना करके।
- reads अब भी टिके हैं → writes कमिट हो जाते हैं
- बासी read या overflow → skip, जमाकर्ता एक नियत शुल्क चुकाता है
- deposit में धन नहीं या वह spent → drop, कोई शुल्क नहीं
- हर हाल में ब्लॉक valid बना रहता है
चार परिणाम, और भुगतान कौन करता है
किसी सर्टिफिकेट में समस्या एक परिणाम है, ब्लॉक को अस्वीकार करने का कारण कभी नहीं। हर परिणाम का शुल्क उस पक्ष से लिया जाता है जिसने जोखिम चुना, और एक हस्ताक्षर से अधिकतम एक बार शुल्क लिया जाता है।
लागू (Applied)
हर घोषित read टिका रहता है, इसलिए writes दर्ज होते हैं और शुल्क वास्तविक लागत पर निपटता है: आधार शुल्क जलाया जाता है और प्राथमिकता शुल्क producer को दिया जाता है।
Skip हुआ (Skipped)
कोई read अब टिका नहीं रहता, या कोई delta 256-बिट सीमा से बाहर ले जाएगा। कुछ भी नहीं लिखा जाता। deposit से 0.01 ZCD का नियत skip शुल्क जलाया जाता है और शेष लौटा दिया जाता है। id को seen चिह्नित किया जाता है, इसलिए कोई producer उसे दोबारा शामिल नहीं कर सकता।
Drop हुआ (Dropped)
deposit cell में धन नहीं है या वह पहले ही spent है, इसलिए शुल्क लेने को कुछ नहीं है। सर्टिफिकेट ढोया जाता है पर उससे शुल्क नहीं लिया जाता, और उसे seen चिह्नित नहीं किया जाता।
उपयोगकर्ता कभी skip का भुगतान नहीं करता
reads जमाकर्ता ने चुने थे, इसलिए उनके लिए उत्तरदायी भी जमाकर्ता है। fill के लिए वह एक sequencer है: वह जिसने स्वयं को उस कॉन्ट्रैक्ट के लिए घोषित किया था जिसका read विफल हुआ, अन्यथा वह जिसके deposit का नाम fill देता है। हर sequencer को उपयोगकर्ता का भुगतान तभी निपटता है जब fill लागू हो। जिन विफलताओं के लिए शुल्क लेने को कोई नहीं है — pipeline क्रम से बाहर का fill, खिसका हुआ fence, ऐसा forced सर्टिफिकेट जिसके reads टिके न हों — वे इसके बजाय ब्लॉक को अमान्य बना देती हैं, क्योंकि producer ही वह था जो यह जान सकता था।
जन्म से लेकर बहीखाते तक का प्रवाह
वॉलेट एक भुगतान बनाता है, या एक intent पर हस्ताक्षर करता है
भुगतान को किसी सर्वर की ज़रूरत नहीं: वॉलेट अपने पास के एक one-shot cell पर guard लगाता है, उससे डेबिट करता है, उसे spent चिह्नित करता है, प्राप्तकर्ता के नए पते में क्रेडिट करता है और बची रक़म अपने ही एक नए पते पर भेजता है। किसी sequenced कॉन्ट्रैक्ट को कॉल इसके बजाय एक हस्ताक्षरित intent है: क्या कॉल करना है, परिणाम पर सीमाएँ, sequencer को क्या भुगतान होगा, और वे one-shot भुगतानकर्ता पते जो उसे धन देते हैं।
sequencer निष्पादित करता है और पुष्टि करता है
वह intent को अपने दृष्टिकोण पर चलाता है — चेन का सिरा और वह हर fill जो वह पहले ही बना चुका है — मिलीसेकंडों में एक हस्ताक्षरित receipt से उत्तर देता है, और परिणाम को अपने शेष से deposit किए गए एक fill के रूप में प्रकाशित करता है। जो कॉल अलग-अलग sequencers से बँधे कॉन्ट्रैक्टों को पार करती है उस पर हर एक सह-हस्ताक्षर करता है और वह एक atomic fill के रूप में दर्ज होती है।
हर नोड समानांतर में सत्यापित करता है
हर सर्टिफिकेट पहुँचते ही, रिले किए जाने से पहले, उसके बाइट्स से जाँचा जाता है: हस्ताक्षर, घोषित reads के विरुद्ध पुनः-निष्पादन, deposit। न स्टेट, न इतिहास, कोई भी कोर, कोई भी मशीन।
producer क्रम तय करता है
एक proof-of-work माइनर valid सर्टिफिकेट चुनता है और ब्लॉक हल करता है; proof of stake पर switch के बाद, उस slot के लिए ड्रॉ में चुना गया staker इसके बजाय उस पर हस्ताक्षर करता है। उसे जो दिया जाता है उसमें से वह कुछ भी निष्पादित नहीं करता और TTL विंडो के भीतर देखी गई ids याद रखता है, क्योंकि किसी एक को दो बार शामिल करने से ब्लॉक invalid हो जाता है। अपने ब्लॉक के अंत में वह forced path से open intents निष्पादित कर सकता है।
अनुक्रमिक fold
पहले fills, pipeline क्रम में; फिर बाक़ी हर सर्टिफिकेट (deposit address, seq, id) के अनुसार; फिर forced सर्टिफिकेट id के अनुसार। producer इनमें से कुछ भी नहीं चुनता। हर सर्टिफिकेट के लिए: क्या घोषित reads अब भी टिके हैं?
स्टेट: cells, पते, टाइप की गई पहुँच
cell किसी slot पर एक 256-बिट पूर्णांक है। अनुपस्थित cells शून्य के रूप में पढ़े जाते हैं। समवर्तिता रनटाइम पर खोजी नहीं जाती: वह घोषित की जाती है, slot दर slot।
one-shot और persistent पते
one-shot address एक ही बार ख़र्च होता है: जो सर्टिफिकेट उससे डेबिट करता है वह उसे स्थायी रूप से spent चिह्नित कर देता है। वॉलेट हर आने वाले भुगतान को एक नया पता देते हैं, जो बिना टकराव का रास्ता है। persistent address दोबारा इस्तेमाल हो सकता है — एक खाता — और माइनिंग इनाम उसी में होने चाहिए: one-shot address ख़र्च होते ही उसमें रखा हर इनाम जल जाता है, इसलिए नोड उसे भुगतान पते के रूप में अस्वीकार करता है। कॉन्ट्रैक्टों का अपना पता प्रकार है, जिसके लिए कोई कुंजी हस्ताक्षर नहीं कर सकती।
नेटिव एसेट, बिना मशीन के
ब्लॉक 0 से: अधिकतम 32 चालों वाला TRANSFER, आपूर्ति सीमा के साथ ISSUE, उसी सीमा से संरक्षित MINT, अधिकतम 64 one-shot पतों का RETIRE। किसी नए cell में क्रेडिट ही टिप है। एक ब्लॉक में दस हज़ार टिप दस हज़ार जोड़ हैं: शून्य टकराव, न sequencer, न मशीन।
मशीन और उसके sequencers
guarded deltas भुगतानों के टकराव को घोल देते हैं। जो बचता है वह ऐसा तर्क है जिसे यह तय करने के लिए कि क्या लिखना है, सटीक स्टेट पढ़नी पड़ती है — एक order book, एक market maker — और वहाँ कॉन्ट्रैक्ट अपना क्रमबद्धक (serializer) चुनता है।
cEVM
Ethereum वर्चुअल मशीन की एक बोली, इसलिए Solidity, उसके कंपाइलर और उसके ऑडिटर साथ चले आते हैं। storage घोषित होता है: SLOAD और SSTORE exact हैं, और छह नए opcodes guarded, क्रम-निरपेक्ष अनुशासन देते हैं। NUMBER और TIMESTAMP epoch beacon पढ़ते हैं, जो एक दिन तक स्थिर रहता है; जिन opcodes का कोई संदर्भ नहीं बचता उन्हें हटा दिया गया है। कोड सर्टिफिकेट में यात्रा करता है। delta-first ढंग से लिखे एक token, एक tip jar और एक escrow मशीन खुलने पर पहले से तैनात होते हैं।
sequenced या open
हर कॉन्ट्रैक्ट का रिकॉर्ड एक sequencer कुंजी का नाम देता है। यदि वह शून्य नहीं है, तो कॉन्ट्रैक्ट के exact path के लिए उस कुंजी का हस्ताक्षर चाहिए; यदि वह शून्य है, तो कोई भी उसे ले सकता है और कॉन्ट्रैक्ट केवल अपने कोड से सुरक्षित है। guarded deltas पर कभी रोक नहीं लगती: एक sequenced token अब भी किसी से भी हर हस्तांतरण स्वीकार करता है। एक directory बताती है कि हर sequencer कहाँ उत्तर देता है — खोज, प्राधिकरण नहीं।
Intents, fills और receipts
intent उपयोगकर्ता का पूरा प्राधिकरण है, अधिकतम 8 ब्लॉक की विंडो के लिए valid: sequencer यह बदल सकता है कि वह कब चले, यह कभी नहीं कि वह क्या करे। fill की id intent का हैश है, इसलिए एक intent के दो fills एक ही id साझा करते हैं और शुल्क केवल एक से लिया जा सकता है। receipt एक पूर्व-पुष्टि है, fill के लागू होने तक sequencer का वादा; एक-दूसरे का खंडन करने वाली दो receipts एक ऐसा प्रमाण हैं जिसे कोई भी बाइट्स से जाँच सकता है, और उपयोगकर्ता छोड़कर चले जाते हैं।
Pipelines, fence, co-sequencing
चेन हर sequencer और कॉन्ट्रैक्ट के लिए अंतिम लागू seq रखती है, और fill केवल अगले पर ही प्रवेश करता है, इसलिए एक pipeline उसी क्रम में कमिट होती है जिसमें उसके sequencer ने हस्ताक्षर किए। हर कॉन्ट्रैक्ट एक fence counter भी रखता है: उसकी स्टेट को set करने वाला forced सर्टिफिकेट, या sequencer का बदलाव, उसे आगे बढ़ाता है, और दरकिनार की गई स्टेट पर बना हर fill प्रवेश नहीं कर सकता — किसी से शुल्क नहीं लिया जाता, और sequencer दोबारा बनाता है। sequencers के आर-पार एक कॉल हर sequencer के हस्ताक्षर वाला एक fill है, रचना से ही atomic।
forced path: शामिल होना ही लागू होना है
जिस कॉन्ट्रैक्ट का एकमात्र दरवाज़ा उसका sequencer हो, वह जेल बन जाता अगर sequencer सेंसर करे, अधिक शुल्क ले या ग़ायब हो जाए। हर उपयोगकर्ता के पास एक धीमा दरवाज़ा है जिसके लिए किसी की अनुमति नहीं चाहिए।
हर ब्लॉक तीन वर्गों में fold होता है, ऐसे क्रम में जिसे producer नहीं चुनता
उपयोगकर्ता एक open intent पर हस्ताक्षर करता है — ऐसा intent जिसमें किसी sequencer का नाम नहीं, जिसे उपयोगकर्ता के अपने one-shot भुगतानकर्ता पते धन देते हैं — और उसे नेटवर्क पर रिले करता है। producer, जिसके पास अपने ब्लॉक के अंत की स्टेट है, अपनी चुनी हुई open intents को उस स्टेट पर निष्पादित करता है और परिणामों को ब्लॉक के अंतिम सर्टिफिकेट के रूप में जोड़ देता है। न कोई कतार है, न lease, न कोटा, न समय-सीमा। intent का भुगतान शुल्क को ढकता है, इसलिए producer उतना ही कमाता है जितना एक sequencer कमाता।
विफल कॉल भी दर्ज होती है
जो forced कॉल revert हो जाए, अपनी सीमाएँ तोड़े या जिसका gas समाप्त हो जाए, वह FORCED_FAILED के रूप में प्रवेश करती है: उसके भुगतानकर्ता भुगतान करते हैं, और कुछ नहीं लिखा जाता। जो कोई ऐसे intents रिले करता है जो सफल नहीं हो सकते वह हर एक के लिए भुगतान करता है, इसलिए वे किसी सही intent को भूखा नहीं रख सकते।
यह fence को आगे बढ़ाता है
जो forced सर्टिफिकेट किसी कॉन्ट्रैक्ट की स्टेट के किसी cell को set करता है वह उस कॉन्ट्रैक्ट के fence counter को आगे बढ़ाता है, इसलिए उसके द्वारा दरकिनार की गई स्टेट पर बना हर fill दोबारा बनाया जाता है। जो केवल पढ़ता है, guard लगाता है या deltas जोड़ता है वह fence को नहीं छूता, और विफल होने वाला भी नहीं। sequencer की केवल latency घटती-बढ़ती है, और कुछ नहीं जाता।
रचना से सीमित
प्रति ब्लॉक अधिकतम 16 forced सर्टिफिकेट, हर एक के पास अधिकतम 4,000 derivation इकाइयों का समानांतर बजट (200,000 मशीन gas): genesis की समानांतर सीमा का अधिकतम एक तिहाई। कॉन्ट्रैक्ट लेखकों के लिए नियम यह है कि निकासी उस बजट में समा जाए।
कौन क्या करता है
सुरक्षा के लिए कोई भूमिका आवश्यक नहीं है। अगर हर sequencer ग़ायब हो जाए, तो कॉन्ट्रैक्ट अपनी delta विधियों और forced path के माध्यम से जीवित रहते हैं, जिसके द्वारा उपयोगकर्ता निकासी करते हैं और किसी कॉन्ट्रैक्ट को नए sequencer से बाँधा जा सकता है।
वॉलेट
- करता है
- भुगतानों को सर्टिफिकेट के रूप में बनाता है; कॉन्ट्रैक्टों के लिए intents पर हस्ताक्षर करता है
- देखता है
- वह सार्वजनिक स्टेट जिसे उसे पढ़ना है
- भरोसा करता है
- किसी पर नहीं
Sequencer
- करता है
- अपने कॉन्ट्रैक्टों के लिए intents निष्पादित करता है, receipts पर हस्ताक्षर करता है, fills प्रकाशित करता है
- किस बात के लिए भरोसा
- केवल जीवंतता के लिए। अगर वह झूठ बोले, तो उसका fill skip हो जाता है और उसका अपना deposit भुगतान करता है
- कमाता है
- अपने ही एप्लिकेशन का order flow, खुलकर
सत्यापन करने वाला नोड
- करता है
- हर सर्टिफिकेट को उसके बाइट्स से जाँचता है, आगे भेजता है, सिंक करता है
- चाहिए
- कोर। स्टेट केवल fold चलाने के लिए
- लागत
- सत्यापन उसके हर कोर पर फैलता है; fold मेमोरी पर एक लूप है
Block producer
- करता है
- RandomX से माइन करता है, valid सर्टिफिकेट का क्रम तय करता है, अपने ब्लॉक के अंत में open intents निष्पादित करता है
- देखता है
- बाइट्स और स्टेट, अर्थ नहीं
- कमाता है
- सब्सिडी का 94%, साथ ही जो लागू होता है उसके प्राथमिकता शुल्क
Forced path
- करता है
- बिना अनुमति का दरवाज़ा: एक open intent, जिसे producer निष्पादित करता है
- लागत
- हर बार forced मूल्य, और latency
- गारंटी
- कोई ऑपरेटर जेल नहीं है
नेटवर्क: दो gas बाज़ार
जो चेन हर चीज़ का शुल्क एक ही नीलामी में लेती है, वह एक प्रूफ़ सत्यापन को एक स्टेट राइट से मुक़ाबले में उतार देती है। यहाँ हर संसाधन का अपना दाम है।
Parallel gas
सत्यापन का दाम चुकाता है: हस्ताक्षर, बाइट्स, derivation इकाइयाँ — भारी प्रूफ़, पोस्ट-क्वांटम योजनाएँ।
Sequential gas
fold का दाम चुकाता है: reads, writes, spent-registry प्रविष्टियाँ, seen-set प्रविष्टियाँ। वह एकमात्र लूप जिसे हर नोड क्रम में चलाता है।
केवल जो लागू होता है वही भुगतान करता है, और केवल जो लागू होता है वही दाम हिलाता है
आधार शुल्क जलाया जाता है और प्राथमिकता शुल्क producer को भुगतान करता है, उन सर्टिफिकेटों पर जो लागू होते हैं और केवल उन्हीं पर; skip हुए सर्टिफिकेट का शुल्क पूरा का पूरा जलाया जाता है। अगर skip से producer को भुगतान मिलता, तो ब्लॉक जोड़ने वाला दूसरों की विफलताओं की व्यवस्था करके लाभ कमाता। जलाना इसे उलट देता है: skip जगह घेरता है और कुछ नहीं कमाता। और केवल लागू हुआ gas ही आधार शुल्कों को हिलाता है, इसलिए ब्लॉकों को आपस में टकराने वाले सर्टिफिकेटों से भरकर किसी को दाम से बाहर नहीं किया जा सकता।
Eras: आज क्या चलता है, और बाद में क्या आता है
Era एक रिलीज़ में कंपाइल की गई ऊँचाई है, या चेन पर मापी गई कोई शर्त। किसी द्वार से नीचे का ब्लॉक जो वह ढोता है जिसे द्वार सक्षम करता है, अमान्य है; नया Era कभी किसी पुराने ब्लॉक का अर्थ नहीं बदलता।
Era 0 — माइन करें और भुगतान करें
ब्लॉक 0, 7 अक्टूबर 2026 से सक्रिय। Nakamoto नियमों के तहत proof of work, नेटिव एसेट, one-shot और persistent पते, दो शुल्क बाज़ार, 94/3/3 सब्सिडी बँटवारा और treasury, जो जमा होती जाती है और जिससे कोई सर्टिफिकेट डेबिट नहीं कर सकता; ख़र्च का रास्ता, यदि कोई हो, बाद के किसी अपग्रेड से आएगा, ऊँचाई 259,200 से पहले नहीं।
Era 1 — मशीन
ऊँचाई 80,640, लगभग 4 नवंबर 2026, लॉन्च बाइनरी में। cEVM और उसकी मानक लाइब्रेरी, sequencer और admin वाले कॉन्ट्रैक्ट रिकॉर्ड, intents, fills और co-sequencing, directory, और forced path।
Era 2 — proof of stake
Bonding epoch 182 पर, लगभग 7 अप्रैल 2027 को, खुलती है: stake को bond, unbond या किसी pool को delegate किया जाता है, न्यूनतम 1,000 ZCD के bond से। जब सक्रिय stake 30 epochs तक आपूर्ति का 10% रखता है, और अधिकतम epoch 273 से, 90 epochs का एक ramp शुरू होता है: ब्लॉक अब भी माइन होते हैं, और हर एक पर stake के अनुपात में ड्रॉ से चुने गए एक staker का हस्ताक्षर भी होता है, जो producer के हिस्से का k/180 लेता है। इसकी अपनी रिलीज़, hard fork द्वारा।
Switch (संक्रमण)
Gate पार करने वाले 90वें epoch के बाद वाले epoch का पहला ब्लॉक — उसके 90% ब्लॉक हस्ताक्षरित, सक्रिय stake आपूर्ति का कम से कम 10%। माइनिंग समाप्त होती है; ड्रॉ में चुना गया staker हर 5-सेकंड slot पर हस्ताक्षर करता है, और 17,280 slots का एक epoch उतना ही देता है जितना पहले एक दिन देता था। एक ब्लॉक गहराई से अंतिम होता है, 120 ब्लॉक या 10 मिनट। केवल equivocation (एक slot के लिए दोहरा हस्ताक्षर) दंडित होता है, और delegator कभी नहीं।
पूर्ण सत्यापन से आगे
एक दिशा, विनिर्देश नहीं। जब दैनिक मात्रा उतने के क़रीब पहुँचे जितना एक साधारण नोड सत्यापित करता है, तो कोई बाद का Era हर नोड के बजाय हर सर्टिफिकेट को सत्यापित करने के लिए stakes के एक उपसमुच्चय का ड्रॉ कर सकता है, जबकि स्टेट और fold एक ही रहते हैं और हर सर्टिफिकेट atomic रहता है। तब तक हर नोड सब कुछ सत्यापित करता है।
ऊपर से देखा गया नेटवर्क
चार परतें जो आपस में नहीं मिलतीं: कौन बनाता है, कौन सत्यापित करता है, कौन क्रम तय करता है, और वह दरवाज़ा जिसे कोई बंद नहीं कर सकता। हर एक एक अलग संसाधन के साथ बढ़ती है।
वॉलेट और sequencers
साधारण web2: websockets, कतारें, autoscaling। वॉलेट भुगतान ख़ुद बनाते हैं; sequencers intents निष्पादित करते हैं और मिलीसेकंडों में उत्तर देते हैं। जीवंतता के लिए भरोसेमंद, सुरक्षा के लिए कभी नहीं, और कभी डेटा के संरक्षक नहीं — स्टेट हमेशा केवल चेन से दोबारा बनाई जा सकती है।
रिले और सत्यापन
हर नोड हर सर्टिफिकेट को रिले करने से पहले उसके बाइट्स से जाँचता है। ब्लॉक एक हेडर और हैशों की एक सूची के रूप में यात्रा करते हैं जिनमें से अधिकांश प्राप्तकर्ता के पास पहले से होते हैं; bodies चेन डेटा हैं। नोड सबसे बड़ी दावा की गई ऊँचाई की ओर नहीं, बल्कि सबसे अधिक सत्यापित work की ओर सिंक करता है।
Producer और fold
एक proof-of-work माइनर सर्टिफिकेटों को क्रमित करता है और ब्लॉक हल करता है, या, proof of stake पर switch के बाद, उस slot के लिए ड्रॉ में चुना गया staker उस पर हस्ताक्षर करता है; हर नोड fold चलाता है, जो तुलना करता है, जोड़ता है और लिखता है। Fold का क्रम नियमों द्वारा तय है, इसलिए producer का एकमात्र विकल्प यह है कि क्या शामिल करे।
Forced path
open intents, जिन्हें producer अपने ब्लॉक के अंत में निष्पादित करता है। शामिल होना ही लागू होना है — यही वह तंत्र है जो नेटवर्क को किसी भी ऑपरेटर से, लेखक समेत, बचाए रखता है।