Monday, June 4, 2018

ப்ளாக் செயின் – ஓர் எளிய அறிமுகம்

என் மகன் ஐந்து ஆண்டுகளுக்கு முன்பு இணையம் மற்றும் கூகிள் இல்லாமல் எப்படி அந்த காலத்தில் வாழ்ந்தீர்கள் எனக் கேட்டான். என் பேரனோ அல்லது அவன் பேரனோ, தொகுப்புச் சங்கிலி என்ற தொழில்நுட்பம் இல்லாமல் எப்படி இருந்தீர்கள் எனக் கேட்க வாய்ப்பிருக்கிறது.  பஞ்சாப் நேஷனல் வங்கியில் சமீபத்தில் நடந்த மிகப் பெரிய ஊழலில் வங்கிகளே இல்லாத ஒரு காலம் வராதா என ஒரு சிலராவது நினைத்திருக்கலாம். இதற்கு முக்கிய காரணம் நம்பகத்தன்மை இல்லாதது தான். அந்த நம்பத்தன்மையை தொகுப்புச் சங்கிலி என்ற சமீபத்திய தொழில்நுட்பம் சாத்தியப்படுத்தும்.
20 வருடங்களுக்கு முன்பு என்சைக்ளோபீடியா பிரிட்டானிக்கா மூலம்தான் தெரியாத விஷயங்களை அறிந்து கொள்ள முடிந்தது.  இணையம் என்ற தொழில்நுட்பம் அதனை முற்றிலும் மாற்றியது. இணையத்தின் வழியாக இன்று தெரிந்து கொள்ள முடியாத செய்தியே இல்லை எனலாம். அறிவுப்பரப்பு(knowledge) என்பது இணையம் என்ற தொழில் நுட்பத்தால் பொதுவுடமை ஆக்கப்பட்டது என்றே கூறலாம். அதைப் போன்ற ஒரு புரட்சியை செயற்கை நுண்ணறிவு(Artificial Intelligence) மற்றும் தொகுப்புச் சங்கிலி(blockchain) தொழில் நுட்பங்கள் சேர்ந்து கொடுக்க உள்ளன என வல்லுனர்கள் கணிக்கிறார்கள்.
பிட் காயின் (Bit Coin) என்று கேள்விப்பட்டிருப்பீர்கள்.  பிட் காயின் என்பது ஒரு நுண்நாணயம்(Crypto currency). இந்த பிட் காயின்கள் பரிமாற்றத்திற்கு தான் முதல் முதலில் தொகுப்புச் சங்கிலி என்ற தொழில்நுட்பம் பயன் படுத்தப்பட்டது
தொகுப்புச் சங்கிலி என்றால் என்ன என்று பார்ப்போம். வங்கியில் 10,000 ரூபாய் வைப்பீடு செய்கிறீர்கள். இதை ஒரு பரிமாற்றம்(transaction) என்கிறோம். அதில் ஐந்தாயிரத்தை கடன் அட்டை செலவுக்கு செலுத்துகிறீர்கள். இந்த கட்டுரையைப் படித்ததிற்காக நான் ஒரு 50 ருபாய் உங்கள் வங்கிக் கணக்கில் வைப்பீடு செய்கிறேன். இந்தப் பரிமாற்றங்கள் அனைத்தும் பஞ்சாப் நேஷனல் வங்கியில் நடப்பதாக வைத்துக் கொள்வோம். அத்தனை பரிமாற்றங்களையும் பஞ்சாப் நேஷனல் வங்கி தனக்குச் சொந்தமான தகவல் தளத்தில்(database) சேகரித்து வைக்கிறது. இந்த பரிமாற்றங்கள் அடங்கிய ஆவணத்தை பேரேடு(ledger) என்கிறோம். இந்த பரிமாற்றங்களை வங்கியே இல்லாமல் செய்ய முடியுமா? இதற்கான சாத்தியத்தைப் பார்ப்போம்.

மேலே குறிப்பிட்டுள்ள பரிமாற்றங்களில் இருந்து சில கேள்விகள் கேட்கலாம். வங்கியிலிருந்து கடன் அட்டை செலவுக்கு பணம் செலுத்துவதற்கு பதிலாக எனக்கும் - கடன் அட்டை நிறுவனத்திற்கும் இடையேயான பரிமாற்றமாக செய்ய முடியுமா? அதே போல் நான் அனுப்பும் 50 ரூபாய் பரிமாற்றமும் உங்களுக்கும் - எனக்கும் இடையேயான பரிமாற்றத்தையும் வங்கியே இல்லாமல் செய்ய முடியுமா? இதைப் போன்ற இடைத்தரகர் இல்லாத ஒத்தைக்கு ஒத்தை நடக்கும் பரிமாற்றத்தை நிகரிடைப் பரிமாற்றம்(peer-peer transaction) என்கிறோம். இதற்கு என்ன தேவை? 

       1. பஞ்சாப் நேஷனல் வங்கிக்கே சொந்தமான தகவல் தளத்திற்கு பதிலாக பொதுவான தகவல் தளம் 
       2. பஞ்சாப் நேஷனல் வங்கி தன் கணினிகளை நிர்வகிக்கும் பிணையத்திற்குப்  (network) பதிலாக நிகரிடைப் பிணையம்(peer-peer network) 
      3.  பஞ்சாப் நேஷனல் வங்கிக்கே சொந்தமான பேரேட்டிற்கு பதிலாக பரவலாக்கப்பட்ட(Decentralized) பேரேடு
     4. இந்தப் பேரேடு சுலபமாக அணுகக்கூடியதாவும்,திறந்த ஒன்றாகவும் இருக்க வேண்டும்.
     5. இந்தத் தளத்தில் நடக்கும் பரிமாற்றங்கள் மறையீட்டாக்கம் (Cryptography) செயல்படுத்தப்பட்டதாக இருக்க வேண்டும்.

இந்தத் தேவைகளை சாத்தியப்படுத்தக்கூடியது தான் தொகுப்புச் சங்கிலி தொழில்நுட்பம். 

நிகரிடைப் பரிமாற்றத்திற்கு என் வாழ்க்கையிலிருந்து ஓர் உதாரணம் பார்க்கலாம். நான் சிறுவனாக இருக்கும் போது கோடை விடுமுறைகளில் என் தாய் வழி பாட்டி வீட்டிற்கு செல்வேன்(ஈரோடு அருகில் இருக்கும் தாராபுரம்). என் பாட்டிக்கு எழுதப் படிக்கத் தெரியாது.பால் விற்க வரும் அந்த அம்மாவிற்கும் எழுதப் படிக்கத் தெரியாது.ஆழாக்கு கணக்கில் பால் விற்கப்படும். மாத முதல் நாள் முந்தைய மாதத்திற்கான பால் விற்பனைக்குரிய பணம் கொடுக்கப்படும். அவர்கள் கணக்கு வைத்துக் கொள்ளும் முறை இன்று நினைத்தாலும் ஓர் இனம்புரியாத மகிழ்ச்சியைக் கொடுக்கிறது. அந்த காலத்தில் வீட்டு வாசலில் தண்ணீர் தெளித்து, கோலம் போட்டு செம்மண் பூசுவார்கள். அந்த கோலப் பொடி மற்றும் செம்மண் திண்ணையில் மாடத்தில் இருக்கும். அந்த செம்மண்ணை உபயோகித்து திண்ணை சுவற்றில் புள்ளி வைப்பார்கள்.அந்த புள்ளிகளில் சிறு வித்தியாசம் இருந்ததாக நினைவு.அந்த புள்ளிகளை என் பாட்டியோ அல்லது பால் விற்க வரும் பெண்மணியோ செய்வார்கள். அந்தளவு நம்பிக்கை.அந்த புள்ளிகள் தான் அவர்களின் பொதுவான பேரேடு.புள்ளிகள் மூலமாக மறையீட்டாக்கமும் இங்கு செயல்படுத்தப்படுகிறது. முதல் தேதி அந்த புள்ளிகளை வைத்து கணக்குப் பார்த்து பணப் பரிமாற்றம் நடக்கும். இந்தப்  பரிமாற்றத்தை வெவ்வேறு நாட்டில் இருக்கும் இருவருக்கிடையே ஒரு பொதுவான பேரேட்டைக் கொண்டு உலக அளவில் கணினிகள் பிணைக்கப்பட்ட பிணைத்தின் மூலமாக செய்ய முடிவதாக கற்பனை செய்ய முடிந்தால் தொகுப்புச் சங்கிலி தொழில்நுட்பத்தின் பெரும் பகுதி புரிந்து விடும்.
எனவே தொகுப்புச் சங்கிலி எனில் உலக அளவில் நிகரிடைப் பிணையம்(peer-peer network)மூலம் நிகரிடைப் பரிமாற்றமாக(peer-peer transaction) பரவலாக்கப்பட்ட(Decentralized) பேரேடாகச் சேகரிக்கும் தொழில்நுட்பத்தை சாத்தியப்படுத்துவது எனலாம். இந்தப் பேரேட்டை எல்லோராலும் அணுக முடியும். தொகுப்புச் சங்கிலியின் எல்லா பரிமாற்றங்களும் பெயரில்லாத அனானிகளாகத் தான் இருக்கும். எனவே இந்தப் பேரேடு திறந்த, பொதுவான மற்றும் அனானி வடிவமைப்புக் கொண்டது. அனைத்துப் பரிமாற்றங்களையும் முழுவதும் பரவலாக்கப்பட்ட முறையில் சேகரித்து வைப்பதே இந்த பேரேட்டின் பொறுப்பாகும்.
அதாவது பிணையத்தில்(network) இருக்கும் கணினிகள் உலகத்தில் பல இடங்களில் இருக்கும். உதாரணமாக சீனா, அமெரிக்கா, ஆஸ்திரேலியா, பிரான்ஸ் , ரஷ்யா என்று பல நாடுகளில் பிணையத்தில் உள்ள கணினிகள் இருக்கும். பரவலாக்கப்பட்ட பேரேட்டின் பிரதிகள் பிணையத்தின் எல்லா கணினிகளிலும் இருக்கும், பஞ்சாப் நேஷனல் வங்கியின் பரவலாக்கப்படாத மையப்பாடுற்ற தகவல் தளம் போலில்லாமல் தொகுப்புச் சங்கிலி   ஒரு பொதுவான தகவல் தளமாகும்.
தொகுப்புச் சங்கிலி இயங்கும் முறையில் மறையீட்டியல்(cryptography)முக்கியப் பங்காற்றுகிறது. சிக்கலான கணிதம் தான் இந்த மறையீட்டியலின் அடிப்படையாகும். குறிப்பாக நீள்வட்ட வளைவு மறையீட்டியல்(elliptic curve Cryptography) பயன்படுத்தப்படுகிறது. அந்தரங்கத் திறவி(பிரைவேட் (private key) மற்றும் பொதுத் திறவி(public key) என்ற இரண்டு திறவிகள் மூலம் தொகுப்புச் சங்கிலி மறையீட்டியல் செயல்படுத்தப்படுகிறது.
தொகுப்புச் சங்கிலி எப்படி செயல்படுகிறது மற்றும் மறையீட்டியல் அதில் எப்படி பயன்படுத்தப் படுகிறது என்றும் பார்ப்போம். ஆனந்திக்கும் கந்தனுக்கும் இடையே முதல் பரிமாற்றம் நிகழ்கிறது. இதில் ரூபாய்க்கு பதிலாக, பிட் காயின் நுண்நாணயப் பரிமாற்றம் நடக்கிறது என வைத்துக் கொள்வோம். ஆனந்தி 10 பிட் காயினை கந்தனுக்கு அனுப்புகிறார். ஆனந்தியிடம் அந்தரங்கத் திறவியும், கந்தனிடம் பொதுத் திறவியும் இருக்கும். ஆனந்தி அந்தரங்கத் திறவியையும் கந்தனுக்கு அனுப்பும் செய்தியையும் சேர்த்து மின்னொப்பம்(digital signature) ஒன்றை உருவாக்கி, கந்தனுக்கு அனுப்பும் பரிமாற்றத்துடன் இணைத்து விடுவார். இந்த பரிமாற்றமானது பிணையத்திலுள்ள எல்லா கணினிகளுக்கும் ஒலிபரப்பு(broadcast) செய்யப்படும். பொதுத்திறவி, ஆனந்தி அனுப்பிய செய்தி மற்றும் மின்னொப்பத்தைக் கொண்டு இந்தப் பரிமாற்றம் ஆனந்தி செய்தது தான் என பிணையக் கணினிகள் உறுதி செய்து கொள்ளும்.
மேலும் தொகுப்புச் சங்கிலியின் ஒவ்வொரு பரிமாற்றத்திலும் தலைப்புக் குறிப்பு(header) இருக்கும். கந்தனுக்கு அனுப்பும் 10 பிட் காயின் ஆனந்திக்கு எங்கிருந்து கிடைக்கப் பெற்றது என்பதற்கான கலவையாக்க மதிப்பு(hash value) தலைப்புக் குறிப்பில் இடம் பெறும். இந்தப் பரிமாற்றத்தை தொகுப்புச் சங்கிலியின் முதல் கண்ணியாக சேர்க்கும். அடுத்து கந்தன் 10 பிட் காயின் இளவரிசிக்கு அனுப்புகிறார். இந்தப் பரிமாற்றத்தின் தலைப்புக் குறிப்பில் ஆனந்தி கந்தனுக்கு அனுப்பிய முந்திய பரிமாற்றத்தின் கலவையாக்க மதிப்பு இருக்கும். பிணையக் கணினிகள் இந்த முந்திய பரிமாற்றத்தின் கலவையாக்க மதிப்பை சரிபார்த்து உறுதி செய்து கொண்டு தான் இந்தப் பரிமாற்றத்தை அடுத்த கண்ணியாக தொகுப்புச் சங்கிலியில் சேர்க்கும்.

மேலும் பரிமாற்றங்களை தொகுப்புச் சங்கிலியில் சேர்ப்பதற்கு முன் பிணையக் கணினிகள் பணிச்சான்று(proof of work) மற்றும் கருத்திசைவு(consensus) என இரண்டு முக்கியமான செயல்களை மேற்கொள்ளும். தொகுப்புச் சங்கிலியில் பரிமாற்றம் மேற்கொள்ளும் போது பரிமாற்றத்துடன் ஒரு புதிரும் அனுப்பப்படும். பிணையத்திலுள்ள அனைத்து கணினிகளும் அந்த புதிருக்கு தீர்வு காண போட்டி போடும். அந்த புதிருக்கு எந்த கணினி முதலில் தீர்வை கண்டறிகிறதோ அந்த கணினி தீர்வை பிணையத்திலுள்ள மற்ற கணினிகளுடன் பகிர்ந்து கொள்ளும். பிணையத்திலுள்ள அதிகபட்ச கணினிகள் அந்த தீர்வை ஏற்றுக் கொண்டால் குறிப்பிட்ட பரிமாற்றம் தொகுப்புச் சங்கிலியில் சேர்க்கப்படும். தீர்வு கண்டறியும் கணினிக்கு வெகுமதி அளிக்கப்படும். இதைத்தான் பணிச்சான்று என்றும், அதிகபட்ச கணினிகள் அந்தத் தீர்வை ஏற்றுக் கொள்வதை கருத்திசைவு என்றும் கூறுகிறோம்.
அடுத்தடுத்து நடக்கும் பரிமாற்றங்களை இதே முறையில் கண்ணிகளாக தொகுப்புச் சங்கிலியில் சேர்க்கும். ஒரு முறை தொகுப்புச் சங்கிலியில் சேர்க்கப்பட்ட பரிமாற்றத்தில் எந்த மாற்றமும் செய்ய முடியாது. அப்படி செய்ய முயன்றாலும் அதை சுலபமாகக் கண்டறிய முடியும்.
மறையீட்டியலின் திறனை முழுதும் பயன்படுத்தி தொகுப்புச் சங்கிலி அனைத்து பரிமாற்றங்களையும் பாதுகாப்பாக வைத்துக் கொள்ள முடிகிறது. தொகுப்புச் சங்கிலி மிக மிக பாதுகாப்பானது. இது கட்டாயம் மோசடி மற்றும் கையாடலைக் கணிசமாகக் குறைக்கும். தரவுகளில் திருத்தம் செய்வது மிகக் கடினம். மேலும் எல்லா பரிமாற்றங்களும் ஒரே பேரேட்டில் சேமிக்கப்படுகிறது. பரிமாற்றங்கள் இடைத் தரகர்கள் மற்றும் மூன்றாம் தரப்புகளின் தேவையை முழுவதும் இல்லாமல் செய்துவிடும்.
தொகுப்புச் சங்கிலி தொழில்நுட்பம் இன்றுள்ள தொழில்களில் பல மாற்றங்களை ஏற்படுத்தும். உதாரணமாக நிதித் துறை, நீதித் துறை, கல்வித்துறை, இசைத்துறை என பல துறைகளில் மாற்றமும் முன்னேற்றமும் வருவதைத் தடுக்க முடியாது.
உதாரணத்திற்கு இசைத்துறையை எடுத்துக் கொள்வோம். ஒரு இசை அமைப்பாளர் தான் இசை அமைத்த பாடல்களை வெளியிடும் உரிமையை ஒரு நிறுவனத்துடன் ஒப்பந்தம் செய்கிறார். அதில் இசை அமைப்பாளர், பாடகர் மற்றும் பாடலாசிரியர் என உரிமத்தொகை கொடுப்பதற்கான ஒப்பந்தமும் அதில் அடங்கி இருப்பதாக வைத்துக் கொள்வோம். இரண்டு ஆண்டுகள் உரிமைத் தொகை கொடுத்த நிறுவனம் அதற்குப் பின் சரியாக பணம் கொடுக்காமல் ஏமாற்றலாம். பிறகு சட்ட நடவடிக்கை எடுத்து உரிமையை நிலை நாட்ட வேண்டியதாகும்.
இதற்கு பதிலாக Etherum என்ற இயங்குதளத்தைப் பயன்படுத்தி ஸ்மார்ட் கான்ட்ராக்ட்(துடிஒப்பந்தம்) செய்யலாம். Etherum என்பது துடிஒப்பந்தம் செயல்படுத்த முடியக் கூடிய திறந்த, பொதுவான, பரவலாக்கப்பட்ட தொகுப்புச் சங்கிலி அடிப்படையாகக் கொண்ட பகிர்வுக் கணிப்பணி(distributed computing) மற்றும் இயங்குதளமாகும்(operating system)
துடிஒப்பந்தம் என்பதைத் தொழில் நுட்ப ஒப்பந்தம் எனலாம். இந்த ஒப்பந்தப்படி விற்பனையின் போதே இசை அமைப்பாளர், பாடகர் மற்றும் பாட்டாசிரியர் உரிமத்தொகையை அவரவர்கள் கணக்கில் செலுத்திவிடுமாறு செய்து விடலாம். இதே போல் பதிப்புத் துறையில் துடிஒப்பந்தத்தின் மூலம் புத்தகம் விற்கும் போதே எழுத்தாளருக்கான பங்கு சென்றடையுமாறு செய்யலாம்.
இந்தத் தொழில்நுட்பம் முழுமையாக முதிர்ச்சியடைய இன்னும் சில காலமாகும். இன்று பரிமாற்றங்களைச் சரிபார்த்து அதை சேமிக்க எடுத்துக் கொள்ளும் நேரம் மிக அதிகமாக உள்ளது. விசா கிட்டத்தட்ட ஒரு நொடிக்கு 2000 பரிமாற்றங்களை கையாளமுடிகிறது. பிட் காயின் பயன்படுத்தும் தொகுப்புச் சங்கிலி நொடிக்கு 7 பரிமாற்றங்களைத் தான் கையாளுகிறது. Etherum பயன்படுத்தும் தொகுப்புச் சங்கிலி நொடிக்கு 20 பரிமாற்றங்களை கையாளுகிறது. பரிமாற்ற நேரத்தைக் குறைக்கும், பரிமாற்றங்களை அதிகரிக்கும் முயற்சியில் பல ஆராய்ச்சிகள் இன்று நடைபெற்று வருகின்றன
1990 ல் கடன் அட்டையை இணையம் மூலமாக பாதுகாப்பாக பயன்படுத்துவது முடியாததாக இருந்தது. இன்று அது ஒரு சாதாரண நடைமுறை ஆகிவிட்டது. அதே போல் தொகுப்புச் சங்கிலி தொழில்நுட்பமும் பரவலாக பயன்பாட்டிற்கு விரைவில் வந்துவிடும் என அனுமானிக்கிறேன்.
~oOo~

கட்டுரையில் பயன்படுத்தப்பட்ட கலைச்சொற்கள்

அறிவுப்பரப்பு – knowledge
செயற்கை நுண்ணறிவு – Artificial Intelligence
வைப்பீடு – deposit
தகவல் தளம் – Database
பேரேடு – Ledger
நிகரிடைப் பிணையம் – peer-peer network
நிகரிடைப் பரிமாற்றமாக – peer-peer transaction
பரவலாக்கப்பட்ட – Decentralized
நுண்நாணயம் – Crypto currency
மறையீட்டியல் – cryptography
நீள்வட்ட வளைவு மறையீட்டியல் – elliptic curve Cyrptography
அந்தரங்கத் திறவி – Private key
பொதுத் திறவி – Public key
மின்னொப்பம் – digital signature
ஒலிபரப்பு – broadcast
கலவையாக்கல் – hashing
பணிச்சான்று – proof of work
கருத்திசைவு – consensus
உரிமத்தொகை – royalty
துடிஒப்பந்தம் – smart contract
பகிர்வுக் கணிப்பணி – distributed computing
இயங்குதளம் – operating system

ப்ளாக் செயின் – ஓர் எளிய அறிமுகம்

என் மகன் ஐந்து ஆண்டுகளுக்கு முன்பு இணையம் மற்றும் கூகிள் இல்லாமல் எப்படி அந்த காலத்தில் வாழ்ந்தீர்கள் எனக் கேட்டான். என் பேரனோ அல்லது அவன்...