ഇപ്പോൾ ക്രിപ്റ്റോ കറന്സിയെ കുറിച്ചും ബിറ്റ് കോയിനെ കുറിച്ചും ബ്ളോക് ചെയിനിനെ പറ്റിയുമൊക്കെ പേരുകൾ കൊണ്ടെങ്കിലും കേൾക്കാത്തവർ ആയി ആരുമില്ല. എന്നാൽ സാധാരണ ജനങ്ങൾക്കു ഈവിധ കാര്യങ്ങൾ ഒന്നും അറിയില്ല എന്നത് ഒരു സത്യമാണ്. ലളിതമായി അക്കാര്യങ്ങൾ വിശദീകരിക്കുന്ന സുജിത് കുമാറിന്റെ പോസ്റ്റ് വായിക്കാം. നാലഞ്ച് ഭാഗങ്ങളായി എഴുതിയ പോസ്റ്റിന്റെ നാലാം ഭാഗം

ബിറ്റ് കോയിൻ ഒരു വികേന്ദ്രീകൃത ശൃംഖലയാണെന്നും ആ ശൃംഖലയിലെ അംഗങ്ങൾ പരസ്പരം നടത്തുന്ന ഇടപാടുകൾ ഒരു തുറന്ന പുസ്തകമായ – എല്ലാവരുടേയും കയ്യിൽ പകർപ്പുകളുള്ള ബ്ലോക് ചെയിൻ എന്ന രജിസ്റ്ററിൽ രേഖപ്പെടുത്തുകയും ചെയ്യുന്ന മൈനിംഗ് എന്ന മത്സരാത്മകമായ പ്രക്രിയയുടെ പ്രതിഫലമായി നിശ്ചിത എണ്ണം പുതിയ ബിറ്റ് കോയിനുകൾ ശൃംഖലയിലേക്ക് ചേർക്കപ്പെടുകയും ചെയ്യുന്നു എന്ന് ഒറ്റ വാചകത്തിൽ പറയാം . കഴിഞ്ഞ മൂന്നു ഭാഗങ്ങളായിട്ട പോസ്റ്റുകളിൽ നിന്നും ഏകദേശ ധാരണെയെങ്കിലും അതിനെക്കുറിച്ച് കിട്ടിയിട്ടുണ്ടാകുമെന്ന് കരുതുന്നു.
ബിറ്റ് കോയിനെക്കുറിച്ച് പറയുമ്പോൾ ഒട്ടും ദഹിക്കാത്ത രണ്ടു വിഷയങ്ങളാണ് ഒന്ന് തിരുത്താനാകാത്ത- വികേന്ദ്രികൃതമായ ബ്ലോക് ചെയിൻ എന്ന കണക്ക് പുസ്തകം . രണ്ട് ഈ കണക്ക് പുസ്തകത്തിൽ ഇടപാടുകൾ പരിശോധിച്ച് പുതിയ കണക്കുകൾ എഴുതിച്ചേർക്കുന്ന മൈനിംഗ് എന്ന പ്രക്രിയ. ഇത് രണ്ടും മനസ്സിലാക്കുകയും മനസ്സിലാക്കിപ്പിക്കുകയും അത്ര എളുപ്പമല്ല. എങ്കിലും ഒരു ശ്രമം നടത്താം .
ആർക്കും തിരുത്താനാകാത്ത ഒരു രജിസ്റ്റർ- അത് കേൾക്കുമ്പോൾ തന്നെ മനസ്സിൽ ഒരു സംശയം തോന്നും . ഇതെങ്ങിനെ സാദ്ധ്യമാകും ? തിരുത്താനാകാത്തതായി ഈ ലോകത്ത് ഒന്നുമില്ല. പക്ഷേ തിരുത്തിയത് വളരെ പെട്ടന്ന് ആർക്കും മനസ്സിലാക്കാൻ കഴിഞ്ഞാൽ ആരെങ്കിലും അത്തരം ഒരു തിരുത്തലിനു മുതിരുമോ? ഒരു ഫുട്ബാൾ കളി നടന്നുകൊണ്ടിരിക്കുന്നു. കാണികളെല്ലാം കളി കണ്ടുകൊണ്ടിരിക്കുന്നു. കളി മുഴുവനാക്കി ഒരു ടീം 1-0 എന്ന സ്കോറിനു വിജയിച്ചു. ആ കളിയുടെ സ്കോർ ആർക്കെങ്കിലും തിരുത്താനാകുമോ? എന്തുകൊണ്ടില്ല? അവിടെ സ്കോർ പൊതുവായി അംഗീകരിക്കപ്പെട്ട ഒന്നാണ്. സ്കോർ തിരുത്തണമെങ്കിൽ പൊതു സമ്മതത്തോടെ കളി വീണ്ടും കളിക്കേണ്ടി വരും. ബിറ്റ് കോയിൻ എന്ന വികേന്ദ്രീകൃത പൊതു കണക്ക് പുസ്തകത്തിലെ ഓരോ ഇടപാടുകളും ഇതുപോലെ ബിറ്റ് കോയിൻ സിസ്റ്റത്തിലെ അംഗങ്ങൾ മനസ്സിലാക്കി ശരിയാണോ എന്ന് പരിശോധിച്ച് ഉറപ്പ് വരുത്തി രേഖപ്പെടുത്തിയവയാണ്. അപ്പോഴും ഒരു സംശയമുണ്ടാകും ഇത് ചെയ്യുന്നത് മനുഷ്യരായ അംഗങ്ങളാണോ എന്ന്. അല്ല- ബിറ്റ് കോയിൻ സോഫ്റ്റ്വെയർ കോഡുകൾ ആണ് ഓട്ടോമാറ്റിക് ആയി ഈ ഉറപ്പ് വരുത്തൽ പണി ചെയ്യുന്നത്. കണക്കുകൾ പുസ്തകത്തിൽ ചേർക്കുന്ന മൈനിംഗ് എന്ന പ്രക്രിയ അതി സങ്കീർണ്ണമായതും വലിയ കമ്പ്യൂട്ടർ വിഭവ ശേഷി ആവശ്യമുള്ളതാണെങ്കിലും കണക്ക് ശരിയാണോ എന്ന് പരിശോധിച്ച് ശരി തെറ്റ് അഭിപ്രായം രേഖപ്പെടുത്തുക എന്നത് മൈക്രോ സെക്കന്റുകൾ പോലും ആവശ്യമില്ലാത്ത ഒന്നാണ്. ഇത്തരത്തിൽ ബിറ്റ് കോയിൻ ശ്രുംഖലയിലെ നോഡുകൾ ഒരു ഇടപാട് ശരിയാണെന്ന് കൂട്ടമായി അംഗീകരിച്ചാൽ മാത്രമേ അത് കണക്ക് പുസ്തകത്തിൽ ചേർക്കപ്പെടുകയുള്ളൂ. ഇനി ബ്ലോക് ചെയിൻ തിരുത്താനാകാത്ത കണക്കു പുസ്തകമായി നിലകൊള്ളുന്നതെങ്ങിനെ എന്നും തിരുത്തലുകൾക്കായി ആരെങ്കിലും ശ്രമിച്ചാൽ വളരെ പെട്ടന്ന് അത് മനസ്സിലാക്കാൻ കഴിയുന്നതെങ്ങിനെ എന്നും ഒരു ഉദാഹരണത്തിലൂടെ മനസ്സിലാക്കിത്തരാൻ ശ്രമിക്കാം.
എത്ര വലിയ ഡാറ്റയേയും നിശ്ചിത നീളത്തിലുള്ള ഒരു പ്രത്യേക വാക്ക് ആക്കി മാറ്റുന്ന വിദ്യയാണ് ക്രിപ്റ്റോഗ്രാഫിക് ഹാഷിംഗ്. മനസ്സിലായില്ലെങ്കിൽ ഒന്നു രണ്ട് ഉദാഹരണങ്ങൾ പറയാം അപ്പോൾ മനസ്സിലാകും.
sujith എന്ന വാക്കിന്റെ ഹാഷ് ആണ് 5de9a49f8302435f66f4ae51df10aef4c1ea7544
ഇനി ഞാൻ ആദ്യ അക്ഷരം മാറ്റി Sujith എന്നാക്കുന്നു. അതിന്റെ ഹാഷ് പരിശോധിച്ച് നോക്കാം b0fc9cafa3b2cc16a754841adb4914020ce6db20
ഇനി പേരിന്റെ അവസാനം ഒരു കുത്ത് ഇട്ട് sujith.എന്നാക്കുന്നു അതിന്റെ ഹാഷ് എന്താകുമെന്ന് നോക്കാം 8bc8ee67a48615caba594bb52060bec7bbcf8ac6 ഇതെല്ലാം കണ്ടിട്ട് എന്ത് മനസ്സിലായി? ചെറിയ ഒരു വ്യത്യാസം കൊണ്ട് തന്നെ ഹാഷ് ചെയ്ത് കിട്ടിയ വാക്ക് പൂർണ്ണമായും മാറ്റപ്പെട്ടിരിക്കുന്നു. sujith,Sujith, sujith. ഇവ തമ്മിൽ വളരെ ചെറിയ വ്യത്യാസങ്ങളല്ലേ ഉള്ളൂ പക്ഷേ ഹാഷ് നോക്കുക. മൂന്നും തമ്മിൽ ഒറ്റ നോട്ടത്തിൽ തന്നെ തിരിച്ചറിയാം. ഈ ഉദാഹരണത്തിൽ സൂചിപ്പിച്ചിരിക്കുന്ന ഹാഷ് ഉണ്ടാക്കിയിരിക്കുന്നത് SHA1 എന്ന അൽഗോരിതം ഉപയോഗിച്ചാണ്. MD5, SHA1, SHA2 തുടങ്ങി ഇതിനായി പല സാങ്കേതിക വിദ്യകൾ വേറെയും ഉണ്ട്. ഓഫ് ലൈനായും ഓൺലൈനായും നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ ഭാഗമായുമെല്ലാം ഹാഷിംഗ് സോഫ്റ്റ്വെയറുകൾ ഉപയോഗിക്കുന്നുണ്ട്. എന്റെ പേര് Sujith Kumar അതിന്റെ SHA1 ഹാഷ് ഫംഗ്ഷൻ 78282d192f8d94bf471afa6283b4c835c593d1bd ഇതാണ് എന്നു കൂടി പറയുകയാണെങ്കിൽ ലോകത്തെവിടെയുമുള്ള ആർക്കും വളരെ എളുപ്പത്തിൽ എന്റെ പേര് ശരിയായിട്ട് തന്നെയാണോ എഴുതിയിരിക്കുന്നത് എന്ന് അതിന്റെ SHA1 ഹാഷ് മാത്രം പരിശോധിച്ചാൽ മനസ്സിലാക്കാൻ കഴിയും. അതായത് ഒരു വാക്കിന്റെ ഫിംഗർ പ്രിന്റ് ആണ് അതിന്റെ ഹാഷ് എന്ന് പറയാം. ഇത്തരത്തിലുള്ള് ഹാഷിംഗിന് പല ഉപയോഗങ്ങളുണ്ട്. ബിറ്റ് കോയിൻ ബ്ലോക് ചെയിനെക്കുറിച്ച് മനസ്സിലാക്കുന്ന വഴിക്ക് ആ കാര്യങ്ങൾ കൂടി കുറച്ച് മനസ്സിലാക്കാൻ ശ്രമിക്കാം. ഹാഷ് ഏത് സാങ്കേതിക വിദ്യ ഉപയോഗിച്ചാലും അതിനു ചില പൊതുവായ പ്രത്യേകതകളുണ്ട്. അവ;:
1. നിശ്ചിത വലിപ്പം ( MD5 ആണെങ്കിൽ 32, SHA1 ആണെങ്കിൽ 40, SHA256 ആണെങ്കിൽ 64).
2. ഒരേ ഡാറ്റ എപ്പോഴും ഒരേ ഹാഷ് തന്നെയായിരിക്കും നൽകുക.
3. ഡാറ്റയിലുള്ള വളരെ ചെറിയ വ്യത്യാസം പോലും മൊത്തം മാറി മറിഞ്ഞ ഹാഷ് ആയിരിക്കും നൽകുക.
4. ഹാഷിനെ ഒരിക്കലും ഡാറ്റ ആക്കി മാറ്റാനാകില്ല.
5. വളരെ എളുപ്പത്തിൽ ഏതൊരു ഡാറ്റയുടേയും ഹാഷ് വിവിധ സാങ്കേതിക വിദ്യകൾ ഉപയോഗിച്ച് ക്ഷണ നേരം കൊണ്ട് ഉണ്ടാക്കിയെടുക്കാനും പരിശോധിക്കാനുമാകും.
നിങ്ങളുടെ ഗൂഗിൾ , ഫേസ് ബുക്ക്, ട്വിറ്റർ, യാഹൂ അക്കൗണ്ടുകളിലൊക്കെ പാസ് വേഡുകൾ എങ്ങിനെയാണ് സൂക്ഷിച്ചു വച്ചിരിക്കുന്നത് എന്നറിയാമോ ? abcd1234 എന്ന ഒരു പാസ്വേഡ് ഗൂഗിളിന്റെ ഡാറ്റാബേസിൽ നിങ്ങളുടെ യൂസർ നേമിന്റെ കൂടെ പാസ് വേഡ് കോളത്തിൽ അതേ പോലെ അല്ല സൂക്ഷിച്ചു വച്ചിരിക്കുന്നത്. മറിച്ച് ഈ പാസ്വേഡിന്റെ ഹാഷ് രൂപത്തിൽ ആയിരിക്കും സൂക്ഷിച്ചു വച്ചിരിക്കുക. നിങ്ങൾ ലോഗിൻ ചെയ്യാൻ പാസ് വേഡ് നൽകുമ്പോൾ ഒരു സ്ക്രിപ്റ്റ് ആദ്യം നിങ്ങൾ നൽകിയ പാസ് വേഡിനെ ഹാഷ് ചെയ്ത് ഡാറ്റാബേസിൽ സൂക്ഷിച്ചിരിക്കുന്ന ഹാഷുമായി താരതമ്യപ്പെടുത്തി നോക്കി ശരിയാണെങ്കിൽ ലോഗിൻ സാദ്ധ്യമാക്കുന്നു. ഇതുകൊണ്ട് പല ഗുണങ്ങളുമുണ്ട്. ഒന്ന് എന്തെങ്കിലും കാരണ വശാൽ ഡാറ്റാബേസിൽ ആർക്കെങ്കിലും കയ്യാങ്കളിക്ക് അവസരം ലഭിച്ചാലും പാസ് വേഡ് എന്താണെന്ന് കണ്ടുപിടിക്കാനാകില്ല. ഈ കമ്പനികളിൽ ജോലി ചെയ്യുന്ന ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേട്ടർമ്മാർക്ക് വരെ നിങ്ങൾ എന്ത് പാസ് വേഡ്ആണ് ഉപയോഗിക്കുന്നതെന്ന് കണ്ടുപിടീക്കാനാകില്ല.
അടുത്ത ഒരു ഉപയോഗം ഡാറ്റയുടെ വിശ്വസനീയത ഉറപ്പു വരുത്താനായും ഹാഷുകൾ ഉപയോഗിക്കാം. അതായത് ഞാൻ ഒരു ഫയൽ ഒരാൾക്ക് അയയ്ക്കുന്നു. ആ ഫയൽ പൂർണ്ണമായും യാതൊരു വ്യത്യാസങ്ങളുമില്ലാതെയാണ് സ്വീകരിക്കപ്പെടുന്നത് എന്ന് എങ്ങിനെയാണുറപ്പ് വരുത്തുക? അതിനായി പ്രസ്തുത ഫയലിന്റ ഒരു ഹാഷ് ഉണ്ടാക്കി അതിന്റെ കൂടി പരിശോധിക്കാനായി അയക്കാവുന്നതാണ്. ഇതിനായി നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ പ്രത്യേകിച്ച് സോഫ്റ്റ്വെയറുകളൊന്നും ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതില്ല.
ഉദാഹരണത്തിന് ഞാനൊരു ഡോക്യുമെന്റ് ഫയൽ ഡസ്ക്ടോപ്പിൽ ഉണ്ടാക്കി വച്ചിരിക്കുന്നു. അതിനെ സുഹൃത്തിന് അയച്ചു കൊടുക്കണം. പ്രസ്തുത ഫയലിന്റെ ഹാഷ് എങ്ങിനെ ഉണ്ടാക്കാമെന്ന് നോക്കാം. ആദ്യം ഫയൽ ഡസ്ൿടോപ്പിലേക്ക് പകർത്തുക. അതിനു ശേഷം വിൻഡോസ് ആണെങ്കിൽ കമാൻഡ് വിൻഡോയിൽ certutil -hashfile <നിങ്ങളുടെ ഫയലിന്റെ പേര്> md5 എന്നോ certutil -hashfile <നിങ്ങളുടെ ഫയലിന്റെ പേര്> SHA256 എന്നോ ഒക്കെ ടൈപ്പ് ചെയ്താൽ ആ ഫയലിന്റെ ഹാഷ് കിട്ടും . ലിനക്സ് ആണെങ്കിൽ md5sum <ഫയലിന്റെ പേര്> അല്ലെങ്കിൽ sha256sum <ഫയലിന്റെ പേര്> എന്ന കമാഡും ഉപയോഗിക്കാം. ഇങ്ങനെ ലഭിക്കുന്ന ഹാഷ് കൂടി ഫയലിന്റെ കൂടെ അയച്ച് കൊടുത്താൽ ലഭിക്കുന്ന ആൾക്ക് ഇതുപോലെ പരിശോധിച്ച് ഹാഷുമായി ഒത്തു നോക്കി ലഭിച്ച ഫയലിൽ കടുകിട വ്യത്യാസമില്ല എന്ന് ഉറപ്പ് വരുത്താനാകും. പരീക്ഷണ കുതുകികൾക്ക് സംശയമുണ്ടെങ്കിൽ പ്രസ്തുത ഫയലിൽ ഒരു കുത്തോ കോമയോ ഇടുകയോ ചെയ്ത് വീണ്ടും ഹാഷ് ഒന്ന് പരിശോധിച്ച് നോക്കുക. ലഭിക്കുന്ന ഹാഷ് ആദ്യത്തേതിൽ നിന്നും പൂർണ്ണമായും വ്യത്യസ്തമായിരിക്കും.
ഇത്രയും രാമായണം എഴുതേണ്ടി വന്നത് ബ്ലോക് ചെയിനിന്റെ അടിസ്ഥാനമായ ഹാഷിംഗിനെക്കുറിച്ച് ഒരു ഏകദേശ ധാരണ കിട്ടാനാണ്. വായിച്ച് മനസ്സിലാക്കി സ്വയം പരീക്ഷിച്ച് സംത്രുപ്തരായെങ്കിൽ നമുക്ക് ബ്ലോക് ചെയിൻ എന്ന തിരുത്താനാകാത്ത – തിരുത്തിയാൽ വളരെ എളുപ്പം പിടിക്കപ്പെടുന്ന – പൊതു കണക്ക് പുസ്തകത്തിലേക്ക് കടക്കാം . അതിനോടൊപ്പം മൈനിംഗ് എന്ന കുരുക്കഴിക്കൽ വിദ്യയിലേക്കും.
ആദ്യ ഭാഗം > എന്താണ് ബിറ്റ് കോയിൻ ?
രണ്ടാം ഭാഗം > ബിറ്റ് കോയിൻ ഉണ്ടാകുന്നതെങ്ങിനെ ?
മൂന്നാം ഭാഗം > ബിറ്റ് കോയിൻ ഇടപാട് എങ്ങിനെ നടക്കുന്നു ?