අහඹු අංක සහ විමධ්‍යගත ජාල: ක්‍රියාත්මක කිරීම්

හැඳින්වීම

function getAbsolutelyRandomNumer() {
        return 4; // returns absolutely random number!
}

ගුප්ත ලේඛනයෙන් නිරපේක්ෂ ශක්තිමත් කේතාංකයක් පිළිබඳ සංකල්පය මෙන්ම, සැබෑ “ප්‍රසිද්ධියේ සත්‍යාපනය කළ හැකි සසම්භාවී බීකන්” (මෙතැන් සිට PVRB) ප්‍රොටෝකෝල උත්සාහ කරන්නේ පරමාදර්ශී යෝජනා ක්‍රමයට හැකි තරම් සමීප වීමට පමණි. සැබෑ ජාල වලදී එය එහි පිරිසිදු ස්වරූපයෙන් අදාළ නොවේ: එය එක් බිට් එකකට දැඩි ලෙස එකඟ විය යුතුය, බොහෝ වට තිබිය යුතුය, සහ සියලු පණිවිඩ පරිපූර්ණ වේගවත් හා සෑම විටම බෙදා හැරිය යුතුය. ඇත්ත වශයෙන්ම, සැබෑ ජාල වල මෙය එසේ නොවේ. එබැවින්, නවීන බ්ලොක්චේන් වල නිශ්චිත කාර්යයන් සඳහා PVRB නිර්මාණය කිරීමේදී, එහි ප්රතිඵලයක් ලෙස ඇතිවන අහඹු බව සහ ගුප්ත ලේඛන ශක්තිය පාලනය කිරීමේ නොහැකියාවට අමතරව, තවත් බොහෝ හුදු වාස්තු විද්යාත්මක හා තාක්ෂණික ගැටළු පැන නගී.

PVRB සඳහා, blockchain යනු පණිවිඩ = ගනුදෙනු කරන සන්නිවේදන මාධ්‍යයකි. ජාල ගැටළු, පණිවිඩ ලබා නොදීම, මිඩ්ල්වෙයාර් සමඟ ගැටළු වලින් අර්ධ වශයෙන් වියුක්ත කිරීමට මෙය ඔබට ඉඩ සලසයි - මෙම සියලු අවදානම් විමධ්‍යගත ජාලය විසින් උපකල්පනය කරනු ලබන අතර, PVRB සඳහා එහි ප්‍රධාන වටිනාකම වන්නේ දැනටමත් යවා ඇති ගනුදෙනුවක් අවලංගු කිරීමට හෝ දූෂිත කිරීමට ඇති නොහැකියාවයි - මෙය සිදු කරයි. සම්මුතියට සාර්ථක ප්‍රහාරයක් එල්ල කරන්නේ නම් මිස, ප්‍රොටෝකෝලයට සහභාගී වීම ප්‍රතික්ෂේප කිරීමට සහභාගිවන්නන්ට ඉඩ නොදෙන්න. මෙම මට්ටමේ ආරක්‍ෂාව පිළිගත හැකි ය, එබැවින් PVRB ප්‍රධාන බ්ලොක්චේන් දාමයට හරියටම සමාන ප්‍රමාණයකට සහභාගිවන්නන්ගේ කුමන්ත්‍රණවලට ප්‍රතිරෝධී විය යුතුය. එසේම, PVRB ජාලය ප්‍රධාන බ්ලොක්චේන් එකට එකඟ වන්නේ නම්, එය එකම සාධාරණ ප්‍රතිඵලයක් අහඹු ලෙස එකඟ වුවද, සම්මුතියේ කොටසක් විය යුතු බව මෙය ඉඟි කරයි. නැතහොත්, PVRB යනු බ්ලොක්චේන් සහ බ්ලොක් සම්බන්ධයෙන් අසමමුහුර්තව ක්‍රියා කරන ස්මාර්ට් කොන්ත්‍රාත්තුවක් මගින් ක්‍රියාත්මක කරන ලද ස්වාධීන ප්‍රොටෝකෝලයකි. ක්රම දෙකම ඔවුන්ගේ වාසි සහ අවාසි ඇති අතර, ඒවා අතර තේරීම අතිශයින් සුළු නොවේ.

PVRB ක්රියාත්මක කිරීමට ක්රම දෙකක්

PVRB ක්‍රියාත්මක කිරීම සඳහා විකල්ප දෙකක් අපි වඩාත් විස්තරාත්මකව විස්තර කරමු - බ්ලොක්චේන් වලින් ස්වාධීන ස්මාර්ට් කොන්ත්‍රාත්තුවක් භාවිතයෙන් ක්‍රියා කරන ස්වාධීන අනුවාදය සහ ප්‍රොටෝකෝලය තුළ ගොඩනගා ඇති සම්මුති-ඒකාබද්ධ අනුවාදය, ඒ අනුව ජාලය බ්ලොක්චේන් සහ ඇතුළත් කළ යුතු ගනුදෙනු. සෑම අවස්ථාවකදීම, මම අදහස් කරන්නේ ජනප්‍රිය බ්ලොක්චේන් එන්ජින්: Ethereum, EOS සහ ඒවාට සමාන ඒවා ඔවුන් සත්කාරකත්වය දරන සහ ස්මාර්ට් කොන්ත්‍රාත්තු සැකසීමේ ආකාරයෙනි.

ස්වාධීන ගිවිසුම

මෙම අනුවාදයේ, PVRB යනු අහඹු නිෂ්පාදකයින්ගේ ගනුදෙනු පිළිගන්නා (මෙතැන් සිට RP ලෙස හැඳින්වේ), ඒවා ක්‍රියාවට නංවා, ප්‍රතිඵල ඒකාබද්ධ කරන සහ ප්‍රතිඵලයක් ලෙස, මෙම කොන්ත්‍රාත්තුවෙන් ඕනෑම පරිශීලකයෙකුට ලැබිය හැකි නිශ්චිත අගයකට පැමිණෙන ස්මාර්ට් කොන්ත්‍රාත්තුවක් වේ. මෙම අගය කොන්ත්‍රාත්තුවේ සෘජුවම ගබඩා කර නොතිබිය හැක, නමුත් ප්‍රතිඵලයක් ලෙස ලැබෙන අහඹු අගයේ එක් අගයක් පමණක් නිශ්චිතව ලබා ගත හැකි දත්ත මගින් පමණක් නිරූපණය කෙරේ. මෙම යෝජනා ක්‍රමයේදී, RPs යනු blockchain භාවිතා කරන්නන් වන අතර, ඕනෑම කෙනෙකුට උත්පාදන ක්‍රියාවලියට සහභාගී වීමට අවසර දිය හැක.

ස්වාධීන කොන්ත්රාත්තුව සමඟ විකල්පය හොඳයි:

  • අතේ ගෙන යා හැකි හැකියාව (කොන්ත්‍රාත්තු බ්ලොක්චේන් සිට බ්ලොක්චේන් දක්වා ඇදගෙන යා හැක)
  • ක්රියාත්මක කිරීමේ සහ පරීක්ෂා කිරීමේ පහසුව (කොන්ත්රාත් ලිවීමට සහ පරීක්ෂා කිරීමට පහසුය)
  • ආර්ථික යෝජනා ක්‍රම ක්‍රියාත්මක කිරීමේ පහසුව (ඔබේම ටෝකනයක් සාදා ගැනීම පහසුය, එහි තර්කය PVRB හි අරමුණු ඉටු කරයි)
  • දැනටමත් වැඩ කරන blockchains මත දියත් කිරීමේ හැකියාව

එහි අවාසි ද ඇත:

  • පරිගණක සම්පත්, ගනුදෙනු පරිමාව සහ ගබඩා කිරීම මත දැඩි සීමාවන් (වෙනත් වචන වලින් කිවහොත්, cpu/mem/io)
  • කොන්ත්රාත්තුව තුළ මෙහෙයුම් සඳහා සීමා කිරීම් (සියලු උපදෙස් ලබා ගත නොහැක, බාහිර පුස්තකාල සම්බන්ධ කිරීම අපහසු වේ)
  • බ්ලොක්චේන් හි ඇතුළත් කර ඇති ගනුදෙනු වලට වඩා වේගයෙන් පණිවිඩ යැවීම සංවිධානය කිරීමට නොහැකි වීම

මෙම විකල්පය දැනට පවතින ජාලයක් මත ධාවනය කිරීමට අවශ්ය වන PVRB ක්රියාත්මක කිරීම සඳහා සුදුසු වේ, සංකීර්ණ ගුප්තකේතනය අඩංගු නොවන අතර අන්තර්ක්රියා විශාල සංඛ්යාවක් අවශ්ය නොවේ.

සම්මුතිය-ඒකාබද්ධ

මෙම අනුවාදයේ, PVRB බ්ලොක්චේන් නෝඩ් කේතය තුළ ක්‍රියාත්මක වේ, බ්ලොක්චේන් නෝඩ් අතර පණිවිඩ හුවමාරු කිරීම සමඟ සමාන්තරව ගොඩනඟා හෝ ක්‍රියාත්මක වේ. ප්‍රොටෝකෝලයේ ප්‍රතිඵල සෘජුවම නිපදවන ලද බ්ලොක් වලට ලියා ඇති අතර, ප්‍රොටෝකෝල පණිවිඩ නෝඩ් අතර p2p ජාලය හරහා යවනු ලැබේ. ප්‍රොටෝකෝලය බ්ලොක් වලින් ලිවිය යුතු සංඛ්‍යා ඇති බැවින්, ජාලය ඒවා පිළිබඳ සම්මුතියකට පැමිණිය යුතුය. මෙයින් අදහස් කරන්නේ ගනුදෙනු වැනි PVRB පණිවිඩ, නෝඩ් මගින් වලංගු කළ යුතු අතර, ඕනෑම ජාල සහභාගිවන්නෙකුට PVRB ප්‍රොටෝකෝලය සමඟ අනුකූල වීම තහවුරු කළ හැකි වන පරිදි බ්ලොක්වලට ඇතුළත් කළ යුතු බවයි. මෙය ස්වයංක්‍රීයව අපව පැහැදිලි විසඳුම වෙත යොමු කරයි - ජාලය අවහිරයක් සහ එහි ගනුදෙනු පිළිබඳ සම්මුතියකට එකඟ වන්නේ නම්, PVRB සම්මුතියේ කොටසක් විය යුතු අතර ස්වාධීන ප්‍රොටෝකෝලයක් නොවේ. එසේ නොමැති නම්, සම්මුති දෘෂ්ටි කෝණයකින් අවහිර කිරීමක් වලංගු විය හැකි නමුත් PVRB ප්‍රොටෝකෝලය අනුගමනය නොකරන අතර PVRB දෘෂ්ටි කෝණයෙන් අවහිර කිරීම පිළිගත නොහැක. එබැවින් "සම්මුතිය-ඒකාබද්ධ" විකල්පය තෝරා ගන්නේ නම්, PVRB සම්මුතියේ වැදගත් කොටසක් බවට පත්වේ.

ජාල සම්මුති මට්ටමින් PVRB ක්‍රියාත්මක කිරීම් විස්තර කරන විට, අවසාන ගැටළු මඟ හැරිය නොහැක. Finality යනු තීරනාත්මක සම්මුතීන් තුළ භාවිතා වන යාන්ත්‍රණයක් වන අතර එය බ්ලොක් එකක (සහ එයට තුඩු දෙන දාමය) අගුලු දමා අවසන් වන අතර සමාන්තර දෙබලක් ඇති වුවද කිසි විටෙකත් ඉවත නොදමනු ඇත. උදාහරණයක් ලෙස, Bitcoin හි එවැනි යාන්ත්‍රණයක් නොමැත - ඔබ වඩාත් සංකීර්ණ දාමයක් ප්‍රකාශයට පත් කරන්නේ නම්, එය දම්වැල්වල දිග නොතකා ඕනෑම අඩු සංකීර්ණ එකක් ප්‍රතිස්ථාපනය කරයි. සහ EOS හි, උදාහරණයක් ලෙස, අවසාන ඒවා වන්නේ ඊනියා අවසාන ආපසු හැරවිය නොහැකි බ්ලොක්, සාමාන්‍යයෙන් සෑම බ්ලොක් 432 කටම (12*21 + 12*15, පූර්ව ඡන්දය + පූර්ව කැපවීම) දිස්වේ. මෙම ක්‍රියාවලිය අත්‍යවශ්‍යයෙන්ම බ්ලොක්-නිෂ්පාදකයින්ගෙන් 2/3 ක් (මෙතැන් සිට BP ලෙස හැඳින්වේ) අත්සන් සඳහා බලා සිටී. අවසාන LIB වලට වඩා පැරණි ගෑරුප්පු දිස්වන විට, ඒවා සරලව ඉවත දමනු ලැබේ. මෙම යාන්ත්‍රණය මඟින් ගනුදෙනුව බ්ලොක්චේන් එකට ඇතුළත් කර ඇති බවට සහතික කිරීමට හැකි වන අතර ප්‍රහාරකයා සතුව කුමන සම්පත් තිබුණද එය කිසිදා ආපසු හරවන්නේ නැත. එසේම, අවසාන කොටස් යනු Hyperledger, Tendermint සහ අනෙකුත් pBFT මත පදනම් වූ සම්මුතීන්හි 2/3 BP විසින් අත්සන් කරන ලද කුට්ටි වේ. එසේම, බ්ලොක් නිෂ්පාදනය සහ ප්‍රකාශනය සමඟ අසමමුහුර්තව ක්‍රියා කළ හැකි බැවින්, එය සම්මුතියට එකතු කිරීමක් සහතික කිරීම සඳහා ප්‍රොටෝකෝලයක් සෑදීම අර්ථවත් කරයි. මෙන්න හොඳ එකක් ලිපියක් Ethereum හි අවසානත්වය ගැන.

පරිශීලකයන් සඳහා අවසාන භාවය අතිශයින් වැදගත් වන අතර, එය නොමැතිව තමන් "ද්විත්ව වියදම්" ප්‍රහාරයකට ගොදුරු විය හැකි අතර, BP "අවහිර" තබා, ජාලය හොඳ ගනුදෙනුවක් "දැක්ක" පසු ඒවා ප්‍රකාශයට පත් කරයි. අවසාන කරුණක් නොමැති නම්, ප්‍රකාශිත දෙබලක බ්ලොක් එක වෙනුවට "හොඳ" ගනුදෙනුවක් වෙනුවට "නරක" දෙබලකින්, එම අරමුදල්ම ප්‍රහාරකයාගේ ලිපිනයට මාරු කරනු ලැබේ. PVRB සම්බන්ධයෙන් ගත් කල, අවසාන අවශ්‍යතා වඩාත් දැඩි වේ, මන්ද PVRB සඳහා ගෑරුප්පු තැනීම යනු ප්‍රහාරකයෙකුට වඩාත්ම ලාභදායී එකක් ප්‍රකාශයට පත් කිරීම සඳහා අහඹු විකල්ප කිහිපයක් සකස් කිරීමට ඇති අවස්ථාව වන අතර ප්‍රහාරයක් සිදුවිය හැකි කාලය සීමා කිරීම a හොඳ විසඳුමක්.

එබැවින්, හොඳම විකල්පය වන්නේ PVRB සහ අවසන් එක් ප්රොටෝකෝලයකට ඒකාබද්ධ කිරීමයි - පසුව අවසන් කරන ලද බ්ලොක් = අවසන් කරන ලද අහඹු ලෙස, සහ මෙය හරියටම අපට ලබා ගැනීමට අවශ්ය විය. දැන් ක්‍රීඩකයින්ට තත්පර N තත්පරයකින් සහතික අහඹු ලෙස ලැබෙනු ඇති අතර, එය ආපසු පෙරළීමට හෝ නැවත ධාවනය කිරීමට නොහැකි බව සහතික විය හැක.

සම්මුති-ඒකාබද්ධ විකල්පය හොඳයි:

  • කුට්ටි නිෂ්පාදනයට අදාළව අසමමුහුර්තව ක්‍රියාත්මක කිරීමේ හැකියාව - කුට්ටි සුපුරුදු පරිදි නිපදවනු ලැබේ, නමුත් මෙයට සමාන්තරව, PVRB ප්‍රොටෝකෝලය ක්‍රියා කළ හැකි අතර, එය සෑම බ්ලොක් එකක් සඳහාම අහඹු බවක් ඇති නොකරයි.
  • ස්මාර්ට් කොන්ත්‍රාත්තු සඳහා පනවා ඇති සීමාවන් නොමැතිව බර ගුප්තකේතනය පවා ක්‍රියාත්මක කිරීමේ හැකියාව
  • ගනුදෙනු වලට වඩා වේගයෙන් පණිවිඩ හුවමාරුව සංවිධානය කිරීමේ හැකියාව blockchain හි ඇතුළත් වේ, උදාහරණයක් ලෙස, ප්‍රොටෝකෝලයේ කොටසක් ජාලය හරහා පණිවිඩ බෙදා හැරීමකින් තොරව නෝඩ් අතර ක්‍රියා කළ හැකිය

එහි අවාසි ද ඇත:

  • පරීක්ෂා කිරීමේ සහ සංවර්ධනය කිරීමේ දුෂ්කරතා - ඔබට ජාල දෝෂ, නැතිවූ නෝඩ්, ජාල දෘඩ ගෑරුප්පු අනුකරණය කිරීමට සිදුවේ.
  • ක්‍රියාත්මක කිරීමේ දෝෂ සඳහා ජාල දෘඪ ෆෝක් අවශ්‍ය වේ

PVRB ක්‍රියාත්මක කිරීමේ ක්‍රම දෙකටම ජීවිතයට අයිතියක් ඇත, නමුත් නවීන බ්ලොක්චේන් වල ස්මාර්ට් කොන්ත්‍රාත්තු මත ක්‍රියාත්මක කිරීම තවමත් පරිගණක සම්පත් වල තරමක් සීමිත වන අතර බරපතල ගුප්තකේතනය වෙත ඕනෑම සංක්‍රමණයක් බොහෝ විට කළ නොහැක. පහත දැක්වෙන පරිදි අපට බරපතල ගුප්ත ලේඛන අවශ්ය වනු ඇත. මෙම ගැටළුව පැහැදිලිවම තාවකාලික වුවද, බොහෝ ගැටළු විසඳීම සඳහා කොන්ත්‍රාත්තු වල බරපතල ගුප්තකේතනය අවශ්‍ය වන අතර එය ක්‍රමයෙන් දිස්වේ (උදාහරණයක් ලෙස, Ethereum හි zkSNARK සඳහා පද්ධති ගිවිසුම්)

පාරදෘශ්‍ය සහ විශ්වාසනීය ප්‍රොටෝකෝල පණිවුඩකරණ නාලිකාවක් සපයන Blockchain, නොමිලයේ එසේ නොකරයි. ඕනෑම විමධ්‍යගත ප්‍රොටෝකෝලයක් සිබිල් ප්‍රහාරයක හැකියාව සැලකිල්ලට ගත යුතුය; ඕනෑම ක්‍රියාවක් බහු ගිණුම් වල ඒකාබද්ධ බලවේග මගින් කළ හැකිය, එබැවින්, සැලසුම් කිරීමේදී, ප්‍රහාරකයින්ට අත්තනෝමතික ප්‍රොටෝකෝල ගණනක් නිර්මාණය කිරීමට ඇති හැකියාව සැලකිල්ලට ගැනීම අවශ්‍ය වේ. සහභාගිවන්නන් සහයෝගීතාවයෙන් ක්‍රියා කරයි.

PVRB සහ බ්ලොක් විචල්‍ය.

බොහෝ සූදු යෙදුම් මගින් පරීක්‍ෂා කරන ලද හොඳ PVRB එකක් බ්ලොක්චේන් වල කිසිවෙකු තවමත් ක්‍රියාත්මක කර නොමැති බව මා පැවසූ විට මම බොරු කීවේ නැත. Ethereum සහ EOS මත මෙතරම් සූදු යෙදුම් පැමිණෙන්නේ කොහෙන්ද? මෙය ඔබව පුදුමයට පත් කරන තරමටම මා පුදුමයට පත් කරයි, සම්පූර්ණයෙන්ම නියතිවාදී පරිසරයක් තුළ ඔවුන්ට මෙතරම් "අස්ථිර" අහඹු ලෙස ලැබුණේ කොහෙන්ද?

බ්ලොක්චේන් හි අහඹු බව ලබා ගැනීමට ප්‍රියතම ක්‍රමය නම් බ්ලොක් එකෙන් යම් ආකාරයක “අනපේක්ෂිත” තොරතුරු ලබාගෙන එය මත පදනම්ව අහඹු එකක් සෑදීමයි - හුදෙක් අගයන් එකක් හෝ කිහිපයක් හැෂ් කිරීමෙන්. එවැනි යෝජනා ක්රමවල ගැටළු ගැන හොඳ ලිපියක් මෙහි. ඔබට බ්ලොක් එකේ ඇති ඕනෑම “අනපේක්ෂිත” අගයක් ගත හැකිය, උදාහරණයක් ලෙස, බ්ලොක් හැෂ්, ගනුදෙනු ගණන, ජාල සංකීර්ණත්වය සහ කල්තියා නොදන්නා වෙනත් අගයන්. ඉන්පසු ඒවා එකක් හෝ කිහිපයක් හැෂ් කරන්න, සහ, න්‍යායාත්මකව, ඔබට සැබෑ අහඹු ලෙස ලබා ගත යුතුය. ඔබට ඔබේ යෝජනා ක්‍රමය “පශ්චාත් ක්වොන්ටම් ආරක්‍ෂිත” බව වයිට්පේපර් එකට එකතු කළ හැක (ක්වොන්ටම් ප්‍රොෆ්ට් හැෂ් ශ්‍රිත ඇති බැවින් :)).

නමුත් පශ්චාත් ක්වොන්ටම් ආරක්ෂිත හැෂ් පවා ප්රමාණවත් නොවේ, අහෝ. රහස පවතින්නේ PVRB සඳහා වන අවශ්‍යතා තුළ ය, පෙර ලිපියෙන් ඒවා ඔබට මතක් කිරීමට මට ඉඩ දෙන්න:

  1. ප්‍රතිඵලය ඔප්පු කළ හැකි ඒකාකාර ව්‍යාප්තියක් තිබිය යුතුය, එනම් ඔප්පු කළ හැකි ශක්තිමත් ගුප්ත ලේඛන මත පදනම් විය යුතුය.
  2. ප්රතිඵලයේ බිටු කිසිවක් පාලනය කළ නොහැක. එහි ප්රතිපලයක් වශයෙන්, ප්රතිඵලය කල්තියා පුරෝකථනය කළ නොහැකිය.
  3. ප්‍රොටෝකෝලයට සහභාගී නොවී හෝ ප්‍රහාරක පණිවිඩ සමඟ ජාලය අධික ලෙස පැටවීමෙන් ඔබට උත්පාදන ප්‍රොටෝකෝලය කඩාකප්පල් කළ නොහැක.
  4. ඉහත සියල්ලම වංක ප්‍රොටෝකෝල සහභාගිවන්නන් (උදාහරණයක් ලෙස, සහභාගිවන්නන්ගෙන් 1/3) අවසර ලත් සංඛ්‍යාවක සහයෝගීතාවයට ප්‍රතිරෝධී විය යුතුය.

මෙම අවස්ථාවෙහිදී, අවශ්‍යතාවය 1 පමණක් සපුරා ඇති අතර, 2 අවශ්‍යතාවය සපුරා නොමැත. බ්ලොක් එකෙන් අනපේක්ෂිත අගයන් හෑෂ් කිරීමෙන්, අපට ඒකාකාර බෙදා හැරීමක් සහ හොඳ අහඹු ලෙස ලැබෙනු ඇත. නමුත් BP හට අවම වශයෙන් "වාරණය ප්‍රකාශ කිරීම හෝ නොකිරීමට" විකල්පයක් ඇත. මේ අනුව, BP හට අවම වශයෙන් අහඹු විකල්ප දෙකකින් තෝරා ගත හැකිය: “තමාගේම” සහ වෙනත් අයෙකු අවහිර කළහොත් හැරෙනු ඇත. BP ඔහු බ්ලොක් එකක් ප්‍රකාශයට පත් කළහොත් කුමක් සිදුවේද යන්න කල්තියා "හොඳින් බලන්න" හැකි අතර, එය කිරීමට හෝ නොකිරීමට තීරණය කරයි. මේ අනුව, සෙල්ලම් කරන විට, උදාහරණයක් ලෙස, "ඉරට්ටේ-ඔත්තේ" හෝ "රතු / කළු" roulette දී, ඔහු ජයග්රහණයක් දකිනවා නම් පමණක් වාරණ ප්රකාශයට පත් කළ හැකිය. උදාහරණයක් ලෙස, "අනාගතයේ සිට" බ්ලොක් හැෂ් භාවිතා කිරීමේ උපාය ද මෙය ක්‍රියා කළ නොහැක. මෙම අවස්ථාවේදී, ඔවුන් පවසන්නේ “අහඹු ලෙස භාවිතා කරනු ඇති අතර, එය වත්මන් දත්ත සහ අනාගත බ්ලොක් එකක හැෂ් හැෂ් කිරීමෙන් ලබා ගනී, උදාහරණයක් ලෙස, N + 42, එහිදී N යනු වත්මන් බ්ලොක් උස වේ. මෙය යෝජනා ක්රමය ටිකක් ශක්තිමත් කරයි, නමුත් තවමත් BP, අනාගතයේදී වුවද, අවහිර කිරීම හෝ ප්රකාශයට පත් කිරීම තෝරා ගැනීමට ඉඩ සලසයි.

මෙම නඩුවේ BP මෘදුකාංගය වඩාත් සංකීර්ණ වේ, නමුත් බොහෝ නොවේ. සරළව, බ්ලොක් එකක ගනුදෙනුවක් වලංගු කිරීමේදී සහ ඇතුළත් කිරීමේදී, ජයග්‍රහණයක් තිබේදැයි බැලීමට ඉක්මන් පරීක්‍ෂණයක් ඇත, සහ, සමහර විට, ජයග්‍රහණයේ ඉහළ සම්භාවිතාවක් ලබා ගැනීම සඳහා එක් ගනුදෙනු පරාමිතීන් තෝරා ගැනීම. ඒ අතරම, එවැනි උපාමාරු සඳහා ස්මාර්ට් බීපී අල්ලා ගැනීම පාහේ කළ නොහැක්කකි; සෑම අවස්ථාවකම ඔබට නව ලිපින භාවිතා කර සැකයක් ඇති නොකර ටිකෙන් ටික ජය ගත හැකිය.

එබැවින් බ්ලොක් එකෙන් තොරතුරු භාවිතා කරන ක්රම PVRB හි විශ්වීය ක්රියාත්මක කිරීමක් ලෙස සුදුසු නොවේ. සීමිත අනුවාදයක, ඔට්ටු ප්‍රමාණයේ සීමා කිරීම්, ක්‍රීඩකයින් සංඛ්‍යාව සීමා කිරීම් සහ/හෝ KYC ලියාපදිංචිය (එක් ක්‍රීඩකයෙකුට ලිපින කිහිපයක් භාවිතා කිරීම වැළැක්වීම සඳහා), මෙම යෝජනා ක්‍රම කුඩා ක්‍රීඩා සඳහා ක්‍රියා කළ හැකි නමුත් තවත් කිසිවක් නැත.

PVRB සහ කැපවීම-හෙළිදරව් කිරීම.

හරි, හෑෂ් කිරීම සහ අවම වශයෙන් බ්ලොක් හැෂ් සහ අනෙකුත් විචල්‍යවල සාපේක්ෂ අනපේක්ෂිත බවට ස්තූතියි. ඔබ ඉදිරියෙන් ගමන් කරන පතල් කම්කරුවන්ගේ ගැටලුව විසඳන්නේ නම්, ඔබ වඩාත් සුදුසු යමක් ලබා ගත යුතුය. අපි මෙම යෝජනා ක්‍රමයට පරිශීලකයින් එකතු කරමු - අහඹු ලෙස බලපෑම් කිරීමට ඔවුන්ට ඉඩ දෙන්න: තොරතුරු තාක්ෂණ පද්ධතිවල වඩාත්ම අහඹු දෙය පරිශීලකයින්ගේ ක්‍රියා බව ඕනෑම තාක්ෂණික සහාය සේවකයෙකු ඔබට කියනු ඇත :)

බොළඳ යෝජනා ක්‍රමයක්, පරිශීලකයන් සරලව අහඹු අංක යවා ප්‍රතිඵලය ගණනය කළ විට, උදාහරණයක් ලෙස, ඔවුන්ගේ එකතුවෙන් හැෂ් එකක් සුදුසු නොවේ. මෙම අවස්ථාවෙහිදී, අවසාන ක්රීඩකයාට ඔහුගේම අහඹු ලෙස තෝරා ගැනීමෙන්, ප්රතිඵලය කුමක් වනු ඇත්ද යන්න පාලනය කළ හැකිය. මේ නිසා ඉතා බහුලව භාවිතා වන කැපවීම-හෙළිදරව් කිරීමේ රටාව භාවිතා වේ. සහභාගිවන්නන් පළමුව ඔවුන්ගේ අහඹු (කොමිට්) වලින් හෑෂ් යවයි, පසුව අහඹු ලෙසම විවෘත කරයි (එළිදරව් කරයි). “හෙළිදරව්” අදියර ආරම්භ වන්නේ අවශ්‍ය කැපවීම් එකතු කිරීමෙන් පසුව පමණි, එබැවින් සහභාගිවන්නන්ට ඔවුන් කලින් යැවූ අහඹු හැෂ් හරියටම යැවිය හැකිය. දැන් අපි මේ සියල්ල බ්ලොක් එකක පරාමිතීන් සමඟ එකට තබමු, අනාගතයෙන් ගත් එකකට වඩා හොඳයි (අහඹු බව සොයාගත හැක්කේ අනාගත බ්ලොක් එකක පමණි), සහ වොයිලා - අහඹු බව සූදානම්! දැන් ඕනෑම ක්‍රීඩකයෙකු එහි ප්‍රතිඵලයක් ලෙස ඇතිවන අහඹු බව කෙරෙහි බලපෑම් කරන අතර, ඔහුගේම, කලින් නොදන්නා, අහඹු ලෙස එය අභිබවා යාමෙන් ද්වේෂසහගත BP "පරාජය" කළ හැක... ඔබට ප්‍රොටෝකෝලය හෙළිදරව් කිරීමේ වේදිකාවේදී විවෘත නොකිරීමෙන් කඩාකප්පල් කිරීමට එරෙහිව ආරක්ෂාවක් එක් කළ හැකිය - සරලව ගනුදෙනුව සිදු කරන විට නිශ්චිත මුදලක් අනුයුක්ත කිරීමට අවශ්‍ය කිරීමෙන් - ආරක්ෂක තැන්පතුවක්, එය හෙළිදරව් කිරීමේ ක්‍රියා පටිපාටිය අතරතුර පමණක් ආපසු ලබා දෙනු ලැබේ. මෙම අවස්ථාවේ දී, කැපවීම සහ හෙළි නොකිරීම ලාභදායී වනු ඇත.

එය හොඳ උත්සාහයක් වූ අතර, එවැනි යෝජනා ක්‍රම සූදු ඩැප්ස් වල ද පවතී, නමුත් අහෝ, මෙය නැවත ප්‍රමාණවත් නොවේ. දැන් පතල් කම්කරුවා පමණක් නොව, ප්රොටෝකෝලයෙහි ඕනෑම සහභාගිවන්නෙකුට ප්රතිඵලය බලපෑම් කළ හැකිය. අඩු විචල්‍යතාවයකින් සහ පිරිවැයකින් අගය පාලනය කිරීමට තවමත් හැකි නමුත්, පතල් කම්කරුවෙකුගේ මෙන්, චිත්‍ර ඇඳීමේ ප්‍රති results ල PVRB ප්‍රොටෝකෝලයට සහභාගී වීමේ ගාස්තුවට වඩා වටිනා නම්, අහඹු ලෙස -නිෂ්පාදකයාට (RP) හෙළිදරව් කළ යුතුද යන්න තීරණය කළ හැකි අතර තවමත් අවම වශයෙන් අහඹු විකල්ප දෙකකින් තෝරා ගත හැක.
නමුත් එය සිදු කරන සහ හෙළි නොකරන අයට දඬුවම් කිරීමට හැකි වූ අතර, මෙම යෝජනා ක්රමය ප්රයෝජනවත් වනු ඇත. එහි සරල බව බරපතල වාසියකි - වඩා බැරෑරුම් ප්‍රොටෝකෝල සඳහා වඩා බලවත් ගණනය කිරීම් අවශ්‍ය වේ.

PVRB සහ තීරණාත්මක අත්සන්.

"පූර්‍ව රූපයක්" සපයා ඇත්නම් එයට බලපෑම් කළ නොහැකි ව්‍යාජ අහඹු අංකයක් සැපයීමට RP ට බල කිරීමට තවත් ක්‍රමයක් තිබේ - මෙය නියතිවාදී අත්සනකි. එවැනි අත්සනක්, උදාහරණයක් ලෙස, RSA, සහ ECS නොවේ. RP සතුව යතුරු යුගලයක් තිබේ නම්: RSA සහ ECC, සහ ඔහු තම පුද්ගලික යතුර සමඟ නිශ්චිත අගයක් අත්සන් කරන්නේ නම්, RSA සම්බන්ධයෙන් ඔහුට එක් සහ එකම අත්සනක් ලැබෙනු ඇති අතර, ECS සම්බන්ධයෙන් ඔහුට ඕනෑම සංඛ්‍යාවක් ජනනය කළ හැකිය. විවිධ වලංගු අත්සන්. මන්ද යත්, ECS අත්සනක් නිර්මාණය කිරීමේදී, අහඹු අංකයක් භාවිතා කරනු ලැබේ, අත්සන් කරන්නා විසින් තෝරා ගනු ලැබේ, සහ එය ඕනෑම ආකාරයකින් තෝරා ගත හැකි අතර, අත්සන් කරන්නාට අත්සන් කිහිපයකින් එකක් තෝරා ගැනීමට අවස්ථාව ලබා දේ. RSA සම්බන්ධයෙන්: "එක් ආදාන අගයක්" + "එක් යතුරු යුගලයක්" = "එක් අත්සනක්". වෙනත් RP එකකට කුමන අත්සනක් ලැබේදැයි අනාවැකි කිව නොහැක, එබැවින් එකම අගය අත්සන් කළ සහභාගිවන්නන් කිහිප දෙනෙකුගේ RSA අත්සන් ඒකාබද්ධ කිරීමෙන් නිශ්චිත අත්සන් සහිත PVRB සංවිධානය කළ හැකිය. උදාහරණයක් ලෙස, පෙර අහඹු ලෙස. මෙම යෝජනා ක්රමය බොහෝ සම්පත් ඉතිරි කරයි, මන්ද අත්සන් යනු ප්‍රොටෝකෝලය අනුව නිවැරදි හැසිරීම තහවුරු කිරීම සහ අහඹු ප්‍රභවයකි.

කෙසේ වෙතත්, අධිෂ්ඨානශීලී අත්සන් සහිතව වුවද, යෝජනා ක්රමය තවමත් "අවසාන නළුවා" ගැටලුවට ගොදුරු වේ. අවසාන සහභාගිවන්නාට තවමත් අත්සන ප්‍රකාශයට පත් කළ යුතුද නැද්ද යන්න තීරණය කළ හැකි අතර එමඟින් ප්‍රතිඵලය පාලනය වේ. ඔබට යෝජනා ක්‍රමය වෙනස් කිරීමට, එයට බ්ලොක් හෑෂ් එකතු කිරීමට, ප්‍රති result ලය කල්තියා පුරෝකථනය කළ නොහැකි වන පරිදි වටයක් සෑදිය හැකිය, නමුත් මෙම සියලු ශිල්පීය ක්‍රම, බොහෝ වෙනස් කිරීම් සැලකිල්ලට ගනිමින් වුවද, සාමූහිකයට එක් සහභාගිවන්නෙකුගේ බලපෑම පිළිබඳ ගැටළුව තවමත් නොවිසඳී ඇත. එහි ප්‍රතිඵලයක් ලෙස අවිශ්වාසදායක පරිසරයක් ඇති වන අතර වැඩ කළ හැක්කේ ආර්ථික හා කාල සීමාවන් යටතේ පමණි. මීට අමතරව, RSA යතුරු (1024 සහ 2048 bits) ප්රමාණය තරමක් විශාල වන අතර, blockchain ගනුදෙනු සඳහා විශාලත්වය අතිශයින්ම වැදගත් පරාමිතියකි. පෙනෙන විදිහට ගැටලුව විසඳීමට සරල ක්රමයක් නොමැත, අපි ඉදිරියට යමු.

PVRB සහ රහස් බෙදාගැනීමේ යෝජනා ක්‍රම

ගුප්ත ලේඛන විද්‍යාවේදී, ජාලයට එක හා එකම PVRB අගයකට එකඟ වීමට ඉඩ සලසන යෝජනා ක්‍රම ඇත, එවැනි යෝජනා ක්‍රම සමහර සහභාගිවන්නන්ගේ ඕනෑම ද්වේෂසහගත ක්‍රියාවකට ප්‍රතිරෝධී වේ. ඔබ හුරුපුරුදු වීම වටී එක් ප්‍රයෝජනවත් ප්‍රොටෝකෝලයක් වන්නේ ෂමීර්ගේ රහස් බෙදාගැනීමේ යෝජනා ක්‍රමයයි. එය රහසක් (උදාහරණයක් ලෙස, රහස් යතුරක්) කොටස් කිහිපයකට බෙදීමට සහ මෙම කොටස් N සහභාගිවන්නන්ට බෙදා හැරීමට සේවය කරයි. රහස බෙදා හරිනු ලබන්නේ එය නැවත ලබා ගැනීමට N වලින් M කොටස් ප්‍රමාණවත් වන පරිදි වන අතර මේවා ඕනෑම M කොටස් විය හැකිය. ඇඟිලි මත නම්, නොදන්නා ශ්‍රිතයක ප්‍රස්ථාරයක් තිබේ නම්, සහභාගිවන්නන් ප්‍රස්ථාරයේ ලකුණු හුවමාරු කර ගන්නා අතර, M ලකුණු ලැබීමෙන් පසු, සම්පූර්ණ කාර්යය ප්‍රතිසාධනය කළ හැකිය.
හොඳ පැහැදිලි කිරීමක් දී ඇත විකි නමුත් ඔබේ හිසෙහි ප්‍රොටෝකෝලය වාදනය කිරීම සඳහා ප්‍රායෝගිකව එය සමඟ සෙල්ලම් කිරීම ප්‍රයෝජනවත් වේ demo පිටුව.

FSSS (Fiat-Shamir Secret Sharing) යෝජනා ක්‍රමය එහි පිරිසිදු ස්වරූපයෙන් අදාළ වූයේ නම්, එය විනාශ කළ නොහැකි PVRB එකක් වනු ඇත. එහි සරලම ආකාරයෙන්, ප්රොටෝකෝලය මේ වගේ විය හැකිය:

  • සෑම සහභාගිවන්නෙකුම තමන්ගේම අහඹු ලෙස උත්පාදනය කරන අතර අනෙක් සහභාගිවන්නන්ට එයින් කොටස් බෙදා හරිනු ලැබේ
  • සෑම සහභාගිවන්නෙකුම අනෙක් සහභාගිවන්නන්ගේ රහස් වලින් ඔහුගේ කොටස හෙළි කරයි
  • සහභාගිවන්නෙකුට M ට වඩා වැඩි කොටස් තිබේ නම්, මෙම සහභාගිවන්නාගේ සංඛ්යාව ගණනය කළ හැකි අතර, හෙළිදරව් කරන ලද සහභාගිවන්නන්ගේ කට්ටලය කුමක් වුවත්, එය අද්විතීය වනු ඇත.
  • හෙළිදරව් වූ අහඹු සංයෝජන අපේක්ෂිත PVRB වේ

මෙහිදී, අහඹු ලෙස හෙළිදරව් කිරීමේ සීමාව සාක්ෂාත් කර ගැනීම ඔහු මත පමණක් රඳා පවතින අවස්ථා වලදී හැර, තනි පුද්ගල සහභාගිවන්නෙකු තවදුරටත් ප්‍රොටෝකෝලයේ ප්‍රතිඵලවලට බලපෑම් නොකරයි. එබැවින්, මෙම ප්‍රොටෝකෝලය, ප්‍රොටෝකෝලය මත වැඩ කරන RP වල අවශ්‍ය ප්‍රතිශතයක් තිබේ නම් සහ ලබා ගත හැකි නම්, ක්‍රියා කරයි, ගුප්ත ලේඛන ශක්තිය සඳහා අවශ්‍යතා ක්‍රියාත්මක කිරීම සහ "අවසාන නළුවා" ගැටලුවට ප්‍රතිරෝධී වේ.

මෙය කදිම විකල්පය විය හැකිය, Fiat-Shamir රහස් බෙදාගැනීම මත පදනම් වූ මෙම PVRB යෝජනා ක්රමය උදාහරණයක් ලෙස විස්තර කෙරේ මේ ලිපිය. නමුත්, ඉහත සඳහන් කළ පරිදි, ඔබ බ්ලොක්චේන් හි හිස මත අයදුම් කිරීමට උත්සාහ කරන්නේ නම්, තාක්ෂණික සීමාවන් දිස්වේ. EOS ස්මාර්ට් කොන්ත්‍රාත්තුවේ ප්‍රොටෝකෝලය පරීක්ෂා කිරීම සහ එහි වැදගත්ම කොටස - ප්‍රකාශිත කොටස් සහභාගිවන්නා පරීක්ෂා කිරීම පිළිබඳ උදාහරණයක් මෙන්න: කේතය. සාධන වලංගුකරණයට අදිශ ගුණ කිරීම් කිහිපයක් අවශ්‍ය වන බවත්, භාවිතා කරන සංඛ්‍යා ඉතා විශාල බවත් කේතයෙන් ඔබට දැක ගත හැක. බ්ලොක්චේන් වලදී, සත්‍යාපනය සිදුවන්නේ වාරණ-නිෂ්පාදකයා ගනුදෙනුව සකසන මොහොතේ බවත්, සාමාන්‍යයෙන්, ඕනෑම සහභාගිවන්නෙකු ප්‍රොටෝකෝලයේ නිරවද්‍යතාවය පහසුවෙන් සත්‍යාපනය කළ යුතු බවත්, එබැවින් සත්‍යාපනය කිරීමේ කාර්යයේ වේගය සඳහා වන අවශ්‍යතා ඉතා බරපතල බවත් තේරුම් ගත යුතුය. . මෙම විකල්පය තුළ, සත්‍යාපනය ගනුදෙනු සීමාවට (තත්පර 0.5) නොගැලපෙන බැවින් විකල්පය අකාර්යක්ෂම විය.

සාමාන්‍යයෙන්, බ්ලොක්චේන් හි ඕනෑම උසස් ගුප්ත ලේඛන යෝජනා ක්‍රම භාවිතා කිරීම සඳහා සත්‍යාපන කාර්යක්ෂමතාව ඉතා වැදගත් අවශ්‍යතාවයකි. සාක්ෂි නිර්මාණය කිරීම, පණිවිඩ සකස් කිරීම - මෙම ක්‍රියා පටිපාටි දාමයෙන් ඉවත් කර ඉහළ ක්‍රියාකාරී පරිගණක මත සිදු කළ හැකි නමුත් සත්‍යාපනය මඟ හැරිය නොහැක - මෙය PVRB සඳහා තවත් වැදගත් අවශ්‍යතාවයකි.

PVRB සහ එළිපත්ත අත්සන්

රහස් බෙදාගැනීමේ යෝජනා ක්‍රමය සමඟ දැන හඳුනා ගැනීමෙන් පසු, අපි "ඉදිරිපත් කිරීම" යන මූල පදයෙන් ඒකාබද්ධ වූ සම්පූර්ණ ප්‍රොටෝකෝල පන්තියක් සොයා ගත්තෙමු. සමහර තොරතුරු හෙළිදරව් කිරීම සඳහා N වෙතින් M අවංක සහභාගිවන්නන්ගේ සහභාගීත්වය අවශ්‍ය වන විට සහ අවංක සහභාගිවන්නන්ගේ කට්ටලය N හි අත්තනෝමතික උප කුලකයක් විය හැකි විට, අපි "ඉදිරිපත්" යෝජනා ක්‍රම ගැන කතා කරමු. "අන්තිම නළුවා" ගැටලුව සමඟ කටයුතු කිරීමට අපට ඉඩ දෙන්නේ ඔවුන්ය, දැන් පහර දෙන්නා ඔහුගේ රහසේ කොටස හෙළි නොකරන්නේ නම්, තවත්, අවංක සහභාගිවන්නෙකු ඔහු වෙනුවෙන් එය කරනු ඇත. මෙම යෝජනා ක්‍රම මඟින් සමහර සහභාගිවන්නන් විසින් ප්‍රොටෝකෝලය කඩාකප්පල් කළත්, එක හා එකම අර්ථයක් මත එකඟ වීමට ඉඩ සලසයි.

PVRB ක්‍රියාත්මක කිරීම සඳහා ඉතා පහසු සහ පොරොන්දු වූ යෝජනා ක්‍රමයක් සංවර්ධනය කිරීමට නිර්ණායක අත්සන් සහ එළිපත්ත යෝජනා ක්‍රමවල සංයෝජනය මඟින් හැකි විය - මේවා නියතිවාදී එළිපත්ත අත්සන් වේ. මෙතන ලිපියක් එළිපත්ත අත්සන්වල විවිධ භාවිතයන් ගැන, සහ මෙන්න තවත් හොඳ එකක් දිගු කියවා ඇත Dash වෙතින්.

අවසාන ලිපිය BLS අත්සන් විස්තර කරයි (BLS යනු Boneh-Lynn-Shacham, බලන්නකෝ ලිපි), ක්‍රමලේඛකයින් සඳහා ඉතා වැදගත් සහ අතිශයින්ම පහසු ගුණාත්මක භාවයක් ඇත - පොදු, රහස්, පොදු යතුරු සහ BLS අත්සන් සරල ගණිතමය මෙහෙයුම් භාවිතයෙන් එකිනෙකා සමඟ ඒකාබද්ධ කළ හැකි අතර, ඒවායේ සංයෝජන වලංගු යතුරු සහ අත්සන් ලෙස පවතින අතර, ඔබට පහසුවෙන් බොහෝ දේ එකතු කිරීමට ඉඩ සලසයි. අත්සන් එකකට සහ බොහෝ පොදු යතුරු එකකට. ඒවා ද නියතිවාදී වන අතර එකම ආදාන දත්ත සඳහා එකම ප්‍රතිඵලයක් නිපදවයි. මෙම ගුණාත්මක භාවයට ස්තුතිවන්ත වන්නට, BLS අත්සන් වල සංයෝජන වලංගු යතුරු වන අතර, Mth විසින් විවෘත කරන තෙක් M හි N සහභාගීවන්නන් තීරණාත්මක, ප්‍රසිද්ධියේ සත්‍යාපනය කළ හැකි සහ අනපේක්ෂිත එකම එක අත්සනක් නිපදවන විකල්පයක් ක්‍රියාත්මක කිරීමට ඉඩ සලසයි. සහභාගිකයා .

එළිපත්ත BLS අත්සන් සහිත යෝජනා ක්‍රමයක, සෑම සහභාගිවන්නෙකුම BLS භාවිතයෙන් යමක් අත්සන් කරයි (උදාහරණයක් ලෙස, පෙර අහඹු ලෙස), සහ පොදු එළිපත්ත අත්සන අපේක්ෂිත අහඹු වේ. BLS අත්සන්වල ගුප්ත ලේඛන ගුණාංග අහඹු ගුණාත්මකභාවය සඳහා අවශ්‍යතා සපුරාලයි, එළිපත්ත කොටස “අවසාන නළුවා” ට එරෙහිව ආරක්ෂා කරයි, සහ යතුරුවල අද්විතීය සංයෝජනය මඟින් තවත් රසවත් ඇල්ගොරිතම ක්‍රියාත්මක කිරීමට හැකි වේ, උදාහරණයක් ලෙස, ප්‍රොටෝකෝල පණිවිඩ කාර්යක්ෂමව එකතු කිරීමට ඉඩ සලසයි. .

එබැවින්, ඔබ ඔබේ blockchain මත PVRB ගොඩනඟන්නේ නම්, ඔබ බොහෝ විට BLS threshold අත්සන් යෝජනා ක්‍රමය සමඟ අවසන් වනු ඇත, ව්‍යාපෘති කිහිපයක් දැනටමත් එය භාවිතා කරයි. උදාහරණයක් ලෙස, DFinity (මෙහි පරිපථය ක්රියාත්මක කරන මිණුම් ලකුණ, සහ මෙහි සත්‍යාපනය කළ හැකි රහස් බෙදාගැනීමේ උදාහරණ ක්‍රියාත්මක කිරීම), හෝ Keep.network (මෙන්න ඔවුන්ගේ අහඹු ආලෝකය කහ කඩදාසිසහ මෙහි උදාහරණයකි ප්රොටෝකෝලය සේවය කරන ස්මාර්ට් කොන්ත්රාත්තුව).

PVRB ක්‍රියාත්මක කිරීම

අවාසනාවකට මෙන්, PVRB blockchains තුළ ක්‍රියාත්මක කර ඇති සූදානම් කළ ප්‍රොටෝකෝලයක් එහි ආරක්ෂාව සහ ස්ථාවරත්වය ඔප්පු කර ඇති බවක් අපට තවමත් නොපෙනේ. ප්‍රොටෝකෝල සූදානම් වුවද, පවතින විසඳුම් සඳහා තාක්ෂණික වශයෙන් ඒවා යෙදීම පහසු නැත. මධ්‍යගත පද්ධති සඳහා, PVRB තේරුමක් නැත, සහ විමධ්‍යගත ඒවා සියලුම පරිගණක සම්පත් වල දැඩි ලෙස සීමා වේ: CPU, මතකය, ගබඩාව, I/O. PVRB නිර්මාණය කිරීම යනු අවම වශයෙන් ශක්‍ය බ්ලොක්චේන් කිහිපයක් සඳහා අවශ්‍යතා සපුරාලන යමක් නිර්මාණය කිරීම සඳහා විවිධ ප්‍රොටෝකෝලවල එකතුවකි. එක් ප්‍රොටෝකෝලයක් වඩාත් කාර්යක්ෂමව ගණනය කරයි, නමුත් RP අතර වැඩි පණිවිඩ අවශ්‍ය වේ, අනෙකට ඉතා සුළු පණිවිඩ අවශ්‍ය වේ, නමුත් සාක්ෂියක් නිර්මාණය කිරීම මිනිත්තු දස ගණනක් හෝ පැය ගණනක් ගත වන කාර්යයක් විය හැකිය.

ගුණාත්මක PVRB තෝරාගැනීමේදී ඔබ සලකා බැලිය යුතු සාධක මම ලැයිස්තුගත කරමි:

  • ගුප්ත ලේඛන ශක්තිය. ඔබේ PVRB එක බිට් එකක් පාලනය කිරීමේ හැකියාවක් නොමැතිව දැඩි ලෙස අපක්ෂපාතී විය යුතුය. සමහර යෝජනා ක්රම වල මෙය එසේ නොවේ, එබැවින් ගුප්ත ලේඛන ශිල්පියෙකු අමතන්න
  • "අවසාන නළුවා" ගැටලුව. ඔබේ PVRB RP එකක් හෝ කිහිපයක් පාලනය කරන ප්‍රහාරකයෙකුට ප්‍රතිඵල දෙකෙන් එකක් තෝරාගත හැකි ප්‍රහාරවලට ප්‍රතිරෝධී විය යුතුය.
  • ප්‍රොටෝකෝලය කඩාකප්පල් කිරීමේ ගැටලුව. ඔබේ PVRB ප්‍රහාරවලට ප්‍රතිරෝධී විය යුතු අතර එහිදී RP එකක් හෝ කිහිපයක් පාලනය කරන ප්‍රහාරකයෙකු අහඹු විය යුතුද නැද්ද යන්න තීරණය කරන අතර සහතික විය හැකි හෝ මෙයට බලපෑම් කිරීමට ලබා දී ඇති සම්භාවිතාවක් ඇත.
  • පණිවිඩ ගණන ගැටලුවකි. ඔබගේ RPs අවම වශයෙන් බ්ලොක්චේන් වෙත පණිවිඩ යැවිය යුතු අතර හැකිතාක් සමමුහුර්ත ක්‍රියාවන්ගෙන් වැළකී සිටිය යුතුය, එනම් "මම යම් තොරතුරක් යැව්වෙමි, මම නිශ්චිත සහභාගිවන්නෙකුගෙන් ප්‍රතිචාරයක් බලාපොරොත්තුවෙන් සිටිමි." p2p ජාල තුළ, විශේෂයෙන් භූගෝලීය වශයෙන් විසිරී ඇති ඒවා, ඔබ ඉක්මන් ප්රතිචාරයක් මත ගණන් නොගත යුතුය
  • ගණනය කිරීමේ සංකීර්ණත්වය පිළිබඳ ගැටළුව. PVRB දාමයේ ඕනෑම අදියරක් සත්‍යාපනය කිරීම අතිශයින්ම පහසු විය යුතුය, මන්ද එය ජාලයේ සියලුම සම්පූර්ණ සේවාදායකයින් විසින් සිදු කරනු ලැබේ. ක්‍රියාත්මක කිරීම ස්මාර්ට් කොන්ත්‍රාත්තුවක් භාවිතයෙන් සිදු කරන්නේ නම්, වේග අවශ්‍යතා ඉතා දැඩි වේ
  • ප්‍රවේශ්‍යතාව සහ සජීවී බව පිළිබඳ ගැටලුව. ඔබේ PVRB ජාලයේ කොටසක් යම් කාලයක් සඳහා ලබා ගත නොහැකි වන අතර RP හි කොටසක් සරලව ක්‍රියා කිරීම නවත්වන අවස්ථාවන්ට ඔරොත්තු දීමට උත්සාහ කළ යුතුය.
  • විශ්වාසදායක සැකසුම සහ මූලික යතුරු බෙදා හැරීමේ ගැටලුව. ඔබේ PVRB ප්‍රොටෝකෝලයේ මූලික සැකසුම භාවිතා කරන්නේ නම්, මෙය වෙනම විශාල හා බැරෑරුම් කතාවකි. මෙතන උදාහරණයකි. ප්‍රොටෝකෝලය ආරම්භ කිරීමට පෙර සහභාගිවන්නන් තම යතුරු එකිනෙකාට පැවසිය යුතු නම්, සහභාගිවන්නන්ගේ සංයුතිය වෙනස් වුවහොත් මෙයද ගැටලුවකි.
  • සංවර්ධන ගැටළු. අවශ්‍ය භාෂාවලින් පුස්තකාල තිබීම, ඒවායේ ආරක්ෂාව සහ කාර්ය සාධනය, ප්‍රචාරණය, සංකීර්ණ පරීක්ෂණ ආදිය.

උදාහරණයක් ලෙස, threshold BLS අත්සන් සැලකිය යුතු ගැටලුවක් ඇත - වැඩ ආරම්භ කිරීමට පෙර, සහභාගිවන්නන් එකිනෙකාට යතුරු බෙදා හැරිය යුතුය, එළිපත්ත ක්‍රියා කරන කණ්ඩායමක් සංවිධානය කරයි. මෙයින් අදහස් කරන්නේ විමධ්‍යගත ජාලයක අවම වශයෙන් එක් හුවමාරු වටයක්වත් බලා සිටීමට සිදුවනු ඇති අතර, ජනනය කරන ලද රැන්ඩ්, උදාහරණයක් ලෙස, ක්‍රීඩා වලදී, තත්‍ය කාලීනව පාහේ අවශ්‍ය බැවින්, මෙයින් අදහස් කරන්නේ මෙම අදියරේදී ප්‍රොටෝකෝලය කඩාකප්පල් කළ හැකි බවයි. , සහ එළිපත්ත යෝජනා ක්රමයේ වාසි අහිමි වේ. මෙම ගැටළුව දැනටමත් පෙර ඒවාට වඩා සරල ය, නමුත් තවමත් එළිපත්ත කණ්ඩායම් පිහිටුවීම සඳහා වෙනම ක්‍රියා පටිපාටියක් සංවර්ධනය කිරීම අවශ්‍ය වන අතර, එය අනුගමනය නොකරන සහභාගිවන්නන්ගෙන් තැන්පතු සහ අරමුදල් ආපසු ගැනීම (කපා දැමීම) හරහා ආර්ථික වශයෙන් ආරක්ෂා කළ යුතුය. ප්රොටෝකෝලය. එසේම, පිළිගත හැකි මට්ටමේ ආරක්ෂාවක් සහිත BLS සත්‍යාපනය සරලව නොගැලපේ, උදාහරණයක් ලෙස, සම්මත EOS හෝ Ethereum ගනුදෙනුවකට - සත්‍යාපනය සඳහා ප්‍රමාණවත් කාලයක් නොමැත. කොන්ත්‍රාත් කේතය WebAssembly හෝ EVM, අතථ්‍ය යන්ත්‍රයක් මඟින් ක්‍රියාත්මක වේ. ක්‍රිප්ටෝග්‍රැෆික් ශ්‍රිතයන් ස්වදේශීයව (තවමත්) ක්‍රියාත්මක කර නොමැති අතර සාම්ප්‍රදායික ගුප්ත ලේඛන පුස්තකාලවලට වඩා දස ගුණයකින් මන්දගාමීව ක්‍රියා කරයි. බොහෝ ප්‍රොටෝකෝල ප්‍රධාන පරිමාව මත පදනම්ව අවශ්‍යතා සපුරාලන්නේ නැත, උදාහරණයක් ලෙස RSA සඳහා 1024 සහ 2048 බිටු, Bitcoin සහ Ethereum හි සම්මත ගනුදෙනු අත්සනට වඩා 4-8 ගුණයකින් විශාලය.

විවිධ ක්‍රමලේඛන භාෂා වල ක්‍රියාත්මක කිරීම ද භූමිකාවක් ඉටු කරයි - විශේෂයෙන් නව ප්‍රොටෝකෝල සඳහා ඒවායින් ස්වල්පයක් ඇත. සම්මුතියට ඒකාබද්ධ වීමේ විකල්පය සඳහා වේදිකා භාෂාවෙන් ප්‍රොටෝකෝලයක් ලිවීම අවශ්‍ය වේ, එබැවින් ඔබට Go for geth හි, Rust for Parity හි, EOS සඳහා C++ හි කේතය සෙවීමට සිදුවේ. සෑම කෙනෙකුටම ජාවාස්ක්‍රිප්ට් කේතය සෙවීමට සිදුවනු ඇති අතර, ජාවාස්ක්‍රිප්ට් සහ ගුප්තකේතනය විශේෂයෙන් සමීප මිතුරන් නොවන බැවින්, WebAssembly උපකාර වනු ඇත, එය දැන් නියත වශයෙන්ම ඊළඟ වැදගත් අන්තර්ජාල ප්‍රමිතිය ලෙස ප්‍රකාශ කරයි.

නිගමනය

මම කලින් එක ගැන බලාපොරොත්තු වෙනවා ලිපියයි විමධ්‍යගත ජාල වල ජීවිතයේ බොහෝ අංශ සඳහා බ්ලොක්චේන් මත අහඹු සංඛ්‍යා ජනනය කිරීම ඉතා වැදගත් බව ඔබට ඒත්තු ගැන්වීමට මම සමත් වූ අතර, මෙම ලිපියෙන් මම මෙම කාර්යය අතිශයින් අභිලාෂකාමී සහ දුෂ්කර නමුත් හොඳ විසඳුම් දැනටමත් පවතින බව පෙන්වා දුන්නා. සාමාන්‍යයෙන්, ප්‍රොටෝකෝලයේ අවසාන සැලසුම කළ හැක්කේ සැකසීමේ සිට දෝෂ අනුකරණය දක්වා සියලු අංශ සැලකිල්ලට ගන්නා දැවැන්ත පරීක්ෂණ පැවැත්වීමෙන් පසුව පමණි, එබැවින් ඔබට කණ්ඩායම් සුදු කඩදාසි සහ ලිපිවල සූදානම් කළ වට්ටෝරු සොයා ගැනීමට අපහසුය, අපි නිසැකවම එසේ නොකරමු. ඊළඟ වසර හෝ දෙක තුළ තීරණය කරන්න "මේ ආකාරයට කරන්න, හරියටම හරි" යනුවෙන් ලියන්න.

ආයුබෝවන්, සංවර්ධනය වෙමින් පවතින blockchain හි අපගේ PVRB සඳහා හායා, අපි එළිපත්ත BLS අත්සන් භාවිතා කිරීමට තීරණය කළෙමු, පිළිගත හැකි මට්ටමේ ආරක්ෂාවක් සහිත ස්මාර්ට් කොන්ත්‍රාත්තු වල සත්‍යාපනය තවමත් කළ නොහැකි බැවින්, එකඟතා මට්ටමින් PVRB ක්‍රියාත්මක කිරීමට අපි සැලසුම් කරමු. අපි එකවර යෝජනා ක්‍රම දෙකක් භාවිතා කළ හැකිය: පළමුව, දිගු කාලීන සසම්භාවී_බීජ නිර්මාණය කිරීම සඳහා මිල අධික රහස් බෙදා ගැනීම, පසුව අපි අධි-සංඛ්‍යාත අහඹු උත්පාදනය සඳහා පදනම ලෙස එය භාවිතා කරමු අධි-සංඛ්‍යාත BLS අත්සන් භාවිතා කරන්න, සමහර විට අපි අපව පමණක් සීමා කරමු. යෝජනා ක්රම වලින් එකක්. අවාසනාවකට, ප්‍රොටෝකෝලය කුමක් දැයි කල්තියා පැවසිය නොහැක; එකම හොඳ දෙය නම්, විද්‍යාවේ මෙන්, ඉංජිනේරු ගැටළු වලදී, negative ණාත්මක ප්‍රති result ලයක් ද ප්‍රති result ලයක් වන අතර, ගැටළුව විසඳීමට සෑම නව උත්සාහයක්ම තවත් පියවරකි. ගැටලුවට සම්බන්ධ සියලු දෙනාගේ පර්යේෂණ. ව්‍යාපාරික අවශ්‍යතා සපුරාලීම සඳහා, අපි නිශ්චිත ප්‍රායෝගික ගැටලුවක් විසඳන්නෙමු - විශ්වාසදායක එන්ට්‍රොපි ප්‍රභවයක් සමඟ ක්‍රීඩා යෙදුම් සැපයීම, එබැවින් අපි බ්ලොක්චේන් වෙත අවධානය යොමු කළ යුතුය, විශේෂයෙන් දාම අවසානතාවය සහ ජාල පාලනය පිළිබඳ ගැටළු.

සත්‍ය යෙදුම්, බහු විගණන, පැටවීම් සහ ඇත්ත වශයෙන්ම සත්‍ය ප්‍රහාර මගින් පරීක්ෂා කිරීමට ප්‍රමාණවත් කාලයක් භාවිතා කළ හැකි බ්ලොක්චේන් වල ඔප්පු කරන ලද ප්‍රතිරෝධී PVRB එකක් අප තවමත් නොදකින නමුත්, හැකි මාර්ග ගණන සනාථ කරයි. විසඳුමක් පවතින අතර, මෙම ඇල්ගොරිතම වලින් අවසානයේ ගැටලුව විසඳනු ඇත. ප්‍රතිඵල බෙදා ගැනීමට අපි සතුටු වන අතර ඉංජිනේරුවන්ට එකම පෝරකයට දෙවරක් නොපැමිණීමට ඉඩ සලසන ලිපි සහ කේතය සඳහා මෙම ගැටලුව සම්බන්ධයෙන් ක්‍රියා කරන අනෙකුත් කණ්ඩායම්වලට ස්තූතිවන්ත වෙමු.

එබැවින්, ඔබ විමධ්‍යගත අහඹු ලෙස සැලසුම් කරන ක්‍රමලේඛකයෙකු හමු වූ විට, අවධානයෙන් හා සැලකිලිමත් වන්න, අවශ්‍ය නම් මනෝවිද්‍යාත්මක උපකාර ලබා දෙන්න :)

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න