स्मार्ट अनुबंध सुरक्षा मानसिकता

ब्लॉग 1NewsDevelopersEnterpriseBlockchain समझाया और सम्मेलनसमाचार

Contents

हमारे न्यूज़लेटर की सदस्यता लें.

ईमेल पता

हम आपकी निजता का सम्मान करते हैं

HomeBlogBlockchain विकास

स्मार्ट अनुबंध सुरक्षा मानसिकता

5 सुरक्षा सिद्धांत जिन्हें प्रत्येक Ethereum डेवलपर को जानना होता है, साथ ही साथ बुनियादी व्यापार। ConsenSysJune 17, 2020 द्वारा 17 जून, 2020 को पोस्ट किया गया

ब्लॉकचेन सुरक्षा

ConsenSys Diligence द्वारा, ब्लॉकचेन सुरक्षा विशेषज्ञों की हमारी टीम.

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

स्मार्ट कॉन्ट्रैक्ट प्रोग्रामिंग के लिए एक अलग इंजीनियरिंग मानसिकता की आवश्यकता होती है, जिसका आप उपयोग कर सकते हैं। विफलता की लागत अधिक हो सकती है, और परिवर्तन मुश्किल हो सकता है, इसे कुछ तरीकों से हार्डवेयर प्रोग्रामिंग या वेब या मोबाइल विकास की तुलना में वित्तीय सेवाओं की प्रोग्रामिंग के समान बना सकता है। इसलिए ज्ञात कमजोरियों से बचाव करना पर्याप्त नहीं है। इसके बजाय, आपको विकास के एक नए दर्शन को सीखने की आवश्यकता होगी.

असफलता के लिए तैयार रहें

किसी भी गैर-तुच्छ अनुबंध में त्रुटियां होंगी। इसलिए, आपके कोड को बगों और कमजोरियों का जवाब देने में सक्षम होना चाहिए.

  • अनुबंध को रोकें जब चीजें गलत हो रही हों (“सर्किट ब्रेकर”).
  • जोखिम पर धन की मात्रा प्रबंधित करें (दर सीमित, अधिकतम उपयोग).
  • बग फिक्स और सुधार के लिए एक प्रभावी उन्नयन पथ है.

रोलआउट सावधानी से

पूर्ण उत्पादन रिलीज़ से पहले बग को पकड़ना हमेशा बेहतर होता है.

  • जब भी नए अटैक वैक्टर की खोज की जाती है, तब अच्छी तरह से टेस्ट करें और टेस्ट जोड़ें.
  • प्रदान करें बग इनाम अल्फा टेस्टनेट रिलीज से शुरू.
  • प्रत्येक चरण में बढ़ते उपयोग और परीक्षण के साथ, चरणों में रोलआउट.

अनुबंध सरल रखें

जटिलता त्रुटियों की संभावना को बढ़ाती है.


  • सुनिश्चित करें कि अनुबंध तर्क सरल है.
  • अनुबंध और कार्यों को छोटा रखने के लिए कोड को संशोधित करें.
  • पहले से ही लिखित उपकरण या कोड का उपयोग करें जहाँ संभव हो (उदाहरण के लिए, अपना रैंडम नंबर जनरेटर रोल न करें).
  • जब भी संभव हो प्रदर्शन को स्पष्टता दें.
  • केवल अपने सिस्टम के उन हिस्सों के लिए ब्लॉकचेन का उपयोग करें, जिनके लिए विकेंद्रीकरण की आवश्यकता होती है.

अद्यतन रहना

नए सुरक्षा विकास पर नज़र रखें.

  • जैसे ही यह पता चलता है किसी भी नए बग के लिए अपने अनुबंधों की जांच करें.
  • जितनी जल्दी हो सके किसी भी टूल या लाइब्रेरी के नवीनतम संस्करण में अपग्रेड करें.
  • उपयोगी दिखाई देने वाली नई सुरक्षा तकनीकों को अपनाएं.

ईवीएम की आइडिओसिंक्रोनस से सावधान रहें

जबकि आपका प्रोग्रामिंग अनुभव एथेरेम प्रोग्रामिंग के लिए प्रासंगिक होगा, इसके बारे में जागरूक होने के लिए कुछ नुकसान हैं.

  • बाहरी अनुबंध कॉल के बारे में बेहद सावधान रहें, जो दुर्भावनापूर्ण कोड को निष्पादित कर सकते हैं और नियंत्रण प्रवाह को बदल सकते हैं.
  • समझें कि आपके सार्वजनिक कार्य सार्वजनिक हैं, और दुर्भावनापूर्ण और किसी भी क्रम में कहे जा सकते हैं। स्मार्ट कॉन्ट्रैक्ट में निजी डेटा भी किसी के द्वारा देखा जा सकता है.
  • गैस की लागत और ब्लॉक गैस की सीमा को ध्यान में रखें.
  • ज्ञात हो कि टाइमस्टैम्प एक ब्लॉकचेन पर लागू होते हैं: खनिक लेनदेन के निष्पादन के समय को कई सेकंड के अंतराल में प्रभावित कर सकते हैं.
  • यादृच्छिकता ब्लॉकचेन पर गैर-तुच्छ है, यादृच्छिक संख्या पीढ़ी के अधिकांश दृष्टिकोण ब्लॉकचेन पर मौजूद हैं.

मौलिक व्यापार

स्मार्ट कॉन्ट्रैक्ट सिस्टम की संरचना और सुरक्षा का आकलन करते समय विचार करने के लिए कई मौलिक ट्रेडऑफ़ हैं। किसी भी स्मार्ट कॉन्ट्रैक्ट सिस्टम के लिए सामान्य अनुशंसा इन मूलभूत व्यापार की स्थिति के लिए उचित संतुलन की पहचान करना है.

एक सॉफ्टवेयर इंजीनियरिंग पूर्वाग्रह से एक आदर्श स्मार्ट अनुबंध प्रणाली मॉड्यूलर है, इसे डुप्लिकेट करने के बजाय कोड का पुन: उपयोग करता है, और अपग्रेड करने योग्य घटकों का समर्थन करता है। एक सुरक्षित वास्तुकला पूर्वाग्रह से एक आदर्श स्मार्ट अनुबंध प्रणाली इस मानसिकता को साझा कर सकती है, विशेष रूप से अधिक जटिल स्मार्ट अनुबंध प्रणालियों के मामले में.

हालांकि, ऐसे महत्वपूर्ण अपवाद हैं जहां सुरक्षा और सॉफ्टवेयर इंजीनियरिंग सर्वोत्तम प्रथाओं को संरेखित नहीं किया जा सकता है। प्रत्येक मामले में, अनुबंध प्रणाली के आयामों जैसे गुणों के इष्टतम मिश्रण की पहचान करके उचित संतुलन प्राप्त किया जाता है:

  • कठोर बनाम अपग्रेड करने योग्य
  • अखंड बनाम मॉड्यूलर
  • दोहराव बनाम पुन: उपयोग
कठोर बनाम अपग्रेड करने योग्य

जबकि इस एक सहित कई संसाधन, हत्या योग्य, उन्नतिशील, या परिवर्तनीय पैटर्न जैसे मॉलबिलिटी विशेषताओं पर जोर देते हैं, मॉलबिलिटी और सुरक्षा के बीच एक बुनियादी व्यापार है.

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

अखंड बनाम मॉड्यूलर

एक अखंड स्व-निहित अनुबंध सभी ज्ञान को स्थानीय रूप से पहचान योग्य और पठनीय रखता है। हालांकि कुछ स्मार्ट कॉन्ट्रैक्ट सिस्टम हैं जो उच्च संबंध में हैं जो मोनोलिथ के रूप में मौजूद हैं, डेटा और प्रवाह के चरम इलाके के लिए एक तर्क दिया जा रहा है – उदाहरण के लिए, कोड समीक्षा दक्षता के अनुकूलन के मामले में.

जैसा कि यहां माना जाता है, अन्य ट्रेडऑफ़्स के साथ, सिक्योरिटी बेस्ट प्रैक्टिस का चलन सॉफ्टवेयर इंजीनियरिंग की सर्वोत्तम प्रथाओं से होता है, जो साधारण अल्पकालिक अनुबंधों में होता है और सॉफ़्टवेयर इंजीनियरिंग सर्वोत्तम प्रथाओं की ओर अधिक जटिल स्थायी अनुबंध प्रणालियों के मामले में होता है।.

दोहराव बनाम पुन: उपयोग

एक सॉफ्टवेयर इंजीनियरिंग के नजरिए से एक स्मार्ट कॉन्ट्रैक्ट सिस्टम, जहां पुन: उपयोग को अधिकतम करने की इच्छा रखता है। सॉलिडिटी में कॉन्ट्रैक्ट कोड का पुन: उपयोग करने के कई तरीके हैं। पहले से तैनात अनुबंधों का उपयोग करना, जो आपके पास आमतौर पर कोड पुन: उपयोग को प्राप्त करने का सबसे सुरक्षित तरीका है.

दोहराव अक्सर उन मामलों पर निर्भर करता है जहां स्व-स्वामित्व वाले पहले से तैनात अनुबंध उपलब्ध नहीं हैं। जैसे प्रयास OpenZeppelin की सॉलिडिटी लाइब्रेरी ऐसे पैटर्न प्रदान करना चाहते हैं कि सुरक्षित कोड का उपयोग बिना दोहराव के फिर से किया जा सके। किसी भी अनुबंध सुरक्षा विश्लेषण में किसी भी पुन: उपयोग किए गए कोड को शामिल करना चाहिए जो पहले लक्ष्य स्मार्ट कॉन्ट्रैक्ट सिस्टम में जोखिम में धन के साथ विश्वास के स्तर को स्थापित नहीं किया है.

Ethereum पर एप्लिकेशन बनाना और लॉन्च करना यकीनन आज सॉफ्टवेयर इंजीनियरों के लिए सबसे रोमांचक फ्रंटियर है, लेकिन इसके लिए निरंतर धमकी मॉडलिंग, सुरक्षा ऑडिटिंग और घटना प्रतिक्रिया योजना की आवश्यकता होती है।.

परिश्रम की टीम आपको सतर्क रहने और अपनी तैनाती में विश्वास बनाने में मदद करने के लिए यहां है.

ब्लॉकचैन सिक्योरिटी स्पॉट चेक बुक करें

हमारी 1-दिवसीय समीक्षा आपको अपने ब्लॉकचेन कोड में शुरू से ही सुरक्षा बनाने में मदद करती है ताकि आप लंबे समय में समय और पैसा बचा सकें। आपकी आज की बुक बुक करें SecuritySmart ठेके के लिए नवीनतम न्यूज़रेम समाचार, उद्यम समाधान, डेवलपर संसाधन, और अधिक के लिए हमारे न्यूज़लेटर के लिए सदस्यता लें।कैसे एक सफल ब्लॉकचेन उत्पाद बनाने के लिएवेबिनार

कैसे एक सफल ब्लॉकचेन उत्पाद बनाने के लिए

कैसे सेट अप करें और एक Ethereum नोड चलाएंवेबिनार

कैसे सेट अप करें और एक Ethereum नोड चलाएं

अपनी खुद की Ethereum API कैसे बनायेवेबिनार

अपनी खुद की Ethereum API कैसे बनाये

सोशल टोकन कैसे बनाएंवेबिनार

सोशल टोकन कैसे बनाएं

स्मार्ट अनुबंध विकास में सुरक्षा उपकरणों का उपयोग करनावेबिनार

स्मार्ट अनुबंध विकास में सुरक्षा उपकरणों का उपयोग करना

फ्यूचर ऑफ़ फ़ाइनेंस डिजिटल एसेट्स एंड डेफीवेबिनार

भविष्य का वित्त: डिजिटल एसेट्स और डीआईएफआई

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map