මෙම ලිපියෙන්, මම ඔබට DAG (Directed Acyclic Graph) සහ බෙදා හරින ලද ලෙජර් වල එහි යෙදුම ගැන ඔබට කියමි, අපි එය blockchain සමඟ සංසන්දනය කරන්නෙමු.
DAG යනු ගුප්තකේතන මුදල් ලෝකයේ අලුත් දෙයක් නොවේ. බ්ලොක්චේන් පරිමාණය පිළිබඳ ගැටළු සඳහා විසඳුමක් ලෙස ඔබ අසා ඇති. නමුත් අද අපි පරිමාණය ගැන කතා නොකරමු, නමුත් ගුප්තකේතන මුදල් අන් සියල්ලටම වඩා වෙනස් වන්නේ කුමක්ද යන්න ගැන: විමධ්යගත කිරීම, අතරමැදියන් නොමැතිකම සහ වාරණ ප්රතිරෝධය.
DAG ඇත්ත වශයෙන්ම වඩා වාරණයට ඔරොත්තු දෙන බවත් ලෙජරයට ප්රවේශ වීමට අතරමැදියන් නොමැති බවත් මම ඔබට පෙන්වන්නම්.
අපට හුරුපුරුදු බ්ලොක්චේන් වල, පරිශීලකයින්ට ලෙජරයටම සෘජු ප්රවේශයක් නොමැත. ඔබට ලෙජරයට ගණුදෙනුවක් එක් කිරීමට අවශ්ය වූ විට, ඔබ විසින් එය සිදු කිරීමට වාරණ නිෂ්පාදකයාගෙන් (a.k.a. "miner") "ඇසිය යුතුය". මීළඟ කොටසට එකතු කළ යුතු ගනුදෙනුව සහ නොකළ යුතු ගනුදෙනුව තීරණය කරන්නේ පතල් කම්කරුවන් ය. ලෙජරයට ඇතුළත් කිරීම සඳහා පිළිගනු ලබන්නේ කාගේ ගණුදෙනුවද යන්න තීරණය කිරීමේ අයිතිය සහ බ්ලොක් සඳහා සුවිශේෂී ප්රවේශය ඇත්තේ පතල් කම්කරුවන්ටය.
පතල් කම්කරුවන් ඔබ සහ බෙදා හරින ලද ලෙජරය අතර සිටින අතරමැදියන් වේ.
ප්රායෝගිකව, සාමාන්යයෙන් පතල් සංචිත කුඩා සංඛ්යාවක් ජාලයේ පරිගණක බලයෙන් අඩකට වඩා සාමූහිකව පාලනය කරයි. Bitcoin සඳහා මේවා සංචිත හතරක්, Ethereum සඳහා - දෙකක්. ඔවුන් හවුල් වුවහොත්, ඔවුන්ට අවශ්ය ඕනෑම ගනුදෙනුවක් අවහිර කළ හැකිය.
පසුගිය වසර කිහිපය තුළ, බ්ලොක් නිෂ්පාදකයින් තෝරා ගැනීමේ මූලධර්මවලට වෙනස් වන බ්ලොක්චේන් වල බොහෝ වෙනස්කම් යෝජනා කර ඇත. නමුත් බ්ලොක් නිෂ්පාදකයින්ම කොතැනකවත් යන්නේ නැත, ඔවුන් තවමත් “බාධකයේ සිටගෙන” සිටිති: සෑම ගනුදෙනුවක්ම බ්ලොක් නිෂ්පාදකයා හරහා යා යුතු අතර, ඔහු එය පිළිගන්නේ නැත්නම්, ගනුදෙනුව ඇත්ත වශයෙන්ම නොපවතී.
මෙය blockchain සමඟ නොවැළැක්විය හැකි ගැටළුවකි. අපට එය විසඳීමට අවශ්ය නම්, අපට සැලසුම රැඩිකල් ලෙස වෙනස් කළ යුතු අතර බ්ලොක් සහ බ්ලොක් නිෂ්පාදකයින් සම්පූර්ණයෙන්ම ඉවත් කළ යුතුය. බ්ලොක් දාමයක් ගොඩනඟනවා වෙනුවට, අපි එක් එක් ගනුදෙනුවේදී පෙර පැවති හෑෂ් ඇතුළුව ගනුදෙනු තමන්ම සම්බන්ධ කරන්නෙමු. එහි ප්රතිඵලයක් වශයෙන්, අපි ගණිතයේ දී අධ්යක්ෂණය කරන ලද acyclic graph - DAG ලෙස හඳුන්වන ව්යුහයක් ලබා ගනිමු.
දැන් සෑම කෙනෙකුටම අතරමැදියන් නොමැතිව රෙජිස්ට්රි වෙත සෘජු ප්රවේශය ඇත. ඔබට ලෙජරයට ගනුදෙනුවක් එක් කිරීමට අවශ්ය වූ විට, ඔබ එය සරලව එක් කරන්න. ඔබ මාපිය ගනුදෙනු කිහිපයක් තෝරා, ඔබේ දත්ත එකතු කරන්න, අත්සන් කර ඔබේ ගනුදෙනුව ජාලයේ මිතුරන්ට යවන්න. සූදානම්. මෙය කිරීමෙන් ඔබව වළක්වන්න කිසිවෙක් නැත, එබැවින් ඔබේ ගනුදෙනුව දැනටමත් ලෙජරයේ ඇත.
මෙය අතරමැදියන් නොමැතිව ලෙජරයට ගණුදෙණු එකතු කිරීමට වඩාත්ම විමධ්යගත, වඩාත්ම වාරනය-සාක්ෂි මාර්ගයයි. මක්නිසාද යත් සෑම කෙනෙකුම කිසිවෙකුගෙන් අවසර නොගෙන ඔවුන්ගේ ගනුදෙනු ලියාපදිංචියට එකතු කරන බැවිනි.
DAGs ලියාපදිංචි කිරීමේ පරිණාමයේ තුන්වන අදියර ලෙස සැලකිය හැකිය. ප්රථමයෙන් මධ්යගත ලේඛන පැවති අතර එහිදී එක් පාර්ශ්වයක් ඒවාට ප්රවේශය පාලනය කළේය. ඉන්පසුව බ්ලොක්චේන් පැමිණි අතර, දැනටමත් ලෙජරයේ ගනුදෙනු වාර්තා කළ පාලකයන් කිහිප දෙනෙක් සිටියහ. අවසාන වශයෙන්, DAG හි කිසිසේත්ම පාලකයන් නොමැත; පරිශීලකයින් ඔවුන්ගේ ගනුදෙනු කෙලින්ම එකතු කරයි.
දැන් අපට මේ නිදහස ලැබී ඇති නිසා එය අවුල් වියවුල් ඇති කර නොගත යුතුයි. රෙජිස්ට්රාර්හි තත්ත්වය පිළිබඳව අපට එකඟතාවක් තිබිය යුතුය. මෙම ගිවිසුම, හෝ සම්මුතිය, සාමාන්යයෙන් අදහස් කරන්නේ කරුණු දෙකක් පිළිබඳ එකඟතාවයකි:
- මොකද වුණේ?
- මෙය සිදු වූයේ කුමන අනුපිළිවෙලකටද?
අපට පළමු ප්රශ්නයට පහසුවෙන් පිළිතුරු දිය හැකිය: නිවැරදිව සාදන ලද ගනුදෙනුවක් ලෙජරයට එක් කළ පසු එය සිදුවී ඇත. සහ කාල සීමාව. මේ පිළිබඳ තොරතුරු විවිධ වේලාවන්හිදී සියලුම සහභාගිවන්නන් වෙත ළඟා විය හැකි නමුත් අවසානයේ සියලුම නෝඩ් මෙම ගනුදෙනුව ලබා ගන්නා අතර එය සිදු වූ බව දැන ගනු ඇත.
එය blockchain නම්, පතල් කම්කරුවන් කුමක් සිදුවේද යන්න තීරණය කරනු ඇත. පතල් කම්කරුවා බ්ලොක් එකකට ඇතුළත් කිරීමට තීරණය කරන්නේ කුමක් වුවත් එය සිදු වේ. ඔහු බ්ලොක් එකට ඇතුළත් නොකරන සෑම දෙයක්ම සිදු නොවේ.
බ්ලොක්චේන් වලදී, පතල් කම්කරුවන් එකඟතාවයේ දෙවන ගැටළුව ද විසඳයි: පිළිවෙල. ඔවුන්ට අවශ්ය පරිදි වාරණ තුළ ගනුදෙනු ඇණවුම් කිරීමට අවසර ඇත.
DAG හි ගනුදෙනු අනුපිළිවෙල තීරණය කරන්නේ කෙසේද?
අපගේ ප්රස්ථාරය යොමු කර ඇති නිසා, අපට දැනටමත් යම් අනුපිළිවෙලක් ඇත. සෑම ගනුදෙනුවක්ම පෙර, මාපියන් එකක් හෝ කිහිපයක් ගැන සඳහන් කරයි. දෙමාපියන්, අනෙක් අතට, ඔවුන්ගේ දෙමාපියන් වෙත යොමු, සහ එසේ ය. දෙමව්පියන් පැහැදිලිවම ළමා ගනුදෙනුවලට පෙර පෙනී සිටියි. මාපිය-ළමා සම්බන්ධතා සංක්රාන්ති මගින් කිසියම් ගනුදෙනුවකට ළඟා විය හැකි නම්, එම ගනුදෙනු දාමයේ ගනුදෙනු අතර අනුපිළිවෙල අපි හරියටම දනිමු.
නමුත් ගනුදෙනු අතර අනුපිළිවෙල සෑම විටම ප්රස්ථාරයේ හැඩයෙන් පමණක් තීරණය කළ නොහැක. උදාහරණයක් ලෙස, ප්රස්ථාරයේ සමාන්තර ශාඛා මත ගනුදෙනු දෙකක් ඇති විට.
එවැනි අවස්ථාවලදී අපැහැදිලි භාවය විසඳීම සඳහා, අපි ඊනියා ඇණවුම් සපයන්නන් මත රඳා සිටිමු. අපි ඔවුන්ව "සාක්ෂිකරුවන්" ලෙසද හඳුන්වමු. මොවුන් සාමාන්ය පරිශීලකයින් වන අතර ඔවුන්ගේ කාර්යය වන්නේ නිරන්තරයෙන් ජාලයට ගනුදෙනු ක්රමානුකූලව යැවීමයි, i.e. ඔවුන්ගේ පෙර ගනුදෙනු සෑම එකක්ම මාපිය-ළමා සබැඳි ඔස්සේ සංක්රාන්ති මගින් ළඟා කර ගත හැක. ඇණවුම් සපයන්නන් විශ්වාසදායක පරිශීලකයින් වන අතර, මෙම රීතිය උල්ලංඝනය නොකිරීමට මුළු ජාලයම ඔවුන් මත රඳා පවතී. පිනිස තාර්කිකව ඔවුන් විශ්වාස කරන්න, අපි එක් එක් ඇණවුම් සපයන්නා දන්නා (නිර්නාමික නොවන) පුද්ගලයෙකු හෝ සංවිධානයක් විය යුතු අතර විශ්වාසය මත පදනම් වූ කීර්තිය හෝ ව්යාපාරය වැනි නීති කඩ කළහොත් අහිමි වීමට යමක් තිබිය යුතුය.
ඇණවුම් සපයන්නන් පරිශීලකයින් විසින් තෝරා ගනු ලබන අතර, සෑම පරිශීලකයෙකුම ජාලයට යවන සෑම ගනුදෙනුවකදීම එහි විශ්වාසදායක සැපයුම්කරුවන්ගේ ලැයිස්තුවක් ඇතුළත් වේ. මෙම ලැයිස්තුව සපයන්නන් 12 දෙනෙකුගෙන් සමන්විත වේ. මෙය පුද්ගලයෙකුට ඔවුන් එක් එක් අයගේ අනන්යතාවය සහ කීර්තිය තහවුරු කිරීමට ප්රමාණවත් තරම් කුඩා සංඛ්යාවක් වන අතර ඇණවුම් සපයන්නන් සුළුතරයක් සමඟ නොවැළැක්විය හැකි ගැටළු ඇති විට ජාලය දිගටම ක්රියාත්මක වන බව සහතික කිරීමට ප්රමාණවත් වේ.
මෙම සපයන්නන්ගේ ලැයිස්තුව පරිශීලකයාගෙන් පරිශීලකයාට වෙනස් වේ, නමුත් අසල්වැසි ගනුදෙනු ලැයිස්තුව එක් සැපයුම්කරුවෙකුට වෙනස් විය හැක.
දැන් අපට ඇණවුම් සපයන්නන් සිටින බැවින්, අපට ඔවුන්ගේ ගනුදෙනු DAG එකකට හුදකලා කර ඔවුන් විසින් නිර්මාණය කරන ලද ඇණවුම වටා අනෙකුත් සියලුම ගනුදෙනු ඇණවුම් කළ හැකිය. එවැනි ඇල්ගොරිතමයක් නිර්මාණය කළ හැකිය (බලන්න.
නමුත් සම්පූර්ණ ජාලයේ අනුපිළිවෙල ක්ෂණිකව තීරණය කළ නොහැක; පසුගිය ගනුදෙනු වල අවසාන අනුපිළිවෙල සත්යාපනය කිරීම සඳහා ඇණවුම් සපයන්නන්ට ඔවුන්ගේ ගනුදෙනු ප්රමාණවත් සංඛ්යාවක් යැවීමට අපට කාලය අවශ්ය වේ.
තවද, ඇණවුම තීරණය කරනු ලබන්නේ DAG හි සපයන්නන්ගේ ගනුදෙනු වල පිහිටීම් අනුව පමණක් බැවින්, ජාලයේ සියලුම නෝඩ් ඉක්මනින් හෝ පසුව සියලුම ගනුදෙනු ලැබෙනු ඇති අතර ගනුදෙනුවේ අනුපිළිවෙල සම්බන්ධයෙන් එකම නිගමනයකට පැමිණේ.
එබැවින්, සිදුවී ඇතැයි අප සලකන දේ පිළිබඳව අපට එකඟතාවයක් ඇත: DAG හි අවසන් වන ඕනෑම ගනුදෙනුවක් සිදු විය. සිදුවීම් අනුපිළිවෙල පිළිබඳව අපට එකඟතාවයක් ද ඇත: මෙය එක්කෝ ගණුදෙණුවල සම්බන්ධතා වලින් පැහැදිලි වේ, නැතහොත් ඇණවුම් සපයන්නන් විසින් එවන ලද ගනුදෙනු අනුපිළිවෙලින් අනුමාන කෙරේ. ඒ නිසා අපි අතර සම්මුතියක් තියෙනවා.
අපි Obyte තුළ මෙම සම්මුතියේ අනුවාදය ඇත. Obyte ලෙජරය වෙත ප්රවේශය සම්පුර්ණයෙන්ම විමධ්යගත කර ඇතත්, ගණුදෙණු අනුපිළිවෙල පිළිබඳ සම්මුතිය තවමත් මධ්යගතව පවතින නිසා සපයන්නන් 10 න් 12 ක් නිර්මාතෘ (Anton Churyumov) විසින් පාලනය කරනු ලබන අතර, ඔවුන්ගෙන් දෙදෙනෙකු පමණක් ස්වාධීන වේ. ලෙජරය ඇණවුම් කිරීම විමධ්යගත කිරීමට අපට උපකාර කිරීම සඳහා ස්වාධීන ඇණවුම් සපයන්නන්ගෙන් කෙනෙකු වීමට කැමති අපේක්ෂකයින් අපි සොයන්නෙමු.
මෑතකදී, තුන්වන ස්වාධීන අපේක්ෂකයෙකු ඇණවුම් සපයන්නාගේ නෝඩයක් ස්ථාපනය කර නඩත්තු කිරීමට කැමැත්තෙන් සිටී - නිකොසියා විශ්ව විද්යාලය.
දැන් අපි ද්විත්ව වියදම් පාලනය කරන්නේ කෙසේද?
නීතිරීතිවලට අනුව, එකම කාසියක් වියදම් කරන ගනුදෙනු දෙකක් සොයාගතහොත්, සියලුම ගනුදෙනුවල අවසාන අනුපිළිවෙලෙහි පළමුවන ගනුදෙනුව ජය ගනී. දෙවැන්න සම්මුති ඇල්ගොරිතම මගින් අවලංගු වේ.
එකම කාසිය (දෙමාපිය-ළමා සම්බන්ධතා හරහා) වියදම් කරන ගනුදෙනු දෙකක් අතර පිළිවෙලක් ස්ථාපිත කළ හැකි නම්, සියලු නෝඩ් වියදම් දෙගුණ කිරීමට එවැනි උත්සාහයක් වහාම ප්රතික්ෂේප කරයි.
එවැනි ගනුදෙනු දෙකක් අතර මාපිය සබඳතාවලින් ඇණවුම නොපෙනේ නම්, ඒවා දෙකම ලෙජරයට පිළිගනු ලබන අතර, ඇණවුම් සපයන්නන් භාවිතයෙන් ඔවුන් අතර එකඟතාවක් සහ ඇණවුමක් ස්ථාපිත කිරීමට අපට බලා සිටීමට සිදුවනු ඇත. එවිට පෙර ගනුදෙනුව ජය ගන්නා අතර, දෙවැන්න අවලංගු වනු ඇත.
දෙවන ගනුදෙනුව අවලංගු වුවද, එය තවමත් රෙජිස්ට්රියේ පවතී, මන්ද එය දැනටමත් පසුකාලීන ගනුදෙනු යොමු කර ඇති අතර, එය කිසිවක් උල්ලංඝනය නොකළ අතර අනාගතයේදී මෙම ගනුදෙනුව අවලංගු වන බව නොදැන සිටියේය. එසේ නොමැතිනම්, ජාලයේ ප්රධාන මූලධර්මය උල්ලංඝනය කරන හොඳ පසුකාලීන ගනුදෙනුවල මාපියන් ඉවත් කිරීමට අපට සිදු වනු ඇත - ඕනෑම නිවැරදි ගනුදෙනුවක් ලෙජරයට පිළිගනු ලැබේ.
මෙය සමස්ත පද්ධතියම වාරණය කිරීමේ උත්සාහයන්ට ප්රතිරෝධී වීමට ඉඩ සලසන ඉතා වැදගත් රීතියකි.
සියලුම ඇණවුම් සපයන්නන් එක් විශේෂිත ගනුදෙනුවක් "වාරණය" කිරීමට උත්සාහ කරන බව අපි සිතමු. ඔවුන්ට එය නොසලකා හැරිය හැකි අතර කිසිවිටෙක එය ඔවුන්ගේ ගනුදෙනු සඳහා "දෙමව්පියෙකු" ලෙස තෝරා නොගත හැක, නමුත් එය ප්රමාණවත් නොවේ, ගණුදෙණුව තවමත් ජාලයේ හවුල් නොවන ඕනෑම පරිශීලකයෙකු විසින් නිකුත් කරන ලද වෙනත් ගනුදෙනුවක මාපියන් ලෙස වක්රව ඇතුළත් කළ හැකිය. කාලයාගේ ඇවෑමෙන්, එවැනි ගනුදෙනුවකට සාමාන්ය පරිශීලකයින්ගෙන් වැඩි වැඩියෙන් දරුවන්, මුණුබුරන් සහ මුණුබුරන් ලැබෙනු ඇත, හිමබෝලයක් මෙන් වැඩෙන අතර, එකඟ වූ සියලුම ඇණවුම් සපයන්නන්ට මෙම ගනුදෙනුද නොසලකා හැරීමට සිදුවේ. අවසානයේදී, ඔවුන්ට මුළු ජාලයම වාරණය කිරීමට සිදුවනු ඇත, එය කඩාකප්පල් කිරීමට සමාන ය.
මේ ආකාරයෙන්, ඇණවුම් සපයන්නන් අතර කුමන්ත්රණයක් තිබුණද DAG වාරණ-ප්රතිරෝධීව පවතී, එමඟින් පතල්කරුවන් කිසිදු ගනුදෙනුවක් ඇතුළත් නොකිරීමට තීරණය කළහොත් අපට කිසිවක් කළ නොහැකි වාරණ-ප්රතිරෝධී අවහිරතා අභිබවා යයි. මෙය DAG හි ප්රධාන දේපලෙන් පහත දැක්වේ: රෙජිස්ට්රියේ සහභාගීත්වය සම්පූර්ණයෙන්ම ස්වාධීන වන අතර අතරමැදියන් නොමැතිව වන අතර ගනුදෙනු ආපසු හැරවිය නොහැක.
මූලාශ්රය: www.habr.com