# Ask the World - Self Protocol से चलने वाला एक DAVINCI miniapp

ज़्यादातर डिजिटल मतदान व्यवस्थाएँ आज भी पहचान की परत पर आकर बिखर जाती हैं। मतपत्रों को सत्यापन योग्य और सेंसरशिप-रोधी बनाया जा सकता है, पर अगर आप प्रणाली को निगरानी का ज़रिया बनाए बिना यह पक्का नहीं कर सकते कि कौन पात्र है और हर मतदाता एक ही बार गिना जाए, तो आपने मतदान की समस्या हल नहीं की, आपने बस भरोसे की लकीर खिसका दी है।

Ask the World की शुरुआत यहीं से हुई। **हम चाहते थे कि पात्र प्रतिभागी अपनी पहचान बताए बिना सिर्फ़ वही बातें साबित कर सकें जो उस मतदान के लिए मायने रखती हैं।**

[_Ask the World_](https://asktheworld.davinci.ninja) एक प्रयोगात्मक miniapp है, जो हमारे साझेदार [Self Protocol](https://self.xyz/) के ज़रिए यह दिखाता है कि पूरा स्टैक संभालने वाला कोई मतदान प्रोटोकॉल जब zero-knowledge पहचान से मिलता है, तो क्या-क्या मुमकिन हो जाता है।

## हमने यह क्यों बनाया

[DAVINCI](https://davinci.vote) एक सत्यापन योग्य, on-chain और बिना gas वाला मतदान प्रोटोकॉल है। यह सिर्फ़ वोट रखने वाला इन्फ़्रास्ट्रक्चर नहीं, बल्कि खास इसी मकसद से गढ़ा गया एक प्रोटोकॉल है, जो डिजिटल मतदान की सबसे कठिन समस्याएँ हल करता है:

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

यही वे खूबियाँ हैं जो एक असली मतदान प्रोटोकॉल को "blockchain पर पड़े वोटों" से अलग करती हैं। भीतर से देखें तो [DAVINCI](https://davinci.vote) प्रमाणों की जाँच के लिए **zkSNARKs** पर और मतपत्र की गोपनीयता पक्की करने के लिए **थ्रेशोल्ड होमोमॉर्फिक एन्क्रिप्शन** पर टिका है: ये वही क्रिप्टोग्राफ़िक प्रिमिटिव हैं जो इन गारंटियों को गणित की ताकत देते हैं।

[_Ask the World_](https://asktheworld.davinci.ninja/) के साथ हम इसे और आगे ले जाना चाहते थे: किसी देश के हर उस पात्र नागरिक के लिए मतदान खोल देना जिसकी पुष्टि सरकारी पहचान दस्तावेज़ से हो, और फिर भी मतदाता गुमनाम रहे।

## यह काम कैसे करता है

### मतदान बनाना

मतदान बनाने वाला व्यक्ति सवाल, उपलब्ध विकल्प, कौन-सी नागरिकता चलेगी और न्यूनतम उम्र तय करता है। DAVINCI उस खास मतदान के लिए एक अलग मतदाता सूची कॉन्ट्रैक्ट खड़ा करता है और प्रक्रिया on-chain दर्ज कर देता है। बनाने वाले को एक सार्वजनिक लिंक मिल जाता है, ताकि कसौटियों पर खरा उतरने वाला कोई भी व्यक्ति हिस्सा ले सके।

### वोट डालना

मतदाता की तरफ़ से देखें तो यह अनुभव किसी भी वेब ऐप जैसा लगता है:

![“एक स्कैन। एक वोट।” शीर्षक वाला चार कदम का सिलसिला। बाएँ से दाएँ 01 से 04 तक क्रमांकित चार कार्ड हैं, और हर कार्ड पर एक आइकन, एक शीर्षक, एक पंक्ति का ब्योरा और नीचे एक टैग है। कार्डों के बीच छोटे तीर आगे का रास्ता दिखाते हैं।](/blog/images/2026/03/02_voting_process-1.webp)

1. **लिंक खोलिए।** परदे के पीछे एक अस्थायी वॉलेट बन जाता है: न कोई क्रिप्टो वॉलेट, न gas फ़ीस, न कोई सेटअप।
2. **QR कोड स्कैन कीजिए।** मतदाता [Self app](https://self.xyz) से अपने ही डिवाइस पर zero-knowledge प्रमाण बनाता है। यह प्रमाण पक्का करता है कि उसका दस्तावेज़ वैध है, उसके पास सही नागरिकता है और वह न्यूनतम उम्र पूरी करता है, और यह सब उसका नाम, दस्तावेज़ संख्या या कोई भी निजी डेटा उजागर किए बिना। दोहरा पंजीकरण रोकने के लिए एक अलग nullifier भी बन जाता है।
3. **मतदाता सूची में जुड़िए।** on-chain मतदाता सूची कॉन्ट्रैक्ट इस प्रमाण की क्रिप्टोग्राफ़िक जाँच करता है। जाँच ठीक निकले तो मतदाता का अस्थायी वॉलेट सूची में जोड़ दिया जाता है।
4. **वोट डालिए।** मतदाता अपना विकल्प चुनता है। उसका मतपत्र थ्रेशोल्ड एन्क्रिप्शन से एन्क्रिप्ट होकर on-chain दर्ज हो जाता है: सत्यापन कोई भी कर सकता है, पर प्रक्रिया बंद होने तक पढ़ कोई नहीं सकता।

एक स्कैन। एक वोट। blockchain की कोई जानकारी ज़रूरी नहीं।

### भीतर क्या हो रहा है

Ask the World कोई एक टूल नहीं, बल्कि साथ मिलकर काम करती चार परतें हैं, और हर परत पहेली का एक अलग हिस्सा संभालती है।

![चार परतों वाला ढाँचा, ऊपर से नीचे: DAVINCI यानी मतदान प्रोटोकॉल, मतदाता सूची का स्मार्ट कॉन्ट्रैक्ट, पहचान के लिए Self.xyz, और सबसे नीचे अस्थायी वॉलेट। हर परत एक चौड़े कार्ड में है, जिस पर बाईं ओर आइकन और नाम है और दाईं ओर उसका काम और कुछ टैग।](/blog/images/2026/03/03_architecture_stack.webp)

सबसे ऊपर [DAVINCI](https://davinci.vote) है, यानी खुद मतदान प्रोटोकॉल। यह किसी मतदान का पूरा जीवनचक्र संभालता है: प्रक्रिया बनाना, हर मतपत्र को थ्रेशोल्ड होमोमॉर्फिक एन्क्रिप्शन से एन्क्रिप्ट करना, परिणाम निकालना और end-to-end सत्यापन क्षमता की गारंटी देना। दबाव-रोधकता, रसीद-रहितता और मिलीभगत-रोधकता बाद में जोड़ी गई सुविधाएँ नहीं हैं, ये क्रिप्टोग्राफ़िक डिज़ाइन में ही गुँथी हुई हैं।

उसके नीचे हर मतदान के लिए मतदाता सूची का एक अलग स्मार्ट कॉन्ट्रैक्ट खड़ा किया जाता है। मतदाता अपना zero-knowledge प्रमाण पेश करता है तो यह कॉन्ट्रैक्ट उसे on-chain जाँचता है और मतदाता का अस्थायी वॉलेट एक Merkle ट्री में जोड़ देता है। हर प्रक्रिया की अपनी मतदाता सूची होती है, इसलिए अलग-अलग मतदान बिना आपस में टकराए पात्रता की बिल्कुल अलग कसौटियाँ तय कर सकते हैं।

पहचान की परत [Self Protocol](https://self.xyz) संभालता है। यह zero-knowledge प्रमाण सीधे मतदाता के डिवाइस पर बनाता है, और उनसे पक्का होता है कि दस्तावेज़ वैध है और उसका धारक नागरिकता और उम्र की शर्तें पूरी करता है। साथ ही दोहरा पंजीकरण रोकने के लिए एक अलग nullifier भी बनता है। मतदाता का नाम, दस्तावेज़ संख्या या कोई भी निजी डेटा किसी भी मोड़ पर उसके डिवाइस से बाहर नहीं जाता।

आखिर में, अस्थायी वॉलेट blockchain से होने वाला सारा लेन-देन नज़रों से ओझल कर देते हैं। मतदाताओं को न कभी क्रिप्टो वॉलेट चाहिए, न कभी gas फ़ीस चुकानी पड़ती है, और उन्हें यह पता तक नहीं चलता कि वे किसी blockchain से जुड़े हुए हैं। पूरा अनुभव किसी आम वेब ऐप जैसा लगता है।

## बड़ी तस्वीर

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

![पहचान से एन्क्रिप्टेड वोट तक का सिलसिला, बाएँ से दाएँ चार गोल आइकन में: असली पहचान, निजी प्रमाण, सत्यापन योग्य मतदाता सूची और एन्क्रिप्टेड वोट। बीच के तीरों पर लिखा है कि हर कदम कौन कराता है, यानी पहले Self.xyz, फिर on-chain जाँच, फिर DAVINCI। सबसे नीचे तीन कार्ड में सुरक्षा, गोपनीयता और आसानी के दावे लिखे हैं।](/blog/images/2026/03/04_bigger_picture.webp)

पर इसे मायने यह सिलसिला खुद नहीं देता, बल्कि यह कि हर मोड़ पर कौन-सी दिक्कत खत्म हो जाती है। असली पहचान से निजी प्रमाण तक का कदम सत्यापन और गुमनामी के बीच का समझौता मिटा देता है। प्रमाण से मतदाता सूची तक का कदम लोगों पर नज़र रखे बिना दोहरा मतदान खत्म कर देता है। और मतदाता सूची से एन्क्रिप्टेड मतपत्र तक का कदम यह पक्का करता है कि प्रक्रिया बंद होने से पहले कोई भी, यहाँ तक कि आयोजक भी, यह नहीं देख सकता कि किसने किसे वोट दिया।

[Self](https://self.xyz/) की zero-knowledge पहचान जाँच को DAVINCI के दबाव-रोधी मतदान प्रोटोकॉल से जोड़कर _Ask the World_ वह कर दिखाता है जिसे ज़्यादातर डिजिटल मतदान व्यवस्थाएँ एक साथ नामुमकिन मानती हैं: ऐसी भागीदारी जो आज उपलब्ध किसी भी विकल्प से एक साथ ज़्यादा सुरक्षित भी है और ज़्यादा निजी भी, और मतदाता का अनुभव इतना ही आसान रहता है जितना एक QR कोड स्कैन करना।

[_Ask the World_](https://asktheworld.davinci.ninja/) एक प्रयोग है, पर उसके नीचे का प्रोटोकॉल प्रयोग नहीं है। [DAVINCI का SDK](https://github.com/vocdoni/davinci-sdk/) उन डेवलपरों के लिए तैयार है जो अपने खुद के मतदान एप्लिकेशन बनाना चाहते हैं: चाहे गवर्नेंस के लिए, समुदाय के फ़ैसलों के लिए, रुझान टटोलने के लिए, या ऐसे इस्तेमालों के लिए जो अभी हमारी कल्पना में भी नहीं आए।

---

**बनाने के लिए तैयार हैं?** [DAVINCI SDK](https://github.com/vocdoni/davinci-sdk/) देखिए और आज ही सत्यापन योग्य, निजी फ़ैसले लेने के अनुभव बनाना शुरू कीजिए।
