ඔබ Solidity කේතයක් පළමු පේළියෙන් කියවලා, දෙක පැයකට පසු හිසරදයක් ඇතිවී, කිසිදු ගැටළුවක් හමු නොවුණාද? මේ වගේ අත්දැකීමක් බොහෝ පරිශීලකයින්ට තියෙනවා. නවතම ආඩිට් තරගයක් විසඳුම් සොයාගන්නා විදිහ ගැන පවතින ලිපියෙන්, කේතයට පෙර ‘Invariant’ (අවිකල) ලිවීමේ වැදගත්කම පැහැදිලි කරයි.
කොහොමද මේ ක්රමය වැඩ කරනවා? පළමුව, සමාගමේ හෝ ප්රොටෝකෝලයේ “සෑම වේලාවකම සැබවින්ම පවතින” නීති ලිවීම. මේ නීති උල්ලංඝනය වීමක් නම්, එය දෝෂයක් වේ. ඉන්පසු, එම නීති මත පදනම්ව කේතයේ පිවිසුම් (external/public functions) ලැයිස්තුගත කර, ඒවායේ කුමන නීතියකට බලපෑම් විය හැදැයි සලකයි. අවසානයේ, විශ්වාස සීමා (oracles, admin roles, cross‑contract calls) සලකා බැලීමෙන්, හැකියාවක් ඇති ආකාරයෙන් ප්රහාරකයා ඒ නීති උල්ලංඝනය කරනු ඇතැයි පරීක්ෂා කරයි.
ඇයි මෙය වැදගත්? අඩුම පදනමකින් ආරම්භ කරන විශ්ලේෂණයක්, කේතයේ සංකීර්ණතා මත අමාරු නොවී, වැරදි හෝ පරීක්ෂණය නොකළ ලුහුබැඳීම් ඉක්මනින් හඳුනාගත හැකිය. මෙම ක්රමය තරග ජයග්රහණය සඳහාම නොව, නියමිත DeFi, lending pool වැනි ප්රොටෝකෝලයන්ගේ ආරක්ෂාව වර්ධනය කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණ විද්යාත්මක ශිෂ්යයින්, සොෆ්ට්වෙයා ඉංජිනේරුන්, ආයතනික සංවර්ධකයින්ට මෙම පදනම අත්යවශ්යය:
- ශිෂ්යයින් – සමාජයේ බ්ලොක්චේන් තාක්ෂණය ඉගෙන ගැනීමේදී, නීති‑මූලික විශ්ලේෂණය කරගැනීමේ නව කුසලතා ලැබේ.
- ඩෙවලපර්ස් – කේත ලේඛනයේ පළමුවන පියවරක් ලෙස invariants ලිවීම, බග් හඳුනා ගැනීමේ කාලය අඩු කරයි, නිෂ්පාදන ගුණාත්මකත්වය වැඩි කරයි.
- ව්යාපාර – DeFi, NFT, හෝ ඕනෑම smart contract‑මූලික ව්යාපාරයක ආරක්ෂාව වැඩිවීම, ආයෝජක විශ්වාසය සහ නීතිමය අවශ්යතා පිරිසිදු කිරීමේදී ප්රයෝජනවත්.
ඉදිරියේදී, ශ්රී ලංකාවේ තාක්ෂණික සමාජය මේ ආකාරයේ පද්ධතිගත විශ්ලේෂණය අනුගමනය කරන්නේ නම්, ගෝලීය blockchain ආරක්ෂක ප්රවණතා සමඟ සමාන වේගයෙන් ඉදිරියට යා හැකිය.
අවසානයේ, කේතය කියවීමේ පෙර, “කොයි නීතියද සැබවින්ම පවතින්නේ?” යන ප්රශ්නයක් තබා, ඒ නීතිය උල්ලංඝනය වීමේ අවස්ථාව සොයාගතයුතුයි. මේ ආකාරයෙන්, ඔබේ ආඩිට් ක්රමවේදය තරග ජයග්රහණයක් වඩා, වඩාත් ආරක්ෂිත, විශ්වාසදායක blockchain පද්ධතියක් බවට පත්වේ.