முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்

டோக்கன் ஒருங்கிணைப்பு சரிபார்ப்புப் பட்டியல்

Solidity
ஸ்மார்ட் ஒப்பந்தங்கள்
பாதுகாப்பு
டோக்கன்கள்
இடைநிலையாளர்
ட்ரெயில்ஆஃப்பிட்ஸ்
13 ஆகஸ்ட், 2020
4 நிமிட வாசிப்பு

தன்னிச்சையான டோக்கன்களுடன் தொடர்பு கொள்ளும்போது இந்தச் சரிபார்ப்புப் பட்டியலைப் பின்பற்றவும். ஒவ்வொரு உருப்படியுடனும் தொடர்புடைய அபாயங்களை நீங்கள் புரிந்துகொள்கிறீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், மேலும் இந்த விதிகளுக்கான ஏதேனும் விதிவிலக்குகளை நியாயப்படுத்துங்கள்.

வசதிக்காக, அனைத்து Slither பயன்பாடுகளையும் (opens in a new tab) நேரடியாக ஒரு டோக்கன் முகவரியில் இயக்கலாம், எடுத்துக்காட்டாக:

Slither டுடோரியலைப் பயன்படுத்துதல்

slither-check-erc 0xdac17f958d2ee523a2206206994597c13d831ec7 TetherToken

இந்தச் சரிபார்ப்புப் பட்டியலைப் பின்பற்ற, டோக்கனுக்கான Slither-லிருந்து இந்த வெளியீட்டை நீங்கள் பெற விரும்புவீர்கள்:

- slither-check-erc [target] [contractName] [optional: --erc ERC_NUMBER]
- slither [target] --print human-summary
- slither [target] --print contract-summary
- slither-prop . --contract ContractName # உள்ளமைவு தேவைப்படுகிறது, மேலும் Echidna மற்றும் Manticore ஆகியவற்றைப் பயன்படுத்த வேண்டும்

பொதுவான பரிசீலனைகள்

  • ஒப்பந்தம் ஒரு பாதுகாப்பு மதிப்பாய்வைக் கொண்டுள்ளது. பாதுகாப்பு மதிப்பாய்வு இல்லாத ஒப்பந்தங்களுடன் தொடர்புகொள்வதைத் தவிர்க்கவும். மதிப்பீட்டின் நீளம் ("முயற்சியின் நிலை" என்றும் அழைக்கப்படுகிறது), பாதுகாப்பு நிறுவனத்தின் நற்பெயர் மற்றும் கண்டுபிடிப்புகளின் எண்ணிக்கை மற்றும் தீவிரம் ஆகியவற்றைச் சரிபார்க்கவும்.
  • நீங்கள் டெவலப்பர்களைத் தொடர்புகொண்டுள்ளீர்கள். ஒரு சம்பவம் குறித்து அவர்களின் குழுவை நீங்கள் எச்சரிக்க வேண்டியிருக்கலாம். blockchain-security-contacts (opens in a new tab) இல் பொருத்தமான தொடர்புகளைத் தேடுங்கள்.
  • முக்கியமான அறிவிப்புகளுக்கான பாதுகாப்பு அஞ்சல் பட்டியல் அவர்களிடம் உள்ளது. முக்கியமான சிக்கல்கள் கண்டறியப்படும்போது அல்லது மேம்படுத்தல்கள் நிகழும்போது அவர்களின் குழு பயனர்களுக்கு (உங்களைப் போன்றவர்களுக்கு!) அறிவுறுத்த வேண்டும்.

ERC இணக்கம்

Slither-இல் slither-check-erc (opens in a new tab) என்ற பயன்பாடு உள்ளது, இது பல தொடர்புடைய ERC தரநிலைகளுடன் ஒரு டோக்கனின் இணக்கத்தை மதிப்பாய்வு செய்கிறது. இதை மதிப்பாய்வு செய்ய slither-check-erc ஐப் பயன்படுத்தவும்:

  • Transfer மற்றும் transferFrom ஒரு பூலியனை (boolean) வழங்கும். பல டோக்கன்கள் இந்தச் செயல்பாடுகளில் பூலியனை வழங்குவதில்லை. இதன் விளைவாக, ஒப்பந்தத்தில் அவற்றின் அழைப்புகள் தோல்வியடையக்கூடும்.
  • பயன்படுத்தப்பட்டால் name, decimals மற்றும் symbol செயல்பாடுகள் இருக்கும். இந்தச் செயல்பாடுகள் ERC20 தரநிலையில் விருப்பத்திற்குரியவை, மேலும் அவை இல்லாமல் இருக்கலாம்.
  • Decimals ஒரு uint8-ஐ வழங்கும். பல டோக்கன்கள் தவறாக uint256-ஐ வழங்குகின்றன. இதுபோன்று இருந்தால், வழங்கப்படும் மதிப்பு 255-க்குக் குறைவாக இருப்பதை உறுதிசெய்யவும்.
  • அறியப்பட்ட ERC20 ரேஸ் கண்டிஷனை (race condition) (opens in a new tab) டோக்கன் தணிக்கிறது. ERC20 தரநிலையில் அறியப்பட்ட ERC20 ரேஸ் கண்டிஷன் உள்ளது, தாக்குபவர்கள் டோக்கன்களைத் திருடுவதைத் தடுக்க இது தணிக்கப்பட வேண்டும்.
  • டோக்கன் ஒரு ERC777 டோக்கன் அல்ல, மேலும் transfer மற்றும் transferFrom-இல் வெளிப்புறச் செயல்பாட்டு அழைப்பு எதுவும் இல்லை. transfer செயல்பாடுகளில் உள்ள வெளிப்புற அழைப்புகள் ரீஎன்ட்ரன்சிகளுக்கு (reentrancies) வழிவகுக்கும்.

Slither-இல் slither-prop (opens in a new tab) என்ற பயன்பாடு உள்ளது, இது பல பொதுவான ERC குறைபாடுகளைக் கண்டறியக்கூடிய யூனிட் சோதனைகள் மற்றும் பாதுகாப்புப் பண்புகளை உருவாக்குகிறது. இதை மதிப்பாய்வு செய்ய slither-prop ஐப் பயன்படுத்தவும்:

  • ஒப்பந்தம் slither-prop-லிருந்து அனைத்து யூனிட் சோதனைகள் மற்றும் பாதுகாப்புப் பண்புகளிலும் தேர்ச்சி பெறுகிறது. உருவாக்கப்பட்ட யூனிட் சோதனைகளை இயக்கவும், பின்னர் Echidna (opens in a new tab) மற்றும் Manticore (opens in a new tab) மூலம் பண்புகளைச் சரிபார்க்கவும்.

இறுதியாக, தானாகவே அடையாளம் காண கடினமாக இருக்கும் சில பண்புகள் உள்ளன. இந்த நிபந்தனைகளை கைமுறையாக மதிப்பாய்வு செய்யவும்:

  • Transfer மற்றும் transferFrom கட்டணம் எடுக்கக்கூடாது. பணவாட்ட (Deflationary) டோக்கன்கள் எதிர்பாராத நடத்தைக்கு வழிவகுக்கும்.
  • டோக்கனிலிருந்து ஈட்டப்படும் சாத்தியமான வட்டி கணக்கில் எடுத்துக்கொள்ளப்படுகிறது. சில டோக்கன்கள் டோக்கன் வைத்திருப்பவர்களுக்கு வட்டியை விநியோகிக்கின்றன. கணக்கில் எடுத்துக்கொள்ளப்படாவிட்டால் இந்த வட்டி ஒப்பந்தத்தில் சிக்கிக்கொள்ளலாம்.

ஒப்பந்தக் கட்டமைப்பு

  • ஒப்பந்தம் தேவையற்ற சிக்கலைத் தவிர்க்கிறது. டோக்கன் ஒரு எளிய ஒப்பந்தமாக இருக்க வேண்டும்; சிக்கலான குறியீட்டைக் கொண்ட டோக்கனுக்கு உயர் தரத்திலான மதிப்பாய்வு தேவை. சிக்கலான குறியீட்டை அடையாளம் காண Slither-இன் human-summary printer (opens in a new tab)-ஐப் பயன்படுத்தவும்.
  • ஒப்பந்தம் SafeMath-ஐப் பயன்படுத்துகிறது. SafeMath-ஐப் பயன்படுத்தாத ஒப்பந்தங்களுக்கு உயர் தரத்திலான மதிப்பாய்வு தேவை. SafeMath பயன்பாட்டிற்காக ஒப்பந்தத்தை கைமுறையாக ஆய்வு செய்யவும்.
  • ஒப்பந்தத்தில் டோக்கன் தொடர்பில்லாத சில செயல்பாடுகள் மட்டுமே உள்ளன. டோக்கன் தொடர்பில்லாத செயல்பாடுகள் ஒப்பந்தத்தில் சிக்கல் ஏற்படுவதற்கான வாய்ப்பை அதிகரிக்கின்றன. ஒப்பந்தத்தில் பயன்படுத்தப்படும் குறியீட்டைப் பரவலாக மதிப்பாய்வு செய்ய Slither-இன் contract-summary printer (opens in a new tab)-ஐப் பயன்படுத்தவும்.
  • டோக்கனுக்கு ஒரே ஒரு முகவரி மட்டுமே உள்ளது. இருப்புப் புதுப்பிப்புகளுக்குப் பல நுழைவுப் புள்ளிகளைக் கொண்ட டோக்கன்கள் முகவரியின் அடிப்படையில் உள் கணக்குப்பதிவை உடைக்கலாம் (எ.கா., balances[token_address][msg.sender] உண்மையான இருப்பைப் பிரதிபலிக்காமல் போகலாம்).

உரிமையாளர் சலுகைகள்

  • டோக்கனை மேம்படுத்த முடியாது. மேம்படுத்தக்கூடிய ஒப்பந்தங்கள் காலப்போக்கில் அவற்றின் விதிகளை மாற்றக்கூடும். ஒப்பந்தத்தை மேம்படுத்த முடியுமா என்பதைத் தீர்மானிக்க Slither-இன் human-summary printer (opens in a new tab)-ஐப் பயன்படுத்தவும்.
  • உரிமையாளருக்கு வரையறுக்கப்பட்ட மின்டிங் (minting) திறன்கள் உள்ளன. தீங்கிழைக்கும் அல்லது சமரசம் செய்யப்பட்ட உரிமையாளர்கள் மின்டிங் திறன்களைத் தவறாகப் பயன்படுத்தலாம். மின்டிங் திறன்களை மதிப்பாய்வு செய்ய Slither-இன் human-summary printer (opens in a new tab)-ஐப் பயன்படுத்தவும், மேலும் குறியீட்டைக் கைமுறையாக மதிப்பாய்வு செய்வதைக் கருத்தில் கொள்ளவும்.
  • டோக்கனை இடைநிறுத்த முடியாது. தீங்கிழைக்கும் அல்லது சமரசம் செய்யப்பட்ட உரிமையாளர்கள் இடைநிறுத்தக்கூடிய டோக்கன்களை நம்பியிருக்கும் ஒப்பந்தங்களைச் சிக்க வைக்கலாம். இடைநிறுத்தக்கூடிய குறியீட்டைக் கைமுறையாக அடையாளம் காணவும்.
  • உரிமையாளரால் ஒப்பந்தத்தைக் கருப்புப் பட்டியலில் (blacklist) சேர்க்க முடியாது. தீங்கிழைக்கும் அல்லது சமரசம் செய்யப்பட்ட உரிமையாளர்கள் கருப்புப் பட்டியலைக் கொண்ட டோக்கன்களை நம்பியிருக்கும் ஒப்பந்தங்களைச் சிக்க வைக்கலாம். கருப்புப் பட்டியல் அம்சங்களைக் கைமுறையாக அடையாளம் காணவும்.
  • டோக்கனுக்குப் பின்னால் உள்ள குழு அறியப்பட்டவர்கள் மற்றும் துஷ்பிரயோகத்திற்குப் பொறுப்பேற்க முடியும். அநாமதேய மேம்பாட்டுக் குழுக்களைக் கொண்ட அல்லது சட்டப்பூர்வ தங்குமிடங்களில் வசிக்கும் ஒப்பந்தங்களுக்கு உயர் தரத்திலான மதிப்பாய்வு தேவை.

டோக்கன் பற்றாக்குறை

டோக்கன் பற்றாக்குறை சிக்கல்களுக்கான மதிப்பாய்வுகளுக்குக் கைமுறை மதிப்பாய்வு தேவை. இந்த நிபந்தனைகளைச் சரிபார்க்கவும்:

  • எந்தவொரு பயனரும் விநியோகத்தின் பெரும்பகுதியை வைத்திருக்கவில்லை. சில பயனர்கள் பெரும்பாலான டோக்கன்களை வைத்திருந்தால், டோக்கனின் பகிர்வின் அடிப்படையில் அவர்கள் செயல்பாடுகளில் செல்வாக்கு செலுத்த முடியும்.
  • மொத்த விநியோகம் போதுமானது. குறைந்த மொத்த விநியோகத்தைக் கொண்ட டோக்கன்களை எளிதாகக் கையாளலாம்.
  • டோக்கன்கள் சில பரிமாற்றங்களுக்கு (exchanges) மேல் அமைந்துள்ளன. அனைத்து டோக்கன்களும் ஒரே பரிமாற்றத்தில் இருந்தால், பரிமாற்றத்தின் சமரசம் டோக்கனை நம்பியிருக்கும் ஒப்பந்தத்தையும் சமரசம் செய்யலாம்.
  • பெரிய நிதிகள் அல்லது ஃபிளாஷ் கடன்களுடன் (flash loans) தொடர்புடைய அபாயங்களைப் பயனர்கள் புரிந்துகொள்கிறார்கள். டோக்கன் இருப்பை நம்பியிருக்கும் ஒப்பந்தங்கள், பெரிய நிதியைக் கொண்ட தாக்குபவர்கள் அல்லது ஃபிளாஷ் கடன்கள் மூலமான தாக்குதல்களைக் கவனமாகக் கருத்தில் கொள்ள வேண்டும்.
  • டோக்கன் ஃபிளாஷ் மின்டிங்கை (flash minting) அனுமதிக்காது. ஃபிளாஷ் மின்டிங் இருப்பு மற்றும் மொத்த விநியோகத்தில் கணிசமான ஏற்ற இறக்கங்களுக்கு வழிவகுக்கும், இதற்கு டோக்கனின் செயல்பாட்டில் கடுமையான மற்றும் விரிவான ஓவர்ஃப்ளோ (overflow) சரிபார்ப்புகள் தேவைப்படுகின்றன.

பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 3 மார்ச், 2026

இந்த வழிகாட்டி பயனுள்ளதாக இருந்ததா?