Girdeji:
- Emeli intellektden peýdalanmak, subut edilen kitaphanalara (meselem, OpenZeppelin) esaslary, synaglary we gözden geçirişleri öndürmek we adamlaryň önümçilik howpsuzlygyny kepillendirýändigine düşünmek;
- Toplamak, synag we testnet arkaly emeli intellekt tarapyndan öndürilen kod wersiýasyny, nagşyny we giriş gözegçiligini barlamak ukyby
- Toplumyň howpsuz bolmagy aňlatmaýandygyny we testnet we auditiň zerurdygyny tapawutlandyryp bilmek.
Akylly şertnama ýazmak adaty programma üpjünçiliginden tapawutlanýar: ýazýan koduňyz köpçülige açyk, üýtgewsiz we pul gönüden-göni hereket edýän programma. Bu bölümde akylly şertnamany ösdürmegiň kömekçisi hökmünde AI-ni nähili ulanmalydygyny öwrenersiňiz; Önümçilik taslamasyndan ýazuw synagyny, nagşy yzyna gaýtarmakdan gaz (amal tölegi) optimizasiýasyna çenli öwreneris. Theöne başdan aýdyň: AI meýilnamalary öndürýär; Adamlar önümçilige girýän ygtybarly kody üpjün edýärler.
Ilki bilen ýer: dil we daşky gurşaw
Iň ýaýran akylly şertnama dili Solidity (Ethereum we EVM - Ethereum Wirtual Machine, şertnamalar işleýän wirtual maşyn - gabat gelýän zynjyrlar). Munuň alternatiwasy Vyper (has çäklendirilen we okalmagy maksat edinýän Python ýaly dil). Koduňyz gaz sarp edýär (blokirleme üçin her bir amalyň bahasy); Netijesiz kod gymmat. Bu terminleri AI-e beren kontekstiňizde aýdyň saklamak, takyk çykyş etmegiň açarydyr.
AI-iň iň gymmatly ýeri "noldan ýazmak" däl-de, çarçuwany + gowy galyp öndürmekde: standartlara laýyk başlangyç, tejribäňizi goşjak meýilnama.
Kodlaşdyrmakda AI ulanmagyň gatlaklary
1. Süňkleri döretmek. AI adaty nyşanyň (ERC-20) ýa-da NFT (ERC-721 - özboluşly sanly aktiw standarty) süňküni çalt gazýar. Emma AI-ni subut edilen kitaphanany ulanmagy unutmaň: mysal üçin, OpenZeppelin (jemgyýetiň ynamdar, barlanan standart şertnama kitaphanasy). Düzgün, noldan howpsuzlygy ýazman, synagdan geçen blokdan peýdalanmakdyr.
2. Funksiýanyň beýany we syn. Bar bolan funksiýany AI-e düşündirmek, logiki ýalňyşlyklary ir ýüze çykarmaga mümkinçilik berýär.
3. Synag nesli. AI gyradaky ýagdaýlar üçin synag hadysalaryny döretmäge ökde: nol giriş, gaty köp, rugsatsyz jaň, gaýta jaň. Bu, bir ssenariýany ýada salýar.
4. Gaz we okamak mümkinçiligi. AI gereksiz ammar ýaly gymmat nagyşlary belleýär we alternatiwalary teklip edýär.
Maslahat: AI-ni "OpenZeppelin-iň barlanan şertnamalarynda guruň, howpsuzlygy noldan ýazyň". AI üçin synag edilen kitaphanany ulanman, asyl howpsuzlyk koduny ýazmak has töwekgelçiliklidir.
Gowşak haýyş / Güýçli haýyş
Gowşak haýyş:
Maňa bellik şertnamasyny ýazyň.
Bu haýyş howply: haýsy standart, haýsy zynjyr, haýsy kitaphana, haýsy howpsuzlyk talaplary belli däl. AI tötänleýin, ähtimal köne ýa-da ygtybarly kod döredýär.
Güýçli haýyş:
Siziň roluňyz: Solidity dörediji. EVM gabat gelýän zynjyr üçin ERC-20 belgili taslama dörediň. Düzgünler: - OpenZeppelin tarapyndan barlanan ERC20 we eýeçilik şertnamalaryna esaslanýar.- Solidity wersiýasyny we ygtyýarnamasyny (SPDX) aç-açan ýazyň. çäksiz basyşa garşy gapak goşuň. - Her funksiýa NatSpec düşündiriş goşuň. - Howpsuzlygy noldan ýazyň; Adaty blokdan peýdalanyň. - Ahyrynda duýduryş goşuň: "Bu taslama, barlag we synag zerur". // TODO bilen ynamsyz ýerleriňizi belläň.
Tapawut: güýçli isleg anyk rol, standart, kitaphana, howpsuzlyk araçägi, resminamalar we tassyklama garaşmalary berýär.
Göçürip boljak dört şablon
1) Standartlara esaslanýan skelet:
Siziň roluňyz: Solidity dörediji. OpenZeppelin barlag kitaphanasyna esaslanýan [ERC-20 / ERC-721 / staking] şertnama çarçuwasyny dörediň. SPDX ygtyýarnamasyny we pragma wersiýasyny ýazyň. Her daşarky funksiýa giriş gözegçiligini (kim jaň edip biler) goşuň. Howpsuzlygy täzeden açmak; Adaty bloklary ulanyň. Bu taslama.
2) Funksiýa syn:
Uly işläp düzüji ýaly aşakdaky funksiýany gözden geçiriň: näme edýär, haýsy ştatlary üýtgedýär, kim atlandyryp biler? Mümkin bolan logiki ýalňyşlyklary we howpsuzlyk töwekgelçiligini HYPOTHESIS diýip belläň, hersini koddaky bir setir bilen baglanyşdyryň. "Howpsuz" diýmäň; diňe üns merkezlerini sanaň.
3) Synag ssenariýiniň taslamasy:
Bu şertnama üçin synag synaglaryny teklip ediň (Dörediji / Hardhat üçin taslama bolup biler). Limitörite çäklendirilen ýagdaýlary ýapyň: nol giriş, gaty köp sanly, rugsatsyz jaň, gaýtadan jaň etmek, serişde ýeterlik däl. Her synagyň nämäni tassyklaýandygyny ýazyň.
4) Gaz we okalýan syn:
Bu şertnamada gazyň bahasyny azaldyp biljek nagyşlary belläň: gereksiz ammar ýazuwy, aýlawda daşarky jaň, gaýtalanýan hasaplama. Her teklibiň öň / soň tapawudyny düşündiriň. Howpsuzlygy bozýan optimizasiýalary maslahat beriň; Düşünmedik bolsa, "auditordan sora" diýiň.
Üç sany kiçi ýagdaý (san boýunça)
1-nji hadysa - Skelet 4 sagat tygşytlady. Bir topar AI bilen 30 minutda barlanan kitaphana esasly ýumuş şertnamasynyň süňküni gazdy; El bilen ~ 4 sagat gerek boldy. Topar howpsuzlyga we synaga wagt sarp etdi. Girdeji howpsuzlygy geçirmekden däl-de, ýadaw çarçuwany çaltlaşdyrmakdan geldi.
2-nji waka - köne wersiýa duzagy. AI çig Eteri geçirmek arkaly iberýän nagyş öndürdi, indi okuw maglumatlary köne bolany üçin maslahat berilmeýär. Öndüriji muny görüp, ony häzirki jaň esasly we reentrancy bilen goralýan görnüşe üýtgetdi. Sapak: AI-iň kitaphanasy / nagşy elmydama döwrebapdygyny tassyklaýar; AI okuwyň gutarýan senesinden başga zady bilmeýär.
3-nji waka - Synag taslamasy açyldy. AI-iň öndüren "rugsatsyz jaň ediji" synagy, döredijiniň bir funksiýada giriş gözegçiligini ýatdan çykarandygyny ýüze çykardy. testOnetde 5 minutda tutulan diňe 1 setir ýitdi; Esasy ulgamda serişde ýitirilmegi bolup biler. Sapak: AI synagda adamyň kör ýerini öz içine alýar.
AI bilen howpsuzlyk nusgalaryny ýada salmak
AI gözegçilik sanawy ýaly belli gowşak goralanlyklary ýatlatmaga ökde. Iň ýaýran nagyşlar:
- Reentrancy: statusagdaýy täzelemän daşarky jaň etmek. Çözgüdi: barlag-effektler-täsir ediş tertibi, gaýtadan garawul.
- Giriş gözegçiliginiň ýoklugy: Her kim möhüm funksiýa jaň edip biler.
- Bitewi dolmak / aşmak: Modern Solidity olaryň köpüsini tutýar, emma pes derejeli kodda töwekgelçilik.
- Inputeterlik däl giriş tassyklamasy: Nol salgy, nol mukdaryna gözegçilik.
- Oracle baglylygy: Daşarky maglumatlara kör ynam (baha ýaly).
Üns beriň: AI bu sanawy ýatlap biler, ýöne sanawdaky elementiň belli bir koduňyza degişlidigini kepillendirip bilmez. Barlag sanawy başlangyç; Konteýner dolandyryşy üçin çalyşma däl.
Konteksti dogry bilmek: AI-den gowy koduň syry
AI öndürýän koduň hili, berýän kontekstiň hiline gönüden-göni baglydyr. Web3-de bu aýratyn möhümdir, sebäbi bir kiçijik jikme-jiklik (haýsy zynjyr, haýsy Solidity wersiýasy, haýsy standart standarty) tutuş çykyşy üýtgedýär. Gowy kontekst öz içine alýar:
- Maksatlaýyn zynjyr we daşky gurşaw: Ethereum magistraly ýa-da 2-nji gatlak (esasy zynjyryň üstünde işleýän arzan gapdal)? Gazyň bahasy we käbir aýratynlyklary zynjyr boýunça üýtgeýär.
- Wersiýa we kitaphana: Haýsy Solidity wersiýasy, haýsy OpenZeppelin wersiýasy? Hiç hili wersiýa görkezilmedik bolsa, AI köne, könelişen nagyşlary öndürip biler.
- Howpsuzlyk talaplary: Bir gapak barmy, duruzyp bolarmy, köpeldip bolarmy? Bulary ilkibaşdan aýtmaly.
- Çäklendirmeler: "Gurnama ulanmaň", "daşarky jaňdan gaça duruň", "gazy optimizirläň, ýöne okalmagyny saklaň" ýaly çäkler.
Anotherene bir güýçli usul, AI-den ilki meýilnama, soň bolsa kod soramak: "Ilki bilen bu şertnamanyň funksiýalaryny we hersiniň näme etjekdigini sanaň; tassyklanymdan soň kod ýazyň." Bu, AI nädogry ugra ir gidýär we binagärlik kararyny saklamaga mümkinçilik berýär.
Maslahat: AI-den soraň "näme üçin bu kody beýle ýazdyňyz?" sora. Sebäpleri düşündirmek, okuwyňyzy çaltlaşdyrar we islendik logiki ýalňyşlyklary ýüze çykarar (meselem, ýalňyş howpsuzlyk çaklamasy). Öz koduny gorap bilmeýän AI-iň çykyşyna ynanmaň.
Adaty ýalňyşlyklar
- AI-de howpsuzlygy noldan goýmak. Synag kitaphanasyny ulanyň.
- AI tarapyndan öndürilen wersiýany / nagşy tassyklamaýar. Okuw maglumatlary köne bolup biler.
- Testnetden aýlanmak. Her taslama göni efirde çykmazdan ozal synag ulgamynda işlemeli.
- NatSpec / resminama goşmaýar. Barlamak we tehniki hyzmat etmek kynlaşýar.
- "Bu düzüldi, şonuň üçin howpsuz" ýalňyş düşünje. Toplanmak howpsuz bolmak diýmek däldir.
- Giriş gözegçiligini ýatdan çykarmak. Iň ýaýran we iň gymmat ýalňyşlyklaryň biri.
Gysgaça
- Akylly şertnama ýazylanda, AI çarçuwalary, synaglary we gözden geçiriş taslamalaryny öndürýär; Adam önümçiligiň howpsuzlygyny kepillendirýär.
- Howpsuzlygy noldan däl-de, subut edilen kitaphanalara esaslanýar (meselem, OpenZeppelin).
- YZ tarapyndan öndürilen wersiýalaryň we nagyşlaryň iň ýokary derejesi hemişe tassyklanýar.
- Synag stublary adamyň kör nokatlaryny ele almakda möhümdir (çäklendirilen ýagdaýlar, giriş gözegçiligi).
- Toplanmak howpsuz bolmak diýmek däldir; testnet we audit hökmany.
Programma meselesi
Simpleönekeý ERC-20 belligi üçin ýokardaky "standartlara esaslanýan skelet" teklibini ulanyp, taslama dörediň. Soňra: (1) barlanylan kitaphanany ulanýandygyny ýa-da ýokdugyny barlaň, (2) giriş dolandyryşlaryny barlaň, (3) "synag işiniň taslamasy" haýyşy bilen synaglary dörediň we aslynda iň bolmanda bir gödek jaň synagyny geçiriň. AI-iň sypdyran iň bolmanda bir howpsuzlyk nokadyny tapyň we belläň.
gözegçilik sanawy
- [] Teklipde standart we zynjyry aç-açan beýan etdim.
- [] Kitaphana esasly subut edilen önüm isledim.
- [] SPDX ygtyýarnamasy we pragma wersiýasy bar.
- [] Her möhüm funksiýada giriş gözegçiligi bar.
- [] Çäklendirilen ýagdaýlar üçin synaglary döretdim we işledim.
- [] Kitaphananyň / nagşyň döwrebapdygyny tassykladym.
- [] Audit we synag üçin kody belledim; Men ony esasy ulgamda gözegçilik etmedim.