Bitcoin වලට මග පෑදු “Hashcash”

Oct 10, 2021


ඕනෙම දෙයක් ගැන කතාකරන කොට අපි එකේ ඉතිහාසය ගැනත් යම් දුරකට දැනගෙන ඉදීම වටිනවා. Bitcoin ගැන කතාකරන කොටත් එකේ ඉතිහාසය දැනගන්න එක වටින්නෙ, ඒකට පදනම් වෙලා තියන තාක්ෂණය ගැන පැහැදිලි අවබෝදයක් අපට එකෙන් ලබාගන්න පහසු වෙන නිසා. ඉතින් අද අපි කතාකරන්නෙ Bitcoin වගේම තවත්  cryptocurrencies ගොඩක තියන proof-of-work කියන මුලධර්මයේ algorithm එකට හේතුවුණ Hashcash ගැන.

ඇත්තටම අපිට හිතාගන්නවත් බැරි තැනකින් තමයි කතාව පටන් ගන්න වෙන්නේ. ඒ තමයි අපිට කරදරයක් වෙලා තියන spam email. 1992 වර්ෂයේදී Cynthia Dwork සහ Moni Naor කියන පුද්ගලයින් දෙදෙනා “Pricing via Processing or Combatting spam Mail”  කියල පර්යේෂණ පත්‍රයක් මුල්මවරට ඉදිරිපත් කරනවා. Pricing function කියල protocol (ක්‍රියා පටිපාටියක්) මගින් spam email පණිවිඩ අවම කරගත හැකි ක්‍රමවේදයක් ගැන තමා මේකෙන් කියවෙන්නේ. ඒ කියන්නේ email එකක් යවන්නනම් ඒ යවන පුද්ගලයා (ඇත්තටම ඒ යවන පරිගණකය) ඊටපෙර යම්තාක් දුරකට අසීරු ගණනය කිරීමක් වෙහෙසක් දරා කලයුතු වෙනවා. එමගින් මෙම සේවාවන් අනවශ්‍ය ලෙස භාවිතවීම අඩුවන බව තමා ඔවුන් මේ පර්යෙෂණයෙන් පෙන්නලා දීල තිබ්බේ. සරලව කියනවනම් මෙතන වෙන්නේ මෙන්න මේ වගේ දෙයක්. හිතන්න කවුරුහරි spam email එකක් පුද්ගලයින් 1000කට විතර යවන්න ඉන්නවා කියල. අපි පාවිච්චි කරන සරල email ගිණුමකින් ඒ වැඩේ කරන්න පුළුවන් කිසිම කරදරයක් නැතුව. අදාල email එක ලියල යවන්න ඕනේ email address 1000 දුන්නම ලේසියෙන්ම වැඩේ වෙනවා. දැන් හිතන්න මේ email client එක හදල තියෙන්නේ අර කියපු protocol එකට කියල. එතකොට ඕනෙම email එකක් යවන්න කලින් අදාල පරිගණකයට සිද්ද වෙනවා යම් ගණිතමය ගැටළුවක් විසඳන්න. එතකොට අර email 1000 යවන්න ඒ වගේ ගැටලුවක් 1000 වරක් විසඳන්න වෙනවා. මේක spam email යවන කෙනාට ගොඩක් අවාසියි. මොකද එයාගේ processing power එක තමයි පාවිච්චි වෙන්නේ. විදුලිය වගේම කාලය වැය වෙනවා. මේ හේතුව නිසා මේ protocol එක මගින් spam email එන එක අඩු කරගන්න පුලුවන්. මේ ක්‍රමයෙදි Email පණිවිඩය ලැබෙන කෙනාට පුළුවන් ඉතාමත් සුළු පරිගණකමය වියදමකින් එවපු කෙනාගේ අනන්‍යතාවය තහවුරුකරගන්න.

එතනින් අවුරුදු 5කට පස්සේ එංගලන්තයේ cryptographer කෙනෙක් වෙන Adam Back මේවගේම අදහසක් ඉදිරිපත් කරනව, එක ඔහු නම්කරන්නේ Hashcash කියල. ඊටත් අවුරුදු 5කට පස්සේ  ‘Hashcash – A Denial of Service Counter-Measure.’ කියල පර්යේෂණ පත්‍රයක් ලෙස ඔහු තම අදහස විස්තරාත්මකව නිළවශයෙන් ඉදිරිපත් කළා. Hashcash කියන proof-of-work (PoW) system එක spam emails සහ denial-of-service (DoS) attack අවම කරගන්න භාවිතා කරන්නේ කොහොමද කියල තමයි Back මේකෙන් විස්තර කරලා තිබුනේ. මේ Hashcash කියන්නේ cryptographic hash-based PoW algorithm එකක්. එකියන්නේ යම් තෝරාගත් වැඩකොටසක් කරලා ගණනය කිරීමක් කරන්න සිද්දවෙනවා, නමුත් කාර්යක්ෂමව ඒ කරපු වැඩේ තහවුරු කරගන්න පුළුවන්.

ඉතින් මේ කියන Adam Back  ඉදිරිපත් කරපු Hashcash වගේ ක්‍රමවේදයක් භාවිතා කලයුතුබව Satoshi Nakamoto කියන අපි තාමත් නොඅඳුන පුද්ගලයා හෝ පුද්ගල කණ්ඩායම “Bitcoin: A Peer-to-Peer Electronic Cash System” කියන පර්යේෂණ පත්‍රිකාවේ එහෙමත් නැත්තන් Bitcoin White Paper එකේ PoW පරිච්චේදයේ සදහන් කරලා තියනවා.  එසේ වුනත් Bitcoin වල භාවිතාවෙන PoW algorithm එකේ Hashcash වලට වඩා වෙනස් කම් කීපයක්ම දැකගන්න පුළුවන්. Hashcash SHA1 (Secure Hash Algorithm 1) යොදාගත්තත් Bitcoin වල යොදාගන්නේ SHA256 කියන ක්‍රමය. SHA1 කියන්නේ bits 160 ක් භාවිතාකරන hash security algorithm එකක්. Bitcoin ජාලය බිදවැටීමට හෝ වෙනත් ආකාරයකින් හානි සිදුකිරීම අවමකර ආරක්ෂාව වැඩිකිරීමේ උත්සහයක් ලෙස bitcoin වල hash කිරීම දෙවරක් සිදුකල යුතුබව Satoshi තවදුරතත් සදහන් කරලා තියනවා. Hashcash වල ඇල්ගොරිතමයේ දුෂ්කරතාවය (difficulty of the algorithm) සැලසුම් කරලා තියෙන්නේ අඩකින් වැඩිවීමට හෝ අඩුවීමට. එසේනමුත් bitcoin ජාලය ඇතුලේ එය සැලසුම් කරලා තියෙන්නේ පවතින තත්වයන්ට ගතිකව ප්‍රතිචාර දක්වන්න පුළුවන් වෙන විදිහට. එකට හේතුව තමයි, bitcoin blockchain එකේ සාමාන්‍යයෙන් block එකක් සෑදීමේ සාමාන්‍ය වේගය පැයකට බ්ලොක් 6ක් ලෙස පවත්වා ගැනීම මොවුන්ට අවශ්‍ය වී තිබීම. ඒ නිසා තමයි ASIC (Application Specific Integrated Circuits) වගේ බලවත් bitcoin mining උපකරණ නිපදවුනත්  block සැදීමේ වේගය ස්ථිරව පවතින්නේ. ඒ කියන්නේ bitcoin ජාලය තමාවිසින්ම hash algorithm එකේ difficulty එක වරින් වර අඩුවැඩි කරගන්නවා.

කෙසේනමුත් මේ Adam Back ගේ Hashcash හදුන්වාදීම ගැන මතභේද ටිකකුත් තියනවා. Hashcash algorithm එක නිර්මාණය පිළිබඳව ඔහු ඔහුටම ගෞරව කරගත්තත් Crypto community එකේ සමහරු නම් කියන්නේ Cynthia Dwork සහ Moni Naor මුලින්ම නිර්මාණය කල දෙයක් Back විසින් නැවත ලිවීමක් පමණක් කරා කියල. ඒ විතරක් නෙවේ, Bitcoin PoW algorithm එක විදිහට භාවිතා කරන්නේ තමන් නිර්මාණය කල hashcash කියල ඔහු ප්‍රසිද්ධියේ පවසල තියනවා. කෙසේ වෙතත්, මෙය මුළුමනින්ම සත්‍ය නොවේ, මොකද අපි කලින් පැහැදිලි කළ පරිදි, bitcoin ජලයේ PoW algorithm එකේ වෙනස්කම් රැසක්ම තියනවා. මේ ගැන ඔයාල අහල තියන දේවලුත් අපිත් එක්ක බෙදාගන්න, අදහසක් ඉදිරිපත් කරන්න. තවත් ලිපියකින් අලුත් දෙයක් දැනුමට අරගෙන නැවතත් එන්නම්.