Heimdalas

Visi matantys ir visi matic klausos gynėjai

Kreditai: „Pepakura Helmet Heimdall“ iš „GimpeeIndustries“

„Matic Network“ turi trijų sluoksnių saugumo architektūrą, kurioje dalyvauja šie subjektai:

1) „Blokų gamintojai“ - „BOR“ grandinė: jie dalyvauja paketų operacijose blokuose, kad būtų užtikrintas greitesnis patvirtinimo laikas

2) Patvirtinimo sluoksnis - dar žinomas kaip Heimdall: Tai yra patvirtinimo mazgai, kurie kaupia blokų gamintojų pagamintus blokus ir stumia juos į Ethereum

3) Tinklo stebėtojai - jie yra „Ethereum“ veikėjai ir naudojasi sukčiavimo įrodymais, kad užginčytų bet kokį sandorį, kuris, jų manymu, yra apgaulingas šoninėse grandinėse.

„Matic Network“ - supaprastinta architektūros schema

Norėdami sužinoti daugiau apie „Matic“ architektūrą, skaitykite straipsnyje:

Pradėkite gilintis į „Heimdall“!

„Heimdall“ yra didelė grupė patvirtinimo mazgų, kurie naudojami kaip tiltas, jungiantis Ethereum grandinę ir Borą. Kiekvienas gali tapti patvirtintoju ir paleisti patvirtinimo mazgą „Matic“ grandinėje, naudodamasis Ethereum grandine.

„Heimdall“ patvirtintojų atsakomybė apima:

  1. Operacijų tikrinimas blokų gamintojo mazgų sukurtuose blokuose
  2. Sukurkite Merkle šaknį iš 256 ar daugiau blokų
  3. Pasiekti patvirtintojų sutarimą ir nukreipti Merklės šaknį į Ethereum
  4. Bendravimas su kitais patvirtinimo mazgais ir sutarimas dėl blokų, kurie turi būti įtraukti į patikros tašką, rinkinio
  5. Visi tikrintojai, gavę patikros tašką, patikrina, ar jie užklausia savo bloko gamintojo mazgus, jei patikros punkte esanti Merkle šaknis sutampa su Merkle šakne, kurią jie sukūrė tam pačiam blokų rinkiniui.
  6. Kontrolinio taško perkėlimas į pagrindinę grandinę po to, kai jį patvirtina 2/3 „Heimdall“ patvirtintojų dauguma
Taip atrodo kontrolinis punktas

„Heimdall“ tinklas užtikrina, kad blokų gamintojų mazgai nepadarytų jokios apgaulės, todėl jie nepasitiki jokia iš Bor gauta informacija. „Heimdall“ remiasi tik „Ethereum“ kaip tiesos šaltiniu, nes „Ethereum“ grandinėje įvyksta viskas, pradedant naujais įteisintojais, išeinančiais patvirtintojais, baigiant atlygintiniu paskirstymu patvirtintojams ir kt. Atlikus su patvirtinimo programa susijusius veiksmus su intelektualiąja sutartimi, patvirtintojas gali pateikti „validatorJoin“ arba „validatorExit“ arba „validatorUpdate“ operaciją „Heimdall“. Visi patvirtintojai teiraujasi dėl intelektualiosios sutarties, kuri valdo patvirtintojus ir patvirtina operacijas „Heimdall“.

Čia yra keletas problemų, su kuriomis susidūrėme kurdami patvirtinimo mazgą:

  1. Ethereum ir Heimdall tikrai yra draugai, tačiau jie nebendrauja „valstijose“ tarpusavyje, todėl sunku dalintis informacija tarp šių dviejų atskirtų grandinių.
  2. „Ethereum“ kaupia visą informaciją apie tai, ką Heimdalas paskyrė patvirtintojais, tačiau net neįsivaizduoja, kuris patvirtintojas nuspręs kito patikrinimo punkto siūlytoją.
  3. „Heimdall“ patvirtintojai turi įrodyti, kad susitarė dėl patikrinimo punkto pasirašydami. Parašai būtų tikrinami grandinėje, „Tendermint“ naudojo25519 kreivę kaip bitkoinas, tuo tarpu „Ethereum“ naudoja sekp256k1, taip pat reikėjo pakeisti parašo schemą „Tendermint“ grandinėje, kad ji būtų suderinama su „Ethereum“.
  4. Duomenys apie intelektualiąsias sutartis keičiasi, kai tikrintojai įeina, išeina ir atsiranda nauji būsenos pakeitimai. Kaip naujai sinchronizuojamas mazgas turėtų patvirtinti operacijas, kurios tokiais atvejais apima sąveiką su kita grandine?

Palaikyti sinchronizaciją tarp Ethereum ir Heimdall yra sunku, bet ne neįmanoma. Kurdami mes sugalvojome keletą būdų, kaip išspręsti šias problemas. Norėdami, kad šis darbas būtų elegantiškas, prireikė daugybės pakartojimų piešimo lentoje.

Štai kaip dabar veikia kontrolinio taško siuntimas per „Heimdall“:

  1. Iš patvirtinimo fondo pasirinktas pasiūlymo teikėjas sukuria kontrolinį tašką apskaičiuodamas 256 ar daugiau blokų Merkle šaknį ir tikrindamas operacijas blokų viduje.
  2. Siūlytojas siūlo patikrinimo tašką visiems patvirtintojams. Kontroliniame punkte yra meta informacijos apie jį, kad visi kiti tikrintojai galėtų jį patvirtinti.
  3. Visi tikrintojai, gavę kontrolinį tašką, patikrina, ar nurodytų blokų Merkle šaknis atitinka tai, ką jie turi.
  4. Jei patikros taškas yra teisingas, vertintojai, naudojantys „Tendermint“ bendro variklio paskalą, balsuoja vienas kitam.
  5. Kai tikrinimo punktas gauna balsų iš 2/3 visų patvirtintojų, kontrolinis taškas įrašomas į eilę „Heimdall“ ir siunčiamas į Ethereum.
  6. Tai yra tada, kai pasiūlymo pateikėjas surenka balsus ir pateikia juos „Ethereum“, įrodydamas sumaniai sutarčiai, kad kontrolės punktas pasiekė sutarimą dėl „Heimdall“.
  7. Išmanioji sutartis „Ethereum“ tinkle saugo įrašą, kiek kontrolinių punktų buvo gauta ir kam jie buvo pateikti, bei kitus svarbius duomenis.
  8. Kai Ethereum operacija bus sėkminga, pasiūlymo teikėjas siunčia dar vieną Heimdall operaciją, vadinamą ACK; kuriame yra patikrinimo taško numeris, kurį intelektinė sutartis visiems patikėtojams suteikė patikros taškui, patvirtinantį, kad kontrolinio taško operaciją priėmė „Ethereum“.
  9. Visi yra tokie skeptiški „Heimdall“ atžvilgiu, kad patys kartu su „Ethereum“ patikrina, ar patikros taškas buvo teisingas, ar tik tada apdoroja operaciją. Tai pasakyta posakiu: „Nepasitikėk. Patikrinkite “į bagažinę.
  10. Ir galiausiai patikrinimas patvirtinamas Heimdall

Bet bet bet ... O kas, jei pasiūlymo pateikėjas nepateikia patikrinimo punkto?

11. Praėjus tam tikram laiko tarpui, kiti tikrintojai iš eilės siunčia „NoAck“ operaciją visiems patvirtintojams, signalizuodami, kad kontrolinis punktas ilgą laiką nebuvo pateiktas intelektinei sutarčiai ir jie nori išsiųsti patikros tašką.

12. „Heimdall“ patikrina, ar tai tiesa, ir leidžia kitam pasiūlymo teikėjui atnaujinti procesą

Šis dviejų fazių tikrinimo taškas leidžia lengvai suderinti abi grandines ir padeda nubausti siūlytojų, kurie nepateikė patikrinimo taško, ir apdovanoti gerus tikrintojus.

Tikimės, kad šis įrašas jums pateikė apžvalgą, kaip „Validator“ sluoksnis sąveikauja su „Ethereum“. Mes tęsime šią seriją, kad suteiktume jums gilesnį supratimą apie Heimdallą.

Tegul Heimdalas ilgai karaliauja!

Susisiekite su mumis

Interneto svetainė | „GitHub“ | „Twitter“ | Telegrama | „Reddit“ | „YouTube“

Ankstesnės publikacijos