Heimdall

Maticin kaikki näkevät ja kaikki kuulonsuojaimet

Laajuus: Pepakura-kypärä Heimdall, kirjoittanut GimpeeIndustries

Matic-verkolla on kolmikerroksinen tietoturva-arkkitehtuuri, johon osallistuvat seuraavat kokonaisuudet:

1) Block Producers —aka BOR -ketju: Ne osallistuvat erien toimittamiseen lohkoissa nopeampien vahvistusaikojen varmistamiseksi

2) Validointikerros - alias Heimdall: Nämä ovat validointisolmuja, jotka erästävät lohkojen tuottajien tuottamat lohkot ja työntävät ne Ethereumiin

3) Verkkotarkkailijat - He ovat Ethereumin toimijoita ja käyttävät petoksen todisteita haastaakseen kaikki petosiksi katsomat liiketoimet sivuketjuissa.

Matic Network - yksinkertaistettu arkkitehtuurikaavio

Katso parempi artikkeli Maticin arkkitehtuurista tutustumalla artikkeliin:

Aloita syvälle sukeltamiseen Heimdalliin!

Heimdall on suuri ryhmä validaattorisolmuja, jotka toimivat silpana yhdistämään Ethereum-ketju ja Bor. Kuka tahansa voi tulla validoijaksi ja ajaa validointisolmun Matic-ketjussa panostamalla Ethereum-ketjuun.

Validoijien vastuu Heimdallin mukaan sisältää seuraavat:

  1. Toimenpiteiden todentaminen lohkojen tuottajan solmujen tuottamissa lohkoissa
  2. Merkle-juuren luominen vähintään 256 lohkosta
  3. Validoijien yksimielisyyden saavuttaminen ja Merklen juuren työntäminen Ethereumiin
  4. Yhteydenpito muiden validointisolmujen kanssa ja konsensuksen saavuttaminen tarkistuspisteeseen sisällytettävistä lohkosarjoista
  5. Kaikki validoijat, jotka saavat tarkistuspisteen, tarkistavat sen kyselynsä lohkojen tuottajan solmuille, jos tarkistuspisteessä oleva Merkle-juuri vastaa Merkle-juuria, jonka ne tuottivat samalle lohkolle
  6. Tarkistuspisteen työntäminen pääketjuun sen jälkeen kun sen on valinnut Heimdallin 2. / 3. enemmistö
Tämä on miltä tarkistuspiste näyttää

Heimdall-ketju varmistaa, että lohkojen tuottajan solmut eivät tee minkäänlaisia ​​petoksia, joten he eivät luota mistään Borilta saamiaan tietoja. Heimdall luottaa vain Ethereumiin totuuden lähteenä, sillä Ethereum-ketjussa tapahtuu kaikkea aina tulevista uusista validoijista, validoijista poistumisesta palkitsemiseen jakeluun validoijiksi jne. Kun tarkistimeen liittyvä toiminto on suoritettu älykkäälle sopimukselle, validoija voi lähettää validatorJoin tai validatorExit tai validatorUpdate -tapahtuman Heimdallissa. Kaikki validoijat kysyvät älykkäältä sopimukselta, joka hallinnoi validoijia ja validoi tapahtumia Heimdallissa.

Tässä on joitain ongelmista, joihin olemme kohdanneet validointisolmua suunnitellessamme:

  1. Ethereum ja Heimdall ovat varmasti ystäviä, mutta he eivät jaa "valtioita" keskenään, joten tiedon jakaminen näiden kahden hajautetun ketjun välillä on vaikeaa.
  2. Ethereum tallentaa kaikki tiedot siitä, kuka Heimdall on nimittänyt validoijiksi, mutta hänellä ei ole aavistustakaan, mikä validoija päättää seuraavan tarkistuspisteen ehdottajan.
  3. Heimdallin tarkastajien on todistettava sopineensa tarkastuspisteestä allekirjoittamalla sen. Allekirjoitukset tarkistettaisiin ketjussa, Tendermint käyttää25519kuorea kuten bitcoin, kun taas Ethereum käyttää sekp256k1, joten Tendermint-ketjun allekirjoitusjärjestelmän muutos oli tehtävä, jotta se olisi Ethereum-yhteensopiva.
  4. Tietoja älykkäistä sopimusmuutoksista, kun validoijat tulevat, poistuvat ja uusia tilamuutoksia tapahtuu. Kuinka äskettäin synkronoidun solmun on tarkoitus vahvistaa sellaisissa tapauksissa tapahtumia, joihin liittyy vuorovaikutus toisen ketjun kanssa?

Synkronoinnin ylläpitäminen Ethereumin ja Heimdallin välillä on vaikeaa, mutta ei mahdotonta. Kehityksen aikana keksimme useita lähestymistapoja näiden kysymysten ratkaisemiseksi. Kesti meiltä useita iterauksia piirtotaululla tehdäksemme tästä työstä tyylikkäästi.

Näin tarkistuspisteen lähettäminen Heimdallin kautta toimii nyt:

  1. Vahvistajapoolista valittu ehdottaja luo tarkistuspisteen laskemalla Merkle-juurin, joka on vähintään 256 lohkoa, samalla kun varmennetaan lohkojen sisäiset tapahtumat.
  2. Ehdottaja ehdottaa tarkistuspistettä kaikille validoijille. Tarkastuspiste sisältää metatietoja siitä, jotta kaikki muut validoijat voivat vahvistaa sen.
  3. Kaikki tarkistuspisteen vastaanottajilla olevat tarkastajat tarkistavat, vastaako annettujen lohkojen Merkle-juuri sitä, mikä heillä on.
  4. Jos tarkistuspiste on oikea, Tendermint-konsensusmoottorin juoruja käyttävät validoijat äänestävät toisiaan.
  5. Kun tarkistuspiste on vastaanottanut äänet kahdelta kolmasosalta kaikista validoijista, tarkistuspiste asetetaan Heimdall-jonoon lähetettäväksi Ethereumiin.
  6. Silloin ehdottaja noutaa äänet ja toimittaa ne Ethereumiin todistamalla älykkäälle sopimukselle, että tarkastuspiste on saavuttanut yksimielisyyden Heimdallista.
  7. Ethereum-ketjun älykäs sopimus pitää kirjaa siitä, kuinka monta tarkistuspistettä on vastaanotettu ja kenelle ne on toimitettu, sekä muuta olennaista tietoa.
  8. Kun Ethereumin kauppa onnistuu, ehdottaja lähettää uuden kaupan Heimdallilla nimeltään ACK; joka sisältää tarkistuspisteen numeron, jonka älykäs sopimus on antanut tarkistuspisteelle kaikille validoijille, jotka tarkistuspisteen tapahtuman ovat hyväksyneet Ethereum.
  9. Kaikki ovat niin epäileviä Heimdallissa, että he itse tarkistavat Ethereumilta, onko tarkistuspiste oikeassa vai ei, ja vasta sitten käsittelee tapahtuman. Se seuraa lausetta - ”Älä luota. Vahvista ”.
  10. Ja lopuksi tarkistuspiste vahvistetaan Heimdallilla

Mutta mutta mutta ... Entä jos ehdottaja ei lähetä tarkistuspistettä?

11. Tietyn ajan kuluttua seuraavat linjassa olevat validoijat lähettävät NoAck-tapahtuman kaikille validoijille osoittaen, että tarkistuspistettä ei ole toimitettu älykkäälle sopimukselle pitkään aikaan ja että he haluavat lähettää tarkistuspisteen.

12. Heimdall tarkistaa onko tämä totta ja sallii seuraavan ehdottajan rivillä käynnistää prosessin uudelleen res

Tämä kaksivaiheinen tarkistuspiste antaa meille mahdollisuuden pitää molemmat ketjut helposti synkronoituna ja auttaa meitä rankaisemaan hakijoita, jotka eivät toimittaneet tarkistuspistettä, ja palkitsemaan hyvät validoijat.

Toivomme, että tämä viesti antoi sinulle yleiskuvan siitä, kuinka Validator-kerros toimii Ethereumin kanssa. Jatkamme tätä sarjaa antaaksemme sinulle syvemmän kuvan Heimdallista.

Voi Heimdall hallita pitkään!

Ota yhteyttä

Verkkosivusto | GitHub | Twitter | Sähkökuva | Reddit | YouTube

Aikaisemmat julkaisut