Heimdall

Matici kõik näevad ja näevad kuulmiskaitsed

Autorid: Pepakura kiiver Heimdall, autor GimpeeIndustries

Matic Networkil on kolmekihiline turbearhitektuur, milles osalevad järgmised üksused:

1) plokkitootjad - ja BOR kett: need on seotud tehingute pakkimisega plokkides, et tagada kiiremad kinnitusajad

2) valideerijakiht - aka Heimdall: need on valideerimissõlmed, mis paneerivad plokkide tootjate toodetud plokid ja suruvad need Ethereumi

3) Võrguvaatlejad - nad on Ethereumi osalised ja kasutavad pettuse tõendusmaterjali abil vaidlustada tehinguid, mida nad peavad külgkettides petturlikeks.

Matic Network - lihtsustatud arhitektuuriskeem

Matici arhitektuuri parema konteksti saamiseks lugege artiklit:

Ole valmis Heimdallisse sukelduma!

Heimdall on suur rühm valideerija sõlme, mis toimivad sillana Ethereumi ahela ja Bori ühendamiseks. Igaüks võib saada valideerijaks ja käivitada valideerimissõlme Matici ahelas, pannes kinni Ethereumi ahelasse.

Heimdalli alusel valideerijate kohustused hõlmavad järgmist:

  1. Plokkide tootjate sõlmede toodetud plokkides tehtavate tehingute kontrollimine
  2. 256 või enama ploki Merkle'i juure loomine
  3. Valideerijate seas üksmeele saavutamine ja Merkle'i juure viimine Ethereumi
  4. Suhtlemine teiste valideerimissõlmedega ja konsensuse saavutamine kontrollpunktis sisalduvate plokkide komplekti osas
  5. Kõik kontrollpunkti saabuvad valideerijad kontrollivad seda, kas nad küsivad nende plokkide tootjate sõlmede kohta päringuid, kui kontrollpunkti Merkle'i juur langeb kokku Merkle'i juuriga, mille nad produtseerisid sama plokkide komplekti jaoks
  6. Kontrollpunkti lükkamine peaahelasse pärast seda, kui selle on kinnitanud Heimdalli valideerijate 2/3 enamus
Nii näeb kontrollpunkt välja

Heimdalli kett hoolitseb selle eest, et plokkide tootjate sõlmed ei paneks toime pettusi, seetõttu ei usalda nad Borilt saadud teavet. Heimdall tugineb tõeallikana ainult Ethereumile, sest Ethereumi ahelas toimub kõike alates saabuvatest uutest valideerijatest, valideerijatest väljumiseni kuni premeerimiseni valideerijateni jne. Pärast aruka lepinguga seotud valideerijaga seotud toimingu teostamist saab valideerija Heimdallil esitada valideerijaJoin või validatorExit või validatorUpdate tehingu. Kõik valideerijad pärivad nutilepingult, mis haldab valideerijaid ja valideerib tehinguid Heimdallis.

Siin on mõned probleemid, millega oleme valideerimissõlme kujundamisel kokku puutunud:

  1. Ethereum ja Heimdall on kindlasti sõbrad, kuid nad ei jaga omavahel "osariike", seetõttu on teabe jagamine nende kahe lahtiühendatud ahela vahel keeruline.
  2. Ethereum talletab kogu teabe selle kohta, kelle Heimdall on valideerijaks määranud, kuid tal pole aimugi, milline valija järgmise kontrollpunkti ettepaneku tegija üle otsustab.
  3. Heimdalli valideerijad peavad selle allkirjastamisega tõestama, et nad on kontrollpunkti kokku leppinud. Allkirju kontrollitakse ahelas, Tendermint kasutab25519kõverat nagu bitcoin, samas kui Ethereum kasutab sekp256k1, pidi ka Tendermint keti allkirjastamisskeemi muutma, et muuta see Ethereumiga ühilduvaks.
  4. Andmed arukate lepingumuutuste kohta, kui valideerijad sisenevad, väljuvad ja toimuvad uued olekumuudatused. Kuidas peaks värskelt sünkroonitud sõlm valideerima tehinguid, mis hõlmavad sellisel juhul interaktsiooni teise ahelaga?

Ethereumi ja Heimdalli vahelise sünkrooni säilitamine on keeruline, kuid mitte võimatu. Arendamise käigus jõudsime nende probleemide lahendamiseks mitme lähenemiseni. Selle töö elegantseks tegemiseks kulus meil joonistuslaual palju iteratsioone.

Heimdalli kaudu toimib kontrollpunkti saatmine praegu järgmiselt:

  1. Valideerijakogust valitud pakkuja loob kontrollpunkti, arvutades 256 või enama ploki Merkle'i juure, kontrollides samal ajal plokkides tehtud tehinguid.
  2. Taotleja soovitab kontrollpunkti kõigile valideerijatele. Kontrollpunkt sisaldab selle kohta metateavet, nii et kõik teised valideerijad saaksid selle kinnitada.
  3. Kõik kontrollpunkti vastuvõtmise kontrollijad kontrollivad, kas antud plokkide Merkle'i juur ühtib sellega, mis neil on.
  4. Kui kontrollpunkt on õige, hääletavad Tendermint konsensuse mootori kuulujutte kasutavad valideerijad üksteist.
  5. Kui kontrollpunkt on saanud hääli 2/3 kõigilt valideerijatelt, pannakse kontrollpunkt Heimdalli järjekorda ja saadetakse Ethereumi.
  6. See on siis, kui ettepaneku tegija kogub hääled ja edastab need Ethereumis, tõestades arukale lepingule, et kontrollpunkt on saavutanud Heimdalli suhtes konsensuse.
  7. Ethereumi ahela arukas leping peab arvet selle kohta, kui palju kontrollpunkte on vastu võetud ja kellele need edastati, ning muud olulist teavet.
  8. Kui Ethereumi tehing on edukas, saadab ettepaneku tegija Heimdallil uue tehingu nimega ACK; mis sisaldab kontrollpunkti numbrit, mis on nutika lepinguga kontrollpunktile määratud kõigile valideerijatele, et kontrollpunkti tehing on Ethereumi poolt aktsepteeritud.
  9. Kõik on Heimdalli suhtes sellised skeptikud, et kontrollivad ise koos Ethereumiga, kas kontrollpunkt oli õige või mitte, ja töötlevad alles seejärel tehingut. See järgneb kõnekäändule - “Ära usalda. Kinnita ”alglaadimisse.
  10. Ja lõpuks kinnitatakse kontrollpunkt Heimdallil

Aga aga aga… Mis juhtuks, kui pakkuja ei esita kontrollpunkti?

11. Pärast teatud ajavahemikku saadavad järgmised valideerijad NoAcki tehingu kõigile valideerijatele, andes märku, et kontrollpunkti pole juba pikka aega arukale lepingule esitatud ja nad soovivad saata kontrollpunkti.

12. Heimdall kontrollib, kas see vastab tõele, ja lubab järgmisel ettepaneku tegijal protsessi uuesti käivitada

See kahefaasiline kontrollpunkt võimaldab meil hõlpsalt mõlemad ahelad sünkroonis hoida ja aitab meil karistada ettepaneku esitajaid, kes kontrollpunkti ei esitanud, ja premeerida häid valideerijaid.

Loodetavasti andis see postitus teile ülevaate Validatori kihi ja Ethereumi vahelise suhtluse kohta. Jätkame seda sarja, et saaksite Heimdallist sügavama ülevaate.

Võib Heimdall kaua valitseda!

võta meiega ühendust

Veebisait | GitHub | Twitter | Telegram | Reddit | Youtube

Varasemad väljaanded