Mitä on stake-painotettu palvelun laatu (QoS)?
Stake-painotettu QoS (Quality-of-Service) on toteutusominaisuus, joka käytössä ollessaan mahdollistaa johtajien (lohkontuottajien) tunnistaa ja priorisoida staked validator -solmun kautta välitettyjä transaktioita lisättynä sybil-vastustusmekanismina. Koska Solana on proof of stake -verkko, on luontevaa laajentaa stake-painotuksen hyödyllisyyttä transaktioiden palvelun laadun hallintaan. Tämän mallin mukaan validator, jolla on 0,5 %:n stake, saa oikeuden lähettää enintään 0,5 % paketeista johtajalle ja pystyy vastustamaan sybil-hyökkäyksiä muusta verkosta.
Tämän ominaisuuden käyttöön ottavat operaattorit parantavat verkon turvallisuutta ja suorituskykyä vähentämällä todennäköisyyttä, että matalan tai nollastaken (heikkolaatuiset) validatorit pystyvät "hukkumaan" korkeampilaatuisten (suuremman staken) validatorien transaktiot (eli parannettu sybil-vastustus).
Yksi mahdollinen hyöty stake-painotetun QoS:n käyttöönotosta voidaan saavuttaa, jos validatorien ja RPC-solmujen välillä on tiettyjä sopimuksia. RPC-solmut voivat saada enemmän transaktioita lohkoihin sopimalla yhteistyöstä validatorien kanssa, ja validatorit voivat myydä enemmän kapasiteettia RPC-solmuille. Nämä sopimukset on tehtävä suoraan RPC-operaattorien ja validatorien välillä, ja niihin sisältyy alla tässä dokumentissa kuvattujen vaiheiden toteuttaminen yhteyden muodostamiseksi.
Ketä stake-painotettu QoS hyödyttää?
Kaupalliset RPC-infrastruktuurioperaattorit ja pörssit ovat todennäköisesti stake-painotetun QoS:n merkittävimpien hyötyjien joukossa. RPC-operaattorit ovat ihanteellisessa asemassa hankkimaan tai neuvottelemaan sopimuksia staked validatorien kanssa, mikä mahdollistaa paremman prosenttiosuuden transaktioista lohkoihin kokonaisuudessaan. Pörssit (tai muut tahot), jotka isännöivät omia validator-solmujaan ja RPC-solmujaan samassa infrastruktuurissa, voivat ottaa ominaisuuden käyttöön sisäisesti luottavaisina siihen, että heidän omassa infrastruktuurissaan toimiviin RPC-solmuihin voidaan luottaa.
Miksi stake-painotettu QoS on tärkeä?
Stake-painotettu QoS käytössä validator, jolla on 1 %:n stake, saa oikeuden lähettää enintään 1 % paketeista johtajalle. Näin suuremman staken validatorit saavat taatun korkeamman palvelun laadun, mikä estää heikkolaatuisia validatoreja (joilla on vähemmän stakea) haitallisesti tukkimasta näitä transaktioita, mikä lisää kokonaisvaltaista sybil-vastustusta.
Toisin sanoen, kuvittele millainen maailma olisi, jos yhden matkustajan autot saisivat kulkea kimppakyytikaistalla vapaasti. Pian kimppakyytikaista, joka on suunniteltu kuljettamaan enemmän ihmisiä samalla tieosuudella, muuttuisi hyödyttömäksi. Moottoritien kokonaistoimivuus heikkenisi ja harvemmat pendolöijät pääsisivät perille. Tämä vaikutus on samankaltainen kuin se, mitä tapahtuu, kun matalan staken validatorit saavat lähettää transaktioita johtajalle samalla prioriteetilla kuin korkean staken validatorit.
Kenen pitäisi ottaa stake-painotettu QoS käyttöön?
Stake-painotettu QoS tulisi ottaa käyttöön validator-solmuissa, jotka on yhdistetty erittäin luotettuihin RPC-solmuihin. Tästä on hyötyä tilanteissa, kuten RPC:n ja validatorin ajamisessa samassa infrastruktuurissa, jossa luottamustaso on jo korkea. Stake-painotettu QoS toimii parhaiten korkean luottamuksen kokoonpanoissa ja edellyttää, että validator ja RPC sopivat asiasta etukäteen ennen ominaisuuden käyttöönottoa. On vahvasti suositeltavaa, että validatorit eivät yritä ottaa stake-painotettua QoS:a käyttöön epäluotettujen RPC:iden kanssa.
Stake tulisi kohdistaa lohkoja tuottaville validatoreille. Staken delegoiminen RPC-palvelimille ei ole tarpeellista, suositeltavaa eikä tehokasta.
Miten stake-painotettu QoS toimii?
Stake-painotettu QoS käytössä RPC-solmut, jotka on yhdistetty validatoriin, saavat "virtuaalisen" staken sen suhteen, miten kyseinen johtaja käsittelee saapuvaa TPU (Transaction Processing Unit) -liikennettä kyseiseltä RPC-solmulta — mikä ei normaalisti ole mahdollista. Määritelmällisesti RPC-solmut ovat "stakaamattomia" ja "ei-äänestäviä" eli "ei-konsensus"-solmuja, eivätkä ne pysty hyödyntämään priorisoitujen transaktioiden etuja stakkaamalla samalla tavoin kuin konsensussolmut. Miten käytät stake-painotettua QoS:a transaktioiden laskeutumiseen? Stake-painotetun QoS:n käyttöönotto edellyttää validator-solmun ja RPC-solmun konfiguroimista luotetun vertaissuhteen muodostamiseksi. Tähän sisältyy erilliset konfiguraatiovaiheet sekä validator-solmulle että RPC-solmulle, jotka on lueteltu alla. Operaattorit, jotka haluavat ottaa stake-painotetun QoS:n käyttöön, tarvitsevat seuraavat asiat ennen aloittamista:
Verkossa toimiva stakella varustettu validator JA validatoriin yhdistetty RPC
Stake-painotettu QoS ei toimi, ellei MOLEMPIA puolia ole asianmukaisesti konfiguroitu.
Validator-solmun konfigurointi
Validatorissa sinun täytyy ottaa käyttöön
--staked-nodes-overrides /path/to/overrides.yml. Lippu
--staked-nodes-overrides auttaa validatoria priorisoimaan tunnetuista lähteistä lähetettyjä transaktioita staken soveltamiseksi niiden transaktioihin. Tämä voi auttaa validatoria priorisoimaan tiettyjä transaktioita tunnetuilta isänniltä muiden yli, mahdollistaen stake-painotetun QoS:n käytön RPC:iden kanssa. RPC:itä ei tulisi staketa millään tavoin.
Tällä hetkellä stake-painotettu QoS antaa stake-painotetun prioriteetin 80 %:lle johtajan TPU-kapasiteetista. Kuitenkin on konfigurointivaihtoehtoja, joita voidaan käyttää virtuaalisesti erilaisten stake-painojen määrittämiseen TPU-vertaisille, mukaan lukien virtuaalisen staken määrittäminen stakaamattomille vertaisille.
Tiedosto --staked-nodes-overrides -lipulle näyttää tältä:
staked_map_id:pubkey1: 1000000000000000pubkey2: 4000000000000000
staked_map_id sisältää kartan identiteetin julkisesta avaimesta lamport-määräiseen stake-summaan, joka sovelletaan kuhunkin RPC:hen. Kun se on asetettu, validator priorisoi QUIC-yhteydet kyseisen identiteetin pubkey -osoitteessa olevaan RPC:hen, määrittäen stake-summan niiden transaktioille. Johtajan TPU-kapasiteetin 80 % jaetaan suhteellisesti staked-nodes-overrides-tiedostossa määriteltyjen lamport-määrien ja olemassa olevan klusterin staken perusteella.
RPC-solmun konfigurointi
RPC:ssä sinun täytyy käyttää --rpc-send-transaction-tpu-peer -komentoa transaktioiden välittämiseen tietylle johtajalle. Tarkka käyttö olisi
--rpc-send-transaction-tpu-peer HOST:PORT. Host on sen johtajan IP-osoite, jolla on staked-nodes-overrides käytössä, ja Port on kyseisen isännän QUIC TPU -portti. QUIC TPU -portti johtajalle voidaan tunnistaa tekemällä RPC-kutsu getClusterNodes-metodille.
Yhteys näyttäisi seuraavanlaiselta:
Kaavio RPC:iden yhdistämisestä validatoriin stake-painotettua QoS:a varten
Yhteenveto
Stake-painotettu QoS on valinnainen ominaisuus, joka tuli mukaan Solana-asiakkaan versiossa v1.14, joka tunnetaan nykyään nimellä Agave. Agave on haarautettu versio Solana Labs -asiakkaasta, josta on tullut Anza-tiimin käyttämä aktiivinen haara — Anza on Solana Labsin entisen insinööritiimin perustama erillinen organisaatio.
Stake-painotettu QoS -ominaisuus on todennäköisimmin hyödyllinen RPC-infrastruktuurioperaattoreille, jotka ovat asemassa luoda luottamuksellisia suhteita staked-solmuoperaattorien kanssa. Se on myös hyödyllinen pörsseille, jotka ylläpitävät sekä RPC-solmuja että validator-solmuja ja pystyvät muodostamaan korkean luottamuksen yhteyksiä sisäisesti.
Is this page helpful?