Skip to content

ስምምነት

ግብይቶች Sumeragi በብሎክ ውስጥ ከመቀረባቸው በፊት ረድፍ ውስጥ ይገባሉ ። ማረጋገጫ ሰጪዎች ሀሳቡን በራስ-ሰር ያረጋግጣሉ እና ይፈጽማሉ ፣ ከዚያ ሊያተኩሩት የሚችለውን የስቴት ሽግግር ብቻ ይፈርማሉ። አንድ ብሎክ የተጠየቀው የማረጋገጫ ብዛት በዚህ ውጤት ላይ ከተስማማ በኋላ ተሳትፎ ያደርጋል እና ተዛማጅ ጥቅሚ ጭነት ይገኛል.

ሁሉም Iroha 3 አውታረመረቦች የመረጃ ተደራሽነት እና አስተማማኝ የስርጭት መስመሮችን ይጠቀማሉ። እነዚህ የጋራ ስምምነት መስፈርቶች እንጂ አማራጭ የማሰማራት ባህሪዎች አይደሉም ።

Sumeragi

Sumeragi የ Iroha የቢዛንታይን ስህተት-ተቻዋች የመግባቢያ ሞተር ነው ። ግብይቶችን ከቁጥሩ ይወስዳል ፣ የማረጋገጫ ባልደረቦቹ በተመሳሳይ የታዘዘ ብሎክ ላይ ይስማማሉ ፣ እና ያንን ብሎክ ያጠናቅቃል በቂ ማረጋገጫ ሰጪዎች ተመሳሳይ ውጤት ካስነበቡ እና የተሰማራውን የምስክር ወረቀት ከተፈረሙ በኋላ ብቻ።

Sumeragi proposal-to-commit data flow

የቀረበው እና የተሰማራበት መንገድ

Sumeragi መቁጠሪያውን በአንድ ጊዜ አንድ ብሎክ ከፍታ ወደፊት ያካሂዳል ። በእያንዳንዱ ከፍታ ላይ አንድ ማረጋገጫ አቅራቢ ለአሁኑ እይታ እንደ አቀራረብ ሆኖ ይሠራል ። አቅራቢው ብቁ የሆኑ ግብይቶችን ከዝርዝሩ ውስጥ ያስወግዳል ፣ የእጩ ብሎክን ይፈጥራል እና ሀሳቡን ወደ ንቁ የማረጋገጫ ስብስብ ያሳውቃል።

ተመሳሳይ Sumeragi ቧንቧ በፈቃድ የተሰጣቸው እና በተሰየሙ የድርጅት ማስረጃዎች (NPoS) ውስጥ ጥቅም ላይ ይውላል:

  1. አንድ እውቅና ሰጪ በዝርዝሮች ውስጥ ከሚገኙት ግብይቶች ማገድን ያቀርባል.
  2. ማረጋገጫ ሰጪዎች ሀሳቡን የሚያረጋግጡት በተመሳሳይ የዓለም ሀገር ላይ የሚደረጉትን ግብይቶች በማከናወን ነው።
  3. ማረጋገጫ ሰጪዎች የአሁኑን ከፍታ እና እይታ ድምጾች እና የኳሮም የምስክር ወረቀቶችን ይለዋወጣሉ ።
  4. የኮሚት ኮርሙስ ከተደረሰ በኋላ እኩዮቻቸው ማገጃውን ያካሂዳሉ እና የዓለም ሁኔታቸውን ያዘምኑ.

ማረጋገጫ ሰጪዎች በአካባቢው ማባዛት የሚችሏቸውን መረጃዎች ብቻ ይፈርማሉ። ከመምረጥዎ በፊት አንድ የማረጋገጫ ሰጭ ሀሳቡ ከሚጠበቀው ሰንሰለት ፣ ከፍታ እና እይታ ጋር የተቆራኘ መሆኑን ያረጋግጣል ፤ የግብይት ፊርማዎች እና ገደቦች ትክክለኛ መሆናቸው; የመንገድ መስመሩ እና የአፈፃሚ ማረጋገጫው ተወስኖ የሚወሰኑ መሆናቸው; የአከባቢው ውጤት ከተለያየ፣ ማረጋገጫ ሰጪው ለጥያቄው ድምጽ ከመሰጠቱ ይልቅ ሀሳቡን ውድቅ ያደርጋል።

ድምጾች ትናንሽ የተፈረሙ የጋራ ስምምነት መልዕክቶች ናቸው ። እነሱ የሚጠቁሙትን ብሎክ ፣ ቁመት ፣ እይታ እና የማረጋገጫ ማንነት ያመለክታሉ። ሰብሳቢዎች እነዚያን ድምፆች ወደ ጥራዝ የምስክር ወረቀት ወይም የኮሚት ምስክር ወረቀት ይሰበስባሉ ። የምስክር ወረቀቱ በቂ የሆኑ ማረጋገጫ ሰጪዎች ለተመሳሳይ ብሎክ ተመሳሳይ ውጤት እንዳሳዩ የሚያረጋግጥ ጠንካራ ማስረጃ ነው።

የቡድን አባላት፣ ሰብሳቢዎችና ታዛቢዎች

የድምፅ ማረጋገጫዎች ብዛት n የቢዛንታይን ስህተት በጀት ይገልጻል። ቢያንስ አራት ማረጋገጫዎችን ላላቸው አውታረመረቦች በጀት f = floor((n - 1) / 3) እና ኮሚቴ ጥራዝ 2f + 1 ነው ። ለአንድ እስከ ሶስት ማረጋገጫ ሰጪዎች ሁሉም የማረጋገጫ ሰጭዎች ለግንኙነት አስፈላጊ ናቸው ፣ ይህም ለልማት ጠቃሚ ነው ግን ምንም ተግባራዊ ከመስመር ውጭ መዘግየት የለውም ።

ሰብሳቢዎች አንድ fanout ማመቻቸት ናቸው. እያንዳንዱ እውቅና ሰጪ ለእያንዳንዱ ሌላ እውቅና ሰጭ እያንዳንዱ ድምጽ ከመላክ ይልቅ, Sumeragi ለከፍታ አንድ ወይም ከዚያ በላይ ሰብሳቢዎችን መምረጥ ይችላሉ. ሰብሳቢዎቹ ድምጾችን ይሰበስባሉ, የድምፅ አሰጣጥ እድገትን ያወጣሉ, እና የእጥፍ ድምጽ ትራፊክን መቀነስ ይችላሉ. ውጤታማው ሰብሳቢ ቅንጅቶች በ GET /v1/sumeragi/collectors በኩል ይገለጻሉ; የ CLI ops sumeragi telemetry ቅጽበታዊ ገጽ እይታ የአሁኑን ሰብሳቢዎች ብዛት ያሳያል.

ታዛቢ እኩዮች የተሰማሩ ብሎኮችን ማመሳሰል ይችላሉ ፣ ግን እነሱ አስተያየት አይሰጡም ፣ ድምጽ አይሰጧቸውም ፣ ድምጾች አይሰበስቡም ወይም ወደ ኮሚቴው ጥራዝ አይቆጥሩም ። አንድ ትግበራ የድምፅ ማረጋገጫ ሰጪዎችን ቁጥር ሳይጨምር አካባቢያዊ መጠይቅ አቅም ፣ ኢንዴክስ ፣ ክትትል ወይም ክልላዊ ብሎክ ተደጋጋሚነት ሲፈልግ ታዛቢዎችን ይጠቀሙ።

ለውጦችን እና መልሶ ማግኛዎችን ይመልከቱ

አንድ እይታ Sumeragi በአንድ የተወሰነ አቀራረብ እና የጊዜ መርሃግብር አማካኝነት አንድ ከፍታ ለማጠናቀቅ የሚደረገው ሙከራ ነው ። ሀሳብ ፣ ጠቃሚ ጭነት ፣ ድምጽ መስጠት ወይም የእድገት ማቆሚያዎች ከተደረጉ ፣ የልብ ምት መለኪያው ቁመቱን ወደ ቀጣይ እይታ ማስተላለፍ ይችላል ። የአመለካከት ለውጥ የተሰጠውን ብሎክ እንደገና አይጽፍም ። ማረጋገጫ ሰጪዎች ያልተቀበለው ቁመት ለመጨረስ የሚሞክሩበትን መንገድ ይለውጣል ፣ ከፍተኛውን የታወቀ የቁጥር ብዛት በማሳደግ ወይም የእኩዮቻቸው ተቃራኒ ብሎኮችን እንዳያጠናቅቁ ማስረጃዎችን በማቅረብ።

የፍጆታ ጭነት መልሶ ማግኛ ከመጨረሻው ውሳኔ የተለየ ነው ። አንድ እኩይ ሙሉውን የብሎክ ጥቅማጥቅሞችን ከማግኘትዎ በፊት ጥራዝ ወይም ተሳትፎ የምስክር ወረቀት ሊቀበል ይችላል ። በዚህ ሁኔታ ፣ እኩይ አስተማማኝ ስርጭት (RBC) ወይም የብሎክ ማመሳሰል በመጠቀም ጥቅማጥቃቱን መልሶ ለማግኘት ያረጋግጣል ፣ በማስታወቂያ ላይ ካሉት ሃሽዎች ጋር ያረጋግጣል ። እና ከዚያ በኋላ ብቻ ብሎኩን ለዓለም አቀፍ ሁኔታ እና Kura ይተግብራል ።

የስምምነት ሁነታዎች

የተመረጠው ሁነታ የማረጋገጫ ስብስቡ እንዴት እንደሚቋቋም እና እንደሚሠራ ይቆጣጠራል። በጄኔሲስ በኩል consensus_mode እና በባልደረባ ውቅር በኩል sumeragi.consensus_mode ተገልጧል ። እንደ አውታረ መረብ-አጠቃላይ ሁኔታ ይይዙት: ማረጋገጫ ሰጪዎች ተመሳሳይ የተፈረመ ጅማሬ, ቶፖሎጂ, የታመኑ የእኩዮች ውሂብ እና ውጤታማ Sumeragi መለኪያዎች ያስፈልጋቸዋል.

Sumeragi consensus mode data flow
ሁነታበጣም ተስማሚማረጋገጫ ስብስብየአሠራር ትኩረት
የተፈቀደለትየግል፣ የኮንሶርሺየም እና በኦፕሬተር የሚተዳደሩ አውታረ መረቦችማረጋገጫዎች በስርጭቱ ከተስማማው የታመነ የእኩዮች ቶፖሎጂ የተገኙ ናቸውሁሉንም ማረጋገጫ ሰጪዎች በተመሳሳይ የተፈረመ ጅምር ፣ የታመኑ እኩዮች ፣ የእኩዮች ቁልፎች እና Sumeragi መለኪያዎች ላይ ያቆዩ ።
NPOSእውቅና ማረጋገጫው የምርጫና የአክሲዮን ፖሊሲን የሚከተልበት የህዝብ ወይም Nexus ተኮር አውታረመረብማረጋገጫ ሰጪዎች የሚመረጡት በ NPoS መገለጫ አማካኝነት ሲሆን አብዛኛውን ጊዜ በየጊዜው ይወሰዳሉ እንዲሁም BLS ቁልፎች እና የንብረት ማስረጃዎችን ይጠይቃሉ።የጨዋታ ቅጽበታዊ ገጽ እይታዎችን ፣ የዘመን መለኪያዎችን ፣ ማረጋገጫ ሰጪውን PoPs እና NPoS ምዕራፍ ጊዜዎችን በመላው አውታረመረብ ውስጥ በማስተካከል ያቆዩ

ተቀባይነት ያለው ሁነታ

የማረጋገጫ ዝርዝሩ ግልፅ የአሠራር ምርጫ በሚሆንበት ጊዜ የተፈቀደበትን ሁነታ ይጠቀሙ። የአባልነት ለውጦች ሆን ተብሎ የሚደረጉ አስተዳዳሪ ወይም አስተዳዳሪ እርምጃዎች ስለሆኑ ይህ በራስ-ተስተናገዱ Iroha አውታረ መረቦች መደበኛ መነሻ ነጥብ ነው ። አስፈላጊው የአሠራር ደንብ እያንዳንዱ ማረጋገጫ ሰጪ ተመሳሳይ የጄኔሲስ ፣ የታመኑ እኩዮች ፣ BLS የባለቤትነት ማስረጃዎች እና Sumeragi መለኪያዎች ጋር መሮጥ አለበት ። የተለየ ቶፖሎጂ ወይም የተፈረመ ጀኔሲስ ያለው አንድ ነጠላ እኩይ አውታረ መረብ እንዳይሳተፍ ሊያግድ ይችላል።

የ NPOS ሁነታ

የ NPoS ሁነታ ይጠቀሙ የማሰማራት መገለጫው የተረጋገጠ ባለቤትነት ተሳትፎ በሹመት እና በተጣራ ሁኔታ እንዲነሳ የሚጠብቅበት ጊዜ። የህዝብ SORA Nexus ማሰማሪያዎች NPoS ን ይጠቀማሉ ፣ እና የተፈጠሩ መገለጫዎቻቸው የ BLS የማረጋገጫ ማንነትን ፣ የባለቤትነት ማስረጃዎችን ፣ የዘመን ቅንብሮችን ያጠቃልላሉ ። እና Sumeragi NPoS መለኪያዎች በመነሳት ላይ ያስፈልጋሉ. የ Epoch ለውጦች በተወሰነው ከፍታ ላይ የተቀመጠውን ንቁ ማረጋገጫ መቀየር ይችላሉ, ስለዚህ ኦፕሬተሮች የጋራ ስምምነትን ጤና እና ቀጣዩን ዝርዝር የሚመገቡትን የእጅ ወይም የምርጫ ሁኔታ መከታተል አለባቸው.

የብዙ አቅጣጫዎች ስምምነት

የ Iroha ባለብዙ መስመር ስምምነት መንገድ በ Nexus የመንገድ እና የውሂብ ቦታ ውቅር በኩል ተተግብሯል ። ለእያንዳንዱ ጎዳና የተለየ የስምምነት ሁኔታ አይጀምርም ። Sumeragi አሁንም አንድ የታዘዘ ብሎክ ዥረት ያጠናቅቃል; መስመሮች ግብይቶች በዚያ ዥረት ውስጥ እንዴት እንደሚጓዙ ፣ እንደሚዘረዘሩ ፣ እንደሚቆጠሩ እና እንደሚከማቹ ይገልጻሉ ።

የሩጫ ጊዜ ውቅር ሦስት ቁርጥራጮች የመንገድ ሁኔታ ይገነባል:

  • lane_catalog: የተዋቀሩ መስመሮች፣ እያንዳንዳቸው የቁጥር LaneId ፣ ቅጽል ስያሜ ፣ የመረጃ ቦታ ፣ ታይነት ፣ የማከማቻ መገለጫ ፣ የማረጋገጫ መርሃግብር እና ሜታዳታ ያላቸው።
  • dataspace_catalog: የተዋቀሩ የውሂብ ክፍሎች፣ እያንዳንዳቸው የቁጥር DataSpaceId እና ለሪሌይ ኮሚቴ መጠን ጥቅም ላይ የሚውለው የስህተት መቻቻል ዋጋ ያላቸው።
  • routing_policy: ነባሪ መንገድ / የውሂብ ቦታ ጥንድ እና ሂሳቦችን ወይም መመሪያ መንገዶችን ሊያመሳስሉ የሚችሉ የታዘዙ የጉዞ መመሪያዎች።

አንድ ግብይት ወደ ረድፍ ሲገባ ፣ የመንገድ ራውተር ወደ RoutingDecision { lane_id, dataspace_id } ያስተካክላል ። በአንድ-መንገድ ሁነታ ውስጥ ይህ ሁልጊዜ መንገድ ነው 0 እና ሁለንተናዊ የመረጃ ቦታ። በ Nexus ሁነታ ውስጥ የተዋቀረው ራውተር የውሂብ ቦታ-ተኮር ደንቦችን ፣ የክፍያ መስመሩን ፣ የመለያ ደንቦችን ፣ ግልፅ የመስመር መርሃግብር ደንቦችን እና በመጨረሻም ነባሪውን መንገድ ይጠቀማል ። የተቋረጠው ጎዳና እና የውሂብ ቦታ በካታሎጎቻቸው ውስጥ መኖር አለበት ፣ እናም ጎዳናው ከተቋረጠው የውሂብ ጎዳና ጋር መያያዝ አለበት ፣ አለበለዚያ ግብይቱ ረድፍ ከመደረሱ በፊት ውድቅ ይሆናል ።

ረድፉ ይህንን የመመሪያ ውሳኔ ከግብይት ሃሽ ጋር ይይዛል ፣ ስለሆነም በኋላ ላይ ደረጃዎች እንደገና መወሰን አያስፈልጋቸውም ። የቀረበው የግንባታ ፕሮጀክት ከዚያ በኋላ የመንገድ ሜታዳታውን በሁለት መንገዶች ይጠቀማል-

  • ትራክሽኖቹ በየመንገዱ ይለቀቃሉ ስለዚህ አንድ መስመር በብሎኩ ላይ የበላይነት አይኖረውም ምክንያቱም ትራክሾቹ በመጀመሪያ ረድፍ ውስጥ ነበሩ ።
  • ይህ በየመንገዱ የግብይት አፈፃፀም አሃድ (TEU) ገደቦችን ይተገበራል ። አንድ መስመሩ የተዋቀረውን አቅም የሚበልጡ ግብይቶች ተዘግተው እንዲቀጥሉ ተደርጓል ፣ ነገር ግን ለአንድ መስመሩ የመጀመሪያውን ከመጠን በላይ ክብደት ያለው ግብይት በሕይወት መቆለፊያ ለማስወገድ ሊፈቀድ ይችላል ።

አስተማማኝ ስርጭት ወቅት, Sumeragi የቀረበውን ጠቃሚ ጭነት በ Lane እና የውሂብ ቦታ ይሰበስባል. የተመዘገቡ ጠቅላሎች የግብይት ብዛት, የብሮድካስት ቁርጥራጮች, የፍጆታ ጭነት ባይቶች እና TEU ያካትታሉ. ከተመደቡ በኋላ እነዚህ ጠቅላሎች በ Sumeragi ሁኔታ በኩል የተጋለጡ የ Lane እና የመረጃ ቦታ ግዴታ ቅጽበታዊ ገጽ እይታዎች ይሆናሉ. አንድ ብሎክ የመንገድ ስምምነት ደረሰኞችን የሚያካትት ከሆነ የብሎክ ማቀነባበሪያ እንዲሁ የመንገድ ክፍያ ግዴታዎችን እና የመተላለፊያ ፖስታዎችን ይፈጥራል ፣ ይህም የብሎክ አርዕስት ፣ የተደራጀ የምስክር ወረቀት ፣ የውሂብ ተገኝነት ግዴታ ሃሽ ፣ የማስተካከያ ማስረጃ እና የመንገድ ጥቅማጥቅሞችን መጠን ይይዛል።

አስተማማኝ ስርጭት (RBC)

አስተማማኝ ስርጭት (RBC) የ Sumeragi የፍጆታ ጭነት ማሰራጨት እና መልሶ ማግኛ መንገድ ነው ። በተለይም የ BlockCreated መልእክት ፣ የብሎክ-ሲንክ ዝመና ወይም ቀጥተኛ የፍጆታ ሸክም ማስተላለፍ ዘግይቷል ወይም ጠፍቷል በሚሆንበት ጊዜ ለቀረበው ሀሳብ የሚያመለክተው ብሎክ አካል እንዲያገኙ ያግዛል ።

RBC በጠቅላላ ጭነት ደረጃ ላይ ይሠራል። ፕሮፖዛተሩ ለብሎክ ቁመት ፣ ለእይታ እና ለጥቅም ጭነት ሃሽ የ RBC ክፍለ ጊዜ ያስታውቃል ፣ ከዚያ በመተግበር ቶፖሎጂ ውስጥ የፍጆታ ጭነት ክፍሎችን ይላካል ። እኩዮች የክፍሉን ደረሰኝ ይከታተላሉ ፣ የተመለሱትን ጥቅማጥቅሞች በማስታወቂያው ላይ ካለው ሃሽ ጋር ያረጋግጣሉ ፣ እና በቂ ማረጋገጫ ሰጪዎች ተመሳሳይ ጥቅማጥቃቅን ከተመለከቱ በኋላ READY እና DELIVER ምልክቶችን ይለዋወጡ ። ክፍለ ጊዜዎች በ TTL, ቁራጭ, fanout, pending-stash, እና ቀጣይነት ያለው መደብር ገደቦች የተገደቡ ናቸው ስለዚህ የማገገም ትራፊክ ያለገደብ ማደግ አይችሉም.

RBC የተለየ የጋራ ስምምነት ውሳኔ አይደለም እናም የተሰማራውን የምስክር ወረቀት አይተካም። አንድ ብሎክ አሁንም የሚጠናቀቀው የባልደረባው ትክክለኛ የተሰማራበት የምስክር ወረቀት እና ተዛማጅ ጥቅሚያው በአካባቢው ሲኖር ብቻ ነው። RBC የግዴታ ተደራሽነት ማረጋገጫ እና ጠቃሚ ጭነት መልሶ ለማግኘት አስተዋፅዖ ያደርጋል ፣ የድርጅቱ እድገት በድርጅቱ የምስክር ወረቀት እና በአካባቢው ጥቅማጥቅሞች ላይ የተመሠረተ ነው. የምስክር ወረቀቱ ከጠቅላላ ጭነት በፊት ቢመጣ ፣ አቻው የጠቅላላ ሸክሙን በ RBC ወይም sync ማገድ እና ከዚያ commit.

በሥራ ላይ RBC የጎደለው የጉልበት ጭነት እና የውሂብ ተደራሽነት ጠርሙሶች ለመመርመር ጠቃሚ ነው

  • iroha --output-format text ops sumeragi telemetry አጠቃላይ የዝግጅት ድምፆችን፣ የአሁኑን ሰብሳቢዎች ብዛት እና በመጠባበቅ ላይ ያሉትን RBC ክፍለ ጊዜዎችን ያሳያል ።
  • GET /v1/sumeragi/rbc እና GET /v1/sumeragi/rbc/sessions በ Torii ላይ ዝርዝር አጠቃላይ እና ንቁ ክፍለ ጊዜ መረጃዎችን ያቀርባሉ ፣ በከፊል እድገትን ፣ ዝግጁነትን ፣ የመላኪያ ሁኔታን እና የመንገድ ወይም የውሂብ ቦታ የኋላ ዥረት ጨምሮ; Torii መጨረሻ ነጥቦችን ይመልከቱ ።
  • Prometheus ምልክቶች እንደ sumeragi_rbc_store_pressure, sumeragi_rbc_backpressure_deferrals_total, እና በአንድ ጎዳና ወይም በአንድ የውሂብ ቦታ RBC የጀርባ መቆለፊያ መለኪያዎች የአውታረ መረብ ኪሳራ ፣ የክፍሎች ማግኛ እና የማከማቻ ግፊት ለመለያየት ይረዳሉ; ይመልከቱ አፈፃፀም እና መለኪያዎች.

Kura ለማከማቻ አቀማመጥ የተገኘውን የመንገድ ውቅር ይጠቀማል ። እያንዳንዱ ጎዳና እንደ blocks/lane_000_core እና merge_ledger/lane_000_core_merge.log ያሉ የተወሰኑ የማከማቻ ስሞችን ይቀበላል; የመንገድ የሕይወት ዑደት ለውጦች እነዚያን ክፍሎች ዓለም አቀፍ የብሎክ ቅደም ተከተል ሳይቀይሩ ሊያቀርቡ ፣ ሊረሱ ወይም እንደገና ሊለዩ ይችላሉ ።