109 / 736RPOW

Reusable Proofs of Work

RPOW: गणना के प्रमाण को आगे सौंपने का फ़िनी का प्रयोग

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

Reusable Proofs of Work, यानी RPOW, हैल फ़िनी का प्रयोगात्मक सिस्टम था। यह Hashcash से मिलने वाले गणना-कार्य के प्रमाणों को आगे सौंपे जा सकने वाले डिजिटल टोकन में बदलता था। सर्वर वह सेवा है जो उपयोगकर्ताओं के अनुरोधों को पूरा करती है। हर टोकन निर्धारित सर्वर पर केवल एक बार बदला जा सकता था, लेकिन पाने वाले को उसी गणनात्मक मूल्य का नया टोकन मिलता था। IBM 4758 कार्ड और चल रहे प्रोग्राम की दूर से जाँच के ज़रिए विनिमय को नियमों के अनुसार रखने की कोशिश थी। यह न विकेंद्रीकृत नेटवर्क था, न बिटकॉइन।

15 अगस्त 2004 को हैल फ़िनी ने क्रिप्टोग्राफ़ी की ईमेल चर्चा में लोगों को अपना नया प्रयोग आज़माने के लिए आमंत्रित किया। इसका आधार एडम बैक का Hashcash था: कंप्यूटर अलग-अलग इनपुट तब तक आज़माता है, जब तक तय शर्त पूरी करने वाला परिणाम न मिल जाए। खोजने में गणना का समय लगता है, लेकिन मिले हुए परिणाम की जाँच जल्दी हो जाती है। ऐसे प्रमाण को Proof of Work, यानी किए गए काम का प्रमाण कहते हैं। अनचाही ईमेल रोकने में यह गणना से खरीदे गए डाक टिकट जैसा काम कर सकता है। फ़िनी जानना चाहते थे कि क्या यह प्रमाण एक बार इस्तेमाल होकर बेकार होने के बजाय लोगों के बीच आगे जा सकता है। RPOW नाम का अर्थ यही है: दोबारा इस्तेमाल किए जा सकने वाले काम के प्रमाण। [1] [2] [4]

मान लीजिए अन्ना के पास एक मान्य डिजिटल टोकन है और वह उसे पीटर को भेजती है। यदि उसने केवल फ़ाइल भेजी है, तो उसकी एक प्रति अपने पास रख सकती है। इसलिए पीटर टोकन RPOW सर्वर को देकर उसे बदलने को कहता है। सर्वर जाँचता है कि वह पहले इस्तेमाल नहीं हुआ, उसे खर्च हुआ दर्ज करता है और पीटर के प्रोग्राम द्वारा तैयार नए टोकन पर हस्ताक्षर करता है। अब अन्ना के पास पुराने टोकन की प्रति दोबारा नहीं बदली जा सकती। पीटर नया टोकन ईवा को भेज सकता है, जो यही प्रक्रिया दोहराएगी। इसलिए दोबारा उपयोग उस मूल्य का होता है जो आगे जा रहा है, हमेशा मान्य रहने वाली उसी फ़ाइल का नहीं। जब तक पाने वाला विनिमय पूरा न कर ले, भेजने वाला मूल टोकन उससे पहले खर्च कर सकता है। [2] [11]

इनपुट अभी-अभी गणना से बनाया गया Hashcash या अभी तक इस्तेमाल न हुआ RPOW टोकन हो सकता था। बदले में RSA डिजिटल हस्ताक्षर वाला नया टोकन मिलता था, यानी सर्वर की ऐसी पुष्टि जिसे गणित से जाँचा जा सके। RSA ऐसे हस्ताक्षर की गणना करने का तरीका है: उसे बनाने के लिए गुप्त हस्ताक्षर कुंजी और जाँचने के लिए उससे जुड़ी सार्वजनिक कुंजी इस्तेमाल होती है। यह जाँचा जा सकने वाला संख्यात्मक डेटा है, हाथ से किए हस्ताक्षर की तस्वीर नहीं। हस्ताक्षर से टोकन का स्रोत पता चलता था, लेकिन केवल उससे यह नहीं मालूम होता कि टोकन पहले बदला जा चुका है या नहीं। इसके लिए इस्तेमाल किए गए इनपुट का रिकॉर्ड था। आगे हर हस्तांतरण पर Hashcash की महँगी खोज दोहराने की ज़रूरत नहीं पड़ती थी: पुराने प्रमाण को अमान्य करने के बदले नया हस्ताक्षर मिलता था। इसमें न बिजली का पुनः उपयोग हो रहा था, न पहले किए काम पर दावे को मुफ़्त में कई गुना किया जा सकता था। [2]

मूल्य का मतलब गणना की कठिनाई का स्तर था, क्राउन या डॉलर में कीमत नहीं। उस समय Hashcash में SHA-1 इस्तेमाल होता था। यह फ़ंक्शन डेटा का छोटा संख्यात्मक निशान बनाता है; लक्ष्य ऐसा निशान ढूँढ़ना था जिसके शुरू में तय संख्या में शून्य बिट हों। बिट एक बाइनरी अंक है। हर अतिरिक्त शुरुआती शून्य की माँग औसत कोशिशों को लगभग दोगुना करती है। इसलिए स्तर 21 का एक टोकन स्तर 20 के दो टोकन जितने अपेक्षित काम को दर्शाता था और उन दो में बाँटा जा सकता था। जोड़ते या बाँटते समय इस गणनात्मक मूल्य का कुल योग समान रखना ज़रूरी था। लेकिन यह स्थिर विनिमय दर या क्रयशक्ति की गारंटी नहीं थी: तेज़ कंप्यूटर उसी प्रकार का टोकन कम लागत में बना सकते थे। [2] [10]

Double spend का अर्थ है एक ही मूल्य को दो बार खर्च करना। इससे बचने के लिए RPOW को पहले बदले गए प्रमाणों की सूची चाहिए थी। पूरा डेटाबेस सुरक्षित कार्ड के अंदर नहीं था, बल्कि सामान्य होस्ट कंप्यूटर पर रखा जाता था। कार्ड डेटाबेस की स्थिति का जाँच-निशान अपने पास रखता और पूछताछ के समय क्रिप्टोग्राफ़िक प्रमाण जाँचता था। इसमें Merkle Tree का सिद्धांत काम आता था: निशानों की पेड़ जैसी संरचना, जिससे एक साझा निशान के आधार पर डेटा के हिस्से को जाँचा जा सके। उद्देश्य सिर्फ रिकॉर्ड में बदलाव पकड़ना नहीं था, बल्कि उस पुराने डेटाबेस पर लौटना भी पकड़ना था जिसमें अभी खर्च हुआ टोकन दर्ज नहीं हुआ था। यह सुरक्षा न हो तो संचालक एक ही इनपुट को बार-बार नए टोकन में बदल सकता है। [3]

सर्वर संवेदनशील काम IBM 4758 के अंदर करता था। यह सामान्य कंप्यूटर में लगने वाला एक स्वतंत्र कंप्यूटिंग कार्ड था, जिसे हस्ताक्षर की कुंजियाँ और सिस्टम की संवेदनशील जानकारी उस कंप्यूटर के मालिक से भी बचानी थी। भौतिक छेड़छाड़ का पता लगने पर यह गुप्त डेटा मिटा सकता था। होस्ट कंप्यूटर संदेश पहुँचाता और डेटाबेस रखता था, लेकिन डिज़ाइन उसे भरोसेमंद नहीं मानता था। फ़िनी के उपाय का सार यही था: सर्वर चलाने भर से संचालक को मनमाने नए टोकन बनाने का अधिकार न मिले। हालाँकि सुरक्षा सही हार्डवेयर, सही प्रोग्राम और कुंजियों की रक्षा पर निर्भर थी। यह हर हाल में अभेद्य रहने का वादा नहीं था। [3] [9]

केवल सोर्स कोड प्रकाशित करना काफ़ी नहीं है। संचालक एक प्रोग्राम दिखाकर दूसरा चला सकता है। इसलिए RPOW ने remote attestation, यानी दूर से सिस्टम की संरचना की पुष्टि, इस्तेमाल की। कार्ड चल रहे प्रोग्राम के बारे में हस्ताक्षरित जानकारी देता था। इच्छुक व्यक्ति प्रकाशित कोड को उचित औज़ारों से कंपाइल कर सकता था और बनी हुई प्रोग्राम इमेज के निशान की तुलना बताए गए निशान से कर सकता था। तुलना केवल सोर्स फ़ाइल के लिखे हुए पाठ की नहीं थी। हस्ताक्षरों पर भरोसा प्रमाणपत्रों की शृंखला से IBM की कुंजी तक पहुँचता था। इससे यह जाँचना आसान होता था कि वास्तव में कौन-सा प्रोग्राम चल रहा है, लेकिन इससे कोड में गलती न होने या निर्माता और उसकी प्रमाणन प्रक्रिया कभी न चूकने का प्रमाण नहीं मिलता था। [3] [9]

डिजिटल टोकन के विनिमय के कारण RPOW कुछ हद तक eCash जैसा लगता है। लेकिन मूल विवरण में गोपनीयता की रक्षा ब्लाइंड सिग्नेचर से नहीं होती थी। फ़िनी सुरक्षित कार्ड तक एन्क्रिप्टेड कनेक्शन और ऐसे जाँचने योग्य प्रोग्राम पर निर्भर थे जो जारी तथा प्राप्त टोकन के आपसी संबंध न रखे। होस्ट कंप्यूटर को टोकन का खुला डेटा नहीं दिखना चाहिए था। फिर भी वह उपयोगकर्ता का नेटवर्क पता, संचार का समय और आकार देख सकता था। एक ही टोकन दोबारा देने पर कुछ घटनाओं का संबंध भी जोड़ा जा सकता था। सुरक्षित रखे गए दस्तावेज़ों में Tor का समर्थन पहले से वर्णित है। यह नेटवर्क कनेक्शन को कई मध्यस्थों से होकर ले जाता है और उपयोगकर्ता का मूल नेटवर्क पता सर्वर से छिपाता है। इसके विपरीत, ब्लाइंड सिग्नेचर को बाद में जोड़ी जा सकने वाली सुविधा बताया गया है। इस योजना को उस समय वर्णित संचालन का हिस्सा नहीं मानना चाहिए। [8] [10]

RPOW केवल कागज़ पर प्रस्ताव नहीं था: उसका सर्वर चलता था और क्लाइंट प्रोग्राम उपलब्ध था। लेकिन फ़िनी ने शुरू से कहा था कि यह शुरुआती परीक्षण संस्करण है। सर्वर प्रोग्राम में ज़रूरी बदलाव पहले जारी टोकन को अमान्य कर सकता था। टोकन निजी, प्रयोगात्मक और गैर-व्यावसायिक उपयोग के लिए थे, गारंटीशुदा मूल्य वाले पैसे के रूप में नहीं। सुरक्षित कार्ड भी संचालक को सर्वर चालू रखने के लिए मजबूर नहीं कर सकता था। मूल परियोजना समाप्त हो चुकी है; बचे हुए पन्ने और कोड ऐतिहासिक सामग्री हैं। इसलिए उस समय के SHA-1, RSA और हार्डवेयर का वर्णन आज वैसी ही भुगतान सेवा बनाने की सलाह नहीं है। [1] [4] [5] [7]

फ़िनी निक ज़ाबो के Bit Gold के विचार का एक हिस्सा व्यवहार में दिखाना चाहते थे: डिजिटल वस्तु बनाना महँगा हो सकता है और उसके बाद उसे आगे दिया जा सकता है। RPOW दस्तावेज़ कई सर्वरों के सहयोग की भी कल्पना करते थे, इसलिए पूरे डिज़ाइन को हमेशा के लिए केवल एक कंप्यूटर तक सीमित कहना गलत होगा। फिर भी हर टोकन तय करता था कि उसे किस सर्वर पर बदलना है; अधिक मशीनें जोड़ने से यह निर्भरता अपने आप नहीं मिटती। Bitcoin ने अलग राह चुनी। स्वतंत्र नोड, यानी सत्यापन सॉफ्टवेयर चलाने वाले कंप्यूटर, साझा नियमों और सार्वजनिक इतिहास की जाँच करते हैं। माइनर अगले मान्य ब्लॉक जोड़ने के लिए प्रतिस्पर्धा करते हैं। ब्लॉक लेनदेन का ऐसा समूह है जो पिछले रिकॉर्ड से जुड़ा होता है। RPOW समझाता है कि केवल Proof of Work क्या हल नहीं करता: सभी मान्य हस्तांतरण क्रम को कैसे पहचानेंगे और इस प्रक्रिया में किस पर भरोसा करेंगे, यह भी तय करना पड़ता है। [1] [6] [11]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Hal Finney, Adam Back, Hashcash, Nick Szabo, Bit Gold, Proof of Work. इस प्रविष्टि का उल्लेख यहाँ भी है b-money, Bit Gold, Hal Finney.

DOC · 001Hal Finney — RPOW overviewप्राथमिक स्रोत DOC · 002Hal Finney — RPOW theoryप्राथमिक स्रोत DOC · 003Hal Finney — RPOW security modelप्राथमिक स्रोत DOC · 004Hal Finney — RPOW launch announcementप्राथमिक स्रोत DOC · 005Nakamoto Institute — archived RPOW sourceदस्तावेज़ DOC · 006Bitcoin whitepaperप्राथमिक स्रोत DOC · 007Hal Finney — What is RPOW?प्राथमिक स्रोत DOC · 008Hal Finney — RPOW privacy without blindingप्राथमिक स्रोत DOC · 009Hal Finney — IBM 4758 securityप्राथमिक स्रोत DOC · 010Hal Finney — RPOW frequently asked questionsप्राथमिक स्रोत DOC · 011Hal Finney — The RPOW worldप्राथमिक स्रोत
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है