Skip to content

Үндсэн ойлголт

Транзакцын Sumeragi нь блок дотор санал болгохын өмнө шуурхайд ордог. Үнэлгээч нар тусгаар тогтносоор саналыг баталгаажуулж, гүйцэтгэдэг бөгөөд дараа нь тэдгээрийг дахин боловсруулах боломжтой төрийн шилжилтийг зөвхөн гарын үсэг зурдаг. Энэ үр дүнг хүлээн зөвшөөрөх шаардлагатай үнэлгээний кворумтай болсны дараа блок үүрэг гүйцэтгэж байна.

Бүх Iroha 3 сүлжээ нь мэдээллийн хүртээмжтэй болон найдвартай дамжуулах замыг ашигладаг. Эдгээр нь санал нэгдэх шаардлагууд бөгөөд сонголттой нэвтрүүлгийн шинж чанар биш юм.

Sumeragi

Sumeragi нь Iroha-ийн Византийн алдааг хүлээн зөвшөөрөх эв нэгдлийн хөдөлгүүр юм. Энэ нь шуурхайгаас гүйлгээ авч, баталгаажуулагч өрсөлдөгчид ижил захиргааны блок дээр тохиролцсон бөгөөд тухайн блокныг зөвхөн хангалттай баталгаажуучид ижил үр дүнг дахин боловсруулж, хүлээлт гэрчилгээг гарын үсэг зурсны дараа эцэслэн гүйцэтгэдэг.

Sumeragi proposal-to-commit data flow

Үнийн санал, үүрэг гүйцэтгэх чиглэл

Sumeragi томоохон номын санг нэг удаад нэг блок өндөртэй явна. Нэг өндөрт нэг баталгаажуулагч одоогийн үзэл баримтын өргөн мэдүүлэгчийн үүрэг гүйцэтгэдэг. Үүнд санал болгож буй нь шалгаруулалтад нийцсэн гүйлгээүүдийг шугамжаас ангижруулж, нэр дэвшигч блогын бүрэлдэхүүнийг барьж, саналыг идэвхтэй баталгаажуулах багтаанд зарлаж байна.

Sumeragi төмөрөг нь тусгай зөвшөөрөлтэй болон нэр дэвшилтэт үнэ цэнэтэй (NPoS) нэвтрүүлэгт ашиглагддаг:

  1. Үнэлгээч нь шуурхай гүйлгээг зогсоох саналыг дэвшүүлнэ.
  2. Хууль батлагчид төслийг ижил дэлхийн улс орнуудын эсрэг хийсэн гүйлгээг гүйцэтгэж баталгаажуулдаг.
  3. Үнэлгээний баталгаажуулагчид өнөөгийн өндөр болон үзэл баримтлалтайгаар санал, кворум гэрчилгээг солилцож байна.
  4. Нэгдүгээрт, "Commit quorum"-д хүрсэнээс хойш хамтарч нар блоконд орж, дэлхийн байдлаа шинэчлэн тогтоодог.

Үнэлгээний баталгаажуулагчид зөвхөн орон нутгийн хувьд дахин боловсруулах боломжтой мэдээллийг гарын үсэг зурдаг. Сонгуулийн өмнө баталгаажуулах ажилтан саналыг хүлээсэн зангилаа, өндөр болон үзлэгт хамаарах эсэхийг шалгана; гүйлгээний гарын үсгийн болон хязгаар нь хүчинтэй эсэх; замын чиглэл болон гүйцэтгэгчийн баталгаажуулалтыг тодорхойлсон эсэх. Хэрэв орон нутгийн үр дүн нь ялгаатай бол баталгаажуулагч санал асуулгыг дэмжихийн оронд үгүйсгэнэ.

Сонгууль нь анхан шатны санал нэгдсэн илтгэл юм. Эдгээр нь санал болгож буй блок, өндөр, үзэл баримтлал, баталгаажуулагчын тодруулгыг хэлнэ. Хувьцаа авагчид эдгээр саналуудыг quorum гэрчилгээ эсвэл commit certificate-д нэгтгэж байна. Тус гэрчилгээ нь ижил блок дээр хангалттай баталгаажуулагчид ижил үр дүнг ажиглав гэсэн тогтмол батламж юм.

УИХ-ын гишүүн, хурандаа, ажиглагч

Сонгуулийн баталгаажуулагчдын тоо n Бизантийн алдааны төсөвг тодорхойлдог. f = floor((n - 1) / 3) УИХ-ын дэд хуралдаанаар 2f + 1. Нэгээс гурван баталгаажуулахын тулд бүх баталгаажуулагч нь үүрэг гүйцэтгэх шаардлагатай. Энэ нь хөгжилд ашигтай боловч офлайн үйл явцад ямар ч үр дүнтэй сулгүй юм.

Хөгжүүлэгчид нь бүх баталгаажуулагчдын оронд бусад баталгаажуучдад санал болгодог, Sumeragi нэг эсвэл хэд хэдэн цуглуулгыг томилох боломжтой. Тэд санал хураалт цуглуулах, Үндсэн хуульд зааснаар санал хураалтын хэрэглээг багасгах, дубликатын хөдөлгөөнийг бууруулах. GET /v1/sumeragi/collectors; УИХ-ын гишүүн CLI Энэ бол ops sumeragi telemetry Цахиагийн зураг нь одоогийн цуглуулчийн тооны мэдээллийг хүргэж байна.

Байцаагч хамтын ажилтнууд үүрэг гүйцэтгэсэн блогуудыг хуваарилж болно, гэхдээ тэд санал болгодог, сонгодог, санал хураалтыг цуглуулах эсвэл комидтын кворум руу тооцдоггүй. Тодруулбал орон нутгийн хайлтын хүчин чадал, индексирүүлэх, хяналт тавих, эсвэл бүс нутгийн блокжуулалтыг нэмэгдүүлэхгүйгээр үнэлгээний баталгаажуулагчдын тоог нэмэгдүүлэхийн тулд байцаагчид ашиглана.

Шинэчлэл, сэргээлт үзнэ үү

Үзэл баримт нь Sumeragi-ийн тухайн өндөрг тодорхой санал болгож, цаг хугацааны төлөвлөгөөгээр эцэслэн гаргах оролдлого юм. Сургалт, ашигтай ачаалл, саналаа өгөх, эсвэл дэвшилтэт гүйцэтгэлийг зогсоож байгаа бол эрдэм шинжилгээний үзүүлэлт өндөрийг дараагийн үзэл баримт руу шилжүүлнэ. Үзэл баримтын өөрчлөлт хүлээсэн блок дахин бичихгүй. Энэ нь баталгаажуулагчдын үүрэг гүйцэтгэхгүй өндөрлөгийг дуусгахыг хичээдэг, хамгийн өндөр мэдлэгтэй quorum-ийг илтгэж эсвэл нотолгоо хийх арга хэмжээг өөрчлөх бөгөөд тэгж эрдэмтэд зөрчилдөж буй бөмбөгүүдийг эцэслэхгүй болно.

Хөдөлмөрийн ачааллыг сэргээх нь эцсийн шийдвэрийн хувьд тусгагдсан. Энэ тохиолдолд дундаж нь найдвартай дамжуулалт ашигладаг (RBC) эсвэл ашигтай ачааг нөхөн сэргээхийн тулд блок синхрон хийх, үүнийг зарласан хашийн эсрэг шалгах, Зөвхөн дараа нь блок дэлхийн улс орон болон Kura.

Эдийн засгийн тохиролцооны хэлбэр

Сонгон шалгарсан хэв маяг нь баталгаажуулагч цуврал хэрхэн үүсч, үйл ажиллагаа явуулдаг талаар хяналт тавьдаг. Энэ нь consensus_mode дамжуулан эхлэлээр болон sumeragi.consensus_mode дамжуулан ижил төстэй конфигурациар зарласан байна. Хүлжээний түгээмэл байдалтай харьцах: баталгаажуулагчдыг ижил гарын үсэг зурсан эх үүсвэр, топологи, итгэмжлэгдсэн зэрэглэлийн мэдээлэл болон үр дүнтэй Sumeragi параметр хэрэгтэй.

Sumeragi consensus mode data flow
Дээрх хэв маягХамгийн тохиромжтой .Үнэлгээгчийн багцҮйл ажиллагааны төвлөрөлт
зөвшөөрөлтэй .Хувийн, консорциумын болон оператор удирдах сүлжээХөдөлмөрийн хэрэгслийн баталгаажуулагч нь ашиглалтад оруулсан итгэмжлэгдсэн өрсөлдөгчдийн топологиас ирсэн юмБүх баталгаажуулагчдыг ижил гарын үсэг зурсан эх үүсвэрийн, итгэмжлэгдсэн дундаж, дундаж түлхүүр, Sumeragi параметр дээр хадгалах.
НПОСОлон нийтийн эсвэл Nexus чиглэсэн сүлжээ, хэрэв баталгаажуулах нь нэр дэвшүүлэх болон хувьцааны бодлогыг дагаж мөрдөх болҮнэлгээгчийн сонголт нь НПОС-ийн хувилбарын дагуу, ихэвчлэн үе шатны хооронд явагддаг бөгөөд BLS түлхүүр болон эзэмшилийн гэрчилгээ шаарддаг.Хөдөлмөрийн урсгал, эпохийн параметр, баталгаажуулагч PoPs болон NPoS-ийн үе шатны цаг хугацааг сүлжээнд тохируулж байлгаарай

Хөдөлмөрийн зөвшөөрөл

Үнэлгээний жагсаалт нь тодорхой үйл ажиллагааны сонголт байх үед зөвшөөрөлтэй хэв маяг ашиглах. Энэ бол өөрөө зохион байгуулалттай Iroha сүлжээний хэвийн эхлэл юм, учир нь гишүүнчлэлийн өөрчлөлт нь санаатай удирдлага эсвэл захирал үйлдлүүд юм. Үйл ажиллагааны чухал дүрэм нь аливаа баталгаажуулагч генез, итгэмжлэгдсэн зэрэгцэцэг, BLS Хуультай байдлын гэрчилгээ болон Sumeragi параметрүүдийн ижил төстэй үзэл баримтлалтайгаар ажиллах ёстой юм.

НПУ-ын хэв маяг

NPoS хэлбэрийг ашиглах нь хэрэглэгчийн оролцоог нэр дэвшүүлэх болон сахиулах байдлаас шалтгаална гэж тавигдах үед. Нийтийн SORA Nexus нэвтрүүлэг нь NPoS-ийг ашигладаг бөгөөд тэдгээрийн үүсгэсэн профилүүд нь BLS баталгаажуулагчийн тодруулгыг, эзэмшилийн батламж, үе үеийн тохируулалт, болон Sumeragi NPoS параметр нь эхлүүлэхэд шаардлагатай. Эпохийн өөрчлөлтүүд тодорхой өндөрт тохируулсан идэвхтэй баталгаажуулагчийг солилцож болно, тиймээс оператор нар санал нэгдлийн эрүүл мэнд болон дараагийн жагсаалтыг хооллож байгаа оролцоо эсвэл нэр дэвшилтний байдлыг хяналт шалгах хэрэгтэй.

Олон улсын санал хураалт

Iroha-ийн олон чиглэлийн тохиролцооны замыг Nexus замын болон өгөгдлийн талбайны конфигурациар хэрэгжүүлж байна. Энэ нь нэг замын хувьд тусгай зөвлөлдөх явцыг эхлүүлэхгүй. Sumeragi нь нэг захиалсан блок урсгалыг эцэслэн гүйцэтгэдэг; гүйлгээний замыг тухайн урсгалд хэрхэн чиглүүлж, хуваарилж, бүртгэж, хадгалах талаар тодорхойлж байна.

Хөдөлмөрийн цаг хугацааны конфигурацын хувьд гурван хэсгээр замын байдал бий болдог:

  • lane_catalog: санхүүжүүлсэн шугам, тус бүр LaneId тооны тэмдэгтэй, нууц нэртэй, өгөгдлийн орон зай, харагдал, хадгалах профиль, баталгаажуулах схема, метадэтгэлтэй.
  • dataspace_catalog: конфигуруулсан өгөгдлийн талбай, тус бүр DataSpaceId тооны тэмдэгтэй бөгөөд ээлжит байнгын хорооны хэмжээний хувьд хэрэглэгддэг алдаатай байдлын үнэлгээтэй.
  • routing_policy: урьдчилан сэргийлэх замын / мэдээллийн орон тооны хосууд болон захиалсан чиглэлийн дүрэмүүд нь бүртгэл эсвэл заалын замаар нийцэж болно.

Транзакцын дараалалд орж ирэхэд, замын маршрутизатор үүнийг RoutingDecision { lane_id, dataspace_id } -д шийддэг. Нэг замын режист энэ нь үргэлж замын 0 болон түвшний мэдээллийн орон зай юм. Nexus хэлбэрээр тохируулсан маршрутизатор нь мэдээллийн орон тооны хэмжээнд заасан дүрэм, зохицуулалтын чиглэл, дансны дүрэм, тодорхой чиглэлийн дүрэм, хамгийн сүүлд урьдчилан сэргийлэгдсэн чиглэл хэрэглэдэг. Хөдөлмөр зам болон мэдээллийн орон зай нь тэдгээрийн каталогдод байх ёстой, алхам нь шийдвэрлэсэн мэдээллийн ордтой холбогдсон байх ёстой. Үгүй бол гүйлгээ нь шуурхахаас өмнө үгүйсгэнэ.

Төмөр нь энэ чиглэлийн шийдвэрийг транзакцын хэшээр хадгалж, дараагийн үе шатанд дахин дүгнэлт хийх шаардлагагүй болно. Дараа нь төслийн бүтээн байгуулалтад замын метабараа хоёр янзаар ашигладаг:

  • Энэ нь бүтээн байгуулалтыг замын дагуу явуулдаг тул нэг замын үйл ажиллагаа нь хамгийн түрүүнд шуурхай байсан учраас блок дээр манлайлахгүй.
  • Энэ нь нэг замын гүйлгээ гүйцэтгэх нэгжийн (TEU) хязгаарт хамаарна. Замын тохируулсан хүчин чадал хэтрэх гүйлгээг хойшлуулж, цуцлах бөгөөд замын өмнөх хэт жинтэй гүйлгэнийг амьд зогсоохгүйн тулд хүлээн зөвшөөрөх боломжтой гэсэн үг юм.

Тухайн найдвартай нэвтрүүлгийн үеэр Sumeragi санал болгож буй ашиг ачааллыг замын дагуу болон мэдээллийн орчны дагуу нэгтгэнэ. бүртгэгдсэн дүнгээр гүйлгээний тоо, дамжуулах хэсгүүд, нөөц ачаалалтай байт, TEU. Зохиоллын дараа эдгээр нийтлэлүүд нь замын болон мэдээллийн орон зайны Sumeragi статус. блок нь замын зохицуулалтын төлбөртэй бол блокийн боловсруулалт нь замын тохирууллын үүрэг гүйцэтгэл, дамжуулалт бий болгодог. Block header, commit certificate, data-availability commitment hash, settlement proof-г холбодог хувилбар, болон замын хэрэглээний ачааны хэмжээ.

Бодит дамжуулах (RBC)

Бодит нэвтрүүлэг (RBC) нь Sumeragi-ийн ашиг ачааллын түгээлт, нөхөн сэргээлтийн зам юм. Энэ нь баталгаажуулагчид болон ажиглагчдад санал асуулгад хамаардаг блок хэсгийг олж авах эсвэл гэрчилгээний үүрэг гүйцэтгэхэд туслах бөгөөд ялангуяа BlockCreated илтгэл, блок-синхронлогын шинэчлэл, эсвэл шууд ашиг ачаалал дамжуулалт хоцрогдсон эсвэл алдагдахад тус болно.

RBC нь ашиг ачааллын түвшинд ажилладаг. Сурталч блок өндөр, үзлэг, ашиг ачаалал хэшийн RBC ээлжит үеийг мэдэгдэж, дараа нь commit топологид ашиг ачааны хувилбарыг илгээдэг. Хөгжлийн хяналт шалгаруулагчид хэсгийн хүлээн авч, сэргээсэн ашиг ачааллыг зарласан хашигтай харьцуулахад баталгаажуулж, READY болон DELIVER сигналын солилцоо нь хангалттай баталгаажуулагчид ижил ашиг ачаалал ажигласан дараа. Хурлын хуралдаанууд TTL, хэсгэгдсэн, хараагүй, хүлээлттэй хадгаламж болон хэвээр байгаа дэлгүүрүүдийн хязгаартай тул сэргээлт хөдөлгөөний хэмжээ хязгааргүй өсөхгүй.

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 эцсийн цэгүүд хараарай.
  • sumeragi_rbc_store_pressure, sumeragi_rbc_backpressure_deferrals_total гэх мэт Prometheus сигналууд, нэг замын эсвэл нэг өгөгдлийн орон зайд RBC хязгаарлагдлын хэмжээнүүд нь сүлжээний алдагдал, хэсгийг сэргээх, хадгалах даралтыг тус тус тусалдаг; үзнэ үү Үйлдвэрлэл болон үзүүлэлтүүд.

Kura нь хадгаламжийн зохион байгуулалтын хувьд гаралтай замын конфигурацийг ашигладаг. Замын бүрт blocks/lane_000_core болон merge_ledger/lane_000_core_merge.log гэх мэт тодорхойлох агуулах нэрүүд байдаг; замын амьдралын мөрийн өөрчлөлт нь эдгээр хэсгүүдийг дэлхийн блок тогтолцоог өөрчлөхгүйгээр хангах, арилгах, эсвэл дахин тэмдэглэх боломжтой.