क्रिप्टो एड्रेस फॉर्मेट: Bech32, Base58, और 0x
विषय सूची
अगर आपने कभी क्रिप्टो एड्रेस कॉपी किया है और देखा है कि Bitcoin एड्रेस bc1 से शुरू होते हैं, Ethereum एड्रेस 0x से शुरू होते हैं, और Solana एड्रेस बिल्कुल अलग भाषा जैसे दिखते हैं, तो आप अकेले नहीं हैं। ये अंतर सिर्फ दिखावटी नहीं हैं। हर एड्रेस फॉर्मेट blockchain, उसके समर्थित transaction प्रकार, और आपके फंड्स की सुरक्षा करने वाले error-detection mechanisms के बारे में विशिष्ट जानकारी encode करता है।
एड्रेस फॉर्मेट समझना व्यावहारिक ज्ञान है। क्रिप्टो एड्रेस में एक गलत character फंड्स को स्थायी रूप से खो सकता है। यह गाइड प्रमुख encoding schemes को समझाती है, बताती है कि हर blockchain ने अपना फॉर्मेट क्यों चुना, और दिखाती है कि checksums महंगी गलतियों को कैसे रोकते हैं।
एड्रेस अलग क्यों दिखते हैं¶
क्रिप्टोकरेंसी एड्रेस public key या उससे derived hash का human-readable representation है। raw cryptographic output binary data है, जो इंसानों के लिए पढ़ना, कॉपी करना या verify करना व्यावहारिक नहीं है। अलग-अलग blockchains ने उस binary data को text strings में बदलने के लिए अलग-अलग encoding schemes चुनी।
ये encoding choices निम्न trade-offs को दर्शाते हैं:
- Character set safety -- ऐसे characters से बचना जो एक जैसे दिखते हैं (0/O, l/1/I)
- Error detection -- built-in checksums जो फंड्स खोने से पहले typos पकड़ते हैं
- Space efficiency -- छोटे एड्रेस संभालने में आसान होते हैं
- Case sensitivity -- lowercase-only formats clipboard confusion से बचाते हैं
क्रिप्टोकरेंसी में तीन प्रमुख encoding families हैं: Base58Check, Bech32, और 0x prefix वाला hexadecimal। हर एक विशिष्ट design goals से blockchain इतिहास के विशिष्ट moments में उभरा।
Base58Check: Bitcoin Legacy¶
Base58Check पहली एड्रेस encoding schemes में से एक थी, जो Satoshi Nakamoto ने Bitcoin के साथ पेश की। यह 58 alphanumeric characters का उपयोग करती है, जानबूझकर visual confusion पैदा करने वाले characters को बाहर रखते हुए:
- कोई zero (
0) नहीं -- letter O से बहुत मिलता-जुलता - कोई uppercase O (
O) नहीं -- zero से बहुत मिलता-जुलता - कोई lowercase L (
l) नहीं -- uppercase I और number 1 से बहुत मिलता-जुलता - कोई uppercase I (
I) नहीं -- lowercase l और number 1 से बहुत मिलता-जुलता
एक Base58Check Bitcoin एड्रेस ऐसा दिखता है: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
फॉर्मेट में शुरू में एक version byte और अंत में 4-byte checksum शामिल है। version byte एड्रेस प्रकार बताता है: 1 standard Pay-to-Public-Key-Hash (P2PKH) एड्रेस के लिए, 3 Pay-to-Script-Hash (P2SH) एड्रेस के लिए। checksum payload पर SHA-256 दो बार चलाकर और result के पहले 4 bytes जोड़कर compute किया जाता है।
इस checksum का मतलब है कि अगर आप गलती से एक character गलत टाइप करते हैं, तो एड्रेस लगभग निश्चित रूप से validation fail करेगा बजाय गलत लेकिन valid एड्रेस पर फंड्स भेजने के। random typo से valid checksum बनने की probability लगभग 4.3 billion में 1 है।
कई अन्य blockchains ने Base58Check अपनाया क्योंकि यह proven और familiar था:
आप SafeSeed के Bitcoin Address Validator का उपयोग करके जांच सकते हैं कि कोई Base58Check एड्रेस valid checksum रखता है या नहीं, कोई भी transaction भेजने से पहले।
Bech32: SegWit bc1 एड्रेस¶
2017 में, Bitcoin ने Segregated Witness (SegWit) पेश किया, जिसे एक नए एड्रेस फॉर्मेट की जरूरत थी। Base58Check को extend करने के बजाय, developers ने Bech32 बनाया, जो BIP173 में परिभाषित है। Bech32 एड्रेस तुरंत पहचाने जाते हैं क्योंकि वे Bitcoin mainnet के लिए bc1 से शुरू होते हैं।
एक Bech32 एड्रेस ऐसा दिखता है: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
Bech32 ने Base58Check पर कई जानबूझकर सुधार किए:
केवल Lowercase¶
Bech32 केवल lowercase letters और numbers का उपयोग करता है। यह case-sensitivity समस्याओं को समाप्त करता है जब एड्रेस मौखिक रूप से बताए जाएं, mixed-case fonts में प्रिंट किए जाएं, या QR codes में encode किए जाएं।
बेहतर Error Detection¶
Base58Check errors detect करता है लेकिन बता नहीं सकता कि error कहां है। Bech32 BCH code (Bose-Chaudhuri-Hocquenghem error-correcting code) का उपयोग करता है जो किसी भी single-character error और अधिकांश multi-character substitution errors detect कर सकता है। यह दो errors तक की position identify कर सकता है।
छोटे QR Codes¶
क्योंकि Bech32 restricted character set (32 characters) का उपयोग करता है, इन एड्रेस को represent करने वाले QR codes मापने योग्य रूप से छोटे और स्कैन करने में आसान होते हैं।
Bech32m¶
एक updated version जिसे Bech32m (BIP350) कहते हैं, ने original Bech32 format में last character से संबंधित एक minor weakness को ठीक किया। Modern SegWit v1 एड्रेस (Taproot, bc1p से शुरू) Bech32m का उपयोग करते हैं। अगर आप SafeSeed के Bitcoin Address Generator से Bitcoin एड्रेस generate करते हैं, तो default output modern Bech32/Bech32m format का उपयोग करता है।
Litecoin ने भी अपने SegWit एड्रेस के लिए Bech32 अपनाया, ltc1 prefix के साथ।
0x: EVM Chain एड्रेस¶
Ethereum ने बिल्कुल अलग approach लिया। Ethereum एड्रेस 20-byte values हैं जो 40 hexadecimal characters के रूप में 0x prefix के साथ display होते हैं:
0x742d35Cc6634C0532925a3b844Bc9e7595f2bD08
hex format straightforward है: हर byte दो hex characters (0-9, a-f) में map होता है। यह एड्रेस को underlying data का direct representation बनाता है बिना किसी special encoding के।
EIP-55 Mixed-Case Checksum¶
Original Ethereum एड्रेस format में कोई built-in checksum नहीं था। अगर आप एक character गलत टाइप करते, तो एड्रेस फिर भी technically valid था, और आपके फंड्स खो जाते। EIP-55 ने hex letters के capitalization को checksum के रूप में उपयोग करके इसे हल किया। एड्रेस को Keccak-256 से hash किया जाता है, और अगर hash में corresponding nibble 8 से अधिक है तो हर letter capitalize किया जाता है।
यही कारण है कि आप Ethereum एड्रेस में seemingly random capitalization देखते हैं। upper और lowercase letters का मिश्रण arbitrary नहीं है; यह एक checksum है।
सभी EVM Chains पर साझा¶
0x format का सबसे महत्वपूर्ण पहलू यह है कि यह सभी EVM-compatible chains पर समान है:
- Ethereum --
0x... - BNB Chain --
0x... - Polygon --
0x... - Arbitrum --
0x... - Optimism --
0x... - Base --
0x... - Avalanche C-Chain --
0x...
एक ही private key इन सभी chains पर एक ही एड्रेस produce करता है। यह सुविधा और भ्रम दोनों का स्रोत है: सही एड्रेस पर गलत chain पर tokens भेजना एक आम गलती है। EVM एड्रेस security पर गहरी नज़र के लिए, हमारी EVM Address Security गाइड देखें।
आप SafeSeed के Ethereum Address Validator से किसी भी EVM एड्रेस को validate कर सकते हैं, उसके EIP-55 checksum सहित।
Solana, XRP, और TRON में Base58¶
कई modern blockchains Base58 encoding का उपयोग करते हैं लेकिन Check suffix के बिना, जिसका मतलब है कि वे अपने खुद के checksum या validation mechanisms implement करते हैं।
Solana¶
Solana एड्रेस Base58-encoded Ed25519 public keys हैं, आमतौर पर 32 से 44 characters लंबे:
7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV
Solana Bitcoin जैसे ही Base58 alphabet का उपयोग करता है लेकिन version byte या SHA-256 checksum append नहीं करता। इसके बजाय, एड्रेस बस raw public key का Base58 encoding है। Validation Ed25519 curve पर key के valid point होने पर निर्भर करता है। SafeSeed का Solana Address Validator यह verification संभालता है।
XRP¶
XRP अपने version prefix के साथ Base58Check encoding का उपयोग करता है, r से शुरू होने वाले एड्रेस produce करता है:
rN7n3473SaZBCG4dFL83w7p1W9cgZw6p1N
TRON¶
TRON एड्रेस 0x41 version byte के साथ Base58Check का उपयोग करते हैं, T से शुरू होने वाले एड्रेस produce करते हैं:
TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW
दिलचस्प बात यह है कि TRON Ethereum और Bitcoin जैसे ही secp256k1 elliptic curve का उपयोग करता है। TRON एड्रेस Ethereum एड्रेस जैसे ही key material से derived होता है लेकिन अलग तरीके से encoded होता है।
Checksums: आपका सुरक्षा जाल¶
checksum एड्रेस payload से derived डेटा का एक छोटा टुकड़ा है जो software को errors detect करने देता है। इसे mathematical fingerprint समझें: अगर एक भी character बदलता है, तो fingerprint match नहीं करेगा।
यहां बताया गया है कि checksum mechanisms प्रमुख formats में कैसे compare करते हैं:
| Format | Checksum Method | Detection Capability |
|---|---|---|
| Base58Check | Double SHA-256 (4 bytes) | वस्तुतः सभी errors detect करता है |
| Bech32 | BCH code (6 characters) | सभी single-character errors detect करता है; 2 errors तक locate करता है |
| EIP-55 (0x) | Keccak-256 capitalization | single-character changes के लिए ~99.98% error detection |
| Solana Base58 | Ed25519 curve validation | invalid curve points reject करता है |
checksum हर प्रकार की गलती से सुरक्षा नहीं करता। अगर malware आपके पूरे clipboard को एक अलग valid एड्रेस से बदल देता है (clipboard hijacking attack), तो checksum फिर भी pass होगा क्योंकि attacker का एड्रेस स्वयं valid है। checksums accidental typos और transmission errors से सुरक्षा करते हैं, जानबूझकर की गई धोखाधड़ी से नहीं।
typos से परे खतरों की व्यापक नज़र के लिए, Common Crypto Scams Involving Seed Phrases देखें।
भेजने से पहले एड्रेस Validate करना¶
हर क्रिप्टोकरेंसी transaction एड्रेस validation से शुरू होनी चाहिए। इसका मतलब पहले कुछ characters पर नज़र डालने से ज्यादा है। proper validation में शामिल है:
1. Format verification¶
confirm करें कि एड्रेस उस blockchain के expected format से match करता है जिसका आप उपयोग कर रहे हैं। bc1 एड्रेस केवल Bitcoin पर उपयोग होना चाहिए। 0x एड्रेस कई EVM chains पर valid हो सकता है, इसलिए double-check करें कि आप किस network का उपयोग करना चाहते हैं।
2. Checksum verification¶
एड्रेस को एक validator के माध्यम से चलाएं जो built-in checksum जांचता है। SafeSeed सबसे आम chains के लिए free validators प्रदान करता है:
सभी validation पूरी तरह से आपके browser में client-side code का उपयोग करके चलता है। कोई एड्रेस डेटा किसी server को transmit नहीं होता।
3. Visual confirmation¶
automated validation के बाद भी, एड्रेस के पहले और आखिरी कई characters को visually confirm करें। Clipboard hijacking malware कभी-कभी एड्रेस को attacker-controlled एड्रेस से बदल देता है जो पहले कुछ characters साझा करते हैं।
4. छोटा test transaction¶
बड़े transfers के लिए, पहले एक छोटी राशि भेजें और पूरी balance भेजने से पहले receipt confirm करें। minor transaction fee certainty के लिए एक छोटी कीमत है।
5. Address book features का उपयोग करें¶
अधिकांश wallets आपको validated एड्रेस save करने देते हैं। एक बार एड्रेस confirm हो जाने पर, इसे save करें ताकि दोबारा enter करने (और error की नई संभावनाएं पैदा करने) से बचा जा सके।
validation process की विस्तृत walkthrough के लिए, How to Validate a Crypto Address देखें।
सही Format चुनना¶
अगर आप नए एड्रेस generate कर रहे हैं, तो modern formats लगभग हमेशा preferred हैं:
- Bitcoin: कम fees और बेहतर error detection के लिए Bech32 (
bc1) एड्रेस का उपयोग करें। Legacy Base58Check एड्रेस अभी भी काम करते हैं लेकिन बड़े transaction sizes के कारण transaction fees अधिक होती हैं। - Ethereum और EVM chains: हमेशा EIP-55 checksummed एड्रेस का उपयोग करें। अधिकांश modern tools ये default रूप से produce करते हैं।
- Solana: Base58 एकमात्र विकल्प है, और यह अच्छा काम करता है।
SafeSeed के साथ एड्रेस generate करते समय, tools हर blockchain के लिए सबसे current और secure format default करते हैं। चाहे आप Bitcoin Seed Phrase Generator या Ethereum Address Generator का उपयोग करें, derived एड्रेस उस chain के लिए recommended encoding का उपयोग करेंगे।
इन formats को समझना क्रिप्टोकरेंसी एड्रेस से रहस्य हटा देता है। वे random strings नहीं हैं -- वे cryptographic keys के सावधानीपूर्वक engineered representations हैं, जिनमें built-in safety mechanisms हैं जो आपके फंड्स को साधारण मानवीय भूल से बचाने के लिए designed हैं।