[go: up one dir, main page]

பிரதான உள்ளடக்கத்திற்குச் செல்

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

எத்தேரியம் வெள்ளை அறிக்கை

_இந்த அறிமுக ஆவணம் முதலில் 2014இல் விட்டாலிக் புட்டெரின் என்பவரால் வெளியிடப்பட்டது. அவர் எத்தேரியம் திட்டத்தின் நிறுவனர் ஆவார். இது 2015இல் திட்டம் தொடங்குவதற்கு முன்பு வெளியிடப்பட்டது. எத்தேரியம், பல சமூகம் சார்ந்த, திறந்த மூல மென்பொருள் திட்டங்களைப் போலவே, அதன் ஆரம்ப உருவாக்கத்திலிருந்து வளர்ச்சியடைந்துள்ளது என்பது குறிப்பிடத்தக்கது.

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

வெள்ளை அறிக்கையின் வரலாற்று அல்லது நியமனப் பதிப்பை [டிசம்பர் 2014 முதல்] தேடும் ஆராய்ச்சியாளர்கள் மற்றும் கல்வியாளர்கள் இந்த PDF ஐப் பயன்படுத்த வேண்டும்.

ஒரு அடுத்த தலைமுறை ஸ்மார்ட் ஒப்பந்தம் மற்றும் பரவலாக்கப்பட்ட பயன்பாட்டுத் தளம்

2009 இல் சடோஷி நகமோட்டோவின் பிட்காயின் மேம்பாடு, பணம் மற்றும் நாணயத்தில் ஒரு தீவிரமான வளர்ச்சியாகப் பாராட்டப்படுகிறது, இது ஒரே நேரத்தில் எந்த ஆதரவும் அல்லது "உள்ளார்ந்த மதிப்பும்opens in a new tab" மற்றும் மையப்படுத்தப்பட்ட வெளியீட்டாளர் அல்லது கட்டுப்பாட்டாளர் இல்லாத ஒரு டிஜிட்டல் சொத்தின் முதல் எடுத்துக்காட்டாகும். எனினும், Bitcoin பரிசோதனையின் மற்றொரு முக்கியமான பகுதி அதன் அடிப்படை blockchain தொழில்நுட்பமாகும், இது ஒரு பகிர்ந்த கருத்துரிமை கருவியாகப் பயன்படுகிறது, மேலும் இந்த Bitcoin உடன் தொடர்புடைய மற்ற அம்சங்களின் மீது விரைவாகக் கவனம் திரும்புகிறது. பிளாக்செயின் தொழில்நுட்பத்தின் பொதுவாகக் குறிப்பிடப்படும் மாற்றுப் பயன்பாடுகளில், தனிப்பயன் நாணயங்கள் மற்றும் நிதிக் கருவிகளைப் பிரதிநிதித்துவப்படுத்த ஆன்-பிளாக்செயின் டிஜிட்டல் சொத்துக்களைப் பயன்படுத்துதல் ( "வண்ண நாணயங்கள்opens in a new tab" ), ஒரு அடிப்படை பௌதீக சாதனத்தின் உரிமையை ("ஸ்மார்ட் சொத்துopens in a new tab"), டொமைன் பெயர்கள் போன்ற ஈடுசெய்ய முடியாத சொத்துக்கள் ("Namecoinopens in a new tab"), அத்துடன் தன்னிச்சையான விதிகளைச் செயல்படுத்தும் ஒரு குறியீட்டுக் துண்டால் டிஜிட்டல் சொத்துக்களை நேரடியாகக் கட்டுப்படுத்துவதை உள்ளடக்கிய மிகவும் சிக்கலான பயன்பாடுகள் ("ஸ்மார்ட் ஒப்பந்தங்கள்opens in a new tab") அல்லது பிளாக்செயின் அடிப்படையிலான "பரவலாக்கப்பட்ட தன்னாட்சி நிறுவனங்கள்opens in a new tab" (DAOs) ஆகியவை அடங்கும். Ethereum என்ன செய்ய விரும்புகிறது என்றால், "smart contracts" மூலம் இவை அனைத்தையும் நிரலின் சில வரிகளைக் கொடுத்து உருவாக்கவும், மற்றும் இதுவரை நாமடிக்காத பல அமைப்புக்களை உருவாக்கவும் பயன்படுத்தக்கூடிய, Turing-complete நிரலாக்க மொழியுடன் ஒரு blockchain ஐ வழங்குவதாகும்.

பிட்காயின் மற்றும் இருக்கும் கருத்துகளுக்கு அறிமுகம்

வரலாறு

மையமற்ற டிஜிட்டல் நாணயத்தின் கருத்து, மற்றும் சொத்துப் பதிவுகள் போன்ற மாற்று பயன்பாடுகள், பல ஆண்டுகளாக இருந்து வருகின்றன. 1980கள் மற்றும் 1990களின் அநாமதேய இ-கேஷ் நெறிமுறைகள், பெரும்பாலும் சௌமியன் பிளைண்டிங் என அழைக்கப்படும் குறியாக்க அடிப்படைக் கூறை நம்பியிருந்தன. இவை தனியுரிமையுடன் கூடிய உயர் அளவு நாணயத்தை வழங்கின, ஆனால் அவை மையப்படுத்தப்பட்ட இடைத்தரகரை சார்ந்திருந்ததால், பெரும்பாலும் வெற்றி பெறவில்லை. 1998 ஆம் ஆண்டில், வெய் டாயின் b-moneyopens in a new tab ஆனது கணினிப் புதிர்களைத் தீர்ப்பதன் மூலமும், பரவலாக்கப்பட்ட ஒருமித்த கருத்தின் மூலமும் பணத்தை உருவாக்கும் யோசனையை அறிமுகப்படுத்திய முதல் முன்மொழிவாக ஆனது, ஆனால் பரவலாக்கப்பட்ட ஒருமித்த கருத்தை உண்மையில் எவ்வாறு செயல்படுத்த முடியும் என்பது குறித்த விவரங்கள் முன்மொழிவில் குறைவாகவே இருந்தன. 2005 ஆம் ஆண்டில், ஹால் ஃபின்னி "மறுபயன்பாட்டுக்குரிய வேலைச் சான்றுகள்opens in a new tab" என்ற கருத்தை அறிமுகப்படுத்தினார், இது பி-மனியின் யோசனைகளை ஆடம் பேக்கின் கணினி ரீதியாக கடினமான ஹாஷ்கேஷ் புதிர்களுடன் சேர்த்து ஒரு கிரிப்டோகரன்சிக்கான கருத்தை உருவாக்கும் ஒரு அமைப்பாகும், ஆனால் நம்பகமான கம்ப்யூட்டிங்கை ஒரு பின்தளமாகச் சார்ந்திருப்பதன் மூலம் மீண்டும் இலட்சியத்தை அடையத் தவறியது. 2009ல், சதோஷி நகாமோட்டோ அவர்களால் முதல் முறையாக பரவலாக்கப்பட்ட நாணயம் நடைமுறையில் செயல்படுத்தப்பட்டது, பொது விசை குறியாக்கவியல் மூலம் உரிமையை நிர்வகிக்கும் நிறுவப்பட்ட அடிப்படைக் கூறுகள் மூலம் யார் நாணயங்களை வைத்துள்ளார் என்பதைக் கண்காணிக்கும் ஒருமித்த வழிமுறையுடன் இணைத்து, இது "வேலை-நிரூபணம்" என அழைக்கப்படுகிறது.

Proof-of-work-க்கு பின்னால் உள்ள செயல்முறை, இத்துறையில் ஒரு முக்கிய முன்னேற்றமாக இருந்தது, ஏனெனில் இது இரண்டு பிரச்சினைகளை ஒரே நேரத்தில் தீர்த்தது. முதலில், இது ஒரு எளிய மற்றும் மிதமான தாக்கமுள்ள ஒப்புரவு (consensus) செயல்முறையை வழங்கியது, இதன் மூலம் நெட்வொர்க்கில் உள்ள உச்சி (nodes) கள், Bitcoin ledger இன் நிலையைப் புதுப்பிக்க ஒப்புரவைச் செய்ய அனுமதிக்கிறது. இரண்டாவது, இது ஒப்புரவு செயல்முறையில் சுதந்திரமாக நுழைய அனுமதிக்கும் ஒரு முறையை வழங்கியது, இது யாருக்கு ஒப்புரவு செயல்முறையில் செல்வாக்கு பெற வாய்ப்பிருக்கிறது என்பதை தீர்மானிக்கும் அரசியல் பிரச்சினையைத் தீர்க்கிறது, அதே சமயத்தில் sybil attacks-ஐ (சைபில் தாக்குதல்கள்) தடுக்கிறது. இதை, பங்கேற்பதற்கான ஒரு முறையான தடையை (மதிப்பீடு) பொருளாதார தடையாக மாற்றுவதன் மூலம் செய்கிறது - ஒப்புரவு வாக்கெடுப்பு செயல்முறையில் ஒரு உச்சியின் (node) இடத்தை வரையறுக்கும்பொழுது, அந்த உச்சி கொண்டிருக்கும் கணினி சக்தியை வைத்து இதை நிச்சயிக்கிறது. அதன் பிறகு, பங்குச் சான்று என்ற ஒரு மாற்று அணுகுமுறை முன்மொழியப்பட்டது, இது ஒரு முனையின் எடையை அதன் கணினி வளங்களுக்குப் பதிலாக அதன் நாணய கையிருப்புகளுக்கு விகிதாசாரமாக கணக்கிடுகிறது; இரண்டு அணுகுமுறைகளின் ஒப்பீட்டு தகுதிகள் பற்றிய கலந்துரையாடல் இந்த கட்டுரையின் எல்லைக்கு அப்பாற்பட்டது, ஆனால் இரண்டு அணுகுமுறைகளும் ஒரு கிரிப்டோகரன்சியின் முதுகெலும்பாகச் செயல்பட பயன்படுத்தப்படலாம் என்பது குறிப்பிடத்தக்கது.

பிட்காயின் ஒரு நிலை மாற்ற அமைப்பாக

எத்தேரியம் நிலை மாற்றம்

Bitcoin போன்ற ஒரு cryptocurrency யின் ledger-ஐ தொழில்நுட்ப ரீதியில் ஒரு நிலைத்த நிலை மாற்ற முறை (state transition system) எனக் கருதலாம், இதில் அனைத்து உள்ள bitcoins களின் உடமையான நிலை (ownership status) உள்ளடங்கிய ஒரு "நிலை" (state) உள்ளது, மேலும் ஒரு நிலையும் (state) ஒரு பரிமாற்றமும் (transaction) கொண்ட நிலைத்த நிலை மாற்ற செயல்முறை (state transition function) புதிய நிலையை உருவாக்குகிறது, இது முடிவாகிறது. ஒரு நிலையான வங்கித் துறையில், எடுத்துக்காட்டாக, நிலை என்பது ஒரு இருப்புத் தாள் (balance sheet) ஆகும், பரிமாற்றம் என்பது A க்கு இருந்து B க்கு $X ஐ நகர்த்த வேண்டிய கோரிக்கையாகும், மேலும் நிலை மாற்றச் செயல்முறை A க்கு உள்ள கணக்கில் $X ஐக் குறைத்துப், B யின் கணக்கில் $X ஐ அதிகரிக்கும். A க்கு உள்ள கணக்கில் $X க்கு குறைவாக இருந்தால், நிலை மாற்றச் செயல்முறை ஒரு பிழையை (error) திருப்பி அனுப்பும். எனவே, ஒருவரால் இதை முறையான முறையில் வரையறுக்க முடியும்:

APPLY(S,TX) -> S' or ERROR

மேலே வரையறுக்கப்பட்ட வங்கி முறையில்:

APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }

ஆனால்:

APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR

Bitcoin இல் "நிலை" என்பது உருவாக்கப்பட்டு இதுவரை செலவிடப்படாத அனைத்து நாணயங்களின் (தொழில்நுட்ப ரீதியாக, "செலவிடப்படாத பரிமாற்ற வெளிப்பாடுகள்" அல்லது UTXO) தொகுப்பாகும், இதில் ஒவ்வொரு UTXO வுக்கும் ஒரு மதிப்பு மற்றும் உரிமையாளர் (அதாவது ஒரு 20-byte முகவரி, இது ஒரு cryptographic public keyfn1 ஆகும்) உண்டு. ஒரு பரிமாற்றம் ஒரு அல்லது அதற்கும் மேற்பட்ட inputsகளைக் கொண்டுள்ளது, ஒவ்வொரு inputலும் ஒரு முந்தைய UTXO க்கான குறிப்பு மற்றும் உரிமையாளர் முகவரியுடன் தொடர்புடைய private keyயால் உருவாக்கப்பட்ட ஒரு cryptographic signature உள்ளது, மேலும் ஒவ்வொரு outputவும் புதிய UTXO கொண்டுள்ளது, இது நிலைக்கு சேர்க்கப்படும்.

நிலை மாற்றச் சார்பு APPLY(S,TX) -> S' என்பதைப் பின்வருமாறு தோராயமாக வரையறுக்கலாம்:

  1. TX இல் உள்ள ஒவ்வொரு உள்ளீட்டிற்கும்:

    • குறிப்பிடப்பட்ட UTXO S இல் இல்லை என்றால், ஒரு பிழையைத் திருப்பி அனுப்பு.
    • வழங்கப்பட்ட கையொப்பம் UTXO இன் உரிமையாளருடன் பொருந்தவில்லை என்றால், ஒரு பிழையைத் திருப்பி அனுப்பு.
  2. அனைத்து உள்ளீட்டு UTXO களின் மதிப்புகளின் கூட்டுத்தொகை அனைத்து வெளியீட்டு UTXO களின் மதிப்புகளின் கூட்டுத்தொகையை விடக் குறைவாக இருந்தால், ஒரு பிழையைத் திருப்பி அனுப்பு.
  3. அனைத்து உள்ளீட்டு UTXO களையும் அகற்றி, அனைத்து வெளியீட்டு UTXO களையும் சேர்த்து S ஐத் திருப்பி அனுப்பு.

முதல் படியின் முதல் பாதி பரிமாற்ற அனுப்புபவர்கள் இருக்காத நாணயங்களைச் செலவிடுவதிலிருந்து தடுக்கிறது, முதல் படியின் இரண்டாவது பாதி, பரிமாற்ற அனுப்புபவர்கள் பிறர் நாணயங்களைச் செலவிடுவதிலிருந்து தடுக்கிறது, மேலும் இரண்டாவது படி மதிப்பைப் பாதுகாப்பதை உறுதிசெய்கிறது. இதைக் கட்டணம் செலுத்த பயன்படுத்த, பின்வரும் நெறிமுறையைப் பின்பற்ற வேண்டும். உதாரணமாக, அலீஸ் பாப் க்கு 11.7 BTC அனுப்ப விரும்புகிறாளென வைத்துக்கொள்வோம். முதலில், அலீஸ் தன்னிடம் உள்ள, மொத்தம் குறைந்தபட்சம் 11.7 BTC ஆகக் கிடைக்கக்கூடிய UTXOகளைத் தேடுவாள். மெய்யாக, அலீஸுக்கு சரியாக 11.7 BTC கிடைப்பதற்கான வாய்ப்பு குறைவு; அவள் பெறக்கூடிய குறைந்தபட்சம் 6+4+2=12 ஆகும். பிறகு, அவள் அந்த மூன்று inputகளையும் இரண்டு outputகளையும் கொண்ட பரிமாற்றத்தை உருவாக்குவாள். முதல் output 11.7 BTC ஆக இருக்கும், மேலும் அதன் உரிமையாளராகப் பாப் முகவரியும் இருக்கும், இரண்டாவது output மீதமுள்ள 0.3 BTC ஆக இருக்கும், மேலும் அதன் உரிமையாளராக அலீஸே இருக்கும்.

சுரங்கம்

எத்தேரியம் தொகுதிகள்

நம்பகமான மையமயமாக்கப்பட்ட சேவையை அணுகுவதை நமக்கு முடிந்திருந்தால், இந்த அமைப்பைச் செயல்படுத்துவது மிகவும் எளிதானதாக இருக்கும்; மையமயமாக்கப்பட்ட சேவையகத்தின் கடின ஒலிபரப்பைச் (hard drive) state ஐ கவனிக்க ஒழுங்குபடுத்தி, மேலே கூறியுள்ளபடி இதைச் செயல்படுத்தி இருக்கும். எனினும், பிட்ட்காயின் மூலம் நாம் மையமற்ற (decentralized) நாணய அமைப்பைக் கட்டமைக்க முயலுகிறோம், எனவே அனைவரும் பரிமாற்ற வரிசையில் இணக்கம் பெறுவதற்காக state பரிமாற்ற அமைப்பை ஒரு இணக்கம் அடைவதற்கான அமைப்புடன் இணைக்க வேண்டியது அவசியம். பிட்ட்காயின் மையமற்ற ஒப்புதல் செயல்முறை, நெட்வொர்க்கில் உள்ள கணுக்கள் (nodes) தொடர்ந்து "blocks" எனப்படும் பரிமாற்றங்களின் தொகுப்புகளை உருவாக்க முயற்சிக்க வேண்டும் என்பதைக் கோருகிறது. இந்த நெட்வொர்க் தோராயமாக ஒவ்வொரு பத்து நிமிடத்திற்கும் ஒரு தொகுதியை உருவாக்கும் நோக்கம் கொண்டது, ஒவ்வொரு தொகுதியும் ஒரு நேரமுத்திரை, ஒரு நான்ஸ், முந்தைய தொகுதிக்கான ஒரு குறிப்பு (அதாவது, ஹாஷ்) மற்றும் முந்தைய தொகுதி முதல் நடந்த அனைத்து பரிவர்த்தனைகளின் பட்டியலையும் கொண்டுள்ளது. காலப்போக்கில், இது நிலையான, தொடர்ந்து வளர்ந்துகொண்டே இருக்கும், "blockchain" ஐ உருவாக்குகிறது, இது பிட்ட்காயின் வட்டியலின் (ledger) தற்போதைய state ஐ பிரதிபலிப்பதற்காகத் தொடர்ந்து புதுப்பிக்கப்படுகிறது.

ஒரு block சரியானது என்பதைச் சரிபார்க்கும் குரி (algorithm) இந்தப் பரிமாணத்தில் கீழேவுள்ளபடி வெளிப்படுத்தப்பட்டுள்ளது:

  1. Block குறிப்பிட்ட முந்தைய block உள்ளது மற்றும் சரியானது என்பதைச் சரிபார்க்கவும்.
  2. Block க்கு நேரம் குறிப்பு (timestamp) முந்தைய blockfn2 க்கு நேரம் குறிப்பைவிட அதிகமாகவும், எதிர்காலத்தில் 2 மணி நேரத்திற்கு குறைவாகவும் இருப்பதை உறுதிசெய்யவும்
  3. Block ன் proof-of-work சரியானது என்பதைச் சரிபார்க்கவும்.
  4. முந்தைய தொகுதியின் முடிவில் உள்ள நிலையை S[0] என வைத்துக்கொள்வோம்.
  5. TX என்பது n பரிவர்த்தனைகளைக் கொண்ட தொகுதியின் பரிவர்த்தனைப் பட்டியல் என்று வைத்துக்கொள்வோம். 0...n-1 இல் உள்ள அனைத்து i க்கும், S[i+1] = APPLY(S[i],TX[i]) என அமைக்கவும். ஏதேனும் ஒரு பயன்பாடு பிழையைத் திருப்பினால், வெளியேறி, தவறு என்பதைத் திருப்பவும்.
  6. சரி என்பதைத் திருப்பி, S[n] ஐ இந்தத் தொகுதியின் முடிவில் உள்ள நிலையாகப் பதிவு செய்யவும்.

ஒவ்வொரு block லும் உள்ள பரிமாற்றம் முன் state இல் இருந்து புதிய state க்கு செல்ல ஒரு சரியான state transition வழங்க வேண்டும். State எந்த வகையிலும் block இல் குறியிடப்படவில்லை என்பதை கவனிக்கவும்; இது உறுதிப்படுத்தும் node னால் நினைவில் வைத்துக்கொள்ளப்படும் பகுப்பாய்வாகவே இருக்கும் மற்றும் எந்த block க்கும் (பாதுகாப்பாக) கணக்கிடப்பட முடியும், genesis state இல் இருந்து ஆரம்பித்து ஒவ்வொரு block இல் உள்ள ஒவ்வொரு பரிமாற்றத்தையும் சீராகப் பயன்படுத்தி மட்டுமே. மேலும், miner பரிமாற்றங்களை block இல் சேர்க்கும் வரிசையும் முக்கியமானது; block இல் இரண்டு பரிமாற்றங்கள் A மற்றும் B உள்ளனவென்றால், B A என்பவரால் உருவாக்கப்பட்ட UTXO ஐச் செலவழிக்கிறதெனில், A B க்கு முன் வர வேண்டும், இல்லையெனில் block சரியானதாக மாறாது.

மேலே உள்ள பட்டியலில் உள்ள ஒரு validity condition பிற முறைமைகளில் காணப்படாதது "proof-of-work தேவையாகும்". சரியான நிலை இந்த விவரத்தில், ஒவ்வொரு block இன் double-SHA256 hash, 256-bit எண்ணாகக் கவனிக்கப்படும், ஒரே நேரத்தில் dynamic அடிப்படையில் சீராக மாறும் குறியாகும், இது தற்போது எழுதும் நேரத்தில் சுமார் 2187 ஆகும். இது block உருவாக்கத்தைகணினிமூலம் "கடினமான" செய்யும் நோக்கத்தில் உள்ளது, இதனால் sybil attackers முற்றிலும் blockchain ஐ அவர்களின் ஆதிக்கத்திற்கு மாற்ற முடியாது. SHA256 ஒரு முற்றிலும் கணிக்க முடியாத போலி-சீரற்ற சார்பாக வடிவமைக்கப்பட்டுள்ளதால், ஒரு செல்லுபடியாகும் தொகுதியை உருவாக்குவதற்கான ஒரே வழி, நான்ஸை மீண்டும் மீண்டும் அதிகரித்து புதிய ஹாஷ் பொருந்துகிறதா என்று பார்ப்பதன் மூலம் சோதனை மற்றும் பிழையாகும்.

வழக்கமாக, ~2187 குறியீட்டுடன், ஒரு valid block கண்டுபிடிக்க ஒரு நிகரமாக ~269 முயற்சிகள் செய்ய வேண்டும்; பொதுவாக, target பிணையத்தால் ஒவ்வொரு 2016 block களையும் மீண்டும் கட்டமைக்கப்படுகிறது, அவற்றில் ஒவ்வொரு பத்து நிமிடங்களுக்கொரு புதிய block ஒரு node யால் உருவாக்கப்படுகிறது. இந்தக் கணினி வேலைக்கு miners க்கு ஈடாக, ஒவ்வொரு block இன் miner தன்னை 25 BTC ஐ தன்னை தானே வழங்கும் பரிமாற்றத்தைச் சேர்க்கக்கூடிய உரிமை பெற்றுள்ளார். மேலும், எந்தப் பரிமாற்றத்தின் உள்ளீடுகளில் மொத்த denomination அதன் வெளியீடுகளில் உள்ள அளவுக்கு மேற்பட்டால், மாறுபாடு miner க்கு "transaction fee" ஆகும். குறிப்பாக, இது BTC ஐ விடுவிக்கும் ஒரே முறைமையாகும்; genesis state இல் எந்த நாணயங்களும் இல்லை.

Mining இன் நோக்கத்தை மேம்பட்ட முறையில் புரிந்து கொள்ள, தீய நோக்குடைய குற்றவாளியால் என்ன நடக்கிறது என்பதைப் பார்ப்போம். Bitcoin இன் அடிப்படையான cryptography பாதுகாப்பாக இருப்பதாகப் பெறப்படும் என்பதால், குற்றவாளி Bitcoin அமைப்பில் நேரடியாக cryptography மூலம் பாதுகாக்கப்படாத ஒரேபகுதியைக் குறிவைக்கிறார்: transactions இன் வரிசை. குற்றவாளியின் strategy எளிது:

  1. 100 BTC ஐ ஒரு வணிகருக்கு, எளிதில் கிடைக்கக்கூடிய டிஜிட்டல் பொருளுக்காக அனுப்புங்கள்
  2. பொருளின் வழங்கல் கிடைக்கும் வரை காத்திருக்கவும்
  3. அதே 100 BTC ஐ தன்னை தனக்கே அனுப்பும் மற்றொரு பரிமாற்றத்தை உருவாக்குங்கள்
  4. தனது பரிமாற்றம் முதலில் வந்ததாக நிகர்மட்ட பிணையை நம்ப வைக்க முயலுங்கள்.

நடைமுறை (1) எடுப்பபோது, சில நிமிடங்களில், ஒரு miner அந்தப் பரிமாற்றத்தை ஒரு block இல் சேர்க்கும், உதாரணமாக block எண் 270000. ஒரு மணி நேரத்திற்கு பிறகு, அந்த block க்கு பின்வரும் மேலும் ஐந்து blocks சீட்டில் சேர்க்கப்படும், ஒவ்வொரு block கும் அந்தப் பரிமாற்றத்தை நேரடியாகக் குறிப்பிடும் மற்றும் "உறுதிசெய்யும்". இப்போது, வணிகர், கட்டணம் முடிந்ததாகக் கண்டுக்கொள்ளும் மற்றும் பொருளை வழங்கும்; நாங்கள் இதைப் பொறுத்து டிஜிட்டல் பொருள் ஆகக் கருதுகிறோம், வழங்கல் உடனடி. தற்போது, குற்றவாளி 100 BTC ஐ தன்னை தனக்கே அனுப்பும் மற்றொரு பரிமாற்றத்தை உருவாக்குகிறான். தாக்குபவர் அதை சாதாரணமாக வெளியிட்டால், பரிவர்த்தனை செயலாக்கப்படாது; சுரங்கத் தொழிலாளர்கள் APPLY(S,TX) ஐ இயக்க முயற்சிப்பார்கள் மற்றும் TX ஆனது இப்போது நிலையில் இல்லாத ஒரு UTXO ஐப் பயன்படுத்துகிறது என்பதைக் கவனிப்பார்கள். எனவே, குற்றவாளி ஒரு "fork" உருவாக்குகிறான், புதிய பரிமாற்றத்தைப் பழைய பரிமாற்றத்துக்குப் பதிலாக உள்ள block 270000 இன் மற்றொரு பதிப்பைச் சுருக்கமாகக் கடந்து block 269999 ஐ தாய் block ஆகக் காட்டுவதால் துவக்கமாகக் காட்டப்படுகிறது. Block தரவுகள் மாறுபட்டவை என்பதால், இது proof-of-work ஐ மீண்டும் செய்ய வேண்டும். மேலும், குற்றவாளியின் புதிய பதிப்பு block 270000 இன் மாறுபட்ட hash உள்ளது, எனவே, முதற்கருவான blocks 270001 முதல் 270005 வரை அதை "சுட்டுகிறது" இல்லை; ஆகவே, முதற்கருவான பிணை மற்றும் குற்றவாளியின் புதிய பிணை முறையாகவே தனியாகும். Fork இல் நீண்ட blockchain தான்உண்மையெனக்் கூறப்படும் விதி உள்ளது, அதனால் சட்டப்படி miners 270005 பிணையத்தில் வேலை செய்கின்றனர், மற்றும் குற்றவாளி மட்டும் 270000 பிணையில் வேலை செய்கிறான். குற்றவாளி தனது blockchain ஐ நீண்டதாகச் செய்ய, அவர் பிணையத்தோடு இணைந்த மற்றவர்களுக்கு மேலாக அதிக கணினி சக்தி தேவைப்படுகிறது (இதனால் "51% தாக்குதல்").

மெர்க்கல் மரங்கள்

பிட்காயினில் SPV

இடது: ஒரு கிளையின் செல்லுபடியாகும் தன்மைக்குச் சான்று அளிக்க, ஒரு மெர்க்கல் மரத்தில் ஒரு சிறிய எண்ணிக்கையிலான முனைகளை மட்டும் சமர்ப்பித்தால் போதுமானது.

வலது: மெர்க்கல் மரத்தின் எந்தப் பகுதியையும் மாற்ற முயற்சித்தால், அது இறுதியில் சங்கிலியில் எங்காவது ஒரு முரண்பாட்டிற்கு வழிவகுக்கும்.

பிட்காயின் முக்கியமான அளவிடல் அம்சங்களில் ஒன்று, block ஒரு பன்மருக நிலை தரவுக்கட்டமைப்பில் சேமிக்கப்படுவது. Block இன் "hash" உண்மையில் block தலைப்பின் hash மட்டுமே, இது ஒரு சுமார் 200-பைட் அளவிலான தரவுப் பீசாகும், இதில் நேரம் சின்னம், nonce, முந்தைய block hash மற்றும் block இல் உள்ள அனைத்து பரிமாற்றங்களைச் சேமிக்கும் "Merkle tree" என்பதன் மூல hash அடங்கும். Merkle tree என்பது ஒரு வகை இரட்டை மரம், இதில் கீழ் கிழவுக்கட்டத்தின் அடிப்படை தரவுடன் ஒரு பெரிய எண்ணிக்கையிலான கிளைகள் உள்ளன, ஒவ்வொரு கிளையும் அதன் இரண்டு குழந்தைகளின் hash ஆக இருக்கும் மத்தி கிளைகள் மற்றும் இறுதியில், அதன் இரண்டு குழந்தைகளின் hash ஆகவும் உருவாக்கப்படும் ஒரு ஒரே ஒரு root node, மரத்தின் "மேல்" ஆகக் குறிக்கப்படும். Merkle tree இன் நோக்கம், block இல் உள்ள தரவுகளை படிப்படியாக வழங்க அனுமதிக்கின்றது: ஒரு node ஒரு மூலத்தைப் பயன்படுத்தி ஒரு block இன் தலைப்பை மட்டும் பதிவிறக்கம் செய்ய முடியும், மரத்தின் அவ்வருக்கான சிறிய பாகத்தை மற்றொரு மூலத்தைப் பயன்படுத்தி பதிவிறக்கம் செய்ய முடியும், மேலும் அனைத்து தரவுகளும் சரியானதாக இருப்பதாக உறுதியாக இருக்க முடியும். இது எப்படி செயல்படுகிறது என்பதற்கான காரணம் hash கள் மேலே பரப்பப்படுகின்றன: ஒரு தீயப் பயனர் Merkle tree இன் கீழ் பகுதியில் பொய் பரிமாற்றத்தை மாற்ற முயற்சிக்குமானால், இந்த மாற்றம் மேலே உள்ள node இல் மாற்றத்தை ஏற்படுத்தும், பிறகு மேலே உள்ள node இல் மாற்றத்தை ஏற்படுத்தும், இறுதியில் மரத்தின் root ஐ மற்றும் அதனால் block இன் hash ஐ மாற்றும், இதனால் அந்த protocol அதை முற்றிலும் மாறுபட்ட block ஆக பதிவு செய்யும் (நிச்சயமாக, தவறான proof-of-work உடன்).

மர்கிள் மரம் நெறிமுறையை நீண்டகால தாங்குதன்மைக்கு மிகவும் அவசியமாகக் கூறலாம். பிட்காயின் நெட்வொர்க் உள்ள "முழுமையான நொடுகள்" ஒவ்வொரு block இன் முழுமையையும் சேமித்து செயலாக்கும், ஏப்ரல் 2014 வரை பிட்காயின் நெட்வொர்க் இல் சுமார் 15 GB உடைய கோப்பகத்தை எடுத்துக்கொள்கிறது, மேலும் மாதத்திற்கு ஒரு கிகா பைட்டுக்கு மேல் வளர்ந்து வருகிறது. தற்போது, இது சில டெஸ்க்டாப் கணினிகளுக்கு மட்டுமே சாத்தியமாக உள்ளது மற்றும் கைபேசிகளுக்கு இல்லை, எதிர்காலத்தில் பணி மற்றும் கவர்ச்சியாளர்கள் மட்டுமே இதற்குப் பங்குபெற முடியும். "எளிமையான கட்டண சரிபார்ப்பு" (SPV) என்ற நெறிமுறை இன்னொரு வகை நொடுகளை உருவாக்க அனுமதிக்கிறது, இது "ஒளி நொடுகள்" என்று அழைக்கப்படுகிறது, மேலும் இது block தலைப்புகளை பதிவிறக்கம் செய்கிறது, block தலைப்புகளில் proof-of-work ஐ சரிபார்க்கிறது, மற்றும் பிறகு அவற்றுடன் தொடர்புடைய "கிளைகள்" ஐ மட்டுமே பதிவிறக்கம் செய்கிறது. இது ஒளி நொடுகளை எந்தவொரு பிட்காயின் பரிமாற்றத்தின் நிலையை மற்றும் அவற்றின் தற்போதைய நிலையை வலுவான பாதுகாப்பு உறுதியாகக் கண்டறிய அனுமதிக்கிறது, மேலும் முழுமையான blockchain இன் மிகச் சிறிய பகுதியைப் பொருந்தும்.

மாற்று பிளாக்செயின் பயன்பாடுகள்

அடிப்படை blockchain கருத்தை எடுத்து அதைப் பிற கருத்துகளுக்குப் பயன்படுத்துவதற்கான யோசனைக்கு நீண்ட வரலாறு உள்ளது. 2005 ஆம் ஆண்டில், நிக் ஸாபோ "உரிமையாளர் அதிகாரத்துடன் கூடிய பாதுகாப்பான சொத்து தலைப்புகள்opens in a new tab" என்ற கருத்தை வெளியிட்டார், இது "பிரதியெடுக்கப்பட்ட தரவுத்தள தொழில்நுட்பத்தில் புதிய முன்னேற்றங்கள்" எவ்வாறு பிளாக்செயின் அடிப்படையிலான ஒரு அமைப்புக்கு யார் எந்த நிலத்தை வைத்திருக்கிறார்கள் என்பதைப் பதிவுசெய்வதை அனுமதிக்கும் என்பதை விவரிக்கும் ஒரு ஆவணமாகும், இது ஹோம்ஸ்டெடிங், பாதகமான உடைமை மற்றும் ஜார்ஜிய நில வரி போன்ற கருத்துக்களை உள்ளடக்கிய ஒரு விரிவான கட்டமைப்பை உருவாக்குகிறது. ஆனால், அந்த நேரத்தில் முறையான நகலெடுக்கப்பட்ட தரவுத்தொகுப்பு முறைமைகள் கிடையாது, எனவே நெறிமுறை செயல்படுத்தப்படவில்லை. 2009 பிறகு, பிட்காயின்-ன் மையமற்ற ஒப்புதல் முறைமையை மேம்படுத்தியபிறகு, பல மாற்று பயன்பாடுகள் விரைவாகத் தோன்ற ஆரம்பித்தன.

  • Namecoin - 2010 இல் உருவாக்கப்பட்டது, Namecoinopens in a new tab என்பது ஒரு பரவலாக்கப்பட்ட பெயர் பதிவு தரவுத்தளமாக சிறந்த முறையில் விவரிக்கப்படுகிறது. Tor, பிட்காயின் மற்றும் BitMessage போன்ற பரவலாக்கப்பட்ட நெறிமுறைகளில், கணக்குகளை அடையாளம் காண சில வழிகள் தேவை, அப்போதுதான் மற்றவர்கள் அவற்றுடன் தொடர்பு கொள்ள முடியும், ஆனால் தற்போதுள்ள அனைத்து தீர்வுகளிலும் 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy போன்ற போலி-சீரற்ற ஹாஷ் மட்டுமே அடையாளங்காட்டியாகக் கிடைக்கிறது. அடிப்படையில், ஒருவருக்கு "george" என்ற பெயருடன் ஒரு அக்கவுண்டு வைத்திருப்பதற்கான விருப்பம் இருக்கிறது. ஆனால், ஒரு நபர் "george" என்ற பெயருடன் ஒரு அக்கவுண்டு உருவாக்கக்கூடிய நிலைமை இருந்தால், பிறரும் அதே முறையைப் பயன்படுத்தி "george" ஐ தாங்களுக்கே பதிவு செய்து அவர்களை நகல் எடுத்துப் பயன்பாட்டில் கொண்டு வர முடியும். ஒரே தீர்வு ஒரு முதல்-வரிசை பாரடைகம், முதலாவது பதிவுச் செய்பவர் வெற்றி பெறுவார் மற்றும் இரண்டாவது தோல்வி அடையும் - இது Bitcoin ஒப்புதல் நெறிமுறைக்குச் சிறந்த முறையில் பொருந்தும் பிரச்சினை. Namecoin இந்த எண்ணத்தைப் பயன்படுத்தி பெயர் பதிவு முறைமையின் பழமையான மற்றும் மிகுந்த வெற்றியடையுமாறு செயல்படுத்தப்பட்ட முறை.
  • வண்ண நாணயங்கள் - வண்ண நாணயங்களின்opens in a new tab நோக்கம், மக்கள் தங்கள் சொந்த டிஜிட்டல் நாணயங்களை உருவாக்க அனுமதிக்கும் ஒரு நெறிமுறையாகச் செயல்படுவதாகும் - அல்லது, ஒரு அலகைக் கொண்ட நாணயத்தின் முக்கிய அற்பமான நிலையில், பிட்காயின் பிளாக்செயினில் டிஜிட்டல் டோக்கன்கள். Colored coins நெறிமுறையில், ஒருவர் ஒரு புதிய நாணயத்தை "வெளியிடுகிறார்" என்றால், ஒரு குறிப்பிட்ட Bitcoin UTXOக்கு பொதுவாக ஒரு நிறத்தை ஒதுக்குகிறார், மேலும் இந்த நெறிமுறை மற்ற UTXOகளின் நிறத்தை உருவாக்கும் பரிவர்த்தனையால் செலவழிக்கப்பட்ட உள்ளீடுகளின் நிறமாகவே நிச்சயிக்கிறது (சந்தர்ப்ப நிறங்களை கலப்பது தொடர்பான சில சிறப்பு விதிகள் உள்ளன). இது பயனர்களை ஒரு குறிப்பிட்ட நிறத்தை மட்டும் கொண்ட UTXOகளை உள்ளடக்கிய வாலட்களை பராமரிக்க மற்றும் அவற்றை முறையாக bitcoins போல அனுப்ப அனுமதிக்கிறது, அவர்கள் பெற்ற எந்த UTXOயின் நிறத்தைக் கண்டறிய பிளாக்செயின் மூலம் முறைப்படி திரும்பத் திரும்பப் பின்வரலாம்.
  • மெட்டாகாயின்கள் - ஒரு மெட்டாகாயினுக்குப் பின்னால் உள்ள யோசனை, பிட்காயினுக்கு மேல் வாழும் ஒரு நெறிமுறையைக் கொண்டிருப்பதாகும், இது மெட்டாகாயின் பரிவர்த்தனைகளைச் சேமிக்க பிட்காயின் பரிவர்த்தனைகளைப் பயன்படுத்துகிறது, ஆனால் வேறுபட்ட நிலை மாற்றச் சார்பான APPLY' ஐக் கொண்டுள்ளது. மெட்டாகாயின் நெறிமுறையானது தவறான மெட்டாகாயின் பரிவர்த்தனைகள் பிட்காயின் பிளாக்செயினில் தோன்றுவதைத் தடுக்க முடியாததால், APPLY'(S,TX) ஒரு பிழையைத் திருப்பினால், நெறிமுறை இயல்பாக APPLY'(S,TX) = S என்று மாறும் ஒரு விதி சேர்க்கப்பட்டுள்ளது. இது, Bitcoin நெறிமுறையில் சிக்கல்களைக் கையாளாமல், அதிகம் மேம்பட்ட அம்சங்களைக் கொண்ட ஒரு சொந்த நாணய நெறிமுறையை உருவாக்க எளிதாக வழங்குகிறது. Metacoins சில வகை நிதி ஒப்பந்தங்களை, பெயர் பதிவுகளை மற்றும் மையமற்ற பரிமாற்றங்களை நடைமுறைப்படுத்தப் பயன்படுத்தப்பட்டுள்ளன.

ஆகையால், பொதுவாக, இரு முறைகள் உள்ளன, ஒத்துழைப்பு நெறிமுறையை உருவாக்க: தனித்துவமான நெட்வொர்க் உருவாக்குதல் மற்றும் Bitcoin மீது ஒரு நெறிமுறையை உருவாக்குதல். முதன்மை அணுகுமுறை, Namecoin போன்ற பயன்பாடுகளில் போதிய வெற்றியை அடைந்தாலும், செயல்படுத்த மிகவும் சிரமமாகும்; ஒவ்வொரு தனித்துவமான செயல்படுத்தலும் தனி பிளாக்செயின் உருவாக்க மற்றும் தேவையான நிலை மாற்ற மற்றும் நெட்வொர்க்கிங் குறியீடுகளை உருவாக்கிச் சோதிக்க வேண்டும். மேலும், மையமற்ற ஒத்துழைப்பு நெறிமுறை தொழில்நுட்பத்திற்கு பயன்பாடுகளின் தொகுப்பு, பெரும்பாலான பயன்பாடுகள் தங்கள் சொந்த பிளாக்செயின் உரிமைக்கு மிகச் சிறியதாக இருக்கும் என்பதைக் கூறுகிறோம், மேலும் பெரும்பாலான வகை மையமற்ற பயன்பாடுகள், குறிப்பாக மையமற்ற சுயநிதி அமைப்புகள், ஒன்றுடன் ஒன்று தொடர்பு கொள்ளவேண்டும் என்பதைக் குறிப்பிடுகிறோம்.

Bitcoin அடிப்படையிலான அணுகுமுறை, மற்றொரு பக்கம், Bitcoin இன் எளிமையாக்கப்பட்ட கட்டண சரிபார்ப்பு அம்சங்களைப் பெறுவதில் குறைபாடு உள்ளது. SPV Bitcoin க்காக வேலை செய்கிறது என்பதற்காக அது பிளாக்செயின் ஆழத்தை சரிபார்ப்பில் பயன்படுத்துகிறது; ஒரு நிலையில், ஒரு பரிமாற்றத்தின் பிதாக்கள் மிக ஆழமாகச் சென்றபிறகு, அவை சட்டபூர்வமாக நிலையின் பகுதியாக இருந்தன என்று கூறுவது பாதுகாப்பாகும். Blockchain அடிப்படையிலான மடா-நெறிமுறைகள், மற்றொரு பக்கம், தங்கள் சொந்த நெறிமுறைகளின் சூழலில் செல்லாத பரிமாற்றங்களைப் பிளாக்செயினில் உள்ளடக்குவதற்கு கட்டாயம் செய்ய முடியாது. ஆகையால், முழுமையாகப் பாதுகாப்பான SPV மடா-நெறிமுறை செயல்படுத்தல், சில பரிமாற்றங்கள் சரியானவையென நிரூபிக்க Bitcoin பிளாக்செயினின் தொடக்கத்திற்கு பின்வட்டமாகப் பரிசீலிக்க வேண்டும். தற்போது, Bitcoin அடிப்படையிலான மடா-நெறிமுறைகளின் அனைத்து "ஒளி" செயல்படுத்தல்கள் நம்பகமான சேவையகத்தைத் தரவுகளை வழங்க நம்புகிறார்கள், ஒரு மையமற்ற நாணயத்தின் முதன்மை நோக்கங்களில் ஒன்று நம்பிக்கையை நீக்குவதற்கு என்பதால் இது மிகவும் குறைவான முடிவு ஆகும்.

ஸ்கிரிப்டிங்

Bitcoin நெறிமுறை எந்த நீட்டிப்புகளும் இல்லாமல், "விவேகமான ஒப்பந்தங்கள்" என்ற ஒரு கருத்தின் பலவீனமான பதிப்பை உணர்வதற்கான வசதியை வழங்குகிறது. Bitcoin இல் உள்ள UTXO வெறும் பொது முக்கியத்தினால் மட்டுமல்ல, மேலும் ஒரு எளிய குவியல் அடிப்படையிலான நிரலாக்க மொழியில் வெளிப்படுத்தப்பட்ட ஒரு சிக்கலான ஸ்கிரிப்ட்டினாலும் செல்வாக்கு கொண்டிருக்கலாம். இந்தக் கருத்தில், அந்த UTXO வைச்செலவழிக்கும் ஒரு பரிமாற்றம், ஸ்கிரிப்ட்டை திருப்திபடுத்தும் தரவுகளை வழங்க வேண்டும். உண்மையில், அடிப்படை பொது முக்கிய சொந்த உரிமை முறையும் ஸ்கிரிப்ட்டின் மூலம் செயல்படுத்தப்படுகிறது: ஸ்கிரிப்ட்டில் ஒரு எலிப்டிக் கோவ நடைமுறை கையொப்பம் உள்ளீடாக எடுக்கப்படுகிறது, பரிமாற்றத்திற்கும் UTXO வை சொந்தமாக வைத்திருக்கும் முகவரிக்கும் எதிராக அதை சரிபார்க்கிறது, சரிபார்ப்பு வெற்றிகரமாக இருந்தால் 1 ஐ திருப்புகிறது, இல்லையெனில் 0 ஐ திருப்புகிறது. கூடுதல் பல்வேறு பயன்பாடுகளுக்கு ஏற்றச் சிக்கலான ஸ்கிரிப்ட்டுகளும் உள்ளன. எடுத்துக்காட்டாக, மூன்று தனிப்பட்ட சாவிகளை வழங்கும் இரண்டு கையொப்பங்களை சரிபார்க்கும் ஒரு ஸ்கிரிப்ட்டை உருவாக்கலாம் ("multisig"), இது நிறுவன கணக்குகள், பாதுகாப்பான சேமிப்பு கணக்குகள் மற்றும் சில வணிக கடனாளி நிலைகளுக்குப் பயனுள்ளதாக இருக்கும். ஸ்கிரிப்ட்கள் கணினி பிரச்சினைகளுக்கு தீர்வுகளை வழங்குவதற்காக பணத்தை செலுத்தவும் பயன்படுத்தப்படலாம், மேலும் "இந்த Bitcoin UTXO உங்களுக்கே, நீங்கள் எனக்கு இந்த மதிப்பின் Dogecoin பரிமாற்றத்தை அனுப்பியீர்கள் என SPV நிரூபிக்கையால் வழங்கினால்" போன்ற ஒரு ஸ்கிரிப்ட்டை உருவாக்கவும் முடியும், தாறுமாறான மையமற்ற மின்னணு நாணய பரிமாற்றத்தை உணர்வதை அடிப்படையாகக் கொண்டது.

எனினும், Bitcoin இல் செயல்படுத்தப்பட்ட ஸ்கிரிப்ட்டிங் மொழி சில முக்கியமான கட்டுப்பாடுகளைக் கொண்டுள்ளது:

  • டியூரிங்-முழுமையின்மை - அதாவது, பிட்காயின் ஸ்கிரிப்டிங் மொழி ஆதரிக்கும் கணக்கீட்டின் ஒரு பெரிய துணைக்குழு இருந்தாலும், அது எல்லாவற்றையும் ஆதரிக்கவில்லை. இதன் முக்கியமான வகை மடக்குகள் (loops) ஆகும். பரிமாற்ற சரிபார்ப்பின் போது முடிவிலீடு இல்லாமல் மடக்குகளைத் தவிர்க்க இதைச் செய்யப்பட்டுள்ளது; தாராளமாக இது ஸ்கிரிப்ட் நிரலாளர்களுக்கு ஒரு கையாண்டக்கூடிய தடையை ஏற்படுத்துகிறது, ஏனெனில் எந்த மடக்கும் கீழமை குறியீட்டை பலமுறை திருப்புவதன் மூலம் ஒன்றாக உருவாக்கப்படலாம், ஆனால் இது மிகவும் இடைவெளி-திறன்படுத்தாத ஸ்கிரிப்ட்களை உருவாக்குகிறது. எடுத்துக்காட்டாக, மாற்று எலிப்டிக் கோவ கையொப்ப அல்காரிதமைக் கடப்பதற்கு 256 மடங்கு கையாளல் சுற்றங்கள் குறியீட்டில் தனித்தனியாகச் சேர்க்க வேண்டியிருக்கும்.
  • மதிப்பு-குருட்டுத்தன்மை - ஒரு UTXO ஸ்கிரிப்ட் திரும்பப் பெறக்கூடிய தொகையின் மீது நுண்ணிய கட்டுப்பாட்டை வழங்க எந்த வழியும் இல்லை. எடுத்துக்காட்டாக, ஒரு. oracle ஒப்பந்தத்தின் சக்திவாய்ந்த பயன்பாடு, A மற்றும் B 1000 டாலர் மதிப்பிலான BTC வைப்பு செய்வதன் மூலம் Aக்கும் Bக்கும் 30 நாட்களுக்குப் பின்னர், Aக்கு 1000 டாலர் மதிப்புள்ள BTC அனுப்பி, மீதத்தை Bக்கு அனுப்பும் ஒரு hedging ஒப்பந்தமாகும். இது 1 BTC இன் மதிப்பு USD யில் எவ்வளவு என்பதை தீர்மானிக்க oracle தேவைப்படும், ஆனால், இது முழுமையாக மையகமிக்கப்படுகின்ற கருவிகள் மற்றும் நம்பகத்தன்மை அடிப்படையில் மிகப் பெரிய முன்னேற்றமாகும். இருப்பினும், UTXOகள் அனைத்தும்-அல்லது-ஒன்றுமில்லை என்பதால், இதை அடைவதற்கான ஒரே வழி, பல்வேறு மதிப்புகளில் பல UTXOகளைக் கொண்டிருப்பதன் மூலம் மிகவும் திறனற்ற ஹேக் ஆகும் (எ.கா., 30 வரையிலான ஒவ்வொரு k க்கும் 2k இன் ஒரு UTXO) மற்றும் ஆரக்கிள் எந்த UTXO ஐ A க்கும் எந்த UTXO ஐ B க்கும் அனுப்ப வேண்டும் என்பதைத் தேர்ந்தெடுப்பதாகும்.
  • நிலை இல்லாமை - UTXO செலவழிக்கப்பட்டதாகவோ அல்லது செலவழிக்கப்படாததாகவோ இருக்கலாம்; அதற்கு அப்பால் வேறு எந்த உள் நிலையையும் வைத்திருக்கும் பல-கட்ட ஒப்பந்தங்கள் அல்லது ஸ்கிரிப்ட்களுக்கு வாய்ப்பில்லை. இது பல-நிலை விருப்பங்கள் ஒப்பந்தங்கள், மையமற்ற பரிமாற்றக் கொள்கை முன்வரைப்படங்கள் அல்லது இரண்டு-நிலை கிரிப்டோகிராபிக் உறுதிமொழி நெறிமுறைகளை (பாதுகாப்பான கணினி நலவாய்ப்புகளுக்கு தேவையானவை) உருவாக்கக் கடினமாக்குகிறது. இது UTXO களை எளிய, ஒரு-தொடர்குழு ஒப்பந்தங்களை உருவாக்க மட்டுமே பயன்படுத்த முடியும் என்பதையும் மேலும் கடினமாக்குகிறது, மேலும் பரந்த, "நிலைத்த" ஒப்பந்தங்களை உருவாக்க முடியாது, இவ்வாறு மேட்டா-நெறிமுறைகளை செயல்படுத்த மிகவும் சிரமமாக்குகிறது. இருமை நிலை மற்றும் மதிப்புத் திருச்சி இரண்டையும் சேர்த்தால் மற்றொரு முக்கியமான பயன்பாடு, திரும்பப் பெறுதல் வரம்புகள் சாத்தியமில்லாதவைகளாகி விடுகிறது.
  • பிளாக்செயின்-குருட்டுத்தன்மை - UTXOகள் நான்ஸ், நேரமுத்திரை மற்றும் முந்தைய தொகுதி ஹாஷ் போன்ற பிளாக்செயின் தரவுகளுக்கு குருடாக உள்ளன. இது சூதாட்டத்தில் (gambling) மற்றும் பல்வேறு பிற வகைகளில் பயன்பாடுகளை மிகவும் கட்டுப்படுத்துகிறது, இதில் பிளாக்செயின் (blockchain) தரவுகளில் இருப்பதற்கான முக்கியமான முறைகள் இழக்கப்படுகின்றன.

எனவே, நாங்கள் மூன்று அணுகுமுறைகளைப் பார்க்கிறோம்: கிரிப்டோகரன்சி (cryptocurrency) மேல் புதிய பிளாக்செயினை உருவாக்குதல், பிட்காயின் (Bitcoin) மேல் ஸ்கிரிப்டிங் (scripting) பயன்படுத்துதல், பிட்காயின் மேல் மேட்டா-நெறிமுறை (meta-protocol) உருவாக்குதல். புதிய பிளாக்செயின் உருவாக்குதல் அம்சங்கள் (features) உருவாக்குவதில் வரையறையற்ற சுதந்திரத்தை வழங்குகின்றது, ஆனால், வளர்ச்சி நேரம், தொடக்க முயற்சிகள் மற்றும் பாதுகாப்பிற்கான செலவாகும். ஸ்கிரிப்டிங் பயன்படுத்துவது எளிதானதாகவும், நிலைப்படுத்துவதற்கும் (standardize) மிக எளிதாக உள்ளது, ஆனால், அதன் திறன்களில் மிகக் குறைவானது. மேட்டா-நெறிமுறைகள், இவற்றின் அளவுக்கு எளிமையாக இருந்தாலும், அளவீட்டு குறைகளில் (scalability issues) பாதிக்கப்படுகிறது. எதிர்காலத்திற்கான எமது நோக்கம் எது என்றால், Ethereum-ஐ பயன்படுத்தி ஒரு மாற்று கட்டமைப்பை (alternative framework) உருவாக்குவதை நாங்கள் முன்வைக்கின்றோம். இது, முன்னேற்றத்தை எளிமையாக்குவதில் அதிக வளர்ச்சிகளை வழங்குவதோடு, இந்நேரத்தில், ஏற்றுக்கொள்ளப்பட்ட சிறிய வகுப்பின் பண்புகளை மேலும் வலுப்படுத்தும், மேலும், பயன்பாடுகளைப் பகிர்ந்து கொண்டிருக்கும் பொருளாதார சூழல் மற்றும் பிளாக்செயின் பாதுகாப்பை வழங்கும்.

எத்தேரியம்

எத்தீரியத்தின் நோக்கம், டெசன்ட்ரலைஸ் செய்யப்பட்ட பயன்பாடுகளை (decentralized applications) உருவாக்குவதற்கான ஒரு மாற்று நெறிமுறையை (protocol) உருவாக்குவது ஆகும், இது நாம் நம்புகின்றோம் பல்வேறு வகையான டெசன்ட்ரலைஸ் செய்யப்பட்ட பயன்பாடுகளுக்கு மிகவும் பயனுள்ள வித்தியாசமான பரிமாற்றங்களை (tradeoffs) வழங்கும், குறிப்பாக வேகமான வளர்ச்சி நேரம், சிறிய மற்றும் அரிதாக பயன்படுத்தப்படும் பயன்பாடுகளுக்கு பாதுகாப்பு, மற்றும் வெவ்வேறு பயன்பாடுகள் மிகவும் திறமையான முறையில் ஒன்றுக்கொன்று தொடர்புகொள்வதற்கான திறனை முன்னிலைப்படுத்துகிறது. எத்தீரியம் இதை உண்மையில் முழுமையான அனாயாசமான அடிப்படைத் (abstract foundational layer) தளத்தை உருவாக்குவதன் மூலம் செய்கின்றது: பிளாக்செயினுடன் (blockchain) இணைக்கப்பட்ட Turing-complete திட்டமிடல் மொழியுடன், யாரும் நுண்ணறிவு ஒப்பந்தங்கள் (smart contracts) மற்றும் டெசன்ட்ரலைஸ் செய்யப்பட்ட பயன்பாடுகளை (decentralized applications) எழுத அனுமதிக்கின்றது, இதில் அவர்கள் தங்கள் சொந்த தன்னியக்க விதிமுறைகளை (arbitrary rules) உரிமைகள், பரிமாற்ற வடிவங்கள் மற்றும் நிலை மாற்ற செயல்பாடுகளுக்கு (state transition functions) உருவாக்க முடியும். ஒரு Namecoin-இன் மிகச் சுருக்கமான பதிப்பை இரண்டு வரிகள் கொண்ட குறியீட்டில் எழுத முடியும், மேலும் நாணயங்கள் (currencies) மற்றும் மதிப்பீட்டு (reputation) அமைப்புகள் போன்ற பிற நெறிமுறைகளும் இருபதுக்கும் குறைவான வரிகளில் உருவாக்க முடியும். நுண்ணறிவு ஒப்பந்தங்கள் (smart contracts), மதிப்புகள் அடங்கிய குறியீட்டு "பெட்டிகள்", குறிப்பிட்ட நிபந்தனைகள் பூர்த்தி செய்யப்பட்டால் மட்டுமே அவற்றை திறக்கும் என்பதில் நிலையான (vastly more power) திறன்களை வழங்க முடியும், இது பிட்ட்காயின் (Bitcoin) ஸ்கிரிப்டிங் வழங்கும் சக்திகளைவிட அதிகம், ஏனெனில் Turing-completeness, value-awareness, blockchain-awareness மற்றும் state ஆகியவற்றின் கூடுதல் திறன்களால் அவை ஆதரிக்கப்படுகின்றன.

எத்தேரியம் கணக்குகள்

எத்தீரியத்தில், நிலை (state) "கணக்குகள்" எனப்படும் பொருட்களால் ஆனது, ஒவ்வொரு கணக்கிற்கும் 20-byte அட்ரஸ் (address) இருக்கும், மேலும் நிலை மாற்றங்கள் (state transitions) கணக்குகளுக்கு இடையில் மதிப்பு மற்றும் தகவலை நேரடியாக மாற்றுவதன் மூலம் நிகழ்கின்றன. ஒரு எத்தீரியம் கணக்கு நான்கு புலங்களை (fields) கொண்டுள்ளது:

  • ஒவ்வொரு பரிவர்த்தனையும் ஒரு முறை மட்டுமே செயலாக்கப்படுவதை உறுதிசெய்யப் பயன்படுத்தப்படும் ஒரு கவுண்டரான நான்ஸ்
  • கணக்கின் தற்போதைய ஈதர் இருப்பு
  • கணக்கின் ஒப்பந்தக் குறியீடு, இருந்தால்
  • கணக்கின் சேமிப்பகம் (இயல்பாக காலியாக இருக்கும்)

"ஈதர்" (ether) என்பது எத்தீரியத்தின் முக்கியமான உள்நாட்டு கிரிப்டோ-எரிபொருள் (crypto-fuel) ஆகும், மற்றும் பரிமாற்றக் கட்டணங்களை (transaction fees) செலுத்த பயன்படுத்தப்படுகிறது. பொதுவாக, இரண்டு வகையான கணக்குகள் உள்ளன: தனிப்பட்ட சாவிகளால் கட்டுப்படுத்தப்படும் வெளிப்புறமாகச் சொந்தமான கணக்குகள், மற்றும் அவற்றின் ஒப்பந்தக் குறியீட்டால் கட்டுப்படுத்தப்படும் ஒப்பந்தக் கணக்குகள். வெளிப்படையாக வைத்திருக்கும் கணக்கில் (externally owned account) குறியீடு (code) இல்லை, மற்றும் ஒருவன் வெளிப்படையாக வைத்திருக்கும் கணக்கிலிருந்து ஒரு செய்தியை அனுப்ப ஒரு பரிமாற்றத்தை உருவாக்கி கையொப்பமிடலாம்; ஒரு ஒப்பந்தக் கணக்கில் (contract account), ஒவ்வொரு முறையும் ஒப்பந்தக் கணக்கு ஒரு செய்தியைப் பெறும் போது அதன் குறியீடு செயல்படும், இது உள்ளக சேமிப்பில் (internal storage) வாசிக்கவும் (read), எழுதவும் (write), பிற செய்திகளை அனுப்பவும் (send), அல்லது பிற ஒப்பந்தங்களை உருவாக்கவும் (create contracts) அனுமதிக்கிறது.

எத்தீரியத்தில் "ஒப்பந்தங்கள்" என்பவை "நிறைவேற்றப்பட வேண்டியவை" அல்லது "பின்பற்றப்பட வேண்டியவை" எனக் கருதப்படக்கூடாது என்பதை நினைவில் கொள்ளுங்கள்; மாறாக, அவை எத்தீரியம் செயலாக்க சூழலுக்குள் வாழும் "சுயாதீன முகவர்கள்" (autonomous agents) போன்றவை, ஒரே ஒரு குறிப்பிட்ட குறியீட்டை ஒரு மெசேஜ் அல்லது பரிமாற்றத்தால் "தெளிவுபடுத்தப்படும்போது" (poked) எப்போதும் செயல்படுத்துகின்றன, மேலும் தாங்கள் உடைய ஈதர் இருப்பு மற்றும் தாங்கள் வைத்திருக்கும் முக்கிய/மதிப்பு சேமிப்பகத்தை நிரந்தர மாறிகள் (persistent variables) கண்காணிக்கத் நேரடியாகக் கட்டுப்படுத்துகின்றன.

செய்திகள் மற்றும் பரிவர்த்தனைகள்

எத்தீரியத்தில் "பரிமாற்றம்" என்ற சொல் வெளிப்படையாக வைத்திருக்கும் கணக்கிலிருந்து அனுப்பப்பட வேண்டிய ஒரு மெசேஜைச் சேமிக்க கையொப்பமிடப்பட்ட தரவுப் பொதியை (signed data package) குறிக்க பயன்படுத்தப்படுகிறது. பரிமாற்றங்கள் கீழ்காணும் பகுதிகளைக் கொண்டுள்ளன:

  • மெசேஜின் பெறுநர்
  • அனுப்புநரை அடையாளம் காட்டும் கையொப்பம்
  • அனுப்புநரிலிருந்து பெறுநருக்கு மாற்ற வேண்டிய ஈதர் தொகை
  • விருப்பத் தரவுப் புலம்
  • பரிவர்த்தனைச் செயலாக்கம் எடுக்க அனுமதிக்கப்படும் அதிகபட்ச கணக்கீட்டுப் படிகளின் எண்ணிக்கையைப் பிரதிநிதித்துவப்படுத்தும் ஒரு STARTGAS மதிப்பு
  • அனுப்புநர் ஒவ்வொரு கணக்கீட்டுப் படிக்கும் செலுத்தும் கட்டணத்தைப் பிரதிநிதித்துவப்படுத்தும் ஒரு GASPRICE மதிப்பு

முதலாவது மூன்று புலங்கள் எந்தக் கிரிப்டோகரன்சியிலும் எதிர்பார்க்கப்படும் நிலையான புலங்களாகும். தரவுப் புலத்திற்கு இயல்பாக எந்த செயல்பாடும் இல்லை, ஆனால் வெர்சுவல் மெஷின் (Virtual Machine) ஒரு ஒப்பாதையை (opcode) கொண்டுள்ளது, அதைப் பயன்படுத்தி ஒப்பந்தம் அந்த தரவைப் அணுக முடியும்; எடுத்துக்காட்டாக, ஒரு ஒப்பந்தம் பிளாக்செயினில் டொமைன் பதிவு சேவையாக செயல்படுகிறதெனில், அதற்கு அனுப்பப்படும் தரவை இரண்டு "புலங்கள்" கொண்டதாகக் கருத விரும்பலாம், முதலாம் புலம் பதிவு செய்ய வேண்டிய டொமைனை குறிக்கிறது, இரண்டாம் புலம் அதைப் பதிவு செய்ய வேண்டிய IP முகவரியை குறிக்கிறது. ஒப்பந்தம் இந்த மதிப்புகளை மெசேஜ் தரவிலிருந்து வாசித்து, தகுந்த முறையில் சேமிப்பகத்தில் (storage) வைக்கிறது.

STARTGAS மற்றும் GASPRICE புலங்கள் எத்தேரியத்தின் சேவை மறுப்பு எதிர்ப்பு மாதிரிக்கு முக்கியமானவை. குறியீட்டு செயல்பாட்டின் (code execution) கணினி படிகள் எவ்வளவு பயன்படுகிறது என்பதற்கான ஒரு வரம்பை நிர்ணயிக்க ஒவ்வொரு பரிமாற்றத்திலும் தேவையாகிறது. கணக்கீட்டின் அடிப்படை அலகு "காஸ்" ஆகும்; பொதுவாக, ஒரு கணினி படிக்கு 1 காஸ் செலவாகிறது, ஆனால் சில செயல்பாடுகள் கணினி செலவு அதிகம் இருப்பதால், அல்லது மாநிலத்தின் (state) ஒரு பகுதியாகச் சேமிக்க வேண்டிய தரவின் அளவை அதிகரிக்கும் என்பதால் அதிக அளவு காஸ் செலவாகிறது. பரிமாற்றத் தரவில் உள்ள ஒவ்வொரு பைட்டுக்கும் 5 காஸ் கட்டணமும் உள்ளது. இந்தக் கட்டண முறைமைக்கான நோக்கம், கணக்கீடு, பரிமாற்ற திறன் (bandwidth) மற்றும் சேமிப்பு உட்பட அவர்கள் பயன்படுத்தும் ஒவ்வொரு வளத்திற்கும் ஒரு தாக்குதல்காரர் சுமார் கட்டணம் செலுத்த வேண்டிய அவசியத்தை உருவாக்குவதாகும்; எனவே, இவ்வளவு வளங்களை அதிகமாக பயன்படுத்தும் எந்தவொரு பரிமாற்றத்திற்கும் காஸ் கட்டணம் சுமார் சம அளவில் ஏற்பட வேண்டும்.

செய்திகள்

ஒப்பந்தங்கள் மற்ற ஒப்பந்தங்களுக்கு "செய்திகளை" அனுப்பும் திறனைக் கொண்டுள்ளன. செய்திகள் எத்தீரியம் செயல்முறை சூழலில் மட்டுமே உள்ள நிழல் பொருள்கள் (virtual objects) ஆகும் மற்றும் அவற்றை ஒருபோதும் வரிசைப்படுத்தப்படவில்லை. ஒரு செய்தி பின்வரும் புலங்களைக் கொண்டுள்ளது:

  • செய்தி அனுப்புனர் (implicit)
  • மெசேஜின் பெறுநர்
  • செய்தியுடன் கூடிய எத்தர் தொகையை மாற்றவும்
  • விருப்பத் தரவுப் புலம்
  • ஒரு STARTGAS மதிப்பு

அடிப்படையில், ஒரு செய்தி ஒரு பரிமாற்றம் போன்றது, ஆனால் இது ஒரு ஒப்பந்தத்தால் தயாரிக்கப்படுகிறது, வெளிப்புற நடிகர் (external actor) அல்ல. தற்போது குறியீட்டை இயக்கும் ஒரு ஒப்பந்தம், CALL என்ற செயல்பாட்டுக் குறியீட்டை இயக்கும்போது ஒரு செய்தி உருவாக்கப்படுகிறது, இது ஒரு செய்தியை உருவாக்கி செயல்படுத்துகிறது. ஒரு பரிமாற்றம் போலவே, ஒரு செய்தி பெறுநர் கணக்கின் (account) குறியீட்டைப் (code) இயக்குகிறது. எனவே, வெளிப்புற நடிகர்கள் செயல்படும் முறை போலவே ஒப்பந்தங்களும் மற்ற ஒப்பந்தங்களுடன் உறவுகளை உருவாக்க முடியும்.

தகவல்: ஒரு பரிமாற்றம் அல்லது ஒப்பந்தத்தால் ஒதுக்கப்பட்ட காஸ் தொகை, அந்தப் பரிமாற்றம் மற்றும் அனைத்து துணை-செயலாக்கங்களால் (sub-executions) முழுவதும் பயன்படுத்தப்படும் மொத்த காஸ் நுகர்வுக்கு பொருந்தும். எடுத்துக்காட்டாக, வெளிப்புற நடிகர் A 1000 காஸ் கொண்டு B-க்கு ஒரு பரிமாற்றத்தை அனுப்பினால், B 600 காஸைக் நுகர்ந்தபிறகு C-க்கு ஒரு செய்தியை அனுப்பி, C-யின் உள்நாட்டு செயல்பாடு 300 காஸ் நுகர்ந்தபிறகு திரும்பினால், B மீதமுள்ள 100 காஸைக் நுகர்ந்து முடிவடையும் முன் செயலாக்க முடியும்.

எத்தேரியம் நிலை மாற்றச் சார்பு

ஈதர் நிலை மாற்றம்

எத்தேரியம் நிலை மாற்றச் சார்பு, APPLY(S,TX) -> S' என்பதைப் பின்வருமாறு வரையறுக்கலாம்:

  1. பரிவர்த்தனை நன்கு உருவாக்கப்பட்டதா (அதாவது, சரியான எண்ணிக்கையிலான மதிப்புகளைக் கொண்டுள்ளதா), கையொப்பம் செல்லுபடியாக உள்ளதா, மற்றும் நான்ஸ் அனுப்புநரின் கணக்கில் உள்ள நான்ஸுடன் பொருந்துகிறதா என்பதை சரிபார்க்கவும். இவை இல்லை என்றால், ஒரு பிழையைத் திருப்பி அனுப்பவும்.
  2. பரிவர்த்தனைக் கட்டணத்தை STARTGAS * GASPRICE எனக் கணக்கிட்டு, கையொப்பத்திலிருந்து அனுப்பும் முகவரியைத் தீர்மானிக்கவும். கட்டணத்தை அனுப்புநரின் கணக்கு இருப்பிலிருந்து கழித்து, அனுப்புநரின் நான்ஸை (nonce) அதிகரிக்கவும். செலவிட போதுமான இருப்பு இல்லை என்றால், பிழையைத் திருப்பி அனுப்பவும்.
  3. GAS = STARTGAS என துவக்கி, பரிவர்த்தனையில் உள்ள பைட்டுகளுக்கு பணம் செலுத்த ஒவ்வொரு பைட்டுக்கும் ஒரு குறிப்பிட்ட அளவு கேஸ்ஸை எடுத்துக்கொள்ளுங்கள்.
  4. பரிமாற்ற மதிப்பை அனுப்புநரின் கணக்கிலிருந்து பெறுநரின் கணக்குக்கு மாற்றவும். பெறுநரின் கணக்கு இன்னும் உருவாக்கப்படாதது என்றால், அதை உருவாக்கவும். பெறுநரின் கணக்கு ஒப்பந்தம் (contract) என்றால், ஒப்பந்தத்தின் குறியீட்டை முழுமையாக அல்லது செயல்பாடு காஸ் முடிவடையும் வரை இயக்கவும்.
  5. அனுப்புநரிடம் போதுமான பணம் இல்லை என்பதால் மதிப்பு மாற்றம் தோல்வியடைந்தால், அல்லது குறியீடு செயலாக்கம் காஸ் முடிவடையும் வரை இயங்கினால், கட்டணங்களின் கொடுப்பனவை தவிர மற்ற மாநில மாற்றங்களை (state changes) எல்லாம் மாற்றவும், மற்றும் கட்டணங்களை மைனர் (miner) கணக்குக்குச் சேர்க்கவும்.
  6. இல்லையெனில், மீதமுள்ள காஸ்க்கான கட்டணங்களை அனுப்புநருக்கு திருப்பி வழங்கவும், மற்றும் நுகரப்பட்ட காஸ்க்கு செலுத்தப்பட்ட கட்டணங்களை மைனர் (miner) க்கு அனுப்பவும்.

உதாரணமாக, ஒப்பந்தத்தின் குறியீடு (code) இதுவாக இருக்கலாம்:

if !self.storage[calldataload(0)]:
  self.storage[calldataload(0)] = calldataload(32)

குறிப்பிட வேண்டும: நிஜத்தில், ஒப்பந்த குறியீடு (contract code) குறைந்த மட்ட EVM குறியீட்டில் (EVM code) எழுதப்படுகிறது; விளக்கமாக, இந்த எடுத்துக்காட்டு எங்கள் உயர் மட்ட மொழிகளில் ஒன்றான Serpent இல் எழுதப்பட்டுள்ளது, மற்றும் இது EVM குறியீட்டிற்கு (EVM code) தொகுக்கப்படலாம். ஒப்பந்தத்தின் சேமிப்பகம் காலியாகத் தொடங்குகிறது என்று வைத்துக்கொள்வோம், மற்றும் 10 ஈதர் மதிப்பு, 2000 கேஸ், 0.001 ஈதர் கேஸ் விலை மற்றும் 64 பைட் தரவுகளுடன் ஒரு பரிவர்த்தனை அனுப்பப்படுகிறது, இதில் 0-31 பைட்டுகள் 2 என்ற எண்ணையும் மற்றும் 32-63 பைட்டுகள் CHARLIE என்ற சரத்தையும் குறிக்கின்றன. இந்தச் சந்தர்ப்பத்தில் மாநில மாற்றச் செயல்பாட்டிற்கான (state transition function) செயல்முறை கீழே உள்ளபடி இருக்கும்:

  1. பரிமாற்றம் (transaction) செல்லுபடியாகவும் நன்றாக உருவாக்கப்பட்டதாகவும் இருக்கிறதா என்பதை சரிபார்க்கவும்.
  2. பரிமாற்ற அனுப்புநருக்கு (transaction sender) குறைந்தபட்சம் 2000 * 0.001 = 2 எதர் இருக்கிறதா என்பதை சரிபார்க்கவும். இருந்தால், அனுப்புநரின் (sender) கணக்கிலிருந்து 2 எதரை கழிக்கவும்.
  3. காஸ் = 2000 என ஆரம்பிக்கவும்; பரிமாற்றம் 170 பைட்கள் நீளமாக இருக்கிறது மற்றும் பைட் கட்டணம் 5 எனக் கருதி, 850 ஐ கழித்து, 1150 காஸ் மீதமிருக்கிறது.
  4. மேலும் 10 எதரை அனுப்புநரின் கணக்கிலிருந்து கழித்து, ஒப்பந்தத்தின் (contract) கணக்கில் சேர்க்கவும்.
  5. குறியீட்டை (code) இயக்கவும். இந்த வழக்கில், இது எளிமையானது: இது குறியீட்டு 2 இல் உள்ள ஒப்பந்தத்தின் சேமிப்பகம் பயன்படுத்தப்படுகிறதா என்பதைச் சரிபார்க்கிறது, அது இல்லை என்பதைக் கவனிக்கிறது, எனவே இது குறியீட்டு 2 இல் உள்ள சேமிப்பகத்தை CHARLIE என்ற மதிப்புக்கு அமைக்கிறது. இது 187 காஸ் (gas) எடுக்கிறது என்று கருதுவோம், எனவே மீதமுள்ள காஸ் (gas) 1150 - 187 = 963 ஆகும்
  6. 963 * 0.001 = 0.963 எதரை மீண்டும் அனுப்புநரின் கணக்கில் சேர்த்து, மிச்சமாகும் மாநிலத்தை (resulting state) திருப்பி அனுப்பவும்.

பரிவர்த்தனையின் பெறும் முடிவில் எந்த ஒப்பந்தமும் இல்லை என்றால், மொத்த பரிவர்த்தனைக் கட்டணம் வெறுமனே வழங்கப்பட்ட GASPRICE ஐ பரிவர்த்தனையின் நீளத்தால் (பைட்டுகளில்) பெருக்குவதற்குச் சமமாக இருக்கும், மேலும் பரிவர்த்தனையுடன் அனுப்பப்பட்ட தரவு பொருத்தமற்றதாக இருக்கும்.

குறிப்பிட வேண்டும்: தகவல்கள் (messages) தற்செயலாக பிறப்பிக்கப்பட்ட இயக்கங்களின் திருப்பங்கள் (reverts) உடன், பரிமாற்றங்களின் (transactions) போன்றே செயல்படும்: ஒரு செய்தி (message) இயக்கம் காஸ் (gas) முடிந்துவிட்டால், அச்செய்தியின் (message) இயக்கம் மற்றும் அதனால் தொடங்கப்படும் அனைத்து பிற இயக்கங்களும் திரும்பிவிடும், ஆனால் மூல இயக்கங்கள் (parent executions) திரும்ப தேவையில்லை. இதனால், A B-யை G காஸ் (gas) உடன் அழைக்கும்போது, A-வின் இயக்கம் அதிகபட்சமாக G காஸ்ஸை (gas) இழப்பது உறுதியாகும் என்பதால், ஒரு ஒப்பந்தத்தை (contract) மற்றொரு ஒப்பந்தத்தைக் (contract) அழைப்பது "பாதுகாப்பானது" என்பது உறுதியாகிறது. இறுதியாக, CREATE என்ற ஒரு செயல்பாட்டுக் குறியீடு உள்ளது, அது ஒரு ஒப்பந்தத்தை உருவாக்குகிறது; அதன் செயலாக்க இயக்கவியல் பொதுவாக CALL ஐப் போன்றது, ஆனால் செயலாக்கத்தின் வெளியீடு புதிதாக உருவாக்கப்பட்ட ஒப்பந்தத்தின் குறியீட்டைத் தீர்மானிக்கிறது என்பது விதிவிலக்கு.

குறியீடு செயலாக்கம்

எத்தீரியம் ஒப்பந்தங்களில் (Ethereum contracts) குறியீடு குறைந்த மட்டத்திலான, திடுக்கிடும் அடிப்படையிலான பைட்கோடு மொழியில் (stack-based bytecode language) எழுதப்பட்டுள்ளது, இதை "எத்தீரியம் மெய்நிகர் இயந்திரக் குறியீடு" (Ethereum virtual machine code) அல்லது "EVM குறியீடு" (EVM code) என அழைக்கின்றனர். குறியீடு (code) ஒரு தொடர் பைட்களைக் (bytes) கொண்டு அமைந்துள்ளது, இதில் ஒவ்வொரு பைடும் (byte) ஒரு செயல்பாட்டைக் குறிக்கிறது. பொதுவாக, குறியீடு செயலாக்கம் என்பது ஒரு முடிவற்ற வளையமாகும், இது தற்போதைய நிரல் கவுண்டரில் (இது பூஜ்ஜியத்தில் தொடங்குகிறது) உள்ள செயல்பாட்டை மீண்டும் மீண்டும் மேற்கொள்வதையும், பின்னர் நிரல் கவுண்டரை ஒன்றால் அதிகரிப்பதையும் கொண்டுள்ளது, இது குறியீட்டின் முடிவை அடையும் வரை அல்லது ஒரு பிழை அல்லது STOP அல்லது RETURN அறிவுறுத்தல் கண்டறியப்படும் வரை தொடரும். செயல்பாடுகளுக்கு (Operations) கீழ்க்கண்ட மூன்று வகையான இடங்களில் (space) தரவுகளை (data) சேமிக்க அணுகல் உண்டு:

  • அடுக்கு, மதிப்புகளைத் தள்ளவும் எடுக்கவும் கூடிய ஒரு லாஸ்ட்-இன்-ஃபர்ஸ்ட்-அவுட் கொள்கலன்
  • நினைவகம், எல்லையற்ற விரிவாக்கக்கூடிய பைட் வரிசை
  • ஒப்பந்தத்தின் நீண்ட கால சேமிப்பகம், ஒரு திறவுகோல்/மதிப்பு சேமிப்பகம். மாடம் (stack) மற்றும் நினைவகம் (memory) குறியீடு செயலாக்கம் (code execution) முடிந்தவுடன் மீட்டமைக்கப்படும் நிலையில், சேமிப்பு (storage) நீண்ட காலத்திற்கு நிலைத்திருக்கிறது.

குறியீடு (code) கீழ்வரும் தரவுகளையும் (data) அணுக முடியும்: உள்ள வரும் செய்தியின் (incoming message) மதிப்பு (value), அனுப்புநர் (sender) மற்றும் தகவல்கள் (data), தொகுதி தலைப்பு (block header) தரவுகள், குறியீடு (code) ஒரு பைட்கோடு வரிசையைக் (byte array) வெளியீட்டாகவும் திருப்பித் தர முடியும்.

EVM குறியீட்டின் (EVM Code) செம்மையான செயலாக்க முறைமையை (formal execution model) மிகவும் எளிமையாகப் பார்க்க முடியும். எத்தேரியம் மெய்நிகர் இயந்திரம் இயங்கும்போது, அதன் முழுமையான கணக்கீட்டு நிலையை (block_state, transaction, message, code, memory, stack, pc, gas) என்ற கணத்தால் வரையறுக்கலாம், இதில் block_state என்பது அனைத்து கணக்குகளையும் கொண்டுள்ள உலகளாவிய நிலையாகும், மேலும் இது இருப்புகளையும் சேமிப்பகத்தையும் உள்ளடக்கியது. ஒவ்வொரு செயலாக்கச் சுற்றின் தொடக்கத்திலும், தற்போதைய அறிவுறுத்தல் code இன் pcவது பைட்டை (அல்லது pc >= len(code) எனில் 0) எடுத்துக்கொள்வதன் மூலம் கண்டறியப்படுகிறது, மேலும் ஒவ்வொரு அறிவுறுத்தலுக்கும் அது கணத்தை எவ்வாறு பாதிக்கிறது என்பதன் அடிப்படையில் அதன் சொந்த வரையறை உள்ளது. உதாரணமாக, ADD அடுக்கிலிருந்து இரண்டு உருப்படிகளை எடுத்து அவற்றின் கூட்டுத்தொகையைத் தள்ளுகிறது, gas ஐ 1 ஆல் குறைத்து pc ஐ 1 ஆல் அதிகரிக்கிறது, மேலும் SSTORE அடுக்கின் மேலிருந்து இரண்டு உருப்படிகளை எடுத்து, முதல் உருப்படியால் குறிப்பிடப்பட்ட குறியீட்டில் இரண்டாவது உருப்படியை ஒப்பந்தத்தின் சேமிப்பகத்தில் செருகுகிறது. எத்தீரியம் மெய்நிகர் இயந்திர செயலாக்கத்தை (Ethereum virtual machine execution) just-in-time தொகுப்பு (compilation) மூலம் பல வழிகளில் செயல்திறனை அதிகரிக்க (optimize) முடியும் என்றாலும், எத்தீரியத்தை (Ethereum) அடிப்படை வழியில் செயலாக்குவது (implementation) சில நூறு வரிசைகள் (lines of code) மட்டுமே கொண்டிருக்கலாம்.

பிளாக்செயின் மற்றும் சுரங்கம்

எத்தேரியம் பயன்பாட்டு தொகுதி வரைபடம்

எத்தீரியம் தொடர் (Ethereum blockchain) பல வழிகளில் பிட்காயின் தொடருக்கு (Bitcoin blockchain) இணையாக உள்ளது, என்றாலும் சில வேறுபாடுகள் உள்ளன. எத்தீரியம் மற்றும் பிட்காயின் தொடர் கட்டமைப்புகளை (blockchain architecture) ஒப்பிடும்போது, முதன்மை வேறுபாடு என்னவென்றால், பிட்காயினிற்கு மாறாக, எத்தீரியம் தொகுதிகள் (blocks) பரிமாற்றப் பட்டியல் (transaction list) மற்றும் சமீபத்திய நிலையின் (most recent state) பிரதியை (copy) கொண்டிருக்கும். அதைத் தவிர, இரு கூடுதல் மதிப்புகள், தொகுதி எண் (block number) மற்றும் கடினம் (difficulty), ஆகியவை தொகுதியில் (block) சேமிக்கப்படும். எத்தீரியத்தில் அடிப்படை தொகுதி செல்லுபடியாக்கும் க்குறிக்கோள் (block validation algorithm) கீழே கொடுக்கப்பட்டுள்ளது:

  1. முந்தைய தொகுதி (previous block) குறிப்பிடப்பட்டு, அது இருப்பதைவும் செல்லுபடியாக இருப்பதைவும் சரிபார்க்கவும்.
  2. தொகுதியின் நேரக்குறிப்பு (timestamp) குறிப்பிடப்பட்ட முந்தைய தொகுதியின் நேரத்தைவிட அதிகமாகவும், எதிர்காலத்தில் 15 நிமிடத்திற்கு குறைவாகவும் இருப்பதை சரிபார்க்கவும்
  3. தொகுதி எண் (block number), கடினம் (difficulty), பரிமாற்றக் மூலங்கள் (transaction root), அத்தை மூலங்கள் (uncle root) மற்றும் கேஸ் வரம்பு (gas limit) போன்றவற்றை சரியாக உள்ளனவா என்பதையும் சரிபார்க்கவும்.
  4. Block ன் proof-of-work சரியானது என்பதைச் சரிபார்க்கவும்.
  5. முந்தைய தொகுதியின் முடிவில் உள்ள நிலையை S[0] என வைத்துக்கொள்வோம்.
  6. TX என்பது n பரிவர்த்தனைகளைக் கொண்ட தொகுதியின் பரிவர்த்தனைப் பட்டியல் என்று வைத்துக்கொள்வோம். 0...n-1 இல் உள்ள அனைத்து i க்கும், S[i+1] = APPLY(S[i],TX[i]) என அமைக்கவும். ஏதேனும் பயன்பாடுகள் பிழையைத் திருப்பினால், அல்லது இந்த புள்ளி வரை தொகுதியில் நுகரப்படும் மொத்த கேஸ் GASLIMIT ஐ மீறினால், ஒரு பிழையைத் திருப்பவும்.
  7. S_FINAL என்பது S[n] ஆக இருக்கட்டும், ஆனால் சுரங்கத் தொழிலாளிக்கு வழங்கப்படும் தொகுதி வெகுமதியைச் சேர்க்கவும்.
  8. S_FINAL நிலையின் மெர்க்கல் மரத்தின் ரூட், தொகுதி தலைப்பில் வழங்கப்பட்ட இறுதி நிலை ரூட்டுக்கு சமமாக உள்ளதா எனச் சரிபார்க்கவும். அது சரியெனில், தொகுதி செல்லுபடியாகும்; இல்லாவிட்டால், அது செல்லுபடியாகாது.

இந்த அணுகுமுறை முதலில் மிகவும் மந்தமாகத் தோன்றலாம், ஏனெனில் ஒவ்வொரு தொகுதியிலும் முழு நிலையை (state) சேமிக்க வேண்டும். ஆனால் உண்மையில், பிட்காயினுக்கு ஒப்பான செயல்திறனை (efficiency) கொண்டிருக்க வேண்டும். காரணம், நிலை மரக்கட்டமைப்பில் (tree structure) சேமிக்கப்படுகிறது, மேலும் ஒவ்வொரு தொகுதியின் (block) பின்னரும் மரத்தின் ஒரு சிறிய பகுதியே மாற்றப்பட வேண்டும். எனவே, பொதுவாக, இரண்டு அடுத்தடுத்த தொகுதிகளுக்கு இடையில் மரத்தின் பெரும்பகுதி ஒரே மாதிரியாக இருக்க வேண்டும், எனவே தரவை ஒருமுறை சேமித்து, சுட்டிகளைப் பயன்படுத்தி (அதாவது, துணை மரங்களின் ஹாஷ்கள்) இரண்டு முறை குறிப்பிடலாம். "பட்ரிசியா மரம்" (Patricia tree) எனப்படும் ஒரு சிறப்பு வகை மரம் இதைப் பெற்றுக்கொள்வதற்காகப் பயன்படுத்தப்படுகிறது, இது மெர்கிள் மரம் (Merkle tree) என்ற கருத்துக்கருவில் ஒரு மாற்றத்தை (modification) உள்ளடக்கியது, இது கொள்ளைகளை (nodes) எளிதாகச் செலுத்தும், நீக்கும், மற்றும் மாற்றங்களை மட்டும் செய்யாமல். மேலும், அனைத்து நிலைத் தகவல்களும் (state information) கடைசி தொகுதியின் (block) ஒரு பகுதியாக இருப்பதால், முழு தொகுதி வரலாற்றையும் (blockchain history) சேமிக்கத் தேவையில்லை - ஒரு ஆய்வு (strategy), இது பிட்காயினில் (Bitcoin) பயன்படுத்தப்படக்கூடியது எனக் கருதினால், இடத்தை 5-20 மடங்கு குறைக்கக் (space savings) கணக்கீடு செய்யப்படலாம்.

உண்மையான கேள்வி "கொணரின்" (contract) குறியீடு (code) எந்தப் பொருள் கடத்தும் என்பது அடிப்படையில் விளங்குகிறதா என்பதைப் பற்றியதாகும். இதற்கு ஒரு எளிய பதில் உள்ளது: ஒப்பந்தக் குறியீட்டைச் செயல்படுத்தும் செயல்முறை நிலை மாற்றச் சார்பின் வரையறையின் ஒரு பகுதியாகும், இது தொகுதி சரிபார்ப்பு நெறிமுறையின் ஒரு பகுதியாகும், எனவே ஒரு பரிவர்த்தனை B தொகுதியில் சேர்க்கப்பட்டால், அந்தப் பரிவர்த்தனையால் உருவாக்கப்பட்ட குறியீடு செயலாக்கம் B தொகுதியைப் பதிவிறக்கிச் சரிபார்க்கும் அனைத்து முனைகளாலும், இப்போதும் எதிர்காலத்திலும் செயல்படுத்தப்படும்.

பயன்பாடுகள்

பொதுவாக, எத்தீரியத்தின் மேல் மூன்று வகை பயன்பாடுகள் உள்ளன. முதல் வகை நிதி பயன்பாடுகள், இது பயனாளர்களுக்குத் தங்கள் பணத்தைப் பயன்படுத்தி நடத்தவும், செயல்படுத்தவும் பலமாக (powerful) முறைகளை வழங்குகின்றது. இது துணை நாணயங்கள் (sub-currencies), நிதி நெரிவுகள் (financial derivatives), செலுத்தும் உறுதிமொழிகள் (hedging contracts), சேமிப்பு பணப்பைகள் (savings wallets), இறப்புத் திட்டங்கள் (wills), மற்றும் நிறைவேற்றப்பட்ட சில வகை வேலை ஒப்பந்தங்களை (full-scale employment contracts) கூட உள்ளடக்கியுள்ளது. இரண்டாவது வகை அரை நிதி பயன்பாடுகள் (semi-financial applications), இதில் பணம் ஈடுபட்டுள்ளதுடன், பணம் சாரா (non-monetary) அம்சங்களும் பெரிதும் இருக்கின்றன; இதற்கான சரியான உதாரணம் கணக்கீட்டு சிக்கல்களுக்கான தீர்வுகளுக்கான சுய-வசூல் (self-enforcing) முயற்சிகள் (bounties) ஆகும். இறுதியாக, இணையதள வாக்களிப்புகள் (online voting) மற்றும் மையரற்ற ஆட்சி (decentralized governance) போன்ற பயன்பாடுகள் உள்ளன, அவை நிதியைச் சார்ந்தவை அல்ல.

டோக்கன் அமைப்புகள்

ஆன்ட்டின் தொகேன் (On-blockchain token) முறைமைகள் பல்வேறு பயன்பாடுகளை கொண்டுள்ளன, இதற்கு உதாரணமாக USD அல்லது தங்கம் போன்ற சொத்துகளை பிரதிநிதித்துவம் செய்யும் துணை நாணயங்கள், நிறுவன பங்குகள், சுயமாகவே செல்லுபடாத சொத்துகள், பாதுகாப்பான மற்றும் கையிட முடியாத கூப்பன்கள் மற்றும் பரம்பரைச் சொத்து நாணயங்கள் அல்லது முறையினோடு எந்த உரிமையும் இல்லாத தொகேன் முறைமைகள், ஊக்கமளிக்கும் புள்ளி முறைமைகளாக பயன்படுத்தப்படுகின்றன. எத்தீரியத்தில் தொகேன் முறைமைகளை உருவாக்குவது மிகவும் எளிதாக உள்ளது. முக்கியப் புள்ளி என்னவென்றால், எந்த ஒரு நாணயத்தோ, அல்லது தொகேன் முறைமையோ அடிப்படையில் ஒரு தரவுத்தொகுப்பாகவே இருக்கும், அதில் ஒரே செயல்பாடு மட்டுமே உள்ளது: A யில் இருந்து X அலகுகளை கழித்து, B யிற்கு X அலகுகளை வழங்கவும், இதற்கான நிபந்தனைகள் (i) A பிணையத்தில் X அலகுகளை குறைந்தது கொண்டிருந்தது மற்றும் (2) பரிமாற்றம் A யால் அங்கீகரிக்கப்பட்டுள்ளது என்பதைக் கொண்டு இருக்க வேண்டும். தொகேன் முறைமையை உருவாக்குவதற்கு தேவையானது இவ்வளவு, இந்த லாஜிக்களை ஒரு கொணரியில் (contract) செயல்படுத்துவதற்கே ஆகும்.

செர்பெண்டில் (Serpent) தொகேன் முறைமையை உருவாக்குவதற்கான அடிப்படை குறியீடு (code) இவ்வாறு இருக்கும்:

def send(to, value):
  if self.storage[msg.sender] >= value:
    self.storage[msg.sender] = self.storage[msg.sender] - value
    self.storage[to] = self.storage[to] + value

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

நிதிப் பங்குகள் மற்றும் நிலையான-மதிப்பு நாணயங்கள்

நிதி உற்பத்தியுகள் என்பது "ஸ்மார்ட் ஒப்பந்தம்" என்பதற்கான மிகவும் பொதுவான பயன்பாடு மற்றும் குறியீட்டில் செயல்படுத்த மிக எளிதான ஒன்று. நிதி ஒப்பந்தங்களை செயல்படுத்துவதில் முக்கிய சவால் என்னவென்றால், அவற்றில் பெரும்பாலானவை வெளிப்புற விலை டிக்கர் (price ticker) குறிப்பு தேவைப்படும்; எடுத்துக்காட்டாக, எத்தீரியன் (அல்லது மற்றொரு கிரிப்டோ நாணயம்) உடன் அமெரிக்க டாலரின் மாறுபாட்டை எதிர்த்து ஒரு ஸ்மார்ட் ஒப்பந்தம் உருவாக்குவது மிகவும் விரும்பத்தகுந்த பயன்பாடு, ஆனால் இதைச் செய்ய, ஒப்பந்தம் ETH/USD இன் மதிப்பு என்ன என்பதை அறிய வேண்டியிருக்கிறது. இதைச் செய்வதற்கான எளிமையான வழி, ஒரு குறிப்பிட்ட தரப்பினரால் (எ.கா., NASDAQ) பராமரிக்கப்படும் ஒரு "தரவு ஊட்ட" ஒப்பந்தத்தின் மூலம் ஆகும், இது அந்தத் தரப்பினர் தேவைக்கேற்ப ஒப்பந்தத்தைப் புதுப்பிக்கும் திறனைக் கொண்டிருக்குமாறு வடிவமைக்கப்பட்டுள்ளது, மேலும் பிற ஒப்பந்தங்கள் அந்த ஒப்பந்தத்திற்கு ஒரு செய்தியை அனுப்பி விலையை வழங்கும் பதிலை திரும்பப் பெற அனுமதிக்கும் ஒரு இடைமுகத்தை வழங்குகிறது.

அந்த முக்கிய மாறுபாட்டுத் ஒப்பந்தம் பின்வருமாறு இருக்கும்:

  1. A தரப்பாளரால் 1000 எத்தீரியன் நுழைக்கப்படுவதை காத்திருக்கவும்.
  2. B தரப்பாளரால் 1000 எத்தீரியன் நுழைக்கப்படுவதை காத்திருக்கவும்.
  3. தரவுக் கொடுக்கல் ஒப்பந்தத்தைக் கேட்டு 1000 எத்தீரியனின் USD மதிப்பைச் சேமிக்கவும், இதைப் $x என்று கூறலாம்.
  4. 30 நாட்களுக்குப் பிறகு, A அல்லது B தங்கள் ஒப்பந்தத்தை "மீண்டும் செயலில் எடுக்க" அனுமதிக்கவும், அதாவது, தரவுக் கொடுக்கல் ஒப்பந்தத்தை மீண்டும் கேட்டுப் புதிய விலை அறிந்து $x மதிப்புடைய எத்தீரியனை A-க்கு மற்றும் மீதமுள்ளதை B-க்கு அனுப்பவும்.**

இவ்வாறான ஒரு ஒப்பந்தம் கிரிப்டோ-வணிகத்தில் முக்கியமான சாத்தியங்களைக் கொண்டதாக இருக்கும். இவ்வாறான ஒரு ஒப்பந்தம் கிரிப்டோ-வணிகத்தில் முக்கியமான சாத்தியங்களை கொண்டதாக இருக்கும். கிரிப்டோநாணயத்திற்குப் பற்றிய முக்கியமான சிக்கல்களில் ஒன்று அதன் மாறுபாடு ஆகும்; பல பயனர்கள் மற்றும் வர்த்தகர்கள் கிரிப்டோகிராபிக் சொத்துகளுடன் பரிமாற்றங்களின் பாதுகாப்பையும் வசதியையும் விரும்பினாலும், ஒரு நாள் ஒன்றில் 23% மதிப்பு இழக்கக் கூடும் சாத்தியத்தை அவர்கள் எதிர்கொள்க முடியாது. இதுவரை, மிகவும் பொதுவாக முன்மொழியப்பட்ட தீர்வு வெளியீட்டாளர் ஆதரவு பெற்ற சொத்துக்கள் ஆகும்; இதன் யோசனை என்னவென்றால், ஒரு வெளியீட்டாளர் ஒரு துணை-நாணயத்தை உருவாக்குகிறார், அதில் அவர்கள் அலகுகளை வெளியிடவும் திரும்பப் பெறவும் உரிமை உண்டு, மேலும் ஒரு குறிப்பிட்ட அடிப்படைச் சொத்தின் (எ.கா., தங்கம், USD) ஒரு அலகை அவர்களுக்கு (ஆஃப்லைனில்) வழங்கும் எவருக்கும் நாணயத்தின் ஒரு அலகை வழங்குகிறார்கள். அந்த அடிப்படை சொத்தை ஒருவருக்கே வழங்கும் உறுதியினை கொடுக்கிறார். இந்த முறை, எந்தவொரு கிரிப்டோகிராபிக் சொத்தையும் "மேம்படுத்த" இது அனுமதிக்கிறது, வெளியீட்டாளர் நம்பத்தகுந்தவராக இருக்கும்போது மட்டுமே.

உருப்படையாளர் நம்பகமானவர்களாக இல்லாமல் இருப்பதோடு, சில சூழ்நிலைகளில் வங்கி அமைப்புகள் மிகுந்த பலவீனமாகவும் அல்லது பகைவராகவும் இருக்கக்கூடும், அதனால் இத்தகைய சேவைகள் செயல்பட முடியாது. நிதி வரிசைகள் ஒரு மாற்று வழியை வழங்குகின்றன. இங்கே, ஒரு சொத்தை ஆதரிப்பதற்கான நிதியை ஒரு தனி வெளியீட்டாளர் வழங்குவதற்குப் பதிலாக, ஒரு கிரிப்டோகிராஃபிக் குறிப்புச் சொத்தின் (எ.கா., ETH) விலை உயரும் என்று பந்தயம் கட்டும் ஊக வணிகர்களின் ஒரு பரவலாக்கப்பட்ட சந்தை அந்தப் பாத்திரத்தை வகிக்கிறது. உருப்படையாளர் மாறாக, கணிக்கையாளர் தனது பங்குகளை முடுக்கம் செய்ய முடியாது, ஏனெனில் ஹெட்ஜிங் ஒப்பந்தம் அவர்களின் நிதிகளைச் சர்வதேச காப்பகத்தில் வைத்திருக்கிறது. இந்த அணுகுமுறை முழுமையாக மையமற்றது அல்ல என்பதை கவனியுங்கள், ஏனெனில் விலை குறியீட்டை வழங்க ஒரு நம்பகமான மூல தேவையாகவே உள்ளது, ஆனால் இதுவும் அடிப்படையான கட்டமைப்புப் பற்றிய தேவைகளை குறைப்பதில் ஒரு பெரிய மேம்பாடு என்பதாகக் கூறப்படலாம் (உருப்படையாளர் ஆக இருக்கும்போல், விலை உணர்வைக் வழங்குவதற்கு உரிமங்கள் தேவையில்லை மற்றும் இதனை இலவச பேச்சாக வகைப்படுத்தப்படக்கூடும்) மற்றும் மோசடியின் சாத்தியங்களை குறைப்பதில்.

அடையாளம் மற்றும் நற்பெயர் அமைப்புகள்

அனைத்து மாற்று கிரிப்டோகரன்சிகளிலும் ஆரம்பகாலமான Namecoinopens in a new tab, பிட்காயின் போன்ற பிளாக்செயினைப் பயன்படுத்தி ஒரு பெயர் பதிவு முறையை வழங்க முயன்றது, அங்கு பயனர்கள் தங்கள் பெயர்களை மற்ற தரவுகளுடன் ஒரு பொது தரவுத்தளத்தில் பதிவு செய்யலாம். மேற்கோள் காட்டப்பட்ட முக்கிய பயன்பாட்டு வழக்கு ஒரு DNSopens in a new tab அமைப்புக்கானது, இது "bitcoin.org" (அல்லது, Namecoin வழக்கில், "bitcoin.bit") போன்ற டொமைன் பெயர்களை ஒரு IP முகவரிக்கு மேப் செய்கிறது. பிற பயன்பாடுகளில் மின்னஞ்சல் அங்கீகாரம் மற்றும் சாத்தியமாகச் மேலும் மேம்பட்ட நம்பகத் துறை அமைப்புகள் அடங்கும். இங்கே எதீரியம் மீது நேம்கோயின் போன்ற பெயர் பதிவு அமைப்பை வழங்கும் அடிப்படையான ஒப்பந்தம்:

def register(name, value):
  if !self.storage[name]:
    self.storage[name] = value

இந்த ஒப்பந்தம் மிகவும் எளிமையானது; இது எதீரியம் நெட்வொர்க் உள்ளடக்கப்பட்ட ஒரு தரவுத்தொகுப்பாக மட்டுமே உள்ளது, ஆனால் மாற்ற முடியாது அல்லது நீக்க முடியாது. யாரும் ஒரு பெயரைச் சில மதிப்புடன் பதிவு செய்ய முடியும், மற்றும் அந்தப் பதிவு எப்போதும் நிலைத்துவிடும். ஒரு மிகவும் நுட்பமான பெயர் பதிவு ஒப்பந்தத்தில், மற்ற ஒப்பந்தங்கள் அதைக் கேட்க அனுமதிக்கும் ஒரு "செயல்பாட்டு விதி" மற்றும் ஒரு பெயரின் "உரிமையாளர்" (அதாவது, முதல் பதிவாளர்) தரவை மாற்றவோ அல்லது உரிமையை மாற்றவோ ஒரு பொறிமுறையும் இருக்கும். மேலுமாக, நம்பகத் துறை மற்றும் நம்பிக்கை வலைப் செயல்பாடுகளைக் கூடச் சேர்க்கலாம்.

பரவலாக்கப்பட்ட கோப்பு சேமிப்பகம்

கடந்த சில ஆண்டுகளில், பயனர்களுக்குத் தங்கள் கடின இயக்கிப் பயிற்சிகளை மேலேற்ற அனுமதிக்கும், சேவையைச் சேமித்து வைப்பதற்கும் மாதாந்திர கட்டணத்திற்கு அதனை அணுக அனுமதிக்கும், முக்கியமாக ட்ராப்‌பாக்ஸ் போன்ற பிரபல ஆன்லைன் கோப்பு சேமிப்பு ஸ்டார்ட்அப்புகள் உருவாகியுள்ளது. எனினும், தற்போது கோப்பு சேமிப்பு சந்தை சில நேரங்களில் சம்பவமாகக் குறைவாக செயல்படுகிறது; பல்வேறு உருவாக்கப்பட்ட தீர்வுகளைப் பார்க்கும்போது, குறிப்பாக "அசாதாரண பள்ளி" 20-200 GB அளவில where free quotas அல்லது enterprise-level discounts க்கு அங்கே உண்டு, மாதாந்திர விலை தரவுத்தொகுப்பு செலவுகளைப் பார்த்தால், ஒரு மாதத்தில் முழுமையான கடின இயக்கியின் செலவிற்கு மேலாக செலவு செய்யப்படுகிறது. எதீரியம் ஒப்பந்தங்கள் மையமற்ற கோப்பு சேமிப்பு சுயபரிமாற்றத்தை உருவாக்க அனுமதிக்க முடியும், இதில் தனிப்பட்ட பயனர்கள் தங்கள் சொந்த கடின இயக்கிகளைப் பணம் அசைவாயிருக்கக் கொடுக்கக்கூடிய மற்றும் பயன்படுத்தப்படாத இடங்களைக் கோப்பு சேமிப்பு செலவுகளை மேலும் குறைக்க பயன்படுத்த முடியும்.

அதர்த்தம் இல்லாத சேமிப்பு சாதனத்தின் முக்கிய கூறு என்பது நாங்கள் "மையமற்ற டிராப்‌பாக்ஸ் ஒப்பந்தம்" என்று பெயரிட்டுள்ளோம். இந்த ஒப்பந்தம் பின்வருபடியானவாறு செயல்படுகிறது. ஒவ்வொரு தொகுதியும் தனிப்பட்ட தனிமை காப்பகமாகக் குறியாக்கப்படுகிறது, மற்றும் அதிலிருந்து ஒரு மெர்கிள் மரம் உருவாக்கப்படுகிறது. பிறகு, ஒப்பந்தத்தில், ஒவ்வொரு N தொகுப்புகளுக்கும், ஒப்பந்தம் மெர்கிள் மரத்தில் ஒரு சீரற்ற குறியீட்டைத் தேர்வு செய்யும் (முந்தைய தொகுப்பின் 해ஷ், ஒப்பந்தக் குறியீட்டில் அணுகக்கூடியது, சீரற்றத்தைப் பெறுவதற்கான மூலமாகப் பயன்படுத்தப்படுகிறது), மற்றும் அந்த குறிப்பிட்ட குறியீட்டின் மரத்தில் உள்ள தொகுப்பின் உரிமையைச் சுருக்கமாக புலப்படுத்திய சந்தாகிய நபருக்கு X ஈதர் வழங்கப்படும். ஒரு பயனர் தங்கள் கோப்பை மீண்டும் பதிவிறக்க விரும்பும் போது, கோப்பை மீட்டெடுக்க அவர்கள் ஒரு மைக்ரோபேமெண்ட் சேனல் நெறிமுறையைப் பயன்படுத்தலாம் (எ.கா., 32 கிலோபைட்டுகளுக்கு 1 szabo செலுத்தவும்); மிகவும் கட்டண-திறனுள்ள அணுகுமுறை, பணம் செலுத்துபவர் பரிவர்த்தனையை இறுதி வரை வெளியிடாமல், அதற்குப் பதிலாக ஒவ்வொரு 32 கிலோபைட்டிற்கும் பிறகு அதே நான்ஸுடன் சற்று அதிக லாபகரமான பரிவர்த்தனையுடன் மாற்றுவதாகும்.

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

பரவலாக்கப்பட்ட தன்னாட்சி நிறுவனங்கள்

"மையமற்ற தன்னாட்சி அமைப்பு" என்ற பொது கருத்து, சில உறுப்பினர்கள் அல்லது பங்குதாரர்கள் கொண்ட ஒரு மெய்நிகர் அமைப்பின் காட்சி, அதில் 67% பெரும்பான்மையுடன், அந்த அமைப்பின் நிதிகளைச் செலவழிக்க மற்றும் அதன் குறியீட்டை மாற்ற உரிமை உள்ளது. உறுப்பினர்கள், அந்த அமைப்பு நிதிகளை எவ்வாறு ஒதிக்க வேண்டும் என்பதை ஒரு குழுமமாகக் தீர்மானிக்கப்போகிறார்கள். ஒரு DAO இன் நிதிகளை ஒதிக்க முறைகள், பரிசுகள், சம்பளங்கள் மற்றும் வேலைக்கு ஊதியம் தரும் உள்நாட்டு நாணயங்கள் போன்ற அற்புதமான முறைகள்வரை மாறுபடக்கூடும். இது ஒரு பாரம்பரிய நிறுவனத்தின் அல்லது அசாதாரண நிறுவனத்தின் சட்டப் பக்கம் எடுக்கும் முறையைப் பிரதிநிதிக்கும், ஆனால் அதன் அமல்படுத்தலுக்கு மட்டும் குறியாக்க சிக்கல் தொழில்நுட்பத்தைப் பயன்படுத்துகிறது. இதுவரை DAOs பற்றிய பேச்சுக்கள் பெரும்பாலும் "மூலதனவாத" மாதிரியாகும் "மையமற்ற தன்னாட்சி நிறுவன" (DAC) பங்குதாரர்கள் மற்றும் வரிவகுக்கும் பங்குகளைப் பற்றியதாகவே உள்ளது; மாற்றாக, "மையமற்ற தன்னாட்சி சமூகம்" என வரையறுக்கப்பட்டவையாக, அனைத்து உறுப்பினர்களும் தீர்மானங்களில் சமமான பங்குகளை உடையதாக இருக்கும் மற்றும் உறுப்பினரை சேர்க்க அல்லது நீக்க 67% தற்போதைய உறுப்பினர்களின் ஒப்புதலைக் கோருகிறது. ஒருவருக்கு ஒரே membership ஒன்றுதான் இருக்க வேண்டும் என்ற தேவை, குழுமமாகவே அமல்படுத்தப்பட வேண்டும்.

ஒரு DAO ஐக் குறியீட்டுவதோ எப்படி என்பதைப் பற்றிய பொதுவான உருமுறை பின்வருமாறு. எளிமையான வடிவமைப்பு என்பது இரண்டு மூதலாம் உறுப்பினர்கள் மாற்றத்திற்கு ஒப்புக்கொண்டால், அந்தக் குறியீடு மாற்றப்படும் தனியாக மாறும் குறியீடாக இருக்கிறது. குறியீடு வகையில் மாற்றமற்றது என்றாலும், அதைச் சுற்றி செல்ல எளிதாகக்கூடும் மற்றும் கொண்ட டெ-ஃபாக்டோ மாறுபாட்டைப் பெறுவதற்கு, குறியீட்டின் பகுதிகளைத் தனித்தனி ஒப்பந்தங்களில் வைக்கவும், எந்த ஒப்பந்தங்களை அழைக்க வேண்டும் என்பதற்கான முகவரிகளை மாற்றக்கூடிய சேமிப்பில் சேமிக்கவும் முடியும். ஒரு எளிய DAO ஒப்பந்தத்தின் செயலாக்கத்தில், மூன்று வகை பரிவர்த்தனைகள் இருக்கும், பரிவர்த்தனையில் வழங்கப்படும் தரவின் அடிப்படையில் அடையாளமாக:

  • [0,i,K,V] என்பது சேமிப்பக குறியீட்டு K இல் உள்ள முகவரியை V மதிப்புக்கு மாற்ற குறியீட்டு i உடன் ஒரு முன்மொழிவைப் பதிவு செய்ய.
  • [1,i] என்பது முன்மொழிவு i க்கு ஆதரவாக ஒரு வாக்கைப் பதிவு செய்ய.
  • [2,i] என்பது போதுமான வாக்குகள் அளிக்கப்பட்டிருந்தால் முன்மொழிவு i ஐ இறுதி செய்ய.

இந்த ஒப்பந்தத்தில் இதற்கான ஒவ்வொரு விதிகளும் இருக்கும். இது அனைத்து திறந்த சேமிப்பு மாற்றங்களின் பதிவுகளை மற்றும் அவற்றுக்கு வாக்களித்தவர்கள் பட்டியலைப் பராமரிக்கும். இது அனைத்து உறுப்பினர்களின் பட்டியலைக் கொண்டிருக்கும். எப்போது எந்தச் சேமிப்பு மாற்றம் இரண்டு மூவாதிகார உறுப்பினர்கள் அதற்கு வாக்களிக்கிறார்கள் என்றால், ஒரு இறுதி பரிவர்த்தனை அந்த மாற்றத்தை நிறைவேற்றலாம். ஒரு மிகவும் நுட்பமான கட்டமைப்பு, ஒரு பரிவர்த்தனையை அனுப்புதல், உறுப்பினர்களைச் சேர்ப்பது மற்றும் நீக்குவது போன்ற அம்சங்களுக்கான உள்ளமைக்கப்பட்ட வாக்களிப்புத் திறனைக் கொண்டிருக்கும், மேலும் திரவ ஜனநாயகம்opens in a new tab பாணியிலான வாக்கு ஒப்படைப்புக்கும் வழங்கக்கூடும் (அதாவது, யார் வேண்டுமானாலும் தங்களுக்கு வாக்களிக்க ஒருவரை நியமிக்கலாம், மற்றும் இந்த நியமனம் கடத்தப்படக்கூடியது, எனவே A, B-ஐ நியமித்து, B, C-ஐ நியமித்தால், C, A-இன் வாக்கை தீர்மானிக்கிறது). இந்த வடிவமைப்பு, DAO ஐ ஒரு மையமில்லாத சமூகம் ஆக வளரச் செய்யும், இதனால் நபர்கள் பரிமாற்றங்களை மூடு போல் மாற்றும் நிபுணர்களிடம் உறுப்பினரைத் திருத்துவதற்கான பணியை ஒப்படைக்க முடியும், ஆனால் "தற்காலிக முறைமை" போல, நிபுணர்கள் காலப்போக்கில் எளிதாக உருவாகவும் அழிந்து விடவும் முடியும், குறிப்பாக தனிப்பட்ட சமூகம் உறுப்பினர்கள் தங்கள் பொருத்தங்களை மாற்றும் போது.

மாற்று மாதிரியோ மையமில்லா நிறுவனமாக இருக்கும், இதில் எந்தக் கணக்கும் பூஜ்யம் அல்லது அதிகமான பங்குகளைக் கொண்டிருக்கலாம், மற்றும் முடிவுகளை எடுக்க இரண்டு மூவாதிகார பங்குகள் தேவை. ஒரு முழுமையான கட்டமைப்பு, சொத்துக்களை மேலாண்மை செய்யும் செயல்பாடு, பங்குகளை வாங்குதல் அல்லது விற்பனை செய்யும் சலுகையை உருவாக்கும் திறன், மற்றும் சலுகைகளை ஏற்கும் திறனை (ஒன்றுநிலை சந்தை மெய்யியல் அமைப்புடன்) உள்ளடக்கியதாக இருக்கும். ஒப்படைப்பு Liquid Democracy-போன்றது மூலம் இருக்கும், "அறிக்கையாளர் குழு" என்ற கருத்தைப் பொதுமொழியாக்கும்.

மேலும் பயன்பாடுகள்

1. சேமிப்பு பணப்பைகள். ஆலிஸ் தனது நிதிகளைப் பாதுகாப்பாக வைத்துக்கொள்ள விரும்புகிறாள், ஆனால் அவள் தன்னுடைய தனிப்பட்ட திறவுகோலினை இழக்க முடியுமா அல்லது யாரோ அதை ஹேக் செய்ய முடியுமா எனக் கவலைப் படுகிறாள். அவள் பாப் என்ற வங்கியுடன் ஒரு ஒப்பந்தத்தில் ஈதரை வைக்கும், இது இவ்வாறு இருக்கும்:

  • ஆலிஸ் மட்டும் தினமும் நிதிகளின் 1% அதிகமாக எடுக்க முடியும்.
  • பாப் மட்டும் தினமும் நிதிகளின் 1% அதிகமாக எடுக்க முடியும், ஆனால் ஆலிஸ் தனது திறவுகோலுடன் இந்தத் திறனை நிறுத்தும் ஒரு பரிவர்த்தனை செய்யும் திறனைக் கொண்டுள்ளது.
  • ஆலிஸ் மற்றும் பாப் இணைந்து எதுவும் எடுக்க முடியும்.

சாதாரணமாக, தினசரி 1% என்கின்றது ஆலிஸ் க்கு போதுமானது, மேலும் ஆலிஸ் அதிகமாக எடுக்க விரும்பினால் பாப் உடன் தொடர்பு கொண்டு உதவி பெறலாம். ஆலிஸின் திறவுகோல் ஹேக் செய்யப்படின், அவள் பாப் க்கு சென்று நிதிகளைப் புதிய ஒப்பந்தத்திற்கு நகர்த்தலாம். அவள் தன் திறவுகோலை இழந்தால், பாப் நிதிகளை இறுதியில் எடுக்குவார். பாப் தீயவராக மாறினால், அவள் அவரது எடுப்பதற்கான திறனை நிறுத்தலாம்.

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

3. ஒரு பரவலாக்கப்பட்ட தரவு ஊட்டம். வேறுபாட்டிற்கான நிதி ஒப்பந்தங்களுக்கு, "ஷெல்லிங்காயின்opens in a new tab" எனப்படும் ஒரு நெறிமுறை மூலம் தரவு ஊடத்தை பரவலாக்குவது உண்மையில் சாத்தியமாக இருக்கலாம். ஷெல்லிங்காயின் அடிப்படையில் பின்வருமாறு செயல்படுகிறது: N தரப்பினர் அனைவரும் ஒரு கொடுக்கப்பட்ட தரவின் மதிப்பை (எ.கா., ETH/USD விலை) அமைப்பில் உள்ளிடுகிறார்கள், மதிப்புகள் வரிசைப்படுத்தப்படுகின்றன, மேலும் 25வது மற்றும் 75வது சதவிகிதத்திற்கு இடையில் உள்ள அனைவருக்கும் ஒரு டோக்கன் வெகுமதியாகக் கிடைக்கும். ஒவ்வொருவரும் மற்றவர்கள் வழங்கப்போகும் விடையைக் கொடுக்க வேண்டும் என்ற ஊக்கத்தை பெறுகிறார்கள், மேலும் பலர் சரியானதாகக் கொள்கின்ற ஒரே மதிப்பு தெளிவான இயல்பாக இருக்கும்: உண்மை. இது ஒரு மையமற்ற நெறிமுறையை உருவாக்குகிறது, இது எதற்கும் தேவையான எந்தவொரு மதிப்பையும் வழங்கக் கூடியது, இதில் ETH/USD விலை, பெர்லினில் வெப்பநிலை அல்லது குறிப்பிட்ட கடுமையான கணக்கீட்டின் முடிவுகள் உட்பட உள்ளது.

4. ஸ்மார்ட் மல்டிசிக்னேச்சர் எஸ்க்ரோ. பிட்காயின் மல்டி-கையொப்பமாக்கல் ஒப்பந்தங்களை அனுமதிக்கிறது, எடுத்துக்காட்டாக, ஐந்து விசைகளை உள்ளடக்கிய குழுவில் மூன்று விசைகளைப் பயன்படுத்தி நிதிகளைச் செலவிடலாம். எதீரியாம் அதிக நுணுக்கத்தை அனுமதிக்கிறது; எடுத்துக்காட்டாக, ஐந்தில் நான்கு முழுமையாகச் செலவிடலாம், ஐந்தில் மூன்று ஒரு நாளைக்கு 10% வரை செலவிடலாம், மற்றும் ஐந்தில் இரண்டு ஒரு நாளைக்கு 0.5% வரை செலவிடலாம். கூடுதலாக, எதீரியாம் மัล்டி-கையொப்பமாக்கல் அசிங்கிரனஸ் - இரண்டு தரப்புகள் வேறுபட்ட நேரங்களில் தங்கள் கையொப்பங்களை பிளாக்செயினில் பதிவு செய்யலாம் மற்றும் கடைசி கையொப்பம் தானாகவே நிமிடத்தை அனுப்பும்.

5. கிளவுட் கம்ப்யூட்டிங். EVM தொழில்நுட்பம் ஒருங்கிணைந்த கணினி சூழலை உருவாக்கப் பயன்படுத்தப்படலாம், இதனால் பயனர்கள் பிறரிடம் கணக்கீடுகளைச் செய்யக் கேட்டு, சில மாதிரியான இடங்களில் கணக்கீடுகள் சரியாகச் செய்யப்பட்டுள்ளது என்பதற்கான ஆதாரங்களைக் கேட்கலாம். இது ஒரு கிளவுட் கம்ப்யூட்டிங் சந்தையை உருவாக்க அனுமதிக்கிறது, அங்கு எந்தவொரு பயனரும் தங்கள் டெஸ்க்டாப், லேப்டாப் அல்லது சிறப்பு சேவையகத்துடன் பங்கேற்கலாம், மேலும் பாதுகாப்பு வைப்புகளுடன் கூடிய ஸ்பாட்-செக்கிங் மூலம் கணினி நம்பகமானது என்பதை உறுதிப்படுத்தலாம் (அதாவது, முனைகள் லாபகரமாக ஏமாற்ற முடியாது). அனைத்து பணிகளுக்கும் இந்த அமைப்பு பொருத்தமானதாக இருக்காது; உயர் அளவிலான இடைநிலை தொடர்புகளைத் தேவைப்படும் பணிகள், உதாரணமாக, பெரிய மேக நொடுகளினால் எளிதாகச் செய்ய முடியாது. ஆனால், பிற பணிகள் எளிதாக அணிவகுக்கப்பட முடியும்; SETI@home, folding@home மற்றும் மரபியல் கணக்கீடுகள் போன்ற திட்டங்களை எளிதாக இந்தத் தளத்தின் மேல் செயல்படுத்தலாம்.

6. பியர்-டு-பியர் சூதாட்டம். ஃபிராங்க் ஸ்டாஜானோ மற்றும் ரிச்சர்ட் கிளேட்டனின் Cyberdiceopens in a new tab போன்ற எந்த எண்ணிக்கையிலான பியர்-டு-பியர் சூதாட்ட நெறிமுறைகளையும் எத்தேரியம் பிளாக்செயினில் செயல்படுத்தலாம். மிகவும் எளிய சூதாட்ட நெறிமுறையானது அடுத்த பிளாக் ஹேஷ் மீதான வித்தியாசம்பற்றிய ஒப்பந்தம் ஆகும், மேலும் அதிலிருந்து மேலும் மேம்பட்ட நெறிமுறைகள் கட்டமைக்கப்பட்டு, தந்திரமற்ற, மிகக்குறைந்த கட்டணங்களைக் கொண்ட சூதாட்ட சேவைகளை உருவாக்கலாம்.

7. கணிப்புச் சந்தைகள். ஒரு ஆரக்கிள் அல்லது ஷெல்லிங்காயின் வழங்கப்பட்டால், கணிப்புச் சந்தைகளையும் செயல்படுத்துவது எளிது, மேலும் ஷெல்லிங்காயினுடன் கூடிய கணிப்புச் சந்தைகள் பரவலாக்கப்பட்ட நிறுவனங்களுக்கான ஒரு ஆளுமை நெறிமுறையாக ஃபியூடார்க்கியின்opens in a new tab முதல் பிரதான பயன்பாடாக நிரூபிக்கப்படலாம்.

8. ஆன்செயின் பரவலாக்கப்பட்ட சந்தைகள், அடையாளம் மற்றும் நற்பெயர் அமைப்பை அடிப்படையாகப் பயன்படுத்துகின்றன.

இதர விஷயங்கள் மற்றும் கவலைகள்

மாற்றியமைக்கப்பட்ட GHOST செயலாக்கம்

"பேராசை கொண்ட கனமான கவனிக்கப்பட்ட துணை மரம்" (GHOST) நெறிமுறை என்பது யோனதன் சோம்போலின்ஸ்கி மற்றும் அவிவ் சோஹார் ஆகியோரால் டிசம்பர் 2013opens in a new tab இல் முதன்முதலில் அறிமுகப்படுத்தப்பட்ட ஒரு கண்டுபிடிப்பு ஆகும். GHOST இன் நோக்கம் என்னவென்றால், தற்காலிகமாகவே உறுதிசெய்யப்படும் பிளாக்செயின் ஆகியவை அதிகப்படியான நீக்கத்திற்கான சிக்கல்களை சந்திக்கின்றன. பிளாக்கள் இணையத்தில் பரவுவதற்கு ஒரு குறிப்பிட்ட நேரம் எடுத்துக் கொள்வதால், A என்ற மைனர் ஒரு பிளாகை உருவாக்கினால், அதே நேரத்தில் B என்ற மைனர் மற்றொரு பிளாகை உருவாக்கினால், A-வின் பிளாக் B-க்கு பரவும்வரை B உருவாக்கிய பிளாக் வீணாகும் மற்றும் அது நெட்வொர்க் பாதுகாப்பிற்கு ஒவ்வாதவாறு ஆகும். இதனால் மையமயமாக்கல் சிக்கலும் உருவாகிறது: A என்ற மைனர் 30% ஹாஷ்பவர் கொண்ட மைனிங் புல் எனில், B-க்கு 10% ஹாஷ்பவர் இருக்கும், A-வின் பிளாக் சுமார் 70% நேரத்தில் நிலையற்றதாக உருவாகும் அபாயம் உண்டு, ஆனால் B-க்கு 90% நேரத்தில். இதனால், பிளாக் இடைவெளி குறைந்தால், A அதன் பரிமாணத்தால் அதிகமாதான் நன்றாகச் செயல்படக்கூடும். இந்த இரண்டு விளைவுகளும் சேர்ந்து, துரிதமாகப் பிளாக்களை உருவாக்கும் பிளாக்செயின் ஒரு மைனிங் புல் இணையத்தின் மிகப்பெரிய சதவீதம் ஹாஷ்பவரை பெற்றிருக்க வழிவகுக்கின்றன, இது மைனிங் செயல்முறையின் மீது ஒழுங்குமுறையில் கட்டுப்பாடு கொண்டு வருகிறது.

சாம்போலின்ஸ்கி மற்றும் சோஹார் ஆகியோரால் விவரிக்கப்பட்டதுபோல, GHOST முதன்மை சிக்கலான நெட்வொர்க் பாதுகாப்பு இழப்பை தீர்க்கிறது, அதன் மூலம் சுயவிவரம் (stale blocks) பிளாக்செயின் எது "நீண்டது" என்று கணக்கிடுவதில் சேர்க்கப்படுகின்றன; அதாவது, ஒரு பிளாக் மற்றும் அதன் முன்னோர்கள் மட்டுமல்லாமல், பிளாக் முன்னோர்களின் சுயவிவரப்பிளாக் சந்ததிகளும் (எதீரீயம் சார்ந்த சொற்களில், "அங்கிள்ஸ்") கணக்கீட்டில் சேர்க்கப்படுகின்றன. இதன் மூலம், எது மிகப்பெரிய மொத்த ப்ரூஃப்-ஆஃப்-வொர்க் ஆதரவை கொண்டுள்ளது என்பதை தீர்மானிக்க முடிகிறது. மையமயமாக்கல் பாகுபாட்டின் இரண்டாவது சிக்கலைத் தீர்க்க, சாம்போலின்ஸ்கி மற்றும் சோஹார் விவரித்த நெறிமுறையை கடந்து, சுயவிவரப்பிளாக்களுக்கும் பிளாக் பரிசுகளை வழங்குகிறோம்: ஒரு சுயவிவரப்பிளாக் அதன் அடிப்படை பரிசின் 87.5% பெறுகிறது, மேலும் அந்த சுயவிவரப்பிளாக் உட்படுத்தப்பட்ட அத்திவரத்தால் 12.5% பெறப்படுகிறது. இருப்பினும், பரிவர்த்தனைக் கட்டணங்கள் அங்கிள்ஸ்க்கு வழங்கப்படுவதில்லை.

எதீரீயம் GHOST இன் எளிமையான பதிப்பைச் செயல்படுத்துகிறது, இது ஏழு நிலைகளுக்குள் மட்டுமே செல்வதாக உள்ளது. குறிப்பாக, இது பின்வருமாறு வரையறுக்கப்பட்டுள்ளது:

  • ஒரு பிளாக் ஒரு பெற்றோரைக் குறிப்பிட வேண்டும், மேலும் 0 அல்லது அதற்கு மேற்பட்ட அங்கிள்ஸ்களை குறிப்பிட வேண்டும்
  • பிளாக் B இல் சேர்க்கப்பட்ட ஒரு அங்கிள் பின்வரும் பண்புகளைக் கொண்டிருக்க வேண்டும்:
    • இது B இன் k-வது தலைமுறை மூதாதையரின் நேரடிக் குழந்தையாக இருக்க வேண்டும், இங்கு 2 <= k <= 7.
    • இது B வின் ancestor ஆக இருக்க முடியாது
    • ஒரு அங்கிள் செல்லுபடியாகும் பிளாக் தலைப்பாக இருக்க வேண்டும், ஆனால் இது முந்தைய சோதனைக்குட்பட்ட அல்லது செல்லுபடியாகிய பிளாக் இருக்க வேண்டிய அவசியமில்லை
    • ஒரு அங்கிள் முந்தைய பிளாக்ஸ்களில் சேர்க்கப்பட்ட அனைத்து அங்கிள்ஸ்களிலும் மற்றும் அதே பிளாகில் சேர்க்கப்பட்ட அனைத்து அங்கிள்ஸ்களிலும் மாறுபட்டதாக இருக்க வேண்டும் (இரட்டை சேர்க்கை இல்லை)
  • B என்ற பிளாக் உள்ள அங்கிள் U க்கு, B வின் மைனர் தனது coinbase பரிசுக்கு கூடுதலாக 3.125% பெறுவார், மேலும் U வின் மைனர் ஒரு நிலையான coinbase பரிசின் 93.75% பெறுவார்.

GHOST இன் இந்த வரையறுக்கப்பட்ட பதிப்பு, அங்கிள்ஸ்கள் 7 சந்ததிகளுக்கு மட்டுமே சேர்க்கக்கூடியதாக இருந்தது, இரண்டு காரணங்களுக்காகப் பயன்படுத்தப்பட்டது. முதலில், எல்லையற்ற GHOST ஒரு குறிப்பிட்ட பிளாக்குக்கான செல்லுபடியான அங்கிள்ஸ்கள் எவை என்பதை கணக்கிடுவதில் மிகுந்த சிக்கல்களை உண்டாக்கும். இரண்டாவது, எதீரீயத்தில் பயன்படுத்தப்படும் அடியளவிலான GHOST, ஒரு மைனர் முக்கியச் சங்கிலியில் மைனிங் செய்ய வேண்டும் என்ற ஊக்கத்தை நீக்கிவிடும், அதாவது ஒரு பொது தாக்குதலாளியின் சங்கிலியில் மைனிங் செய்ய வேண்டும் என்ற எண்ணம் ஏற்படும்.

கட்டணங்கள்

ஒவ்வொரு பரிவர்த்தனையும் பிளாக்செயினில் வெளியிடப்படும்போது, அதைப் பதிவிறக்கம் செய்து சரிபார்க்க நெட்வொர்க்கில் செலவிட வேண்டிய செலவைக் குறைக்கும் கட்டாயம் உள்ளது. இது தவறாகப் பயன்படுத்துவதைத் தடுக்க ஒரு கட்டுப்பாட்டு முறைமையும், பொதுவாகப் பரிவர்த்தனை கட்டணங்கள் உட்பட உள்ளன. பிட்ட்காயினில் பயன்படுத்தப்படும் இயல்பான அணுகுமுறை, முழுக்க முழுக்க தன்னார்வ கட்டணங்களை வைத்திருப்பது, மைனர்களை நுழைவாயிலின் காவலாளர்களாகக் கொண்டு நடமாட்டத்தை குறைத்து மாறுநிலை குறைந்தபட்சங்களை அமைக்கச் செய்வது. இந்த அணுகுமுறை பிட்ட்காயின் சமுதாயத்தில் மிகவும் நல்ல ஆதரவைப் பெற்றுள்ளது, குறிப்பாக இது "மார்க்கெட் அடிப்படையிலானது" என்பதால், மைனர்களுக்கும் பரிவர்த்தனை அனுப்புபவர்களுக்கும் இடையிலான பொருளாதாரத்தை வழங்குவதன் மூலம் விலை நிர்ணயிக்க அனுமதிக்கின்றது. எனினும், இந்த வழியில் பிரச்சனை என்னவென்றால், பரிவர்த்தனை செயலாக்கம் ஒரு மார்க்கெட் அல்ல; மைனர் அனுப்புநருக்கு வழங்கும் ஒரு சேவையாக பரிவர்த்தனை செயலாக்கத்தை எடுத்து கொள்வது பகுத்தறிவோடு திகட்டுகிறது, ஆனால் உண்மையில் மைனர் இணைக்கும் ஒவ்வொரு பரிவர்த்தனையும் நெட்வொர்க்கில் உள்ள ஒவ்வொரு கணினியாலும் செயலாக்கப்பட வேண்டும், எனவே பரிவர்த்தனை செயலாக்கத்தின் பெரும்பாலான செலவு மூன்றாம் தரப்பினரால் சுமிக்கப்படுகிறது, இது அதை இணைக்க அல்லது சேர்க்கவேண்டுமா என்று தீர்மானிக்கும் மைனரால் அல்ல. இதனால், பொதுவுடைமையின் பிரச்சனைகள் மிகவும் நிகழ்வதைத் தடுக்க முடியாது.

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

  1. ஒரு பரிவர்த்தனை k செயல்பாடுகளுக்கு வழிவகுக்கிறது, R அனுப்புநரால் அமைக்கப்படும் மற்றும் k மற்றும் R (தோராயமாக) சுரங்கத் தொழிலாளிக்கு முன்கூட்டியே தெரியும் இடத்தில் அதை உள்ளடக்கிய எந்தவொரு சுரங்கத் தொழிலாளிக்கும் kR வெகுமதியை வழங்குகிறது.
  2. ஒரு செயல்பாட்டிற்கு எந்தவொரு முனைக்கும் C என்ற செயலாக்கச் செலவு உள்ளது (அதாவது, அனைத்து முனைகளும் சமமான செயல்திறனைக் கொண்டுள்ளன)
  3. N சுரங்க முனைகள் உள்ளன, ஒவ்வொன்றும் சரியாக சமமான செயலாக்க சக்தியைக் கொண்டுள்ளன (அதாவது, மொத்தத்தில் 1/N)
  4. எந்தவொரு மைனிங் செயல் அற்ற முழு கணினிகளும் இல்லை.

ஒரு மைனர், எதிர்பார்க்கப்படும் பரிசு செலவுக்குக் காட்டிலும் அதிகமாக இருக்கும்போது மட்டுமே பரிவர்த்தனையைச் செயலாக்க தயாராக இருப்பார். எனவே, எதிர்பார்க்கப்படும் வெகுமதி kR/N ஆகும், ஏனெனில் சுரங்கத் தொழிலாளி அடுத்த தொகுதியைச் செயலாக்க 1/N வாய்ப்பைக் கொண்டுள்ளார், மேலும் சுரங்கத் தொழிலாளருக்கான செயலாக்கச் செலவு வெறுமனே kC ஆகும். எனவே, சுரங்கத் தொழிலாளர்கள் kR/N > kC, அல்லது R > NC உள்ள பரிவர்த்தனைகளை உள்ளடக்குவார்கள். R என்பது அனுப்புநரால் வழங்கப்படும் ஒரு செயல்பாட்டுக்கான கட்டணம் என்பதைக் கவனத்தில் கொள்க, இதனால் இது பரிவர்த்தனையிலிருந்து அனுப்புநர் பெறும் நன்மையின் கீழ் வரம்பாகும், மற்றும் NC என்பது ஒரு செயல்பாட்டைச் செயலாக்குவதற்கான முழு நெட்வொர்க்கின் மொத்த செலவாகும். இதனால், மைனர்களுக்கு முழு நெட்வொர்க் நன்மை செலவைக் காட்டிலும் அதிகமாக இருக்கும் பரிவர்த்தனைகளை மட்டுமே சேர்க்க ஊக்கமளிக்கப்படுகிறது.

ஆனால், உண்மையில் இந்தக் கருத்துகளிலிருந்து பல முக்கியமான மாறுபாடுகள் உள்ளன:

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

(1) சுரங்கத் தொழிலாளி குறைவான பரிவர்த்தனைகளைச் சேர்க்க ஒரு போக்கை வழங்குகிறது, மற்றும் (2) NC ஐ அதிகரிக்கிறது; எனவே, இந்த இரண்டு விளைவுகளும் குறைந்தபட்சம் ஓரளவு ஒன்றையொன்று ரத்து செய்கின்றன.எப்படி?opens in a new tab (3) மற்றும் (4) முக்கிய பிரச்சினை; அவற்றைத் தீர்க்க நாம் ஒரு மிதக்கும் வரம்பை நிறுவுகிறோம்: எந்தத் தொகுதியும் நீண்டகால அதிவேக நகரும் சராசரியை விட BLK_LIMIT_FACTOR மடங்கு அதிகமான செயல்பாடுகளைக் கொண்டிருக்க முடியாது. குறிப்பாக:

blk.oplimit = floor((blk.parent.oplimit \* (EMAFACTOR - 1) +
floor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)

BLK_LIMIT_FACTOR மற்றும் EMA_FACTOR ஆகியவை தற்போதைக்கு 65536 மற்றும் 1.5 ஆக அமைக்கப்படும் மாறிலிகள், ஆனால் மேலும் பகுப்பாய்வுக்குப் பிறகு மாற்றப்பட வாய்ப்புள்ளது.

பிட்காயினில் பெரிய பிளாக் அளவுகளுக்கு எதிரான மற்றொரு முக்கிய அம்சம் உள்ளது: பெரிய பிளாக்கள் பரவுவதற்கு அதிக நேரம் எடுத்துக் கொள்ளும், எனவே பழையதாக மாறுவதற்கான வாய்ப்பு அதிகமாக இருக்கும். எத்தீரியத்தில், அதிக காசு எடுக்கும் பிளாக்களும் பரவுவதற்கு அதிக நேரம் எடுத்துக் கொள்ளலாம், ஏனெனில் அவை பரிமாற்ற நிலை மாற்றங்களைச் சரிபார்க்க அதிக நேரம் எடுத்துக் கொள்கின்றன. இந்தத் தாமதம் பிட்காயினில் முக்கியமான சூழ்நிலையாக உள்ளது, ஆனால் எத்தீரியத்தில் GHOST நெறிமுறை காரணமாக இது குறைவாகும்; எனவே, கட்டுப்படுத்தப்பட்ட பிளாக் வரம்புகளை நம்புவது மேலும் நிலையான அடிப்படை வழங்குகிறது.

கணக்கீடு மற்றும் டியூரிங்-முழுமை

முக்கிய குறிப்பாக, எத்தீரியத்தின் மெய்நிகர் இயந்திரம் டூரிங்-முழுமை கொண்டது; இதன் அர்த்தம் EVM குறியீடு முடிந்த வரை எதற்கும் செய்யக்கூடிய கணக்கீட்டைக் குறியீடு செய்ய முடியும், அதில் மடல் ஆகியவை உள்ளன. EVM குறியீடு இரண்டு முறைகளில் மடல்களை அனுமதிக்கிறது. முதலில், நிரலை குறியீட்டின் முந்தைய இடத்திற்குத் தாவ அனுமதிக்கும் ஒரு JUMP அறிவுறுத்தல் உள்ளது, மற்றும் நிபந்தனைக்குட்பட்ட தாவலுக்கு ஒரு JUMPI அறிவுறுத்தல் உள்ளது, இது while x < 27: x = x * 2 போன்ற கூற்றுகளை அனுமதிக்கிறது. இரண்டாவது, ஒப்பந்தங்கள் மற்ற ஒப்பந்தங்களை அழைக்கலாம், இது திருப்பச்சூத்திரம் மூலம் மடல்களை அனுமதிக்க முடியும். இது ஒரு பிரச்சினைக்கு வழிகாட்டுகிறது: தீய நோக்கமுள்ள பயனர்கள் மெய்நிகர் மற்றும் முழு இடங்களை நிகர நான்கல் மூலம் மூட முடியுமா? இந்தப் பிரச்சினை கணினி அறிவியலில் உள்ள நிலைபாடு பிரச்சினையால் உண்டாகிறது: ஒரு குறிப்பிட்ட ஒப்பந்தம் எப்போது முடியும் என்பது பொதுவாகத் தெரியாது.

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

  • ஒரு ஆக்கிரமிப்பவர் நிரந்தர மடல்களை இயக்கும் ஒப்பந்தத்தை உருவாக்குகிறார், பின்னர் அந்த மடல்களைச் செயல்படுத்தும் பரிமாற்றத்தை நெகிழ்நரியை அனுப்புகிறார். நெகிழ்நரி பரிமாற்றத்தைச் செயல்படுத்தும், நிரந்தர மடல்களை இயக்கும் மற்றும் எரிபொருள் முடியும் வரை காத்திருக்கின்றனர். செயல்பாடு எரிபொருளை முடிக்கும்போது மற்றும் பாதியிலேயே நிறுத்தப்படுவதன் பேரில், பரிமாற்றம் இன்னும் செல்லுபடியானது மற்றும் நெகிழ்நரி, ஒவ்வொரு கணக்கீட்டு படிக்கும் கட்டணத்தை ஆக்கிரமிப்பவரிடமிருந்து எடுக்கும்.
  • ஒரு ஆக்கிரமிப்பவர் மிக நீளமான நிரந்தர மடல்களை உருவாக்கி, நெகிழ்நரியை இவ்வளவு நீண்ட நேரம் கணக்கீடு செய்ய வைப்பதற்காக, கணக்கீடு முடியும்போது சில மேலதிக கட்டங்களை வெளியிட்டுவிடும் என்று நோக்கிச் செய்கின்றார். இதனால், நெகிழ்நரி அந்தப் பரிமாற்றத்தைச் சேர்க்க முடியாது, கட்டணத்தைப் பெற முடியாது. இருப்பினும், தாக்குபவர் STARTGAS க்கான ஒரு மதிப்பைச் சமர்ப்பிக்க வேண்டும், இது செயலாக்கம் எடுக்கக்கூடிய கணக்கீட்டுப் படிகளின் எண்ணிக்கையைக் கட்டுப்படுத்துகிறது, எனவே கணக்கீடு அதிகப்படியான படிகளை எடுக்கும் என்பதைச் சுரங்கத் தொழிலாளி முன்கூட்டியே அறிந்துகொள்வார்.
  • ஒரு தாக்குபவர் send(A,contract.storage[A]); contract.storage[A] = 0 போன்ற சில வடிவ குறியீட்டைக் கொண்ட ஒரு ஒப்பந்தத்தைப் பார்க்கிறார், மேலும் முதல் படியை இயக்க போதுமான கேஸுடன் ஒரு பரிவர்த்தனையை அனுப்புகிறார், ஆனால் இரண்டாவது படிக்கு அல்ல (அதாவது, ஒரு திரும்பப் பெறுதல் ஆனால் இருப்பைக் குறைக்க விடாமல்). ஒப்பந்தத்தின் ஆசிரியர் இது போன்ற தாக்குதல்களை எதிர்க்க நினைக்கத் தேவையில்லை, ஏனெனில் செயல் நடுவிலேயே நிறுத்தப்படுமென்றால் மாற்றங்கள் மறுப்பாகும்.
  • ஒரு நிதி ஒப்பந்தம் ஆறு நம்பகமான தரவுப் புலங்களைப் பயன்படுத்தி மைய மதிப்பீட்டை எடுத்துக் கொண்டு, நெருக்கத்தை குறைப்பதற்காகச் செயல்படுகிறது. ஒரு ஆக்கிரமிப்பவர் ஒரு தரவுப் புலத்தை கைப்பற்றி, இது DAOs குறித்து விவரிக்கப்படுள்ள மாறிலி-ஏலனினை அழைக்கும் முறையின் மூலம் மாற்றத்திற்குச் திறந்ததாக வடிவமைக்கப்பட்டுள்ளது, அதை ஒரு நிரந்தர மடலுக்கு மாற்றுகிறார், இதனால் நிதி ஒப்பந்தத்திலிருந்து நிதிகளைப் பெற முயலும்வரை வாயு நகக் கட்டிக்கொடுக்க முயல்கிறார். எனினும், நிதி ஒப்பந்தம் இந்தப் பிரச்சினையைத் தடுக்க குறியீடுமீது ஒரு வாயு எல்லையை அமைக்க முடியும்.

டியூரிங்-முழுமைக்கு மாற்று டியூரிங்-முழுமையின்மை ஆகும், அங்கு JUMP மற்றும் JUMPI இல்லை மற்றும் ஒவ்வொரு ஒப்பந்தத்தின் ஒரே ஒரு நகல் மட்டுமே எந்த நேரத்திலும் அழைப்பு அடுக்கில் இருக்க அனுமதிக்கப்படுகிறது. இந்த முறையில், விவரிக்கப்பட்ட கட்டண முறை மற்றும் எங்கள் தீர்வின் பயன்திறனைப் பற்றிய சந்தேகங்கள் தேவையில்லை, ஏனெனில் ஒரு ஒப்பந்தத்தைச் செயல்படுத்தும் செலவுகள் அதன் அளவால் மேலே சீராக இருக்கும். கூடுதலாக, டூரிங்-முழுமையற்றது என்பது பெரிய கட்டுப்பாடு இல்லை; நாங்கள் உள்ளே உருவாக்கிய ஒப்பந்தங்கள் அனைத்திலும், இப்போது வரை ஒரு-loop மட்டுமே தேவைப்பட்டது, மற்றும் அந்த loop ஐ 26 முறை ஒரே வரிகுறியீடுமூலம் நீக்கலாம். டூரிங்-முழுமையினின் ஆழமான விளைவுகளைப் பொருத்தவரை, மற்றும் குறைந்த பயனைப் பொருத்தவரை, ஏன் எளிதாக டூரிங்-முழுமையற்ற மொழி இருக்கக் கூடாது? ஆனால், செயலிலோ, டூரிங்-முழுமையற்றது சிக்கல்களைத் தீர்க்கச் சொல்வதில்லை. இதற்கான காரணத்தைப் பார்க்க, கீழ்காணும் ஒப்பந்தங்களைப் கருத்தில் கொள்ளவும்:

C0: call(C1); call(C1);
C1: call(C2); call(C2);
C2: call(C3); call(C3);
...
C49: call(C50); call(C50);
C50: (run one step of a program and record the change in storage)

இப்போது, Aக்கு ஒரு பரிமாற்றத்தை அனுப்புங்கள். எனவே, 51 பரிமாற்றங்களில், 250 கணினி படிகள் எடுத்துக்கொள்ளும் ஒப்பந்தம் உருவாகும். மைனர்‌கள், மற்ற ஒப்பந்தங்களை திரும்பக் கால் செய்யும் ஒப்பந்தங்களை கணக்கிடுவதன் மூலம் அங்கு உள்ள எட்டுப்பாடுகளை முன்கூட்டியே கண்டறிய முயற்சிக்கலாம், ஆனால் இதற்கு மைனர்‌கள் மற்ற ஒப்பந்தங்களை உருவாக்கும் ஒப்பந்தங்களை தடை செய்ய வேண்டும் (ஏனெனில் மேலே உள்ள 26 ஒப்பந்தங்களின் உருவாக்கம் மற்றும் செயல்பாடு எளிதாக ஒரே ஒப்பந்தமாக மடக்கமுடியும்). இன்னொரு சிக்கலான புள்ளி, ஒரு செய்தியின் முகவரி புலம் மாறுபட்டது என்பதால், பொதுவாக, ஒரு ஒப்பந்தம் முன்னதாகவே எந்த மற்ற ஒப்பந்தங்களை அழைக்கப்போகின்றது என்பதைப் பரிசீலிக்க முடியாது. எனவே, ஒரே சோம்பல், நாம் ஒரு ஆச்சரியமான முடிவுக்கு வந்தோம்: டூரிங்-முழுமை அதிர்ஷ்டவசமாக எளிதாக கையாளக்கூடியது, மற்றும் டூரிங்-முழுமையின்மை அதேபோல் வியக்கத்தக்கவிதமாக கையாளுவதில் கடினமாக உள்ளது, ஏனெனில் அதே கட்டுப்பாடுகள் இடத்தில் இருக்கவேண்டும் - ஆனால் அந்த நிலையில், முறைமையை டூரிங்-முழுமையுடன் இருந்தால் ஏன்?

நாணயம் மற்றும் வழங்கல்

எத்தியரியம் நெட்வொர்க் அதனுடைய சொந்தமாக உள்ள நாணயம், எதர், என்பதைக் கொண்டுள்ளது, இது பல்வேறு வகையான டிஜிட்டல் சொத்துகளுக்கிடையிலான திறமையான பரிமாற்றத்திற்கு முதன்மை திரவத்தளமாகச் செயல்படுவதோடு, அதற்கு மேலாகப் பரிமாற்ற கட்டணங்களைச் செலுத்துவதற்கான ஒரு முறைமையையும் வழங்குகிறது. வசதியாகவும், எதிர்கால விவாதங்களைத் தவிர்க்கவும் (பிட்காயின் இல் தற்போதைய mBTC/uBTC/satoshi விவாதத்தைப் பார்க்கவும்), நாணய வகைகள் முன்கூட்டியே அடையாளம் ஏற்கப்படும்:

  • 1: வெய்
  • 1012: சபோ
  • 1015: ஃபின்னி
  • 1018: எதர்

இதை "டாலர்கள்" மற்றும் "செண்ட்கள்" அல்லது "BTC" மற்றும் "சதோஷி" என்ற கருத்தின் விரிவான பதிப்பாகக் கொள்வது வேண்டும். எதிர்காலத்தில், "எதர்" சாதாரண பரிமாற்றங்களுக்குப் பயன்படுத்தப்படும் என்று நாங்கள் எதிர்பார்க்கிறோம், "ஃபின்னி" மைக்ரோபரிமாற்றங்களுக்குப் பயன்படும், மற்றும் "சபோ" மற்றும் "வெய்" கட்டணங்கள் மற்றும் முறைமை நடைமுறை சார்ந்த தொழில்நுட்ப விவாதங்களுக்குப் பயன்படுத்தப்படும்; மீதமுள்ள நாணய வகைகள் பின்னர் பயன்பாட்டிற்காக useful ஆகலாம் மற்றும் தற்போது கிளையன்ட்களில் அடக்கம் செய்யப்படக் கூடாது.

வழங்கல் முறைமை கீழ்கண்டவாறு இருக்கும்:

  • எதர் ஒரு நாணய விற்பனைவில் 1000-2000 எதர் per BTC என்ற விலையில் வெளியிடப்படும், இது எத்தியரியம் அமைப்பை நிதியளிக்கவும், மேம்பாட்டிற்காகச் செலவழிக்கவும் பயன்படும் ஒரு முறைமையாகும், இது மாஸ்டர்காயின் மற்றும் NXT போன்ற பிற மடல்கள்மூலம் வெற்றிகரமாகப் பயன்படுத்தப்பட்டுள்ளது. முதன்மை வாங்குபவர்கள் அதிகமான தள்ளுபடிகளால் நன்மை அடைவார்கள். விற்பனையிலிருந்து பெறப்படும் BTC முழுவதும், எத்தார் மற்றும் கிரிப்டோகரன்சியின் சூழலில், வளர்ச்சியாளர்களுக்கு சம்பளங்கள் மற்றும் பரிசுகளை வழங்க மற்றும் பல்வேறு வரிசைக்கு நன்மை செய்யப்படும் திட்டங்களில் முதலீடு செய்யப் பயன்படுத்தப்படும்.
  • 0.099x மொத்தமாக விற்கப்பட்ட தொகை (60102216 ETH) அமைப்புக்கு வழங்கப்படும், இது முதற்கட்ட பங்குதாரர்களுக்கு compensation வழங்கவும், genesis blockக்கு முன் ETH அளவிலான செலவுகளைச் செலுத்தவும் உதவும்.
  • 0.099x மொத்தமாக விற்கப்பட்ட தொகை நீண்டகால வரிசையாகக் கட்டுப்படுத்தப்படும்.
  • 0.26x மொத்தமாக விற்கப்பட்ட தொகை வருடத்திற்கு minersக்கு ஒதுக்கப்படும், இதற்குப் பிறகு என்றும்.
குழுதுவக்கத்தில்1 வருடத்திற்குப் பிறகு5 வருடங்களுக்குப் பிறகு
நாணய அலகுகள்1.198X1.458X2.498X
வாங்குபவர்கள்83.5%68.6%40.0%
முன்-விற்பனைக்கு ஒதுக்கப்பட்ட இருப்பு8.26%6.79%3.96%
விற்பனைக்குப் பிறகு பயன்படுத்தப்பட்ட இருப்பு8.26%6.79%3.96%
சுரங்கத் தொழிலாளர்கள்0%17.8%52.0%

தீர்த்தகால வழங்கல் வளர்ச்சி விகிதம் (சதவீதம்)

எத்தேரியம் பணவீக்கம்

நேரியல் நாணய வழங்கல் இருந்தபோதிலும், பிட்காயினைப் போலவே காலப்போக்கில் விநியோக வளர்ச்சி விகிதம் பூஜ்ஜியத்தை நோக்கிச் செல்கிறது.

மேலே உள்ள மாதிரியில் இரண்டு முக்கியத் தேர்வுகள் உள்ளன: (1) ஒரு நிதி கூடத்தின் இருப்பு மற்றும் அளவு, மற்றும் (2) ஒரு நிரந்தரமாக வளர்ந்துவரும் நேரியல் வழங்கலின் இருப்பு, பிட்டாயினில் போல ஒரு அளவுக்கான வழங்கலுக்கு மாறாக. நிதி கூடத்தின் ஒழுங்கு இதுதவிர்க்கிறது. நிதி கூடத்தின் ஒழுங்கு இதுதவிர்க்கிறது. நிதி கூடம் இல்லையெனில், மற்றும் நேரியல் வழங்கல் 0.217xக்கு குறைவாக இருந்தால் ஒரே மாதிரியான மானிய விகிதத்தை வழங்க, எத்தரின் மொத்த அளவு 16.5% குறைவாக இருக்கும், இதனால் ஒவ்வொரு அலகும் 19.8% அதிகமான மதிப்பு பெற்றிருக்கும். இதனால், சமநிலையில, 19.8% அதிகமான எத்தர் விற்பனையில் வாங்கப்படும், அதனால் ஒவ்வொரு அலகும் மீண்டும் முந்தையமதிப்பைக் கொண்டிருக்கும். அமைப்புக்கு 1.198x அதிகமான BTC இருக்கும், இது இரண்டு துண்டுகளாகப் பிளவாக்கப்படுகிறது: ஆரம்ப BTC மற்றும் கூடுதலாக 0.198x. எனவே, இந்த நிலைமை நன்கொடைக்கு சரியாகச் சமமானது, ஆனால் ஒரு முக்கியமான வேறுபாட்டுடன்: அமைப்பு முற்றிலும் BTC ஐ வைத்திருக்கிறது, எனவே ஈதர் அலகின் மதிப்பை ஆதரிக்கத் தூண்டப்படவில்லை.

நிரந்தர நேரியல் வழங்கல் வளர்ச்சி மாதிரியானது பிட்டாயினில் சிலர் காணும் அதிகமான செல்வச் சுருக்கத்தைத் தவிர்க்கும் அபாயத்தை குறைக்கிறது, மற்றும் தற்போதைய மற்றும் எதிர்கால காலங்களில் வாழும் நபர்களுக்கு நாணய அலகுகளைப் பெறுவதற்கு ஒரு நியாயமான வாய்ப்பைக் கொடுக்கிறது, அதே நேரத்தில் எத்தரைப் பெறுவதற்கும் வைத்திருக்க ஏற்ற ஊக்கம் அளிக்கிறது, ஏனெனில் "வழங்கல் வளர்ச்சி விகிதம்" சதவீதமாகும் போது காலப்போக்கில் நிச்சயமாக பூஜ்யத்தை நோக்குகிறது. கவனக்குறைவு, இறப்பு போன்றவற்றால் நாணயங்கள் காலப்போக்கில் எப்போதும் இழக்கப்படுகின்றன, மற்றும் நாணய இழப்பை ஆண்டுக்கு மொத்த விநியோகத்தின் சதவீதமாக மாதிரியாக்க முடியும் என்பதால், புழக்கத்தில் உள்ள மொத்த நாணய விநியோகம் உண்மையில் ஆண்டுதோறும் வழங்கப்படும் தொகையை இழப்பு விகிதத்தால் வகுத்தால் கிடைக்கும் ஒரு மதிப்பில் இறுதியில் நிலைபெறும் என்றும் நாங்கள் கருதுகிறோம் (எ.கா., 1% இழப்பு விகிதத்தில், விநியோகம் 26X ஐ அடைந்தவுடன், ஒவ்வொரு ஆண்டும் 0.26X சுரண்டப்படும் மற்றும் 0.26X இழக்கப்படும், இது ஒரு சமநிலையை உருவாக்கும்).

எதிர்காலத்தில், எத்திரியம் பாதுகாப்பிற்கான நிரூபண-அடிப்படையிலான மாதிரியில் மாறுமெனக் கருதப்படுகிறது, இது வழங்கல் தேவையை வருடத்திற்கு பூஜ்யம் மற்றும் 0.05X இடையே குறைக்கும். எத்தேரியம் அமைப்பு நிதியுதவியை இழந்தாலோ அல்லது வேறு ஏதேனும் காரணத்திற்காக மறைந்துவிட்டாலோ, நாங்கள் ஒரு "சமூக ஒப்பந்தத்தை" திறந்து விடுகிறோம்: எத்தேரியத்தின் எதிர்கால வேட்பாளர் பதிப்பை உருவாக்கும் உரிமை யாருக்கும் உண்டு, ஒரே நிபந்தனை என்னவென்றால், ஈதரின் அளவு அதிகபட்சமாக 60102216 * (1.198 + 0.26 * n) க்கு சமமாக இருக்க வேண்டும், இங்கு n என்பது ஜெனிசிஸ் தொகுதிக்குப் பிறகான ஆண்டுகளின் எண்ணிக்கை. உருவாக்குநர்கள் சுதந்திரமாகக் கூட்டணி விற்பனை செய்யவோ அல்லது PoS-அடிப்படையிலான வழங்கல் விரிவாக்கத்துடன் அதிகபட்சமாக அனுமதிக்கப்பட்ட வழங்கல் விரிவாக்கம் மத்தியில் உள்ள மாற்றத்தை வளர்ச்சிக்காக நிதியளிக்கவோ செய்யலாம். சமூக ஒப்பந்தத்திற்கு உட்பட்ட மற்றும் அதை பின்பற்றாத候முடியாத பதிப்புகள், ஒப்பந்தங்களைப் பின்பற்றும் பதிப்புகளாக மாறும்.

சுரங்க மையப்படுத்தல்

பிட்காயின் மைனிங் ஆல்கொரிதம், மைனர்களை மில்லியன் முறை கொண்டோடு, மின்சார ஒப்பந்தத் தலைப்பு சிறிது மாறிய பதிப்புகளுக்கு SHA256 கணக்கீடு செய்ய வைப்பதன் மூலம் செயல்படுகிறது, வருவாய் எப்போது ஒரு நோட் குறுகிய எண்கள் குறைவாக எளிய ஹேஷுடன் விளைவிக்கிறது (தற்காலிகமாக 2192). ஆனால், இந்த மைனிங் ஆல்கொரிதம் இரண்டு வகையான மையமயமாக்கலுக்கு ஆளாகிறது. முதலில், மைனிங் சூழல் ASICs (வினையம்ச-சிறப்பு ஒருங்கிணைக்கப்பட்ட ஆற்றல்கள்) மூலம் மையமயமாக்கப்பட்டுள்ளது, இது பிட்காயின் மைனிங் திறனை மாறுபடுத்துவதாகும், இதுவே பிட்காயின் மைனிங் நிதியின் மிகுந்த அளவில் மையமயமாக்கும் மற்றும் சமத்துவமான நடவடிக்கையாக மாறுகிறது. இதன் காரணமாக, பிட்காயின் மைனிங் சமத்துவமற்றதாகும் மற்றும் பங்கேற்க மில்லியன் டொலர்கள் வருமானம் தேவைப்படுகிறது. இரண்டாவது, பெரும்பாலான பிட்காயின் மைனர்கள் உள்ளகமாக ப்ளாக்குகளை சான்றளிக்க மாட்டார்கள்; அதுவும் மையமயமாக்கப்பட்ட மைனிங் குழுவின் உதவியைப் பெறுகிறார்கள். இந்தப் பிரச்சனை மோசமானது: இந்தப் எழுதுகையில், முக்கியமான மூன்று மைனிங் குழுக்கள் பிட்காயின் நெட்வர்க் வலிமையின் சுமார் 50% ஐ குறுக்கீடு செய்கின்றன, ஆனால் மைனர்கள் 51% தாக்குதலைச் செய்யும் குழு அல்லது கூட்டணி ஒரு குழுவை மாற்றும் சாத்தியம் உள்ளது.

தற்காலிகமாக, எத்தியரியம் ஒரு மைனிங் ஆல்கொரிதத்தைப் பயன்படுத்த திட்டமிட்டுள்ளது, இதில் மைனர்களுக்கு நிலைமையிலிருந்து நிர்வகிக்கபடும் குறைவான தரவுகளைப் பெற, பிளாக்செயினில் பின்வரும் N பிளாக்குகளைச் சுற்றியுள்ள சில அடிப்படையான பரிவர்த்தனைகளை கணக்கீடு செய்ய வேண்டும் மற்றும் முடிவின் ஹேஷைப் திருப்ப வேண்டும். இதற்கான இரண்டு முக்கியமான நன்மைகள் உள்ளன. முதலில், எத்தேரியம் ஒப்பந்தங்கள் எந்தவொரு வகையான கணக்கீட்டையும் உள்ளடக்கலாம், எனவே ஒரு எத்தேரியம் ASIC அடிப்படையில் பொதுவான கணக்கீட்டிற்கான ஒரு ASIC ஆக இருக்கும் - அதாவது, ஒரு சிறந்த CPU. இரண்டாவது, மைனிங் முழு பிளாக்செயினைப் அணுகல் தேவைப்படுகிறதன் மூலம், மைனர்கள் முழு பிளாக்செயினைப் சேமிக்க வேண்டும் மற்றும் ஒவ்வொரு பரிவர்த்தனையையும் சான்றளிக்கக்கூடியதாக இருக்க வேண்டும். இது மையமயமாக்கப்பட்ட மைனிங் குழுக்களைத் தேவையற்றவையாக ஆக்குகிறது; மைனிங் குழுக்கள் இன்னும் வெகுசிலமாற்ற விரைவான விருப்பம் வழங்கும் விதத்தில் தகுதி பெறலாம், ஆனால் இந்தச் செயல்பாடுு மையகத்தின் கட்டுப்பாடு இல்லாத பீர்-டு-பீர்குழுக்கள்மூலம் நன்றாகச் செய்யப்படலாம்.

இந்த மாதிரி சோதிக்கப்படவில்லை, மற்றும் ஒவ்வொரு நுட்பமான மேம்பாடுகளைத் தவிர்க்கும்போது சிரமங்கள் ஏற்படக்கூடும், ஒப்பந்தத்தின் செயலாக்கத்தை மைனிங் ஆல்கொரிதமாகப் பயன்படுத்தும்போது. ஆனால், இந்த ஆல்கொரிதத்தின் ஒரு முக்கியமான அம்சம், எந்தவொரு நபரையும் "குளத்தை மாசுபடுத்த" அனுமதிக்கிறது, குறிப்பாகச் சில ASICsஐ தடுக்க வடிவமைக்கப்பட்ட பிளாக்செயினில் பெருந்தொகை ஒப்பந்தங்களை அறிமுகப்படுத்துவதன் மூலம். ASIC உற்பத்தியாளர்களுக்கு இப்படிப்பட்ட முறையைப் பயன்படுத்தி ஒருவரையொருவர் மீது தாக்குதல் செய்ய நிதி தூண்டுதல்கள் உள்ளன. எனவே, நாங்கள் உருவாக்கி வரும் தீர்வு இறுதியாக ஒரு சீர்திருத்தமான நிதி மனித தீர்வு ஆகும், தொழில்நுட்பத்தை மட்டும் சார்ந்ததாக இல்லை.

அளவிடுதல்

எதரியுமின் ஒரு பொதுவான கவலை அளிக்கும் விஷயம் அதன் அளவியல் பிரச்சினை. பிட்காயின் போல், எதரியுமும் ஒவ்வொரு பரிவர்த்தனையும் நெட்வொர்க்கில் உள்ள ஒவ்வொரு நொடிலும் செயலாக்கப்பட வேண்டிய குறைகளைச் சந்திக்கிறது. பிட்காயினில், தற்போதைய பிளாக்செயின் அளவு சுமார் 15 ஜிபி ஆக உள்ளது, மேலும் மணிக்குச் சுமார் 1 எம்பி அளவுக்கு அதிகரிக்கிறது. பிட்காயின் நெட்வொர்க் விஸாவின் 2000 பரிவர்த்தனைகளைச் செயலாக்கினால், அது மூன்று விநாடிக்குறிப்பில் 1 எம்பி அளவுக்கு அதிகரிக்கப் படும் (மணிக்கு 1 ஜிபி, வருடத்திற்கு 8 டிபி). எதரியுமும் சுமார் அந்தவகைத் திருப்பங்களை சந்திக்கக்கூடும், மேலும் பிட்காயினில் இருந்து பரிமாற்றத்தின் மேல் நிறைய பயன்பாடுகள் இருக்கும் என்பதால் அந்த அளவியல் வளர்ச்சியோடும் மோசமாக இருக்கக்கூடும், ஆனால் எதரியுமின் முழுமையான நொடுகள் முழு பிளாக்செயின் வரலாறு பதிய வேண்டியதை விட, நிலையை மட்டுமே சேமிக்க வேண்டும் என்பதால் சீர்செய்யப்பட்டுள்ளது.

இந்த அளவிலான பிளாக்செயின் அளவின் பிரச்சினை மையமாதிப்பு ஆபத்து. பிளாக்செயின் அளவு, 100 டிபி எனும் அளவுக்கு உயர்ந்தால், மிகக் குறைவான பெரிய நிறுவனங்கள் மட்டுமே முழுமையான நொடுகளை இயக்குவார்கள், மற்ற அனைத்து வழக்கமான பயனர்கள் லைட் எஸ்பிவி நொடுகளைப் பயன்படுத்துவார்கள். அத்தகைய சூழ்நிலையில், முழு முனைகளும் ஒன்று கூடி, சில லாபகரமான வழியில் ஏமாற்ற ஒப்புக் கொள்ளலாம் (எ.கா., தொகுதி வெகுமதியை மாற்றுவது, தங்களுக்கு BTC கொடுப்பது) என்ற சாத்தியமான கவலை எழுகிறது. லைட் நொடுகள் இதை உடனடியாகக் கண்டறிய வழி இல்லை. ஒரு நேர்மையான முழுமையான நோடு நிலவுவதற்கு வாய்ப்பு இருக்கும், மற்றும் சில மணிநேரங்களில் மோசடியின் தகவல் ரெட்டிட் போன்ற சேனல்கள் மூலம் வெளிவரலாம், ஆனால் அப்போல் மிகவும் தாமதமாக இருக்கும்: பொதுவான பயனர்களே குறிப்பிட்ட பிளாக்களை நெகிழ்த்துவதற்கான முயற்சியை ஒழுங்குபடுத்தவேண்டும், இது ஒரு மிகப் பெரிய மற்றும் சாத்தியமற்ற ஒருங்கிணைப்பு பிரச்சினையாக இருக்கக்கூடும், 51% தாக்குதலின் அளவுக்கு ஒத்ததாகும். பிட்காயின் விஷயத்தில், இது தற்போது ஒரு பிரச்சனையாக உள்ளது, ஆனால் இந்தச் சிக்கலைத் தணிக்க பீட்டர் டாட் பரிந்துரைத்தopens in a new tab ஒரு பிளாக்செயின் மாற்றம் உள்ளது.

அடுத்த காலத்தில், எத்தியரியாம் இந்தப் பிரச்சினையைச் சமாளிக்க இரண்டு கூடுதல் நுட்பங்களைப் பயன்படுத்தும். முதலில், பிளாக்செயின் அடிப்படையிலான சுரங்கக் கணினி முறைமைகள் காரணமாக, குறைந்தபட்சம் ஒவ்வொரு சுரங்கக்காரரும் முழுமையான நோடாக இருக்கத் தக்கவாக மாறுகிறார்கள், இது முழுமையான நொடுகளின் எண்ணிக்கையின் கீழ் எல்லையை உருவாக்குகிறது. இரண்டாவது மற்றும் முக்கியமாக, ஒவ்வொரு பரிமாற்றத்தையும் செயலாக்கிய பிறகு பிளாக்செயினில் மத்திய நிலை மரப்பரிசின் வேர் சேர்க்கப்படும். பிளாக் சரிபார்ப்பு மையமடைந்திருந்தாலும், ஒரே நேர்மையான சரிபார்ப்பு நோடு இருப்பதாக இருக்கும்போது, மையமாதிப்பு பிரச்சினையைச் சரிபார்ப்பு நெறிமுறையினூடாகச் சுற்றி செல்ல முடியும். ஒரு சுரங்கத் தொழிலாளி தவறான தொகுதியை வெளியிட்டால், அந்தத் தொகுதி மோசமாக வடிவமைக்கப்பட்டிருக்க வேண்டும், அல்லது நிலை S[n] தவறாக இருக்க வேண்டும். S[0] சரியானது என்று அறியப்படுவதால், S[i-1] சரியாக இருக்கும் இடத்தில், S[i] தவறாக இருக்கும் ஒரு முதல் நிலை இருக்க வேண்டும். சரிபார்க்கும் முனை i என்ற குறியீட்டை, APPLY(S[i-1],TX[i]) -> S[i] ஐச் செயல்படுத்தத் தேவையான பாட்ரிசியா மர முனைகளின் துணைக்குழுவைக் கொண்ட ஒரு "செல்லுபடியற்றதற்கான சான்று" உடன் வழங்கும். முனைகள் அந்தக் கணக்கீட்டின் பகுதியை இயக்க அந்த முனைகளைப் பயன்படுத்த முடியும், மேலும் உருவாக்கப்பட்ட S[i] வழங்கப்பட்ட S[i] உடன் பொருந்தவில்லை என்பதைக் காணலாம்.

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

முடிவுரை

எத்தியிரம் முறையை ஆரம்பத்தில் ஒரு நாணயத்தை மேம்படுத்திய பதிப்பாகக் கருதப்பட்டது, இது மிகவும் பொதுவான நிரலாக்க மொழிமூலம் ஒன்பிளாக் நிச்சயமாக்கல், பின்வாங்கல் வரம்புகள், நிதிசார் ஒப்பந்தங்கள், ஜூசூந்தா சந்தைகள் மற்றும் பிற போன்ற முன்னணி அம்சங்களை வழங்குகிறது. எத்தியிரம் முறையின் மூலம், எந்த ஒரு பயன்பாட்டுக்கும் நேரடியாக ஆதரவு அளிக்கப்படாது, ஆனால் ஒரு டூரிங்-முழுமையான நிரலாக்க மொழியின் இருப்பு, எந்தவொரு பரிமாற்ற வகை அல்லது பயன்பாட்டிற்கும் கணக்கெடுக்கும் ஒப்பந்தங்களை உருவாக்க முடியும் என்பதைக் குறிக்கிறது. ஆனால் எத்தியிரமின் சுவாரஸ்யமானது, எத்தியிரம் முறை நாணயத்தை மீறிப் போகிறது. மையரீதியான கோப்புகள் சேமிப்பு, மையரீதியான கணக்கீடு மற்றும் மையரீதியான கணிப்புகள் சந்தைகள் உள்ளிட்ட பல்வேறு கருத்துக்கள், கணக்கீட்டு தொழில்நுட்பத் துறையின் செயல்திறனை குறிப்பிடத்தகுந்த அளவில் அதிகரிக்கக்கூடிய திறன் கொண்டவை, மேலும் மற்ற பீர்டு-பீருக்கு தொடர்புடைய முறைமைகளுக்கு முதன்முறையாக ஒரு நிதிசார் அடுக்கு சேர்க்கும் மூலம் பெரும் உதவியை அளிக்கின்றன. இறுதியாக, பணத்துடன் தொடர்புடையதாக இல்லாத மேலும் பல்வேறு பயன்பாடுகள் உள்ளன.

எத்தியிரம் முறையினால் அமல்படுத்தப்படும் எந்தவொரு மாநில மாற்ற செயல்பாட்டின் கருத்து தனித்துவமான வாய்ப்புடன் கூடிய ஒரு தளம் வழங்குகிறது; குறிப்பிட்ட தரவுத்தொகுப்பு, ஜூசூந்தா அல்லது நிதி பயன்பாடுகளுக்காக வடிவமைக்கப்பட்ட மூடிய, ஒரே நோக்குக்கான முறைமையாக இருப்பதற்கு பதிலாக, எத்தியிரம் வடிவமைப்பின் அடிப்படையில் திறந்தமையாக உள்ளது, மற்றும் இது வரும் ஆண்டுகளில் நிதிசார் மற்றும் மெய்நிகர் நிதிசார் முறைகளுக்கான அடிப்படை அடுக்காகச் சேவையாற்ற மிகவும் ஏற்றதாக இருப்பதாக நாங்கள் நம்புகிறோம்.

குறிப்புகள் மற்றும் மேலும் படிக்க

குறிப்புகள்

  1. ஒரு நுண்ணறிவு வாசகர் உண்மையில் பிட்ட்காயின் முகவரி எலிப்டிக் கவே சன் பொதுமுகவரியின் ஹாஷ் என்பதையும், பொது முகவரியானது இல்லை என்பதையும் கவனிக்க முடியும். எனினும், பொதுமுகவரி ஹாஷ் என்பதையே பொதுமுகவரியாகக் குறிப்பிடுவது நியாயமான கிரிப்டோகிராபிக் சொல்தொடர்மையாகும். இது பிட்ட்காயின் கிரிப்டோகிராபி கஸ்டம் டிஜிட்டல் சிக்னேசர் ஆல்கரிதமாகக் கருதப்படலாம் என்பதால், பொதுமுகவரி எலிப்டிக் கவே சன் பொதுமுகவரியின் ஹாஷ் ஆகும், கையெழுத்து எலிப்டிக் கவே சன் பொதுமுகவரி இணைக்கப்பட்ட எலிப்டிக் கவே சன் கையெழுத்து ஆகும், மற்றும் சரிபார்ப்பு முறை எலிப்டிக் கவே சன் கையெழுத்தில் உள்ள எலிப்டிக் கவே சன் பொதுமுகவரியை பொது முகவரியாகக் கொடுக்கப்பட்ட எலிப்டிக் கவே சன் பொதுமுகவரியைச் சோதனை செய்து, பிறகு எலிப்டிக் கவே சன் கையெழுத்தைப் பொது முகவரியாகச் சரிபார்க்கிறது.
  2. 11 முந்தைய பிளாக்குகளின் மத்திய மதிப்பு.
  3. உள்ளகமாக, 2 மற்றும் "CHARLIE" இரண்டுமே எண்கள்fn3, இது பின்வரும் எண்டியன் அடிப்படையில் 256 பிரதிநிதி ஆகும். எண்கள் குறைந்தபட்சம் 0 மற்றும் அதிகபட்சம் 2256-1 வரை இருக்க முடியும்.

மேலும் வாசிக்க

  1. உள்ளார்ந்த மதிப்புopens in a new tab
  2. ஸ்மார்ட் சொத்துopens in a new tab
  3. ஸ்மார்ட் ஒப்பந்தங்கள்opens in a new tab
  4. பி-பணம்opens in a new tab
  5. மறுபயன்பாட்டுக்குரிய வேலைச் சான்றுகள்opens in a new tab
  6. உரிமையாளர் அதிகாரத்துடன் கூடிய பாதுகாப்பான சொத்து தலைப்புகள்opens in a new tab
  7. பிட்காயின் வெள்ளை அறிக்கைopens in a new tab
  8. Namecoinopens in a new tab
  9. ஜூக்கோவின் முக்கோணம்opens in a new tab
  10. வண்ண நாணயங்கள் வெள்ளை அறிக்கைopens in a new tab
  11. மாஸ்டர்காயின் வெள்ளை அறிக்கைopens in a new tab
  12. பரவலாக்கப்பட்ட தன்னாட்சிக் கழகங்கள், பிட்காயின் இதழ்opens in a new tab
  13. எளிமைப்படுத்தப்பட்ட கட்டண சரிபார்ப்புopens in a new tab
  14. மெர்க்கல் மரங்கள்opens in a new tab
  15. பாட்ரிசியா மரங்கள்opens in a new tab
  16. GHOSTopens in a new tab
  17. StorJ மற்றும் தன்னாட்சி முகவர்கள், ஜெஃப் கார்சிக்opens in a new tab
  18. டியூரிங் திருவிழாவில் ஸ்மார்ட் சொத்து குறித்து மைக் ஹியர்ன்opens in a new tab
  19. எத்தேரியம் RLP
  20. எத்தேரியம் மெர்க்கல் பாட்ரிசியா மரங்கள்
  21. மெர்க்கல் கூட்டுத்தொகை மரங்கள் குறித்து பீட்டர் டாட்opens in a new tab

வெள்ளை அறிக்கையின் வரலாற்றைப் பார்க்க, இந்த விக்கியைப்opens in a new tab பார்க்கவும்.

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

பக்கத்தின் கடைசி புதுப்பிப்பு: 16 பிப்ரவரி, 2026

இந்தக் கட்டுரை உதவியாக இருந்ததா?