നേട്ടങ്ങൾ:
- തെളിയിക്കപ്പെട്ട ലൈബ്രറികൾ (ഉദാ. ഓപ്പൺസെപ്പെലിൻ) അടിസ്ഥാനമാക്കിയുള്ള ചട്ടക്കൂടുകൾ, പരിശോധനകൾ, ഡ്രാഫ്റ്റുകൾ എന്നിവ നിർമ്മിക്കാൻ കൃത്രിമബുദ്ധി ഉപയോഗിക്കാനും മനുഷ്യർ ഉൽപ്പാദന സുരക്ഷ ഉറപ്പുനൽകുന്നുവെന്ന് മനസ്സിലാക്കാനും ഉള്ള കഴിവ്
- കംപൈലേഷൻ, ടെസ്റ്റിംഗ്, ടെസ്റ്റ്നെറ്റ് എന്നിവയിലൂടെ ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ് നിർമ്മിച്ച കോഡ് പതിപ്പ്, പാറ്റേൺ, ആക്സസ് കൺട്രോൾ എന്നിവ പരിശോധിക്കാനുള്ള കഴിവ്
- ആ സമാഹാരം സുരക്ഷിതമായിരിക്കുക എന്നല്ല അർത്ഥമാക്കുന്നത് ടെസ്റ്റ്നെറ്റും ഓഡിറ്റിംഗും അത്യന്താപേക്ഷിതമാണെന്നും വേർതിരിച്ചറിയാൻ കഴിയും.
ഒരു സ്മാർട്ട് കരാർ എഴുതുന്നത് സാധാരണ സോഫ്റ്റ്വെയറിൽ നിന്ന് വ്യത്യസ്തമാണ്: നിങ്ങൾ എഴുതുന്ന കോഡ് പൊതുവായതും മാറ്റമില്ലാത്തതും നേരിട്ട് പണം നീക്കുന്നതുമായ ഒരു പ്രോഗ്രാമാണ്. ഈ യൂണിറ്റിൽ, ഒരു സ്മാർട്ട് കോൺട്രാക്റ്റ് ഡെവലപ്മെൻ്റ് അസിസ്റ്റൻ്റായി AI എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും; ഡ്രാഫ്റ്റ് പ്രൊഡക്ഷൻ മുതൽ ടെസ്റ്റ് റൈറ്റിംഗ് വരെ, പാറ്റേൺ റീകോൾ മുതൽ ഗ്യാസ് (ഇടപാട് ഫീസ്) ഒപ്റ്റിമൈസേഷൻ വരെ ഞങ്ങൾ പഠിക്കും. എന്നാൽ തുടക്കം മുതൽ വ്യക്തമാക്കാം: AI ബ്ലൂപ്രിൻ്റുകൾ നിർമ്മിക്കുന്നു; ഉൽപ്പാദനത്തിലേക്ക് പോകുന്ന സുരക്ഷിത കോഡ് മനുഷ്യർ ഉറപ്പാക്കുന്നു.
അടിസ്ഥാനം: ഭാഷയും പരിസ്ഥിതിയും
ഏറ്റവും സാധാരണമായ സ്മാർട്ട് കരാർ ഭാഷ സോളിഡിറ്റിയാണ് (Ethereum, EVM എന്നിവയുടെ ഭാഷ - Ethereum വെർച്വൽ മെഷീൻ, കരാറുകൾ പ്രവർത്തിക്കുന്ന വെർച്വൽ മെഷീൻ - അനുയോജ്യമായ ശൃംഖലകൾ). ബദൽ വൈപ്പർ ആണ് (കൂടുതൽ നിയന്ത്രിതവും വായിക്കാൻ കഴിയുന്നതുമായ ഒരു പൈത്തൺ പോലെയുള്ള ഭാഷ). നിങ്ങളുടെ കോഡ് ഗ്യാസ് ഉപയോഗിക്കുന്നു (ബ്ലോക്ക്ചെയിനിലേക്കുള്ള ഓരോ ഇടപാടിൻ്റെയും വില); കാര്യക്ഷമമല്ലാത്ത കോഡ് ചെലവേറിയതാണ്. നിങ്ങൾ AI-ക്ക് നൽകുന്ന സന്ദർഭത്തിൽ ഈ നിബന്ധനകൾ വ്യക്തമായി സൂക്ഷിക്കുന്നത് കൃത്യമായ ഔട്ട്പുട്ട് ലഭിക്കുന്നതിന് പ്രധാനമാണ്.
AI ഏറ്റവും മൂല്യവത്തായിരിക്കുന്നത് "സ്ക്രാച്ചിൽ നിന്ന് എഴുതുന്നതിൽ" അല്ല, മറിച്ച് ചട്ടക്കൂട് + നല്ല പൂപ്പൽ നിർമ്മിക്കുന്നതിലാണ്: ഒരു സ്റ്റാൻഡേർഡ് അനുസരിച്ചുള്ള തുടക്കം, നിങ്ങളുടെ വൈദഗ്ദ്ധ്യം ചേർക്കുന്നതിനുള്ള ഒരു ബ്ലൂപ്രിൻ്റ്.
കോഡിംഗിൽ AI ഉപയോഗിക്കുന്ന പാളികൾ
1. അസ്ഥികൂടങ്ങൾ സൃഷ്ടിക്കുന്നു. ഒരു സ്റ്റാൻഡേർഡ് ടോക്കണിൻ്റെ (ERC-20) അല്ലെങ്കിൽ NFT (ERC-721 - ഒരു തനതായ ഡിജിറ്റൽ അസറ്റ് സ്റ്റാൻഡേർഡ്) അസ്ഥികൂടം AI വേഗത്തിൽ ഖനനം ചെയ്യുന്നു. എന്നാൽ AI-യെ ഒരു തെളിയിക്കപ്പെട്ട ലൈബ്രറി ഉപയോഗിക്കുന്നത് ഉറപ്പാക്കുക: ഉദാഹരണത്തിന്, OpenZeppelin (കമ്മ്യൂണിറ്റിയുടെ വിശ്വസനീയമായ, ഓഡിറ്റ് ചെയ്ത സ്റ്റാൻഡേർഡ് കോൺട്രാക്ടിംഗ് ലൈബ്രറി). ആദ്യം മുതൽ സെക്യൂരിറ്റി എഴുതുന്നതിനു പകരം പരീക്ഷിച്ച ബ്ലോക്ക് ഉപയോഗിക്കുക എന്നതാണ് നിയമം.
2. പ്രവർത്തന വിവരണവും അവലോകനവും. AI-ക്ക് നിലവിലുള്ള ഒരു ഫംഗ്ഷൻ വിശദീകരിക്കുന്നത് ലോജിക് പിശകുകൾ നേരത്തേ കണ്ടുപിടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.
3. ടെസ്റ്റ് ജനറേഷൻ. എഡ്ജ് കേസുകൾക്കായി ടെസ്റ്റ് കേസുകൾ സൃഷ്ടിക്കുന്നതിൽ AI മികച്ചതാണ്: സീറോ ഇൻപുട്ട്, വളരെ വലിയ നമ്പർ, അനധികൃത കോളർ, ആവർത്തിച്ചുള്ള കോൾ. ഒരാൾ ഒഴിവാക്കുന്ന സാഹചര്യങ്ങളെ ഇത് ഓർമ്മപ്പെടുത്തുന്നു.
4. ഗ്യാസും വായനയും. അനാവശ്യ സ്റ്റോറേജ് റൈറ്റുകൾ പോലുള്ള വിലയേറിയ പാറ്റേണുകൾ AI ഫ്ലാഗ് ചെയ്യുകയും ഇതരമാർഗങ്ങൾ നിർദ്ദേശിക്കുകയും ചെയ്യുന്നു.
സൂചന: "ഓപ്പൺസെപ്പെലിൻ ഓഡിറ്റ് ചെയ്ത കരാറുകൾ നിർമ്മിക്കുക, ആദ്യം മുതൽ സുരക്ഷ തിരുത്തിയെഴുതുക" എന്ന് AI-ക്ക് നിർദ്ദേശം നൽകുക. പരീക്ഷിച്ച ലൈബ്രറി ഉപയോഗിക്കുന്നതിനേക്കാൾ ഒറിജിനൽ സെക്യൂരിറ്റി കോഡ് എഴുതുന്നത് AI-ക്ക് വളരെ അപകടകരമാണ്.
ദുർബലമായ പ്രോംപ്റ്റ് / ശക്തമായ പ്രോംപ്റ്റ്
ദുർബലമായ പ്രോംപ്റ്റ്:
എനിക്ക് ഒരു ടോക്കൺ കരാർ എഴുതൂ.
ഈ നിർദ്ദേശം അപകടകരമാണ്: ഏത് സ്റ്റാൻഡേർഡ്, ഏത് ചെയിൻ, ഏത് ലൈബ്രറി, ഏത് സുരക്ഷാ ആവശ്യകത എന്നിവ വ്യക്തമല്ല. AI ക്രമരഹിതമായ, ഒരുപക്ഷേ കാലഹരണപ്പെട്ടതോ സുരക്ഷിതമല്ലാത്തതോ ആയ കോഡ് സൃഷ്ടിക്കുന്നു.
ശക്തമായ നിർദ്ദേശം:
നിങ്ങളുടെ റോൾ: സീനിയർ സോളിഡിറ്റി ഡെവലപ്പർ. ഒരു EVM അനുയോജ്യമായ ശൃംഖലയ്ക്കായി ഒരു ERC-20 ടോക്കൺ ഡ്രാഫ്റ്റ് സൃഷ്ടിക്കുക. നിയമങ്ങൾ:- OpenZeppelin-ൻ്റെ ഓഡിറ്റ് ചെയ്ത ERC20, ഉടമസ്ഥതയിലുള്ള കരാറുകൾ എന്നിവയെ അടിസ്ഥാനമാക്കി.- സോളിഡിറ്റി പതിപ്പും ലൈസൻസ് (SPDX) ലൈനും വ്യക്തമായി എഴുതുക.- ഉടമയ്ക്ക് മാത്രമേ മിൻ്റ് ചെയ്യാൻ അനുമതിയുള്ളൂ; അനന്തമായ അമർത്തലിനെതിരെ ഒരു തൊപ്പി ചേർക്കുക. - ഓരോ ഫംഗ്ഷനിലേക്കും NatSpec അഭിപ്രായം ചേർക്കുക. - ആദ്യം മുതൽ സുരക്ഷ എഴുതുക; സാധാരണ ബ്ലോക്ക് ഉപയോഗിക്കുക. - അവസാനം ഒരു മുന്നറിയിപ്പ് ചേർക്കുക: "ഇതൊരു ഡ്രാഫ്റ്റാണ്; ഓഡിറ്റിംഗും പരിശോധനയും ആവശ്യമാണ്". നിങ്ങൾക്ക് ഉറപ്പില്ലാത്ത പ്രദേശങ്ങൾ // TODO ഉപയോഗിച്ച് അടയാളപ്പെടുത്തുക.
വ്യത്യാസം: ശക്തമായ പ്രോംപ്റ്റ് വ്യക്തമായ റോൾ, സ്റ്റാൻഡേർഡ്, ലൈബ്രറി, സുരക്ഷാ അതിർത്തി, ഡോക്യുമെൻ്റേഷൻ, മൂല്യനിർണ്ണയ പ്രതീക്ഷകൾ എന്നിവ നൽകുന്നു.
പകർത്താവുന്ന നാല് ടെംപ്ലേറ്റുകൾ
1) മാനദണ്ഡങ്ങൾ അടിസ്ഥാനമാക്കിയുള്ള അസ്ഥികൂടം:
നിങ്ങളുടെ റോൾ: സോളിഡിറ്റി ഡെവലപ്പർ. ഓപ്പൺസെപ്പെലിൻ ഓഡിറ്റഡ് ലൈബ്രറിയെ അടിസ്ഥാനമാക്കി [ERC-20 / ERC-721 / സ്റ്റാക്കിംഗ്] കരാർ ചട്ടക്കൂട് സൃഷ്ടിക്കുക. SPDX ലൈസൻസും പ്രാഗ്മ പതിപ്പും എഴുതുക. ഓരോ ബാഹ്യ ഫംഗ്ഷനിലേക്കും ആക്സസ് കൺട്രോൾ (ആർക്കൊക്കെ വിളിക്കാം) ചേർക്കുക. സുരക്ഷ പുനർനിർമ്മിക്കുന്നു; സാധാരണ ബ്ലോക്കുകൾ ഉപയോഗിക്കുക. ഇതൊരു ഡ്രാഫ്റ്റാണ്.
2) പ്രവർത്തന അവലോകനം:
ഒരു മുതിർന്ന ഡെവലപ്പറെപ്പോലെ ഇനിപ്പറയുന്ന ഫംഗ്ഷൻ പരിശോധിക്കുക: ഇത് എന്താണ് ചെയ്യുന്നത്, ഏത് അവസ്ഥയിലാണ് ഇത് മാറുന്നത്, ആർക്കാണ് ഇതിനെ വിളിക്കാൻ കഴിയുക? സാധ്യമായ ലോജിക് പിശകുകളും സുരക്ഷാ അപകടസാധ്യതകളും ഹൈപ്പോഥെസിസായി അടയാളപ്പെടുത്തുക, ഓരോന്നും കോഡിലെ ഒരു വരിയിലേക്ക് ലിങ്കുചെയ്യുക. "സുരക്ഷിതം" എന്ന് പൂർണ്ണമായും പറയരുത്; ശ്രദ്ധാകേന്ദ്രങ്ങൾ പട്ടികപ്പെടുത്തുക.
3) ടെസ്റ്റ് സിനാരിയോ ഡ്രാഫ്റ്റ്:
ഈ കരാറിനായി ടെസ്റ്റ് കേസുകൾ നിർദ്ദേശിക്കുക (ഫൗണ്ടറി/ഹർദാറ്റിൻ്റെ ഡ്രാഫ്റ്റ് ആകാം). പ്രത്യേകമായി കവർ പരിധി കേസുകൾ: പൂജ്യം ഇൻപുട്ട്, വളരെ വലിയ നമ്പർ, അനധികൃത കോൾ, വീണ്ടും കോൾ, അപര്യാപ്തമായ ഫണ്ട്. ഓരോ പരീക്ഷയും സ്ഥിരീകരിക്കുന്നത് എന്താണെന്ന് എഴുതുക.
4) ഗ്യാസും വായനാക്ഷമതയും അവലോകനം:
ഈ കരാറിൽ, ഗ്യാസ് ചെലവ് കുറയ്ക്കാൻ കഴിയുന്ന പാറ്റേണുകൾ അടയാളപ്പെടുത്തുക: അനാവശ്യ സ്റ്റോറേജ് എഴുത്ത്, ലൂപ്പിലെ ബാഹ്യ കോൾ, ആവർത്തന കണക്കുകൂട്ടൽ. ഓരോ നിർദ്ദേശത്തിലും മുമ്പോ ശേഷമോ വ്യത്യാസം വിശദീകരിക്കുക. സുരക്ഷാ ബ്രേക്കിംഗ് ഒപ്റ്റിമൈസേഷനുകൾ ശുപാർശ ചെയ്യുക; അത് വ്യക്തമല്ലെങ്കിൽ, "ഓഡിറ്ററോട് ചോദിക്കുക" എന്ന് പറയുക.
മൂന്ന് മിനി കേസുകൾ (എണ്ണങ്ങളിൽ)
കേസ് 1 - അസ്ഥികൂടം 4 മണിക്കൂർ സംരക്ഷിച്ചു. ഒരു ടീം 30 മിനിറ്റിനുള്ളിൽ AI-യുമായുള്ള ഓഡിറ്റഡ് ലൈബ്രറി അടിസ്ഥാനമാക്കിയുള്ള വെസ്റ്റിംഗ് കരാറിൻ്റെ അസ്ഥികൂടം ഖനനം ചെയ്തു; ഇത് സ്വമേധയാ ~4 മണിക്കൂർ എടുത്തു. സുരക്ഷയ്ക്കും പരിശോധനയ്ക്കുമായി സംഘം സമയം ചെലവഴിച്ചു. സുരക്ഷ കൈമാറ്റം ചെയ്യുന്നതിൽ നിന്നല്ല, മടുപ്പിക്കുന്ന ചട്ടക്കൂട് വേഗത്തിലാക്കിയതാണ് നേട്ടം.
കേസ് 2 - കാലഹരണപ്പെട്ട പതിപ്പ് ട്രാപ്പ്. ട്രാൻസ്ഫർ വഴി റോ ഈതർ അയയ്ക്കുന്ന ഒരു പാറ്റേൺ AI നിർമ്മിച്ചു, പരിശീലന ഡാറ്റ കാലഹരണപ്പെട്ടതിനാൽ ഇത് ഇനി ശുപാർശ ചെയ്യുന്നില്ല. ഡവലപ്പർ ഇത് ശ്രദ്ധിക്കുകയും നിലവിലെ കോൾ അധിഷ്ഠിതവും റീഎൻട്രൻസി-പ്രൊട്ടക്റ്റഡ് പാറ്റേണിലേക്ക് മാറ്റുകയും ചെയ്തു. പാഠം: AI-യുടെ ലൈബ്രറി/പാറ്റേൺ എപ്പോഴും കാലികമാണെന്ന് സ്ഥിരീകരിക്കുന്നു; പരിശീലന കട്ട്ഓഫ് തീയതിക്കപ്പുറം AI-ക്ക് അറിയില്ല.
കേസ് 3 - ടെസ്റ്റ് ഡ്രാഫ്റ്റ് മറഞ്ഞിരിക്കുന്ന ബഗ് പോപ്പ് ചെയ്തു. AI നിർമ്മിച്ച "അനധികൃത കോളർ" ടെസ്റ്റ് ഡവലപ്പർ ഒരു ഫംഗ്ഷനിൽ ആക്സസ് നിയന്ത്രണം മറന്നുവെന്ന് വെളിപ്പെടുത്തി. ടെസ്റ്റ്നെറ്റിൽ 5 മിനിറ്റിനുള്ളിൽ 1 ലൈൻ നഷ്ടമായത് ഉടമയ്ക്ക് മാത്രം; മെയിൻനെറ്റിൽ ഫണ്ട് നഷ്ടം ഉണ്ടായേക്കാം. പാഠം: AI പരിശോധനയിൽ മനുഷ്യൻ്റെ ബ്ലൈൻഡ് സ്പോട്ട് കവർ ചെയ്യുന്നു.
AI ഉപയോഗിച്ചുള്ള സുരക്ഷാ പാറ്റേണുകൾ ഓർക്കുന്നു
ഒരു ചെക്ക്ലിസ്റ്റ് പോലെ അറിയപ്പെടുന്ന ദുർബലത പാറ്റേണുകൾ നിങ്ങളെ ഓർമ്മിപ്പിക്കുന്നതിൽ AI മികച്ചതാണ്. ഏറ്റവും സാധാരണമായ പാറ്റേണുകൾ:
- പുനരധിവാസം: സ്റ്റാറ്റസ് അപ്ഡേറ്റ് ചെയ്യാതെ ഒരു ബാഹ്യ കോൾ ചെയ്യുന്നു. പരിഹാരം: ചെക്കുകൾ-ഇഫക്റ്റുകൾ-ഇൻ്ററാക്ഷനുകളുടെ ഓർഡർ, റീഎൻട്രൻസി ഗാർഡ്.
- ആക്സസ് നിയന്ത്രണത്തിൻ്റെ അഭാവം: നിർണായകമായ പ്രവർത്തനത്തെ ആർക്കും വിളിക്കാം.
- പൂർണ്ണസംഖ്യ ഓവർഫ്ലോ/അണ്ടർഫാൾ: മോഡേൺ സോളിഡിറ്റി അവയിൽ ഭൂരിഭാഗവും പിടിക്കുന്നു, പക്ഷേ ഇപ്പോഴും ലോ-ലെവൽ കോഡിൽ അപകടസാധ്യതയുണ്ട്.
- അപര്യാപ്തമായ ഇൻപുട്ട് മൂല്യനിർണ്ണയം: പൂജ്യം വിലാസം, പൂജ്യം അളവ് നിയന്ത്രണം.
- ഒറാക്കിൾ ഡിപൻഡൻസി: ബാഹ്യ ഡാറ്റയിൽ അന്ധമായ വിശ്വാസം (വില പോലുള്ളവ).
ശ്രദ്ധിക്കുക: AI-ന് ഈ ലിസ്റ്റ് തിരിച്ചുവിളിക്കാൻ കഴിയും, എന്നാൽ ലിസ്റ്റിലെ ഒരു ഇനം നിങ്ങളുടെ നിർദ്ദിഷ്ട കോഡിലാണോ എന്ന് അതിന് ഉറപ്പുനൽകാൻ കഴിയില്ല. ചെക്ക്ലിസ്റ്റ് ഒരു തുടക്കമാണ്; ഇത് കണ്ടെയ്നർ നിയന്ത്രണത്തിന് പകരമല്ല.
സന്ദർഭം ശരിയാക്കുന്നു: AI-ൽ നിന്നുള്ള നല്ല കോഡിൻ്റെ രഹസ്യം
AI നിർമ്മിക്കുന്ന കോഡിൻ്റെ ഗുണനിലവാരം നിങ്ങൾ നൽകുന്ന സന്ദർഭത്തിൻ്റെ ഗുണനിലവാരത്തെ നേരിട്ട് ആശ്രയിച്ചിരിക്കുന്നു. Web3-ൽ ഇത് വളരെ നിർണായകമാണ്, കാരണം ഒരു ചെറിയ വിശദാംശങ്ങൾ (ഏത് ശൃംഖല, ഏത് സോളിഡിറ്റി പതിപ്പ്, ഏത് ടോക്കൺ സ്റ്റാൻഡേർഡ്) മുഴുവൻ ഔട്ട്പുട്ടും മാറ്റുന്നു. ഒരു നല്ല സന്ദർഭത്തിൽ ഇവ ഉൾപ്പെടുന്നു:
- ടാർഗെറ്റ് ചെയിൻ, പരിസ്ഥിതി: Ethereum മെയിൻനെറ്റ് അല്ലെങ്കിൽ ഒരു ലെയർ 2 (മെയിൻചെയിനിന് മുകളിൽ പ്രവർത്തിക്കുന്ന വിലകുറഞ്ഞ സൈഡ്ചെയിൻ)? ഗ്യാസിൻ്റെ വിലയും ചില സവിശേഷതകളും ചെയിൻ അനുസരിച്ച് വ്യത്യാസപ്പെടുന്നു.
- പതിപ്പും ലൈബ്രറിയും: ഏത് സോളിഡിറ്റി പതിപ്പ്, ഏത് ഓപ്പൺസെപ്പെലിൻ പതിപ്പ്? പതിപ്പുകളൊന്നും വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, കാലഹരണപ്പെട്ടതും ഒഴിവാക്കപ്പെട്ടതുമായ പാറ്റേണുകൾ AI സൃഷ്ടിച്ചേക്കാം.
- സുരക്ഷാ ആവശ്യകതകൾ: ഒരു തൊപ്പി ഉണ്ടോ, അത് താൽക്കാലികമായി നിർത്താൻ കഴിയുമോ, അത് വർദ്ധിപ്പിക്കാൻ കഴിയുമോ? ഇവ ആദ്യം മുതൽ പറയണം.
- നിയന്ത്രണങ്ങൾ: "അസംബ്ലി ഉപയോഗിക്കരുത്", "ബാഹ്യ കോൾ ഒഴിവാക്കുക", "ഗ്യാസ് ഒപ്റ്റിമൈസ് ചെയ്യുക എന്നാൽ വായനാക്ഷമത നിലനിർത്തുക" തുടങ്ങിയ പരിധികൾ മായ്ക്കുക.
പ്ലാനിനായി ആദ്യം AI-യോട് ചോദിക്കുക എന്നതാണ് മറ്റൊരു ശക്തമായ സാങ്കേതികത, തുടർന്ന് കോഡ്: "ആദ്യം ഈ കരാറിൻ്റെ പ്രവർത്തനങ്ങളും ഓരോരുത്തരും എന്തുചെയ്യും; ഞാൻ അംഗീകരിച്ചുകഴിഞ്ഞാൽ കോഡ് എഴുതുക." ഇത് നേരത്തെ തെറ്റായ ദിശയിലേക്ക് പോകുന്ന AI പിടിക്കുകയും വാസ്തുവിദ്യാ തീരുമാനം നിലനിർത്താൻ നിങ്ങളെ അനുവദിക്കുകയും ചെയ്യുന്നു.
സൂചന: AI-യോട് ചോദിക്കുക "എന്തുകൊണ്ടാണ് നിങ്ങൾ ഈ കോഡ് ഇങ്ങനെ എഴുതിയത്?" ചോദിക്കുക. യുക്തി വിശദീകരിക്കുന്നത് നിങ്ങളുടെ പഠനത്തെ വേഗത്തിലാക്കുകയും ഏതെങ്കിലും ലോജിക്കൽ പിശകുകൾ ഉപരിതലത്തിലേക്ക് കൊണ്ടുവരുകയും ചെയ്യും (ഉദാ. തെറ്റായ സുരക്ഷാ അനുമാനം). സ്വന്തം കോഡിനെ പ്രതിരോധിക്കാൻ കഴിയാത്ത AI-യുടെ ഔട്ട്പുട്ടിനെ വിശ്വസിക്കരുത്.
സാധാരണ തെറ്റുകൾ
- ആദ്യം മുതൽ AI-യിൽ സുരക്ഷ ഏർപ്പെടുത്തുന്നു. പരീക്ഷിച്ച ലൈബ്രറി ഉപയോഗിക്കുക.
- AI നിർമ്മിച്ച പതിപ്പ്/പാറ്റേൺ സ്ഥിരീകരിക്കുന്നില്ല. പരിശീലന ഡാറ്റ പഴയതായിരിക്കാം.
- ടെസ്റ്റ്നെറ്റ് മറികടക്കുന്നു. ഓരോ ഡ്രാഫ്റ്റും തത്സമയമാകുന്നതിന് മുമ്പ് ടെസ്റ്റ് നെറ്റ്വർക്കിൽ പ്രവർത്തിക്കണം.
- NatSpec/ഡോക്യുമെൻ്റേഷൻ ചേർക്കുന്നില്ല. പരിശോധനയും അറ്റകുറ്റപ്പണിയും ബുദ്ധിമുട്ടാണ്.
- "ഇത് സമാഹരിച്ചതാണ്, അതിനാൽ ഇത് സുരക്ഷിതമാണ്" എന്ന തെറ്റിദ്ധാരണ. കംപൈൽ ചെയ്യുന്നത് സുരക്ഷിതമായിരിക്കുക എന്നല്ല.
- പ്രവേശന നിയന്ത്രണം മറക്കുന്നു. ഇത് ഏറ്റവും സാധാരണവും ചെലവേറിയതുമായ തെറ്റുകളിൽ ഒന്നാണ്.
ചുരുക്കത്തിൽ
- സ്മാർട്ട് കരാർ രചനയിൽ, AI ചട്ടക്കൂടുകളും പരിശോധനകളും അവലോകന ഡ്രാഫ്റ്റുകളും നിർമ്മിക്കുന്നു; മനുഷ്യൻ ഉൽപ്പാദന സുരക്ഷ ഉറപ്പുനൽകുന്നു.
- ആദ്യം മുതൽ അല്ല, തെളിയിക്കപ്പെട്ട ലൈബ്രറികളെ അടിസ്ഥാനമാക്കി (ഉദാ. ഓപ്പൺസെപ്പെലിൻ) സുരക്ഷ നിർമ്മിക്കുക.
- YZ നിർമ്മിച്ച പതിപ്പുകളുടെയും പാറ്റേണുകളുടെയും കാലികത എല്ലായ്പ്പോഴും സ്ഥിരീകരിക്കപ്പെടുന്നു.
- മനുഷ്യൻ്റെ അന്ധമായ പാടുകൾ (പരിമിതമായ കേസുകൾ, പ്രവേശന നിയന്ത്രണം) പിടിച്ചെടുക്കുന്നതിൽ ടെസ്റ്റ് സ്റ്റബുകൾ വിലപ്പെട്ടതാണ്.
- കംപൈൽ ചെയ്യുക എന്നതിനർത്ഥം സുരക്ഷിതരായിരിക്കുക എന്നല്ല; ടെസ്റ്റ്നെറ്റും ഓഡിറ്റിംഗും നിർബന്ധമാണ്.
ആപ്ലിക്കേഷൻ ടാസ്ക്
ഒരു ലളിതമായ ERC-20 ടോക്കണിനായി, മുകളിലുള്ള "മാനദണ്ഡങ്ങൾ അടിസ്ഥാനമാക്കിയുള്ള അസ്ഥികൂടം" ഉപയോഗിച്ച് ഒരു ഡ്രാഫ്റ്റ് സൃഷ്ടിക്കുക. തുടർന്ന്: (1) ഇത് ചെക്ക് ചെയ്ത ലൈബ്രറി ഉപയോഗിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കുക, (2) ആക്സസ്സ് നിയന്ത്രണങ്ങൾ പരിശോധിക്കുക, (3) "ടെസ്റ്റ് കേസ് ഡ്രാഫ്റ്റ്" പ്രോംപ്റ്റ് ഉപയോഗിച്ച് ടെസ്റ്റുകൾ സൃഷ്ടിക്കുകയും യഥാർത്ഥത്തിൽ ഒരു റോഗ്-കോളർ ടെസ്റ്റെങ്കിലും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുക. AI നഷ്ടമായ ഒരു സുരക്ഷാ പോയിൻ്റെങ്കിലും കണ്ടെത്തി ശ്രദ്ധിക്കുക.
ചെക്ക്ലിസ്റ്റ്
- [ ] പ്രോംപ്റ്റിൽ ഞാൻ സ്റ്റാൻഡേർഡും ചെയിനും വ്യക്തമായി പറഞ്ഞിട്ടുണ്ട്.
- [ ] എനിക്ക് തെളിയിക്കപ്പെട്ട ലൈബ്രറി അധിഷ്ഠിത നിർമ്മാണം വേണം.
- SPDX ലൈസൻസും പ്രാഗ്മ പതിപ്പും ലഭ്യമാണ്.
- [ ] എല്ലാ നിർണായക പ്രവർത്തനത്തിലും പ്രവേശന നിയന്ത്രണം ഉണ്ട്.
- [ ] ഞാൻ ലിമിറ്റ് കേസുകൾക്കായി ടെസ്റ്റുകൾ സൃഷ്ടിക്കുകയും പ്രവർത്തിപ്പിക്കുകയും ചെയ്തു.
- [ ] ലൈബ്രറി/പാറ്റേൺ കാലികമാണെന്ന് ഞാൻ സ്ഥിരീകരിച്ചു.
- [ ] ഓഡിറ്റിങ്ങിനും ടെസ്റ്റിംഗിനുമായി ഞാൻ കോഡ് അടയാളപ്പെടുത്തി; മെയിൻനെറ്റിൽ ഇത് മേൽനോട്ടം വഹിക്കാതെ എനിക്ക് മനസ്സിലായില്ല.