Tezos Blockchain: Dybdeanalyse fra Audit Perspective PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Tezos Blockchain: Dybdeanalyse fra revisjonsperspektivet 

Lesetid: 5 minutter

Tezos blokkjedeprosjekt hadde en fantastisk start ved å samle inn 232 millioner dollar med det første mynttilbudet, og oppnå andreplass i å motta de største midlene blant de 20 største ICO-ene.

Blant de mest populære blokkjedenettverkene, som Ethereum eller Bitcoin, hvordan var Tezos i stand til å få all hypen? For å finne ut svaret, la oss se nærmere på de karakteristiske egenskapene til Tezos som har tiltrukket horder av supportere. 

Mens blokkjeden som dukket opp i løpet av sin tid arbeidet på Proof-of-Work (PoW) konsensus, var Tezos blockchain innovative når det gjaldt å bruke Proof-of-stav(PoS) basert konsensus med en selvendrende mekanisme og styring i kjeden. 

Som et resultat av dette kom Tezos i rampelyset som det perfekte alternativet for å bygge miljøvennlige DeFi-applikasjoner som krever betydelig mindre energi og lave kostnader. Så hvordan tilsvarer Tezos-infrastrukturen fleksibiliteten ved å implementere oppgraderinger mye lettere?

Det får oss til å lære om det arkitektoniske oppsettet, som gir verdi til Tezos.

Smarte kontrakter på Tezos

Smarte kontrakter er kjørbare kontrakter programmert til å behandle utvekslingen av tokens mellom to parter uten å kreve at noen av partene stoler på den andre. 

Når det kommer til Tezos, er det unikt skrevet ved hjelp av programmeringsspråket Michelson. Videre bruker Tezos formell verifisering for å sikre riktigheten av koden, noe som gjør den mer sikker og pålitelig. 

Oppregning av detaljene til Tezos Blockchain

De høydepunktene i Tezos er gitt her for en bedre forståelse av dens konfigurasjon og unikhet. 

Selvendrende

Tezos, som validerer blokker som opererer på konsensusalgoritmen, er innebygd med en selvendrende mekanisme. Eventuelle endringer i protokollen, som å bytte til en annen konsensus, endre belønningssystemet, legge til transaksjoner, etc., implementeres basert på avstemningssystemet på kjeden. 

Eventuelle mindre til større endringer i Tezos økonomiske protokoll utløses av avstemningsprosedyren på kjeden. Denne selvendrende protokollen har overtaket når det gjelder å unngå gafler eller splittelse i samfunnet.

Styring i kjeden

Tezos står i motsetning til Bitcoin og Ethereum, som fulgte de ikke-formaliserte styringssystemene som førte til blokkjedesplittelsen (Bitcoin Cash og Ethereum classic). 

Styringen på kjeden i Tezos gjør det lettere for «bakerne», også kjent som gruvearbeidere, å foreslå og avgi stemmer om protokolloppgraderinger. On-chain metodikken i Tezos er designet for å automatisk implementere oppgraderingene i den underliggende protokollens kode uten å gå gjennom en sentralisert direktør. 

Konsensus om bevis på innsats: PoS 

PoS-konsensus i Tezos lar alle delta. For å være en Tezos-baker som validerer blokken og muliggjør konsensusbygging, bør bakeren ha en minimumsbeholdning av XTZ(native) tokens. 

Den tar også i bruk en metode der brukeren ikke har nok til overs for baking, kan delegere XTZ-tokens til en baker med en stor Tez-bankroll. På sin side blir belønningene tjent av bakeren fordelt på nytt til delegatorene. 

Utnyttingsgrunnlag funnet i Tezos smarte kontrakter

En av revisjonsrapportene avslørte feil i meldingsoverførselsarkitekturen til Tezos smarte kontrakter. Vi skal dekode dem her nå. 

Melding passerer arkitektur

En ekstern kontrakt som er ment å bli kalt under utførelsen av funksjonen, står i stedet i kø i en liste over samtaler som skal utføres i Tezos-kontrakten. 

Ordren funnet i Tezos-kontrakten er, 

  • Utfør a() # Neste anrop: [b, d]
  • Utfør b() # Neste anrop: [d, c]
  • Utfør d() # Neste anrop: [c]
  • Kjør c() # Neste anrop: []

Hvor du kan se at koden d() blir utført før koden c().

Denne typen utførelse har mulighet for to typer sårbarheter,

Omgå autorisasjon for tilbakeringing 

Arkitekturen til Tezos er bygget for å forhindre at kontrakten leser returverdien til et eksternt anrop ved å bruke tilbakeringingsfunksjonen. Men her, siden det ikke er noen begrensning, kan bruk av tilbakeringing føre til problemer med tilgangskontroll. 

Ring Injeksjon

Det gir mulighet for angriperen å kompromittere kontrakten ved å injisere samtaler mellom en funksjon og et eksternt anrop generert. 

Ved utførelse av funksjonene blir de genererte samtalene satt i kø i listen over samtaler som skal utføres. En angriper kan få en fordel ved å plassere anropet sitt i køen og utføre koden mellom slutten av den utførte funksjonen og de genererte anropene. 

Når angriperens anrop utføres, går kontraktens saldo eller minnet til kontrakten til en ugyldig tilstand, og angriperen oppnår anropsinjeksjonen. 

Forholdsregler som skal følges under koding av Tezos Smart Contract ved hjelp av Michelson

Michelsons programmeringsspråk er et godt alternativ for å skrive sikre kontrakter som er motstandsdyktige mot datalekkasjer og fondstyverier. Selv om programmeringsspråket er så sterkt, er det en liste over feil som kan dukke opp i kontrakten. 

La oss forstå de vanlige feilene og måtene å utelukke feilene på.

Refusjon til en liste over kontrakter

Dette er en betingelse der en gruppe menneskers midler blir refundert på en gang. Det skjer ved å godta vilkårlige kontrakter der en ondsinnet bruker starter et slikt problem. 

De mulige problemene fra denne feilen er at en kontrakt svelger all gassen gjennom en rekke tilbakeringinger, "FAIL"-instruksjonen kalles som stopper all beregning, reentrancy-feil og så videre. 

Hva er løsningen?

Standardkontoer kjører ikke koden; derfor kan problemet ovenfor sorteres ved å opprette en standardkonto fra folks nøkler. Den kan også programmeres til å la brukere trekke pengene sine individuelt. 

Angir ikke tilstand før overføring

Reentrancy er en vanlig hindring i blokkjeden. Når kontrakten kaller på en annen ekstern kontrakt for å gjøre overføringer, får den vilkårlige overtaket i å foreta ytterligere overføringer dersom staten ikke er oppdatert etter hver overføring.

Det fører til flere uttak av midler fra kontrakten. 

Hva er løsningen?

Vær forsiktig når du ringer til eksterne kontrakter, og sørg for at oppførselen deres ikke kan endres. For å forby reentrance, flagg i lagringen slik at brukere ikke kan komme inn igjen med mindre de har en god grunn. 

Lagre eller overføre private data

Dataene som er publisert kan sees eksplisitt. Det betyr at den private informasjonen blir synlig for alle når transaksjonen kringkastes. Dette gir en sjanse for den ondsinnede noden i systemet til å manipulere den usignerte transaksjonen ved å forsinke eller modifisere dem. 

Hva er løsningen?

Signer transaksjonene som inneholder sensitiv informasjon. Bruk av tellere for å håndheve transaksjonsordrer kan løse problemet. 

Sikre Pro Protection til prosjekter gjennom Tezos Smart Contract Audits 

Tezos bygget med en selvendrende struktur tilbyr bedre skalerbarhet og pålitelighet, men selv om sikkerhet alltid er et spørsmål for blockchain-baserte applikasjoner. De minste problemene kan forårsake det største fondstapet. 

Og det er der QuillAudits tar et skritt fremover for å beskytte eiendelene fra grepet av dårlige skuespillere. Vi gir dem ingen sjanse til å utnytte kontrakten, da vi gjenkjenner og løser disse problemene ved å utføre grundig Tezos smarte kontraktrevisjoner

Ta en gratis konsultasjon med våre eksperter for å lære om våre revisjonstjenester. 

2 Visninger

Tidstempel:

Mer fra Quillhash