---
title: "ब्लॉकचेन डेटा स्टोरेज धोरणे"
description: "ब्लॉकचेन वापरून डेटा संचयित करण्याचे अनेक मार्ग आहेत. हा लेख विविध धोरणे, त्यांचा खर्च आणि तडजोडी, तसेच ते सुरक्षितपणे वापरण्यासाठीच्या आवश्यकतांची तुलना करेल."
lang: mr
---

माहिती थेट ब्लॉकचेनवर किंवा ब्लॉकचेनद्वारे सुरक्षित केलेल्या पद्धतीने संचयित करण्याचे अनेक मार्ग आहेत:

- EIP-4844 ब्लॉब्स
- कॉल डेटा
- स्तर १ (l1) यंत्रणांसह साखळीबाह्य
- कॉन्ट्रॅक्ट "कोड"
- घटना
- EVM स्टोरेज

कोणती पद्धत वापरायची याची निवड अनेक निकषांवर आधारित आहे:

- माहितीचा स्रोत. कॉल डेटामधील माहिती थेट ब्लॉकचेनवरून येऊ शकत नाही.
- माहितीचे गंतव्यस्थान. कॉल डेटा केवळ त्या व्यवहारामध्ये उपलब्ध असतो ज्यामध्ये त्याचा समावेश असतो. घटना ऑनचेन अजिबात प्रवेशयोग्य नसतात.
- किती त्रास स्वीकार्य आहे? पूर्ण-प्रमाणातील नोड चालवणारे संगणक ब्राउझरमध्ये चालणाऱ्या ॲप्लिकेशनमधील लाइट क्लायंटपेक्षा अधिक प्रक्रिया करू शकतात.
- प्रत्येक नोडवरून माहिती सहज उपलब्ध करून देणे आवश्यक आहे का?
- सुरक्षिततेच्या आवश्यकता.

## सुरक्षिततेच्या आवश्यकता {#security-requirements}

साधारणपणे, माहिती सुरक्षिततेमध्ये तीन गुणधर्म असतात:

- _गोपनीयता_, अनधिकृत संस्थांना माहिती वाचण्याची परवानगी नाही. हे बऱ्याच प्रकरणांमध्ये महत्त्वाचे आहे, परंतु येथे नाही. _ब्लॉकचेनवर कोणतीही गुपिते नसतात_. ब्लॉकचेन कार्य करतात कारण कोणीही स्थिती संक्रमणांची पडताळणी करू शकतो, त्यामुळे गुपिते थेट संचयित करण्यासाठी त्यांचा वापर करणे अशक्य आहे. ब्लॉकचेनवर गोपनीय माहिती संचयित करण्याचे मार्ग आहेत, परंतु ते सर्व किमान एक की संचयित करण्यासाठी काही साखळीबाह्य घटकावर अवलंबून असतात.

- _अखंडता_, माहिती अचूक आहे, ती अनधिकृत संस्थांद्वारे किंवा अनधिकृत मार्गांनी बदलली जाऊ शकत नाही (उदाहरणार्थ, `Transfer` घटना नसताना [ERC-20 टोकन्स](https://eips.ethereum.org/EIPS/eip-20#events) हस्तांतरित करणे). ब्लॉकचेनवर, प्रत्येक नोड प्रत्येक स्थिती बदलाची पडताळणी करतो, ज्यामुळे अखंडता सुनिश्चित होते.

- _उपलब्धता_, माहिती कोणत्याही अधिकृत संस्थेला उपलब्ध असते. ब्लॉकचेनवर, हे सहसा प्रत्येक [पूर्ण नोड](https://ethereum.org/developers/docs/nodes-and-clients/#full-node) वर माहिती उपलब्ध करून साध्य केले जाते.

येथील विविध उपायांमध्ये उत्कृष्ट अखंडता आहे, कारण हॅश स्तर १ (l1) वर पोस्ट केले जातात. तथापि, त्यांच्याकडे उपलब्धतेची भिन्न हमी असते.

## पूर्व शर्ती {#prerequisites}

तुम्हाला [ब्लॉकचेनच्या मूलभूत गोष्टींची](/developers/docs/intro-to-ethereum/) चांगली समज असली पाहिजे. हे पृष्ठ असेही गृहीत धरते की वाचकाला [ब्लॉक्स](/developers/docs/blocks/), [व्यवहार](/developers/docs/transactions/) आणि इतर संबंधित विषयांची माहिती आहे.

## EIP-4844 ब्लॉब्स {#eip-4844-blobs}

[डेन्कन् हार्डफोर्कपासून](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/beacon-chain.md) इथेरियम ब्लॉकचेनमध्ये [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) समाविष्ट आहे, जे इथेरियममध्ये मर्यादित जीवनकाळ (सुरुवातीला सुमारे [18 दिवस](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/p2p-interface.md#configuration)) असलेले डेटा ब्लॉब्स जोडते. या ब्लॉब्सची किंमत [एक्झिक्यूशन गॅसपेक्षा](/developers/docs/gas) वेगळी ठरवली जाते, जरी ते समान यंत्रणा वापरत असले तरी. तात्पुरता डेटा पोस्ट करण्याचा हा एक स्वस्त मार्ग आहे.

EIP-4844 ब्लॉब्सचा मुख्य उपयोग रोलअप्ससाठी त्यांचे व्यवहार प्रकाशित करण्यासाठी होतो. [ऑप्टिमिस्टिक रोलअप्सना](/developers/docs/scaling/optimistic-rollups) त्यांच्या ब्लॉकचेनवर व्यवहार प्रकाशित करणे आवश्यक असते. जर रोलअपचा [सिक्वेन्सर](https://docs.optimism.io/connect/resources/glossary#sequencer) चुकीचे स्थिती मूळ (state root) पोस्ट करत असेल, तर [पडताळणीकर्त्यांना](https://docs.optimism.io/connect/resources/glossary#validator) चूक सुधारण्यास सक्षम करण्यासाठी ते व्यवहार [आव्हान कालावधीत](https://docs.optimism.io/connect/resources/glossary#challenge-period) कोणालाही उपलब्ध असणे आवश्यक आहे.

तथापि, एकदा आव्हान कालावधी संपला आणि स्थिती मूळ अंतिम झालेले (finalized) की, हे व्यवहार जाणून घेण्याचा उर्वरित उद्देश चेनची सद्य स्थिती प्रतिकृत करणे हा असतो. ही स्थिती चेन नोड्सवरून देखील उपलब्ध असते, ज्यासाठी खूप कमी प्रक्रियेची आवश्यकता असते. त्यामुळे व्यवहाराची माहिती अजूनही काही ठिकाणी जतन केली जावी, जसे की [ब्लॉक एक्सप्लोरर्स](/developers/docs/data-and-analytics/block-explorers), परंतु इथेरियम प्रदान करत असलेल्या सेन्सॉरशिप प्रतिकाराच्या पातळीसाठी पैसे देण्याची आवश्यकता नाही.

[झिरो-नॉलेज रोलअप्स](/developers/docs/scaling/zk-rollups/#data-availability) देखील इतर नोड्सना विद्यमान स्थिती प्रतिकृत करण्यासाठी आणि वैधता पुराव्यांची पडताळणी करण्यासाठी सक्षम करण्यासाठी त्यांचा व्यवहार डेटा पोस्ट करतात, परंतु पुन्हा ती एक अल्पकालीन आवश्यकता आहे.

लेखनाच्या वेळी EIP-4844 वर पोस्ट करण्यासाठी प्रति बाइट एक Wei (10<sup>-18</sup> ETH) खर्च येतो, जो [कोणत्याही व्यवहाराला (ज्यामध्ये ब्लॉब्स पोस्ट करणाऱ्या व्यवहाराचाही समावेश आहे) लागणाऱ्या 21,000 एक्झिक्यूशन गॅसच्या](https://eth.blockscout.com/tx/0xf6cfaf0431c73dd1d96369a5e6707d64f463ccf477a4131265397f1d81466929?tab=index) तुलनेत नगण्य आहे. तुम्ही [blobscan.com](https://blobscan.com/blocks) वर सध्याची EIP-4844 किंमत पाहू शकता.

काही प्रसिद्ध रोलअप्सद्वारे पोस्ट केलेले ब्लॉब्स पाहण्यासाठी येथे पत्ते दिले आहेत.

| रोलअप                               | मेलबॉक्स पत्ता                                                                                                         |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| [ऑप्टिमिझम्](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://blobscan.com/address/0xFF00000000000000000000000000000000000010) |
| [आर्बिट्रम्](https://arbitrum.io/)     | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://blobscan.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
| [Base](https://base.org/)            | [`0xFF00000000000000000000000000000000008453`](https://blobscan.com/address/0xFF00000000000000000000000000000000008453) |

## कॉल डेटा {#calldata}

कॉल डेटा म्हणजे व्यवहाराचा भाग म्हणून पाठवलेले बाइट्स. तो ब्लॉकचेनच्या कायमस्वरूपी रेकॉर्डचा भाग म्हणून त्या ब्लॉकमध्ये संचयित केला जातो ज्यामध्ये त्या व्यवहाराचा समावेश असतो.

ब्लॉकचेनमध्ये कायमस्वरूपी डेटा टाकण्याची ही सर्वात स्वस्त पद्धत आहे. प्रति बाइट खर्च एकतर 4 एक्झिक्यूशन गॅस (जर बाइट शून्य असेल) किंवा 16 गॅस (इतर कोणतेही मूल्य) असतो. जर डेटा संकुचित (compressed) केलेला असेल, जी एक मानक पद्धत आहे, तर प्रत्येक बाइट मूल्याची शक्यता समान असते, त्यामुळे सरासरी खर्च प्रति बाइट अंदाजे 15.95 गॅस असतो.

लेखनाच्या वेळी, किमती 12 Gwei/गॅस आणि 2300 $/ETH आहेत, ज्याचा अर्थ खर्च अंदाजे 45 सेंट प्रति किलोबाइट आहे. कारण EIP-4844 पूर्वी ही सर्वात स्वस्त पद्धत होती, रोलअप्सनी व्यवहाराची माहिती संचयित करण्यासाठी हीच पद्धत वापरली, जी [दोष आव्हानांसाठी (fault challenges)](https://docs.optimism.io/stack/protocol/overview#fault-proofs) उपलब्ध असणे आवश्यक आहे, परंतु थेट ऑनचेन प्रवेशयोग्य असण्याची आवश्यकता नाही.

काही प्रसिद्ध रोलअप्सद्वारे पोस्ट केलेले व्यवहार पाहण्यासाठी येथे पत्ते दिले आहेत.

| रोलअप                               | मेलबॉक्स पत्ता                                                                                                               |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| [ऑप्टिमिझम्](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000000010) |
| [आर्बिट्रम्](https://arbitrum.io/)     | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://eth.blockscout.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) |
| [Base](https://base.org/)            | [`0xFF00000000000000000000000000000000008453`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000008453) |

## स्तर १ (l1) यंत्रणांसह साखळीबाह्य {#offchain-with-l1-mechs}

तुमच्या सुरक्षिततेच्या तडजोडींवर अवलंबून, माहिती इतरत्र ठेवणे आणि आवश्यक असेल तेव्हा डेटा उपलब्ध असल्याची खात्री करणारी यंत्रणा वापरणे स्वीकार्य असू शकते. हे कार्य करण्यासाठी दोन आवश्यकता आहेत:

1. ब्लॉकचेनवर डेटाचा [हॅश](https://en.wikipedia.org/wiki/Cryptographic_hash_function) पोस्ट करा, ज्याला _इनपुट बांधिलकी (input commitment)_ म्हणतात. हा एकच 32-बाइट शब्द असू शकतो, त्यामुळे तो महाग नाही. जोपर्यंत इनपुट बांधिलकी उपलब्ध आहे, तोपर्यंत अखंडतेची खात्री असते कारण समान मूल्यावर हॅश होईल असा कोणताही दुसरा डेटा शोधणे शक्य नाही. त्यामुळे जर चुकीचा डेटा प्रदान केला गेला, तर तो शोधला जाऊ शकतो.

2. उपलब्धता सुनिश्चित करणारी यंत्रणा असणे. उदाहरणार्थ, [Redstone](https://redstone.xyz/docs/what-is-redstone) मध्ये कोणताही नोड उपलब्धता आव्हान सबमिट करू शकतो. जर सिक्वेन्सरने अंतिम मुदतीपर्यंत ऑनचेन प्रतिसाद दिला नाही, तर इनपुट बांधिलकी टाकून दिली जाते, त्यामुळे माहिती कधीही पोस्ट केली गेली नाही असे मानले जाते.

हे ऑप्टिमिस्टिक रोलअपसाठी स्वीकार्य आहे कारण आपण आधीच स्थिती मुळासाठी किमान एक प्रामाणिक पडताळणीकर्ता असण्यावर अवलंबून आहोत. असा प्रामाणिक पडताळणीकर्ता ब्लॉक्सवर प्रक्रिया करण्यासाठी त्याच्याकडे डेटा असल्याची खात्री देखील करेल आणि जर माहिती साखळीबाह्य उपलब्ध नसेल तर उपलब्धता आव्हान जारी करेल. या प्रकारच्या ऑप्टिमिस्टिक रोलअपला [प्लाझ्मा](/developers/docs/scaling/plasma/) म्हणतात.

## कॉन्ट्रॅक्ट कोड {#contract-code}

जी माहिती फक्त एकदाच लिहिणे आवश्यक आहे, कधीही ओव्हरराइट केली जात नाही आणि ऑनचेन उपलब्ध असणे आवश्यक आहे ती कॉन्ट्रॅक्ट कोड म्हणून संचयित केली जाऊ शकते. याचा अर्थ असा की आपण डेटासह एक "स्मार्ट कॉन्ट्रॅक्ट" तयार करतो आणि नंतर माहिती वाचण्यासाठी [`EXTCODECOPY`](https://www.evm.codes/#3c?fork=shanghai) वापरतो. याचा फायदा असा आहे की कोड कॉपी करणे तुलनेने स्वस्त आहे.

मेमरी विस्ताराच्या खर्चाव्यतिरिक्त, `EXTCODECOPY` ला कॉन्ट्रॅक्टच्या पहिल्या प्रवेशासाठी (जेव्हा ते "कोल्ड" असते) 2600 गॅस आणि त्याच कॉन्ट्रॅक्टमधून त्यानंतरच्या प्रतींसाठी 100 गॅस अधिक प्रति 32 बाइट शब्दासाठी 3 गॅस खर्च येतो. कॉल डेटाच्या तुलनेत, ज्याचा खर्च प्रति बाइट 15.95 आहे, हे सुमारे 200 बाइट्सपासून स्वस्त आहे. [मेमरी विस्तार खर्चाच्या सूत्रानुसार](https://www.evm.codes/about#memoryexpansion), जोपर्यंत तुम्हाला 4MB पेक्षा जास्त मेमरीची आवश्यकता नाही, तोपर्यंत मेमरी विस्ताराचा खर्च कॉल डेटा जोडण्याच्या खर्चापेक्षा कमी असतो.

अर्थात, हा फक्त डेटा _वाचण्याचा_ खर्च आहे. कॉन्ट्रॅक्ट तयार करण्यासाठी अंदाजे 32,000 गॅस + 200 गॅस/बाइट खर्च येतो. ही पद्धत तेव्हाच किफायतशीर असते जेव्हा तीच माहिती वेगवेगळ्या व्यवहारांमध्ये अनेक वेळा वाचण्याची आवश्यकता असते.

कॉन्ट्रॅक्ट कोड निरर्थक असू शकतो, जोपर्यंत तो `0xEF` ने सुरू होत नाही. `0xEF` ने सुरू होणाऱ्या कॉन्ट्रॅक्ट्सचा अर्थ [इथेरियम ऑब्जेक्ट फॉरमॅट](https://notes.ethereum.org/@ipsilon/evm-object-format-overview) म्हणून लावला जातो, ज्याच्या आवश्यकता खूप कठोर आहेत.

## घटना {#events}

स्मार्ट कॉन्ट्रॅक्ट्सद्वारे [घटना](https://docs.alchemy.com/docs/solidity-events) उत्सर्जित केल्या जातात आणि साखळीबाह्य सॉफ्टवेअरद्वारे वाचल्या जातात.
त्यांचा फायदा असा आहे की साखळीबाह्य कोड घटना ऐकू शकतो. याचा खर्च [गॅस](https://www.evm.codes/#a0?fork=cancun) आहे, 375 अधिक डेटाच्या प्रति बाइट 8 गॅस. 12 Gwei/गॅस आणि 2300 $/ETH वर, हे एक सेंट अधिक 22 सेंट प्रति किलोबाइटमध्ये रूपांतरित होते.

## स्टोरेज {#storage}

स्मार्ट कॉन्ट्रॅक्ट्सना [कायमस्वरूपी स्टोरेजमध्ये](https://docs.alchemy.com/docs/smart-contract-storage-layout#what-is-storage-memory) प्रवेश असतो. तथापि, ते खूप महाग आहे. पूर्वी रिकाम्या असलेल्या स्टोरेज स्लॉटमध्ये 32 बाइट शब्द लिहिण्यासाठी [22,100 गॅस खर्च येऊ शकतो](https://www.evm.codes/#55?fork=cancun). 12 Gwei/गॅस आणि 2300 $/ETH वर, हे प्रति लेखन क्रियेसाठी सुमारे 61 सेंट किंवा $19.5 प्रति किलोबाइट आहे.

इथेरियममधील हे स्टोरेजचे सर्वात महागडे स्वरूप आहे.

## सारांश {#summary}

हा तक्ता विविध पर्याय, त्यांचे फायदे आणि तोटे यांचा सारांश देतो.

| स्टोरेज प्रकार                | डेटाचा स्रोत      | उपलब्धतेची हमी                                                                                                             | ऑनचेन उपलब्धता                                             | अतिरिक्त मर्यादा                                                  |
| --------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------- |
| EIP-4844 ब्लॉब्स              | साखळीबाह्य            | [\~18 दिवसांसाठी](https://github.com/ethereum/consensus-specs/blob/master/specs/deneb/p2p-interface.md#configuration) इथेरियमची हमी | फक्त हॅश उपलब्ध आहे                                           |                                                                         |
| कॉल डेटा                    | साखळीबाह्य            | इथेरियमची कायमस्वरूपी हमी (ब्लॉकचेनचा भाग)                                                                                | केवळ कॉन्ट्रॅक्टमध्ये लिहिल्यास आणि त्या व्यवहारावर उपलब्ध |
| स्तर १ (l1) यंत्रणांसह साखळीबाह्य | साखळीबाह्य            | आव्हान कालावधीत "एक प्रामाणिक पडताळणीकर्ता" हमी                                                                        | फक्त हॅश                                                        | आव्हान यंत्रणेद्वारे हमी, केवळ आव्हान कालावधीत |
| कॉन्ट्रॅक्ट कोड               | ऑनचेन किंवा साखळीबाह्य | इथेरियमची कायमस्वरूपी हमी (ब्लॉकचेनचा भाग)                                                                                | होय                                                              | "यादृच्छिक (random)" पत्त्यावर लिहिलेले, `0xEF` ने सुरू होऊ शकत नाही                 |
| घटना                      | ऑनचेन             | इथेरियमची कायमस्वरूपी हमी (ब्लॉकचेनचा भाग)                                                                                | नाही                                                               |
| स्टोरेज                     | ऑनचेन             | इथेरियमची कायमस्वरूपी हमी (ब्लॉकचेनचा भाग आणि ओव्हरराइट होईपर्यंत सद्य स्थिती)                                        | होय                                                              |