የስታርክኔት የቅርብ ጊዜ ማሻሻያ (v0.13.2) ቦልት ተብሎ የሚጠራው ሁለት ዋና ዋና ለውጦችን ያመጣል ፡ ትይዩ አፈጻጸም እና አግድ-ማሸጊያ . ምንም እንኳን አንዳቸው ከሌላው ነጻ ቢሆኑም ሁለቱም ባህሪያት በፍጥነት እና በርካሽ በሆነ መልኩ በEthereum ደህንነቱ የተጠበቀ ቦታን ወደ ግብ ይደግፋሉ።
ትይዩ ማስፈጸሚያ አከራካሪ ያልሆኑ ግብይቶችን (ማለትም፣ ተመሳሳዩን ግዛት የማይነኩ ግብይቶች) በአንድ ጊዜ እንዲፈጸሙ ያስችላል። ትይዩ አፈጻጸምን በመተግበር፣ እንደ Starknet ያሉ L2s የሃብት አጠቃቀምን ሳይጨምሩ የማስፈጸሚያ ጊዜን ሊቀንሱ ይችላሉ። ይህ ማለት ለተጠቃሚዎች ዝቅተኛ የግብይት ክፍያ እና ጉልህ የተሻሻለ የግብይት ማረጋገጫ ጊዜዎች ማለት ነው።
አግድ ማሸግ የስታርክኔትን የብሎብ ቦታ አጠቃቀም በ Ethereum L1 ላይ ያመቻቻል፡ በብሎክ ማሸግ፣ ተከታታዮች በአንድ ጊዜ ብዙ የስታርክኔት L2 ብሎኮችን ለማረጋገጥ አንድ ማረጋገጫ ማመንጨት ይችላሉ። ይህ የብሎብ ቦታ አጠቃቀምን ከ L2 ብሎክ ምርት ድግግሞሽ ያስወግዳል እና የማስረጃ ማረጋገጫ ወጪዎችን ያስወግዳል። ሁለቱም ለ Starknet sequencer የስራ ማስኬጃ ወጪዎችን ይቀንሳሉ፣ ይህ ማለት ተጠቃሚዎች በአንድ ግብይት ያነሰ ክፍያ ይከፍላሉ ማለት ነው።
እንደተናገርነው ቦልት ስታርክኔትን ርካሽ እና ፈጣን ያደርገዋል! ይህ ዘገባ የቦልት ማሻሻያ ላይ ያተኮረ ዝርዝር ትንታኔ ይሰጣል እና በትይዩ አፈጻጸም እና ማሸግ ላይ ያተኮረ - እና በስታርክኔት አፈጻጸም ላይ ያለውን እንድምታ ይዳስሳል።
ጥቅልሎች ከስር ያለውን ንብርብሩን አንድ (L1) ብሎክቼይንን ስሌትን ከሰንሰለት ውጪ በማንቀሳቀስ ለመመዘን ዓላማ ያላቸው የንብርብር ሁለት (L2) የመጠን መፍትሄዎች ናቸው። ማስፈጸሚያን ከሰንሰለት ውጪ በማንቀሳቀስ፣ ጥቅል ልቀቶችን (ርካሽ እና ፈጣን ግብይቶችን) ማመቻቸት ይችላል፣ L1 ደግሞ ለL2 ግብይቶች ደህንነትን ይሰጣል።
ጥቅልሎች ብዙውን ጊዜ "ከ L1 ደህንነትን ይወርሳሉ" ይባላሉ. ይህ በመሠረቱ ምን ማለት ነው በL1 የቀረበውን የጋራ መግባባት እና የውሂብ ተገኝነት ዋስትናዎችን ይወርሳሉ። ከዚህ በተጨማሪ, L1 ደህንነቱ የተጠበቀ ድልድይ በእሱ እና በጥቅል መካከል ባለው መልኩ የደህንነት ዋስትና ይሰጣል.
ተከታታዮች L2 ብሎኮችን ወደ L1 ሲያትሙ፣ L1 ለመገኘት ዋስትናዎች እንዲሁም የዚህን መረጃ ቅደም ተከተል ይሰጣል። ከዚህ፣ የኤል 2 ኖዶች ያለ እምነት ቀኖናዊ L2 ሰንሰለት ከዚህ መረጃ ጋር በሰንሰለት መውጣት እና በመስቀለኛ ትግበራ ከተገለጹት የግዛት ሽግግር ህጎች ጋር ከዚህ መረጃ ጋር ማስላት ይችላሉ።
በL1 እና L2 መካከል ደህንነቱ የተጠበቀ ድልድይ ለማቀላጠፍ L1 አሁን እየተከተለ ያለው L2 ሰንሰለት ትክክል መሆኑን እና ህገወጥ የመንግስት ለውጦችን (ለምሳሌ ድርብ ወጪን) እንደማያካትት ማረጋገጫ ይፈልጋል። የስቴት ለውጦችን ትክክለኛነት ለማረጋገጥ ይህ የጥቅል ፍላጎት L1 በህገ-ወጥ ሁኔታ ላይ ተመስርተው ከጥቅሉ መውጣትን እንደማይፈቅድ ያረጋግጣል።
ልደቶች በL1 ላይ የስቴት ለውጦችን ትክክለኛነት በሚያረጋግጡበት መንገድ ላይ በመመስረት ይለያያሉ።
Rollups እንዲሁም ፍላጎት ላላቸው አካላት የL2 ሁኔታን እንደገና ለመገንባት የመሠረት ንብርብርን በቂ መረጃ ይሰጣል። ተስፈኞች የማጭበርበር ማስረጃዎችን ለማስላት ፈታኞች ሙሉ የግብይት ውሂብ ማተም ሲኖርባቸው፣ ተቀባይነት ያለው ማጠቃለያ ምንም ዓይነት መስፈርቶች የሉትም (የትክክለኛነት ማረጋገጫዎች ትክክለኛ አፈፃፀምን ያረጋግጣሉ)። ነገር ግን ሙሉ የግብይት ውሂብን በL1 ላይ መለጠፍ አሁንም ከታምነት-ማሳነስ እይታ (የግዛት እምነት-አልባ መልሶ ግንባታ እና ያለፈቃድ ማውጣት) ጠቃሚ ነው።
ስታርክኔት የስቴት ለውጦችን ትክክለኛነት ለማረጋገጥ S calable፣ T ransparent AR gument of K Nowledge (STARKs)ን የሚጠቀም ተቀባይነት ያለው ጥቅል ነው። ወደ Starknet ያለው የቅርብ ጊዜ ማሻሻያ -በኮድ የተሰየመ ቦልት - ትይዩ ማስፈጸሚያ እና ማሸግ ያግዳል። በሚቀጥሉት ክፍሎች ሁለቱ ባህሪያት እንዴት እንደሚሰሩ እና ለስታርክኔት ተጠቃሚዎች ምን ማሻሻያዎችን እንደሚያመጡ እናብራራለን።
በከፍተኛ ደረጃ፣ የቦልት ማሻሻያ የስታርክኔትን አፈጻጸም፣ ማረጋገጫ እና የውሂብ ተገኝነት ስልቶችን ቀይሯል።
ከቦልት ማሻሻያ በፊት፣ የስታርክኔት ግብይቶች በቅደም ተከተል ተካሂደዋል—አንዱ ከሌላው በኋላ–በቅደም ተከተል። ተከታታይ አፈፃፀም ቀላል ነው ነገር ግን በጣም ውጤታማ ያልሆነ። ዘመናዊ ኮምፒውተሮች የሚያቀርቧቸውን በርካታ ገለልተኛ ማቀነባበሪያ ክፍሎችን እና የግብይቶችን ስብስብ ትይዩነት ስለማይጠቀም ውጤታማ አይደለም።
ትይዩነት በተሰጠው ስብስብ ውስጥ ያሉ ግብይቶች ምን ያህል ገለልተኛ እንደሆኑ የሚያመለክት ነው። ለምሳሌ፣ ከዚህ በታች ያሉትን የሶስት ግብይቶች ስብስብ አስቡባቸው፡-
ግብይት 1፡ አሊስ ቦብ 1 STRK መላክ ትፈልጋለች።
ግብይት 2፡ ኬትሊን ዳኒ 100 ETH መላክ ትፈልጋለች።
ግብይት 3፡ Caitlyn Ella 100 ETH መላክ ትፈልጋለች።
ግብይት 1 ከግብይቶች 2 እና 3 ሙሉ በሙሉ ነፃ ነው–ምክንያቱም ወደ ተለየ የመንግስት ክፍል እየደረሰ ነው (የአሊስ ቀሪ ሂሳብ) እና በተመሳሳይ ጊዜ ሊፈፀም ይችላል። ነገር ግን፣ ግብይቱ 2 እና 3 እርስ በርስ የሚጋጩ ናቸው ምክንያቱም ተመሳሳዩን ግዛት ማግኘት ይፈልጋሉ - የCaitlyn ETH ቀሪ ሂሳብ። እነዚህ ግብይቶች በአንድ ጊዜ መፈጸም አይችሉም፣ አለበለዚያ እርስ በርስ የሚጋጩ ውጤቶችን እናመጣለን።
በምሳሌ ለማስረዳት፡-
እነዚህን አይነት ግጭቶች ማስወገድ (እና ውስብስብ የመቀነሻ ዘዴዎች) ኢቴሬም ተከታታይ አፈፃፀምን የመረጠበት ምክንያት ነው. ነገር ግን፣ ተከታታይ አፈጻጸም ውስብስብነትን የሚቀንስ እና ደህንነትን የሚያሻሽል ቢሆንም፣ ሃርድዌርን በአግባቡ መጠቀምን ያስከትላል። ይባስ ብሎ፣ የሃርድዌር ዲዛይን አዝማሚያ እንደሚጠቁመው ተከታታይ አፈፃፀም በሚቀጥሉት ዓመታት ከጊዜ ወደ ጊዜ ውጤታማ ያልሆነ ይሆናል።
ምስል 4 ባለፉት 50 ዓመታት ውስጥ የሃርድዌር ዲዛይን አዝማሚያ ያሳያል. አግባብነት ያለው የመውሰድ? ባለአንድ ክር አፈጻጸም (ሐምራዊ ክበቦች) ከ2000ዎቹ አጋማሽ ጀምሮ በከፍተኛ ደረጃ እየታዩ ሲሆን የሎጂክ ኮሮች ብዛት በተመሳሳይ ጊዜ ጨምሯል። በዚህ መረጃ ላይ በመመስረት ሁለት መደምደሚያዎችን ማድረግ እንችላለን-
የሃርድዌር ዲዛይነሮች የአንድን ክፍል አፈፃፀም ከማሻሻል ይልቅ የበለጠ ገለልተኛ የሆኑ ማቀነባበሪያ ክፍሎችን በመጨመር የኮምፒተር ቺፖችን እያሳደጉ ነው።
በነጠላ ማቀነባበሪያ ክፍል አፈጻጸም ላይ መደገፉን የሚቀጥል ማንኛውም ስርዓት በአዲሱ ሃርድዌር ላይ እንኳን የአፈጻጸም ትርፋማነትን ያጋጥመዋል።
በቅርብ ዓመታት ውስጥ የግብይት ግጭቶችን ለመቆጣጠር እና የትይዩ አፈጻጸም ትክክለኛነትን ለማረጋገጥ የተራቀቁ ስልተ ቀመሮች ታይተዋል። ብሎክ-ኤስቲኤም (በFikunmi et al* በተዘጋጀ ወረቀት ላይ የተመሰረተ) ከእንደዚህ አይነት ስልተ ቀመር አንዱ ሲሆን የስታርክኔት አዲሱ ትይዩ ማስፈጸሚያ ሞተር ዋና አካል ነው። የብሎክ-ኤስቲኤም አልጎሪዝምን በቀጣይ ክፍሎች እንመረምራለን።
የስታርክኔት ሻርፕ (ለጋራድ ፕሮቨር አጭር) የማረጋገጫ ወጪዎችን በተቻለ መጠን ለመቀነስ ሁል ጊዜ በተደጋጋሚ ማረጋገጫዎችን ይጠቀማል። ተደጋጋሚ ማረጋገጫ በመሠረቱ አንድ ወይም ከዚያ በላይ የሆኑ ማስረጃዎች ትክክል መሆናቸውን የሚያረጋግጥ “ማስረጃ” ነው። ከዚህ በታች SHARP እንዴት ተደጋጋሚ ማረጋገጫ እንደሚያመነጭ የሚያሳይ ንድፍ አለ።
የ SHARP ስርዓት የሚከናወኑትን የፕሮግራሞች ስብስብ ("ስራ") እንደ ግብአት ወስዶ ለሥራው አፈፃፀም ማረጋገጫ ያመነጫል። እነዚህ “ፕሮግራሞች” L2 ብሎኮች ናቸው እና ማረጋገጫው የግብይቶችን ትክክለኛነት ያረጋግጣል።
ማስረጃው ማስረጃውን ወደሚያረጋግጥ እና የማረጋገጫ ማረጋገጫ ፕሮግራሙን ወደ ሥራ ለሚለውጠው ሌላ ፕሮግራም ይላካል። SHARP አዲሱን ስራ እንደ ግብአት ወስዶ ሌላ ማረጋገጫ ያመነጫል (ይህ ማረጋገጫ ያለፈውን ማስረጃ ትክክለኛነት ያረጋግጣል)።
ሂደቱ (ማስረጃ → ስራ → ማስረጃ) እንደገና ይጀመራል እና ዒላማው ላይ እስኪደርስ ድረስ ይቀጥላል እና የመጨረሻው ማስረጃ (አሁን በጣም የታመቀ የዋናው ማስረጃ ስሪት ነው) በ L1 ላይ ይለጠፋል.
ይህ ንድፍ በሁለት ዋና ዋና ምክንያቶች ወጪዎችን በእጅጉ ይቀንሳል.
የማረጋገጫ ሥርዓቱ ጥሩ ቢሆንም፣ ተጨማሪ ወጪዎችን ለመቆጠብ ያመለጡ ዕድሎች ነበሩ። ለምሳሌ፣ እያንዳንዱ ሥራ አንድ ነጠላ የስታርክኔት ብሎክ ነበር እና እያንዳንዳቸው እነዚህ ብሎኮች በኤል 1 ላይ አንድ ብሎብ እንዲወስዱ ተደርገዋል። ይህ ከዚህ በታች በተገለፀው መሠረት የተወሰኑ ድክመቶችን አስከትሏል-
አግድ ማሸግ እነዚህን ችግሮች የሚፈታው ሁለትዮሽ ዛፍን በተደጋጋሚ ማረጋገጫዎች በመጠቀም ነው። ስለ ማገጃ ማሸግ በሚቀጥለው የጽሁፉ ክፍል እንወያያለን።
ቀደም ሲል እንደተብራራው፣ ተከታታይ አፈፃፀም ውጤታማ አይደለም (እና ጊዜ እያለፈ ሲሄድ የበለጠ ውጤታማ ይሆናል) እና ቀላል ትይዩ አፈፃፀም ትክክለኛ ያልሆነ ውጤት ያስገኛል። የምርት ትይዩ የማስፈጸሚያ ሞተሮች ግን ወጥነት የሌላቸውን ውጤቶች ለመከላከል ጥንቃቄ ያደርጋሉ።
ትይዩ አፈጻጸምን ለመፍታት ሁለት አቀራረቦች አሉ ፡ Pessimistic Concurrency Control (PCC) እና Optimistic Concurrency Control (OCC) . PCC እና OCC የግብይት ማቀነባበሪያ ክፍሎች (TPUs) ናቸው። ከዚህ በታች የግብይት ማቀናበሪያ አሃድ ፍቺ ነው Block-STM vs. SVM፡ ትይዩ ማስፈጸሚያ ሞተርስ ንጽጽር
TPU ብዙውን ጊዜ የሚጣመረው ከቨርቹዋል ማሽን (VM) ጋር ነው። እንደ EVM፣ SVM እና MoveVM ያሉ Blockchain VMs ከፍተኛ-ደረጃ የቋንቋ ቪኤምዎች ናቸው…ብዙውን ጊዜ የፍላጎት ርዕሰ ጉዳይ የሆነው TPU፣ VMን ይገዛል። የቪኤም ምሳሌዎችን መፍጠር እና ማስተዳደርን ጨምሮ አጠቃላይ የግብይት አፈፃፀም ቧንቧን የማስተዳደር ኃላፊነት ተሰጥቶታል።
ተስፋ አስቆራጭ ኮንፈረንስ ቁጥጥር የተነደፈው በሚፈጸሙት የግብይቶች ስብስብ ውስጥ ያሉ አብዛኛዎቹ ግብይቶች ይጋጫሉ ማለትም ተመሳሳይ ሁኔታን ይነካካሉ በሚል ግምት ነው። ፒሲሲ እነዚህን ግጭቶች ይከላከላል .
ግጭቶችን ለመከላከል ፒሲሲ አንድ ግብይት በንባብ/በመፃፍ ወቅት ምን አይነት የመንግስት ክፍሎች እንደሚደርስ አስቀድሞ እንዲገልጽ ይፈልጋል። የግብይት ማቀናበሪያ ክፍሉ ይህንን መረጃ በመጠቀም ግብይቶችን ለማስያዝ የሚጋጩ ግብይቶች በቅደም ተከተል መፈጸሙን ያረጋግጣል (በአንድ ጊዜ ምትክ)። አንዳንድ TPUዎች ይህንን ባህሪ ለማስፈጸም መቆለፊያዎችንም ይጠቀማሉ (መቆለፊያ (በሚባል፣ mutex) የማስታወሻ ቦታን በአንድ ጊዜ መድረስን ለመከላከል የሚያገለግል ዘዴ ነው።
ይህ በፒሲሲ ላይ የተመሰረተ አፈፃፀም የተወሰኑ ጥፋቶችን ያስከትላል። በመጀመሪያ፣ የመዳረሻ ዝርዝሮችን የማቅረብ መስፈርት (አንድ ግብይት የሚነካውን የማህደረ ትውስታ ቀዳዳ የሚለይ) የገንቢውን ልምድ ያዋርዳል እና ሊሆኑ የሚችሉ መተግበሪያዎችን ብዛት ይቀንሳል። ሁለተኛ፣ ግብይቶችን መርሐግብር ማስያዝ አላስፈላጊ ትርፍ ሊያስከትል ይችላል–በተለይ ግጭቶች በሌሉበት ጊዜ።
ብሩህ አመለካከት ያለው የመመሳሰል ቁጥጥር የተቀየሰው በተሰጠው ስብስብ ውስጥ ያሉ አብዛኛዎቹ ግብይቶች እንደማይጋጩ በማሰብ ነው ማለትም ወደ ተመሳሳይ ግዛት አይጽፉም። እንደዚያው፣ OCC TPUs የግብይቱን ስብስብ በሁሉም የሚገኙ ሀብቶች ያከናውናሉ እና ግጭቶችን ብቻ ለማግኘት ይሞክራሉ። ግጭት ከተገኘ ግጭቱ ግብይቶች ተፈፃሚ ይሆናሉ እና ሙሉው ስብስብ እስኪያልፍ ድረስ ይደገማሉ።
OCC TPUs ከመርሐግብር በላይ ገቢ አያደርጉም፣ ስለዚህ ጥቂት ግጭቶች ሲኖሩ የተሻለ አፈጻጸም ይኖራቸዋል። በ OCC ላይ የተመሰረቱ የግብይት ማቀነባበሪያ ክፍሎች የተሻለ የገንቢ ልምድ እና ሰፋ ያለ የአጠቃቀም ጉዳዮች አሏቸው ምክንያቱም የግዛት ጥገኞች አስቀድሞ መታወቅ አያስፈልጋቸውም።
ነገር ግን፣ የግብይቶች ስብስብ በጣም አከራካሪ በሚሆንበት ጊዜ፣ OCC ከፒሲሲ የከፋ ይሰራል። የTPU ንድፎችን (በእጅግ በበለጠ ዝርዝር) እንሸፍናለን እና የ OCC እና PCC አቀራረቦችን በእኛ መጣጥፍ በትይዩ አፈፃፀም ላይ እናነፃፅራለን።
የስታርክኔት አዲሱ ቲፒዩ የ OCC አካሄድን ይጠቀማል። በተለይም የብሎክ-ኤስቲኤም አልጎሪዝም ትግበራ ነው። Block-STM ግብይቶችን በብሩህነት በሁሉም የሚገኙ ሀብቶች ያከናውናል አንዳቸውም እንደማይጋጩ በማሰብ እና ከተፈጸሙ በኋላ ምንም አይነት ተቃርኖ ግብይቶች በአንድ ጊዜ እንዳልተፈጸሙ ያረጋግጣል። ወደ የስታርክኔት አዲስ አርክቴክቸር ከመግባታችን በፊት፣ አንዳንድ ቁልፍ ፍቺዎችን ማለፍ አስፈላጊ ነው፡-
txj
ግብይት በ txi
(ወይም ጥገኛነት) ላይ ጥገኛ ነው የሚባለው ሁለቱም ግብይቶች ወደ አንድ ማህደረ ትውስታ ቦታ ከጻፉ እና txj
በተከታታይ ቅደም ተከተል txi
በኋላ የሚመጡ ከሆነ ብቻ ነው። txi
ከ txj
በኋላ የመጣ ከሆነ txi
በ txj
ላይ ጥገኛ ይሆናል።ፍቺዎቹ ከመንገዱ ውጪ ሲሆኑ Block-STM እንዴት እንደሚሰራ ለመሸፈን ወደ ፊት መሄድ እንችላለን.
የብሎክ-ኤስቲኤም ግብአት ወረፋ (የታዘዘ ዝርዝር) የግብይቶች ዝርዝር ነው፣ ይህ ዝርዝር ብዙ ጊዜ BLOCK ተብሎ ይጠራል። ይህ ዝርዝር በማንኛውም መንገድ ሊታዘዝ ይችላል; ብቸኛው መስፈርት በግልጽ የተቀመጠ ትዕዛዝ መኖሩ ነው. ስለዚህ {t0…tn}
ን የያዙ የግብይቶች ስብስብ ከተመለከትን ግብይቶቹ በ {t0 > t1 > t2 … > tn}
( t0
ከ t1
የበለጠ ቅድሚያ እንደሚሰጥ ማንበብ፣ t1
ከ t2
ወዘተ ቅድሚያ ይሰጣል ወዘተ. .)
በአፈፃፀም ሂደቱ መጀመሪያ ላይ ሁለት ስብስቦች ተፈጥረዋል-የአፈፃፀም ስብስብ E, እና የማረጋገጫ ስብስብ V. E ገና ያልተፈጸሙ ግብይቶችን ይከታተላል, V የተፈጸሙትን ግን ገና ያልተረጋገጠ ግብይቶችን ይከታተላል. እያንዳንዱ ግብይት ምን ያህል ጊዜ እንደተፈፀመ ለመከታተል ከትስጉት ቁጥር n ጋር የተቆራኘ ነው (እና እንደገና ተፈፅሟል)። የስብስቡ የመጀመሪያ ሁኔታ ኢ ሁሉንም ግብይቶች ይይዛል እና ቪ ባዶ ነው ማለትም E = {t0,1 > t1,1 > t2,1 > … > tn,1}
እና V = {}
.
በእነዚህ የታዘዙ የግብይቶች ስብስቦች፣ እያንዳንዱ ክር ለአፈጻጸም ዑደቶች በሶስት ደረጃ loop በኩል ጥቅም ላይ ይውላል፡
በዚህ ደረጃ, ክርው ሁለቱንም V እና E ን ይፈትሻል. ሁለቱም ባዶ ከሆኑ እና ምንም አይነት ግብይት ካልተደረገ, አሁን ያለው የግብይቶች ስብስብ ሙሉ በሙሉ ተከናውኗል እና ውጤቱም ወደ ማከማቻ ውስጥ ሊገባ ይችላል.
ቪ ወይም ኢ ግብይቶችን ከያዙ፣ብሎክ-ኤስቲኤም ከሁለቱም የግብይቶች ስብስብ ዝቅተኛውን ኢንዴክስ (ትስጉት ቁጥር ሳይሆን) ይመርጣል ማለትም ኢ {t1,3 , t3,1 and t5,2}
እና V ከያዘ {t0,1, t2,4, t4,3}
, የግብይት t0
የማረጋገጫ ተግባር እንደ ቀጣዩ ተግባር ይመረጣል.
የሚቀጥለው ተግባር ከታወቀ እና ከተመረጠ በኋላ ይከናወናል. በዚህ ደረጃ መጨረሻ ላይ ስልተ ቀመር ወደ ቼክ ተከናውኗል። ሁለቱም የግብይቶች ስብስቦች ባዶ እስኪሆኑ ድረስ ይህ ሂደት ይቀጥላል።
በአፈፃፀም እና በማረጋገጫ ጊዜ ምን እንደሚከሰት እንመልከት-
ግብይት በሚፈፀምበት ጊዜ Block-STM ስልተ ቀመር ሁለት ስብስቦችን (በአንድ ግብይት) ይሞላል። የተነበበ ስብስብ ( Ri,n
) እና የመጻፍ ስብስብ ( Wn,i
). የተነበበው ስብስብ አንድ ግብይት በሚፈፀምበት ጊዜ ያነበበውን ሁሉንም የማስታወሻ ቦታዎችን ይይዛል ፣ የጽሑፍ ስብስብ የጻፈባቸውን ሁሉንም የማስታወሻ ቦታዎች ይይዛል። በአፈፃፀም ወቅት ግብይቶቹ ጽሑፎቻቸውን ወደ ባለብዙ-ስሪት የውሂብ መዋቅር ይተገብራሉ ፣ ግን ንባብ ትንሽ የተወሳሰበ ነው።
በብሎክ-ኤስቲኤም ውስጥ አንድ ግብይት ከመረጃ አወቃቀሩ ለማንበብ ሲፈልግ ከፍተኛ ቅድሚያ የሚሰጠው ዝቅተኛ ቅድሚያ የሚሰጠው ግብይት የተጻፈውን ዋጋ ይፈትሻል። ለምሳሌ tx1
፣ tx2
እና tx7
ሁሉም ወደ ማህደረ ትውስታ ቦታ ከፃፉ እና tx5
ከዚህ ቦታ ማንበብ ከፈለገ ከ tx2
ጋር የሚዛመደውን የውሂብ መዋቅር ስሪት ያነባል።
ይህ serializability ለማስፈጸም ነው; tx5
ከ tx2
በኋላ እና tx7
በፊት መተግበር ስላለበት በ tx2
የተፃፉትን እሴቶች መጠቀም የለበትም tx7
. በዚህ ምሳሌ tx7
እንደገና መተግበር አለበት ምክንያቱም በ tx5
የተፃፉትን እሴቶች ማንበብ ነበረበት እንጂ tx2
ወይም በማንኛውም ከፍ ያለ ቅድሚያ የሚሰጣቸውን ግብይቶች ማንበብ አልነበረበትም። ነጠላ-ስሪት የውሂብ መዋቅር ጥቅም ላይ ከዋለ፣ በ tx2
የተጻፈው ዋጋ አይገኝም እና ግጭት መፈጠሩ አይቀርም።
ለማረጋገጫ ተግባር፣ የግብይቱ የተነበበ ስብስብ በአፈፃፀም ወቅት ካነበባቸው የማህደረ ትውስታ ቦታዎች ካሉት ዋጋዎች ጋር ይነጻጸራል። ለምሳሌ፣ tx2
በአፈጻጸም ወቅት አካውንት B ን ካነበበ፣ በማረጋገጫው ወቅት፣ ለሂሳብ B የማህደረ ትውስታ መገኛ ቦታ ይነበባል (ቀደም ሲል ያቀረብነውን የንባብ ፍቺ ግምት ውስጥ በማስገባት)። ሁለቱ እሴቶች ተመሳሳይ ከሆኑ ከዚያ ምንም ከፍተኛ ቅድሚያ የሚሰጠው ግብይት ( tx0
ወይም tx1
ይበሉ) tx2
በሚፈፀምበት ጊዜ ወደዚያ ቦታ አልፃፈም ማለት ነው ። ይህ tx2
እንደተረጋገጠ ምልክት ተደርጎበታል ነገር ግን ለመፈጸም ደህንነቱ የተጠበቀ አይደለም።
ግብይቱ ለመፈጸም ደህንነቱ የተጠበቀ ተደርጎ አይቆጠርም ምክንያቱም ዝቅተኛ ቅድሚያ የሚሰጠው ግብይት በማንኛውም ምክንያት፣ ግብይቱ ከተረጋገጠ በኋላ ሊፈጸም ይችላል። በእኛ የሩጫ ምሳሌ tx1
አካውንት Bን ከነካ በኋላ ብቻ ከነካ tx2
ማረጋገጫውን አልፏል ከዚያ tx2
እንደገና መተግበር አለበት።
ይህንን ለማድረግ፣ ግብይቱ በተፈፀመ በማንኛውም ጊዜ ሁሉም ዝቅተኛ ቅድሚያ የተሰጣቸው ግብይቶች ከግብይቱ ጋር እንደማይጋጩ ለማረጋገጥ እንደገና ይታደሳሉ። ለምሳሌ tx1
, tx3
እና tx4
ከተረጋገጠ እና tx2
አፈፃፀምን ካጠናቀቀ tx3
እና tx4
ከ tx2
(እንደዚሁም ጥገኞች) ጋር እንደማይጋጩ ለማረጋገጥ እንደገና መረጋገጥ አለባቸው።
አንድ ግብይት ማረጋገጥ ካልተሳካ፣ ማለትም፣ ለተመሳሳይ ግዛት የሚጽፍ ከፍተኛ ቅድሚያ የሚሰጠው ግብይት በተመሳሳይ ጊዜ ተፈጽሟል፣ ከዚያም የተደረገው ግብይት ቆሻሻ ነው ብሎ ይጽፋል (እሴቶቹ የተሳሳቱ ናቸውና።) ግን እነዚህን እሴቶች ከመረጃ ቋቱ ውስጥ ከመሰረዝ ይልቅ። ሙሉ በሙሉ፣ ESTIMATE ተጠቁሟል።
የ ESTIMATE ባንዲራ ያንን የማህደረ ትውስታ ቦታ የሚነበብ ማንኛውም ግብይት እሴቶቹ ትክክል እንዳልሆኑ እና ግብይቶቹ አፈፃፀማቸውን ለአፍታ ያቆማሉ። ይህ የሚደረገው በመሰረዝ ቦታ ላይ ነው ምክንያቱም የግብይቱን እንደገና መፈጸም ያልተሳካው ማረጋገጫ ካለፈው አፈጻጸም ጋር ተመሳሳይ በሆኑ የማስታወሻ ቦታዎች ላይ መፃፍ ሊያስከትል ስለሚችል ነው.
የማህደረ ትውስታውን ቦታ ከመሰረዝ ይልቅ እንደ ግምታዊ ምልክት በማድረግ ጥገኞች (የግብይቱ ትክክለኛነት ያልተሳካለት) እንደገና ከመፈጸሙ በፊት እንኳን ሊያዙ ይችላሉ, ይህም አላስፈላጊ ድጋሚ አፈፃፀምን ይከላከላል. ይህ ሂውሪስቲክ የሚባክነውን ስራ በእጅጉ ይቀንሳል።
Block-STM እንዴት ወደ ትይዩነት እንደሚሄድ የተሟላ አጠቃላይ እይታ እንደሚከተለው ሊጠቃለል ይችላል፡-
BLOCK
እንደ የታዘዘ ዝርዝር በግልጽ ከተቀመጠ ተከታታይ ቅደም ተከተል ይጀምራል። እነዚህ ግብይቶች የሚከናወኑት በቅድሚያ በተቀመጡት ሁሉም ሀብቶች ላይ ነው።
አንድ ምሳሌ ከዚህ በታች ይታያል።
ያ የብሎክ-ኤስቲኤም እንዴት እንደሚሰራ አጠቃላይ እይታ ነው, በሪፖርታችን ውስጥ ተጨማሪ ዝርዝሮች እዚህ እና ዋናው Block-STM ወረቀት እዚህ ይገኛሉ.
የብሎክ-ኤስቲኤም መጨመርን አስፈላጊነት ለመለካት ፣ እሱ በተከታታይ አፈፃፀም ላይ የሚያቀርበውን የአፈፃፀም ማሻሻያ ለመገምገም ጥቂት መለኪያዎችን ያደረግን ሲሆን ውጤቱም ከዚህ በታች ይታያል።
ውጤቶቹ እንደሚያሳዩት ጥቅም ላይ የዋሉ ክሮች ብዛት (ከገለልተኛ ማቀነባበሪያ ክፍሎች ጋር ተመሳሳይነት ያለው) ሲጨምር አፈፃፀሙም ይጨምራል። ማሻሻያዎቹ በይበልጥ ጎልተው የሚታዩት ትላልቅ ብሎኮች በ16 ክሮች ብቻ በተከታታይ አፈጻጸም ላይ እስከ 9X የአፈጻጸም ማሻሻያዎችን በመስጠት ነው። ውጤቶቹ በትልልቅ ብሎኮች ይበልጥ ግልጽ ሆነው አግኝተናል።
የእኛ ፈተናዎች እንደሚያሳዩት የብሎክ-ኤስቲኤም አፈጻጸም በከፍተኛ አከራካሪ ሸክም በከፍተኛ ሁኔታ እያሽቆለቆለ እንደሚሄድ ነገር ግን የኢንዱስትሪ-ደረጃ ልምምድ በእንደዚህ አይነት ወቅቶች ወደ ተከታታይ አፈጻጸም መመለስ ነው። በከፍተኛ አጨቃጫቂ የስራ ጫናዎች ውስጥ ያለውን ፍሰት ለመጠበቅ ተመሳሳዩን መካኒክ ለስታርክኔት እንመክራለን። ግን በአጠቃላይ ፣ የብሎክ-ኤስቲኤም መጨመር በከፍተኛ ሁኔታ ይሻሻላል እና ለወደፊቱ Starknet ይከላከላል።
በ v0.13.2 ማሻሻያ ውስጥ የተጠቀለለው ሁለተኛው ትልቅ ለውጥ የማገጃ ማሸግ ነው እና በሚቀጥለው እንሸፍናለን።
ቀደም ሲል እንደተብራራው፣ ከቦልት በፊት፣ እያንዳንዱ የስታርክኔት ብሎክ የየራሱ ስራ ነበር፣ ይህም ለእያንዳንዱ ብሎክ ቋሚ ዋጋ ያስገኝ ነበር። በተጨማሪም ፣ ስርዓቱ የተነደፈው በእገዳው ምን ያህል ውሂብ ቢበላም እያንዳንዱ ብሎክ የራሱ የሆነ ብሎብ እንዲፈልግ ነው።
ሁል ጊዜ ከፍተኛ ፍላጎት በነበረበት ዓለም ውስጥ ይህ ችግር አይሆንም ነገር ግን ስታርክኔት በአሁኑ ጊዜ ከፍላጎት የበለጠ ተጨማሪ የማገጃ ቦታን ያቀርባል እና ስለዚህ በመቶዎች የሚቆጠሩ ETH በጊዜ ሂደት እንዲጠፋ የሚያደርጉ ብዙ ብክነት ሀብቶች አሉ ። አንድ ወር. ከቦልት በፊት የነበረውን የሁኔታውን ክብደት የበለጠ ለመረዳት፣ ብሎክን ወደ L1 ከመለጠፍ ጋር የተያያዙ ወጪዎች ናቸው።
ይህ በአንድ ብሎክ እስከ 215k ጋዝ ይደርሳል እና ይህ ዋጋ ጠፍጣፋ ነው ማለትም እያንዳንዱ ብሎክ የቱን ያህል መረጃ ቢይዝ እና ከብሎኮች ብዛት ጋር በ$Cost = num blocks * 215000$ ምንም ይሁን ምን ተመሳሳይ ነው። ለዚህ ችግር ጥሩ መፍትሄ የሚሆነው ወጪዎች ከብሎኮች መጠን ይልቅ ከተለጠፈው የውሂብ መጠን ጋር የሚዛመዱ ናቸው። እና በ SNAR ዛፎች በኩል የማገጃ ማሸግ የሚሳካው ያ ነው።
Starknet Applicative Recursive (SNAR) ዛፎች ከላይ የተገለጹትን ችግሮች ለመፍታት በቦልት ውስጥ የገቡ አዲስ የሁለትዮሽ ዛፍ ናቸው። የ SNAR ዛፍ የሚከተለው መዋቅር አለው፡ እያንዳንዱ ቅጠል የስታርክኔት ብሎክ ሲሆን በሁሉም ደረጃዎች ያሉት አንጓዎች የልጆቻቸው ተደጋጋሚ ማረጋገጫዎች ናቸው። የስር መስቀለኛ መንገድ ለሌሎቹ ሁሉ ማረጋገጫዎች ተደጋጋሚ ማረጋገጫ የሆነው ወደ SHAREed Prover (SHARP) የተላከ የመጨረሻ ስራ ነው።
የ SNAR ዛፍ ዋነኛ ጥቅም በአንድ ማስረጃ አንድ ብሎክ ከመለጠፍ ይልቅ ብዙ የስታርክኔት ብሎኮች ወደ ተመሳሳይ L1 ማሻሻያ ሊደረጉ ይችላሉ። የ SNAR የዛፍ ሥሮች አሁን ወደ L1 የሚለጠፉት ከሁለት ሊዋቀሩ ከሚችሉት ገደቦች ውስጥ አንዱ ሲመታ ብቻ ነው፡- ወይም የDA ገደብ (6 ብሎብስ ዋጋ ያለው መረጃ) ወይም በዛፉ ላይ የተወሰነ ቁጥር ያላቸው ቅጠሎች ከተጨመሩ በኋላ (ቅጠሉ እገዳ ከሆነ) .
ይህ ንድፍ ከብሎኮች ብዛት የግብይቶች ወጪን ያስወግዳል። አሁን፣ በእያንዳንዱ ብሎክ ውስጥ ስታርክኔት ኦኤስ (SNOS)ን በማስኬድ ለሚነሳው ለእያንዳንዱ ብሎክ የተወሰነ የተወሰነ ወጪ አለ - በአጠቃላይ ግን ወጭዎቹ ተለያይተዋል። አሁን ያሉት ቁጥሮች እነዚህ ናቸው፡-
ከዚህ በታች በስእል 11 ያለው ሴራ የጋዝ ወጪዎች በቀድሞው ዲዛይን እና አሁን (በቦልት ስር) እንዴት እንደሚለያዩ ያሳያል።
የብሎክ ማሸግ በL1 ላይ የማረጋገጫ ወጪዎችን በእጅጉ እንደሚቀንስ ግልጽ ነው ይህም ለ Starknet ተጠቃሚዎች የጋዝ ዋጋን እንደሚያሳጣ ጥርጥር የለውም።
በቦልት ውስጥ የተደረጉት ለውጦች ውጤት፡ ብሩህ አመለካከት ያለው ትይዩ አፈፃፀም በብሎክ-ኤስቲኤም እና በባለቤትነት SNAR በኩል ማሸግ እንደሚከተለው ሊጠቃለል ይችላል፡ ፈጣን እና ርካሽ።
ትይዩ ማስፈጸሚያ የማስፈጸሚያ ጊዜን ይቀንሳል እና በማራዘሚያ መጨናነቅ ይህም ከፍተኛ የትራፊክ ፍሰት ባለበት ወቅት የጋዝ ክፍያዎችን ይቀንሳል፣ የ SNAR ዛፎች ግን ተያያዥ የሆነውን DA እና ወጪዎችን ያረጋግጣል። የሚገርመው ነገር፣ ይህ ማሻሻያ ስታርክኔትን በትይዩ አፈፃፀም የመጀመሪያውን L2 ያደርገዋል እና በL2 ቦታ ውስጥ ዋና ተወዳዳሪ እንዲሆን ያዘጋጃል። የእነዚህ ለውጦች ተጽእኖ ወዲያውኑ ግልጽ ሊሆን የማይችል መሆኑን መገንዘብ ጠቃሚ ነው, በተለይም በትይዩ አፈፃፀም, ነገር ግን ለወደፊቱ ስታርክኔትን እና መላውን የኢቴሬም ስነ-ምህዳርን በአጠቃላይ ለማረጋገጥ ወሳኝ ናቸው.
የደራሲው ማስታወሻ፡ የዚህ ጽሑፍ ስሪት ከዚህ ቀደም እዚህ ታትሟል።