ट्यूरिंग पूर्ण: इसका क्या अर्थ है, एथेरियम को इसकी आवश्यकता क्यों थी, और बिटकॉइन ने इससे बचने का विकल्प क्यों चुना
पारंपरिक वित्त क्षेत्र में काम करने वाले एक मित्र ने मुझसे एक बार पूछा कि एथेरियम अपने ब्लॉकचेन पर संपूर्ण वित्तीय एप्लिकेशन क्यों चला सकता है, जबकि बिटकॉइन मूल रूप से केवल एक पते से दूसरे पते पर पैसे भेज सकता है। उन्होंने कहा, "दोनों ही ब्लॉकचेन हैं। फिर उनमें असल अंतर क्या है?"
मैंने ट्यूरिंग पूर्णता समझाने की कोशिश की, लेकिन उनकी आँखें भावहीन हो गईं। इसलिए मैंने एक उदाहरण देकर फिर से कोशिश की। बिटकॉइन एक वेंडिंग मशीन है। आप उसमें पैसे डालते हैं, एक बटन दबाते हैं, और आपको एक खास चीज़ मिल जाती है। यह मशीन अपना काम करती है, और कुछ नहीं। एथेरियम एक रसोई है जिसमें एक रसोइया है। रसोइए को कोई भी नुस्खा और पर्याप्त सामग्री दे दीजिए, और वह कुछ भी बना सकता है। नियम ("गाढ़ा होने तक हिलाते रहें"), निर्णय ("अगर ज़्यादा नमकीन हो तो पानी डालें"), रचनात्मकता ("बची हुई सामग्री से मिठाई बना लें")। रसोइया किसी भी निर्देश का पालन कर सकता है। वेंडिंग मशीन ऐसा नहीं कर सकती।
यह तुलना पूरी तरह सही नहीं है। एक कंप्यूटर वैज्ञानिक इस बात पर आपत्ति जता सकता है कि मैंने इसे कितना सरल बना दिया है। लेकिन इससे मेरे दोस्त ने सही सवाल पूछा: "तो कोई वेंडिंग मशीन बनना क्यों चाहेगा?"
यह सवाल क्रिप्टो में ट्यूरिंग पूर्णता की पूरी बहस का सार है। सुरक्षा बनाम लचीलापन। पूर्वानुमान बनाम शक्ति। बिटकॉइन बनाम एथेरियम। और इसका जवाब, निराशाजनक रूप से, यह है कि दोनों पक्ष सही हैं।
यह विचार कहाँ से आया और 1936 का एक गणितीय शोध पत्र आज भी क्यों महत्वपूर्ण है?
1936 में एलन ट्यूरिंग ने "गणना योग्य संख्याओं पर" नामक एक शोधपत्र प्रकाशित किया। उस समय उनकी उम्र 23 वर्ष थी। इसमें उन्होंने एक ऐसी मशीन का वर्णन किया जो इतनी सरल है कि खिलौने जैसी लगती है। एक टेप की पट्टी जो खानों में बंटी हुई है। एक ऐसा उपकरण जो प्रतीकों को पढ़ता और लिखता है। कुछ नियम जो उपकरण को यह बताते हैं कि उसे क्या करना है, पढ़े गए कोड के आधार पर। टेप, उपकरण, नियम। यही पूरी मशीन है।
यह वो हिस्सा है जो आज भी मुझे रोमांचित कर देता है। ट्यूरिंग ने साबित किया कि यह बेहद सरल मशीन वो सब कुछ कर सकती है जो कोई भी कंप्यूटर कर सकता है। कुछ नहीं, बल्कि सब कुछ। आपका फोन अभी टेप-एंड-हेड ऑपरेशन कर रहा है। चैटजीपीटी चलाने वाला सर्वर भी यही कर रहा है। आपकी कार में लगी चिप भी यही कर रही है। उन्होंने यह सब 1936 में साबित किया था, जब धरती पर एक भी इलेक्ट्रॉनिक कंप्यूटर नहीं था। यह शोध पत्र लगभग 90 साल पुराना है और दुनिया के हर कंप्यूटर विज्ञान विभाग में इसे पहले सेमेस्टर में पढ़ाया जाता है।
जब कोई किसी सिस्टम को "ट्यूरिंग कंप्लीट" कहता है, तो उसका मतलब होता है कि वह ट्यूरिंग की टेप मशीन का अनुकरण कर सकता है। यह लूप चला सकता है, डेटा के आधार पर निर्णय ले सकता है, मेमोरी में डेटा स्टोर कर सकता है और किसी भी एल्गोरिदम को निष्पादित कर सकता है। आपका लैपटॉप ट्यूरिंग कंप्लीट है। पॉकेट कैलकुलेटर नहीं है। और एक मज़ेदार बात जो मुझे लोगों को बताना बहुत पसंद है: Minecraft के रेडस्टोन सर्किट तकनीकी रूप से ट्यूरिंग कंप्लीट हैं। लोगों ने गेम के अंदर काम करने वाले कंप्यूटर बनाए हैं। उपयोगी कंप्यूटर नहीं, लेकिन काम करने वाले।

बिटकॉइन में इसका क्या प्रभाव दिखता है: सतोशी ने सीमाएं क्यों चुनीं?
सातोशी ने बिटकॉइन स्क्रिप्ट नामक एक प्रोग्रामिंग भाषा का उपयोग करके बिटकॉइन का निर्माण किया, जो जानबूझकर सरल है। यह हस्ताक्षरों को सत्यापित करता है, बहु-हस्ताक्षर वॉलेट को संभालता है, समय सीमा के साथ धनराशि को लॉक करता है, और बस इतना ही। कोई लूप नहीं। कोई जटिल शाखा नहीं। लेन-देन के बीच कोई स्टेट स्थानांतरित नहीं होता।
मुझे पहली बार यह बात तब समझ आई जब मैं एथेरियम पर हुए DAO हैक के बारे में पढ़ रहा था (मैं उस पर आगे बात करूंगा)। एक रिकर्सिव फंक्शन कॉल ने एक स्मार्ट कॉन्ट्रैक्ट से 150 मिलियन डॉलर निकाल लिए क्योंकि कोड खुद को एक अनंत लूप में कॉल कर सकता था, जिसकी डेवलपर्स ने कभी कल्पना भी नहीं की थी। बिटकॉइन पर, ऐसा हैक असंभव है। असंभव नहीं, बल्कि नामुमकिन। बिटकॉइन स्क्रिप्ट खुद को कॉल नहीं कर सकती। लूप नहीं बना सकती। रिकर्सिव फंक्शन का इस्तेमाल नहीं कर सकती। भाषा इतनी सीमित है कि एथेरियम को 150 मिलियन डॉलर का नुकसान पहुंचाने वाले इस तरह के बग को व्यक्त नहीं कर सकती।
यह सीमा ही इसकी खूबी है। हर बिटकॉइन स्क्रिप्ट एक निश्चित समय पर समाप्त होती है। आप इसे पढ़कर जान सकते हैं कि यह क्या करेगी। कोई आश्चर्य नहीं। कोई अप्रत्याशित व्यवहार नहीं। जब आप एक ट्रिलियन डॉलर से अधिक मूल्य के नेटवर्क को सुरक्षित कर रहे हों, तो "उबाऊ और अनुमानित" होना कोई कमजोरी नहीं है। यह एक सोची-समझी रणनीति है।
विटालिक ने क्या बनाया और इसने सब कुछ क्यों बदल दिया
विटालिक बुटेरिन 19 वर्ष के थे जब उन्होंने 2013 में एथेरियम का श्वेतपत्र प्रकाशित किया था। उनका प्रश्न सरल और क्रांतिकारी था: क्या होगा यदि ब्लॉकचेन स्वयं कोई भी प्रोग्राम चला सके? न केवल "A से B तक सिक्के भेजना" बल्कि वह सब कुछ जो एक कंप्यूटर कर सकता है?
जब एथेरियम का श्वेतपत्र प्रकाशित हुआ, तब मैं कॉलेज में था। मैंने इसे एक पीडीएफ फाइल में पढ़ा, जिसे किसी ने बिटकॉइन फोरम में साझा किया था। आधे जवाबों में विटालिक को प्रतिभाशाली बताया गया था, जबकि बाकी आधे में कहा गया था कि वह एक ऐसा सिस्टम बना रहे हैं जिसे तुरंत हैक किया जा सकता है। दोनों ही बातें सही थीं।
एथेरियम 2015 में दो ऐसे घटकों के साथ लॉन्च हुआ जिन्होंने इसे ट्यूरिंग पूर्णता प्रदान की। सॉलिडिटी स्मार्ट कॉन्ट्रैक्ट लिखने के लिए प्रोग्रामिंग भाषा है। इसमें लूप, कंडीशनल स्टेटमेंट, स्टेट स्टोरेज और फंक्शन कॉल जैसी सभी सुविधाएं मौजूद हैं। एथेरियम वर्चुअल मशीन नेटवर्क के हर नोड पर एक साथ इन कॉन्ट्रैक्ट्स को चलाती है। ये दोनों मिलकर डेवलपर्स को उनके द्वारा लिखे गए किसी भी कोड को डिप्लॉय करने की सुविधा देते हैं।
यही एक फैसला DeFi के अस्तित्व का कारण है। NFT के अस्तित्व का कारण है। DAO के अस्तित्व का कारण है। अरबों डॉलर उन प्रोग्रामों के माध्यम से प्रवाहित होते हैं जिन पर किसी एक कंपनी का नियंत्रण नहीं है। क्रिप्टो में हर दिलचस्प एप्लिकेशन, चाहे वह Uniswap हो, Aave हो या OpenSea, केवल इसलिए संभव है क्योंकि Ethereum मनमाना कोड चला सकता है।
लेकिन विटालिक ने एक दांव लगाया। उन्होंने यह दांव लगाया कि लचीलेपन की शक्ति जटिलता के जोखिम से कहीं अधिक होगी। 2016 में हुए DAO हैक ने इस दांव की कड़ी परीक्षा ली। हर साल अरबों डॉलर का नुकसान पहुंचाने वाले DeFi हमलों ने इसकी लगातार परीक्षा ली है। और बिटकॉइन समुदाय इन नुकसानों की ओर इशारा करते हुए कहता रहता है, "इसीलिए हमने इसे सरल रखा।" दोनों पक्षों की बात में दम है।
रुकने की समस्या और गैस शुल्क क्यों मौजूद हैं
जब मुझे पहली बार यह बात समझ में आई, तो यही वह हिस्सा था जिसने मुझे रात भर जगाए रखा।
ट्यूरिंग ने 1936 के उसी शोधपत्र में एक चौंकाने वाली बात साबित की: कोई भी एल्गोरिदम किसी भी प्रोग्राम को देखकर यह निश्चित रूप से निर्धारित नहीं कर सकता कि वह चलना समाप्त करेगा या अनंत लूप में फंसा रहेगा। यह कोई तकनीकी समस्या नहीं है जिसे हमने अभी तक हल नहीं किया है। यह गणितीय रूप से असंभव है। सिद्ध हो चुका है। कोई भी कंप्यूटर, चाहे वह कितना भी उन्नत क्यों न हो, सभी प्रोग्रामों के लिए हॉल्टिंग प्रॉब्लम को हल नहीं कर सकता।
मेरे लैपटॉप पर, अनंत लूप परेशान करने वाला होता है। मैं Ctrl-C दबाता हूँ। काम चलता रहता है। लेकिन ब्लॉकचेन पर, अनंत लूप विनाशकारी होता है। हर नोड हर स्मार्ट कॉन्ट्रैक्ट को चलाता है। अगर एक कॉन्ट्रैक्ट कभी रुकता ही नहीं, तो उस ब्लॉकचेन को चलाने वाले दुनिया के सभी नोड ठप हो जाते हैं। नेटवर्क ठप हो जाता है।
एथेरियम का समाधान सीधा-सादा लेकिन कारगर है: गैस। हर गणना में गैस खर्च होती है। आप अपने लेन-देन के साथ गैस जोड़ते हैं। गैस खत्म होने पर कोड रुक जाता है। चाहे लेन-देन पूरा हुआ हो या बीच में रुका हो। गैस शून्य होते ही निष्पादन समाप्त हो जाता है। यही कारण है कि ETH की गैस फीस अलग-अलग होती है। एक साधारण ट्रांसफर: 21,000 गैस। एक जटिल DeFi स्वैप: 200,000। ऑन-चेन आर्ट के साथ एक NFT मिंट: आधा मिलियन। आप हर नोड द्वारा की जाने वाली गणना की मात्रा के लिए भुगतान कर रहे हैं।
बिटकॉइन ने इस समस्या को देखा और कहा "नहीं।" इसमें लूप नहीं लिखा जा सकता, न ही यह किसी लूप में फंस सकता है। हर स्क्रिप्ट समाप्त हो जाती है। गैस तंत्र की आवश्यकता नहीं है। भाषा इतनी सीमित है कि "हमेशा" जैसे शब्दों को व्यक्त नहीं किया जा सकता।
जून 2016: जब यह सिद्धांत वास्तविकता में 150 मिलियन डॉलर में बदल गया
क्रिप्टो में ट्यूरिंग पूर्णता के बारे में हर बातचीत अंततः इसी क्षण पर आकर रुकती है।
DAO एक 150 मिलियन डॉलर का निवेश कोष था जो एथेरियम पर चल रहा था। यह स्मार्ट कॉन्ट्रैक्ट पर आधारित था और इसका संचालन समुदाय द्वारा किया जाता था। पैसा जमा होता था और वोटों से तय होता था कि वह कहाँ खर्च होगा। इसका कोड जटिल था। इसमें लूप, कंडीशनल स्टेटमेंट, क्रॉस-कॉन्ट्रैक्ट कॉल और बीच में ही स्टेट में बदलाव जैसी कई चीज़ें शामिल थीं। ट्यूरिंग पूर्णता की हर सीमा इसमें मौजूद थी।
किसी ने खामी ढूंढ ली। निकासी फ़ंक्शन पहले ETH भेजता था और फिर बैलेंस अपडेट करता था। हमलावर ने निकासी फ़ंक्शन को कॉल किया, भुगतान प्राप्त किया, और बैलेंस अपडेट होने से पहले ही, फ़ंक्शन ने खुद को फिर से कॉल किया। और फिर से। और फिर से। पुन: प्रवेश प्रक्रिया। एक ऐसा चक्र जो डेवलपर्स ने कभी नहीं बनाया था, और हर चक्र के साथ पैसा निकालता जा रहा था।
क्या बिटकॉइन पर ऐसा हो सकता है? नहीं। बिटकॉइन स्क्रिप्ट खुद को कॉल नहीं कर सकती। यह अन्य स्क्रिप्ट को कॉल नहीं कर सकती। यह लूप नहीं चला सकती। बिटकॉइन को नीरस बनाने वाली बात ही इस खास हमले को असंभव बनाती है।
एथेरियम के समुदाय ने चेन को हार्ड-फोर्क करने और चोरी को पलटने के लिए मतदान किया। इस विभाजन से एथेरियम क्लासिक का निर्माण हुआ। डेवलपर्स ने इससे सीखा। रीएंट्रेंसी गार्ड मानक बन गए। "चेक-इफेक्ट-इंटरेक्शन" पैटर्न सर्वमान्य हो गया। लेकिन मूलभूत सत्य नहीं बदला: ट्यूरिंग-पूर्ण कोड में हमेशा ऐसे बग हो सकते हैं जिनकी उसके रचनाकारों ने पहले से कल्पना नहीं की थी। यह एथेरियम की कोई खामी नहीं है। यह गणितीय प्रक्रिया का परिणाम है।

बिटकॉइन की सीमाएं कम होती जा रही हैं: टैपरूट और बिटवीएम
बिटकॉइन के मामले में ट्यूरिंग पूर्ण और ट्यूरिंग अपूर्ण के बीच की रेखा अब उतनी स्पष्ट नहीं है जितनी पहले हुआ करती थी।
टैपरूट नवंबर 2021 में लॉन्च हुआ और इसने बिटकॉइन स्क्रिप्ट की क्षमताओं का विस्तार किया। इसमें अधिक जटिल सशर्त खर्च, श्नोर हस्ताक्षर के माध्यम से बेहतर गोपनीयता, और मर्केलाइज्ड एब्स्ट्रैक्ट सिंटैक्स ट्री शामिल हैं जो लेनदेन की शर्तों को निष्पादन तक छिपाते हैं। यह अभी भी ट्यूरिंग पूर्ण नहीं है, लेकिन पहले से कहीं अधिक अभिव्यंजक है।
2023 में प्रस्तावित BitVM इससे भी आगे जाता है। यह एक ऐसी प्रणाली का वर्णन करता है जिसके द्वारा मनमाने ढंग से गणनाएँ ऑफ-चेन की जा सकती हैं और फिर परिणाम को बिटकॉइन पर सत्यापित किया जा सकता है। इसे इस प्रकार समझें: वास्तविक गणना कहीं और होती है, और बिटकॉइन केवल तभी हस्तक्षेप करता है जब कोई परिणाम पर आपत्ति जताता है। सैद्धांतिक रूप से, यह बिटकॉइन को स्क्रिप्ट भाषा को बदले बिना ही विशिष्ट उपयोग मामलों के लिए व्यावहारिक रूप से ट्यूरिंग पूर्ण बना देता है।
मैंने बिटकॉइन डेवलपर्स से बिटवीएम के बारे में बात की है और उनकी प्रतिक्रिया दिलचस्प है। वे इसकी क्षमताओं को लेकर उत्साहित हैं, लेकिन जोखिमों को लेकर डरे हुए भी हैं। उनमें से एक ने मुझसे कहा: "हम इसमें जल्दबाजी नहीं करेंगे। लोगों ने इसमें एक ट्रिलियन डॉलर निवेश किए हैं। अगर हम इसे और बेहतर बनाने की कोशिश में इसे बिगाड़ देते हैं, तो कोई हमें माफ नहीं करेगा।" अगर आप कल ही बिटकॉइन डीएफ़आई चाहते हैं, तो यह सावधानी निराशाजनक है। लेकिन अगर आपके पास सिस्टम में एक ट्रिलियन डॉलर हैं, तो यह आपको आश्वस्त करती है।
अंततः रुझान अभिव्यक्ति की अधिकता की ओर है। टैपरूट ने पहले ही संभावनाओं का विस्तार कर दिया है। बिटवीएम इसे और आगे बढ़ाएगा। लेकिन बिटकॉइन के एथेरियम बनने की उम्मीद न करें। दोनों संस्कृतियों में इतना अंतर है कि ऐसा संभव नहीं है।
आखिर हर नई ब्लॉकचेन ने ट्यूरिंग पूर्णता को ही क्यों चुना?
व्यवहार में इस बहस का हल यह निकला: अब कोई भी ट्यूरिंग-अपूर्ण ब्लॉकचेन नहीं बनाता। सोलाना, कार्डानो, पोल्काडॉट, एवलांच, बीएनबी चेन। सभी ट्यूरिंग-पूर्ण हैं। सभी मनमाने प्रोग्राम चलाने में सक्षम हैं। बाजार ने तय कर लिया है कि प्रोग्राम करने की क्षमता ही जीतती है, और अब एकमात्र सवाल यह है कि ट्यूरिंग-पूर्ण सिस्टम को तेज़, सस्ता और सुरक्षित कैसे बनाया जाए।
प्रत्येक चेन ने अलग-अलग समझौते किए। एथेरियम ने ईवीएम और सॉलिडिटी को चुना (सबसे बड़ा इकोसिस्टम, एल1 पर सबसे अधिक शुल्क)। सोलाना ने रस्ट का उपयोग करके समानांतर निष्पादन के लिए सीलेवल बनाया (तेज़ लेकिन विकास करना कठिन)। कार्डानो ने हास्केल और औपचारिक सत्यापन को चुना (गणितीय रूप से कठोर, धीमी गति से अपनाया जाना)। लेकिन उन सभी ने ट्यूरिंग पूर्णता को स्वीकार किया क्योंकि वे सभी स्मार्ट कॉन्ट्रैक्ट, डीएफआई, एनएफटी, डीएओ और अन्य सभी चीजें चलाना चाहते थे जिनके लिए कस्टम लॉजिक की आवश्यकता होती है।
सुरक्षा संबंधी समस्याएं वास्तविक हैं। DeFi में होने वाली चूक से हर साल अरबों डॉलर का नुकसान होता है। DAO हैक तो बस शुरुआत थी। लेकिन उद्योग इस निष्कर्ष पर पहुंचा कि प्रोग्रामेबिलिटी के लाभ जोखिमों से कहीं अधिक हैं। यहां तक कि बिटकॉइन, जो मूल रूप से जानबूझकर सीमित की गई चेन है, टैपरूट और बिटवीएम के साथ अधिक अभिव्यक्ति की ओर बढ़ रही है।
मैं क्रिप्टो जगत में इतने लंबे समय से हूं कि मैंने दोनों प्रकार की क्रिप्टोकरेंसी का व्यापक रूप से उपयोग किया है। मैंने बिटकॉइन लेनदेन किए हैं जो हर बार उम्मीद के मुताबिक सटीक रूप से सफल हुए हैं। मैंने एथेरियम स्मार्ट कॉन्ट्रैक्ट्स भी तैनात किए हैं जिन्होंने ऐसे काम किए जिनकी मैंने कल्पना भी नहीं की थी, क्योंकि सॉलिडिटी आपको इतना जटिल कोड लिखने की अनुमति देती है कि आप खुद भी आश्चर्यचकित हो जाते हैं। इन दोनों अनुभवों ने मेरे दृष्टिकोण को आकार दिया है।
यह बहस इस बारे में कम है कि ट्यूरिंग पूर्णता अच्छी है या बुरी, और इस बारे में ज़्यादा है कि आपको क्या चाहिए। अगर आप एक ऐसी डिजिटल भुगतान प्रणाली चाहते हैं जो अधिकतम सुरक्षित और पूर्वानुमान योग्य हो, तो बिटकॉइन का डिज़ाइन उपयुक्त है। अगर आप वित्तीय एप्लिकेशन, गेम, पहचान प्रणाली या ऐसी कोई भी चीज़ बनाना चाहते हैं जिसमें विशिष्ट तर्क की आवश्यकता हो, तो आपको ट्यूरिंग पूर्णता की आवश्यकता है। क्रिप्टो को आज जो कुछ भी दिलचस्प बनाता है, वह केवल इसलिए संभव हो पाया क्योंकि एक 19 वर्षीय युवक ने जोखिम उठाने का फैसला किया।
मैं Uniswap, Aave या किसी भी DeFi प्रोटोकॉल का इस्तेमाल करते समय इस बारे में सोचता हूँ। मेरा हर स्वैप एक ट्यूरिंग-पूर्ण वर्चुअल मशीन पर चलने वाला कोड होता है। हर लेन-देन में यह सैद्धांतिक जोखिम होता है कि कोई अप्रत्याशित बग पूरे कॉन्ट्रैक्ट को बर्बाद कर सकता है। फिर भी मैं इन प्रोटोकॉल का इस्तेमाल करता हूँ क्योंकि मेरे लिए इनकी उपयोगिता जोखिम से कहीं ज़्यादा है। लेकिन मैं इस जोखिम को कभी नहीं भूलता। और मैं यह भी कभी नहीं भूलता कि बिटकॉइन ने एक अलग रास्ता चुना है, और उस रास्ते में एक अलग ही तरह की समझ है। वेंडिंग मशीन कभी आपका पैसा नहीं चुराती। लेकिन रसोइया रसोई में आग लगा सकता है।