Tezos Blockchain: Analiză aprofundată din perspectiva auditului PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Tezos Blockchain: Analiză aprofundată din perspectiva auditului 

Timp de citit: 5 minute

Proiectul blockchain Tezos a avut un început splendid prin strângerea de 232 de milioane de dolari cu Initial Coin Offering, obținând locul doi în primirea celor mai mari fonduri dintre cele mai mari 20 de ICO-uri.

Printre cele mai populare rețele blockchain, cum ar fi Ethereum sau Bitcoin, cum a reușit Tezos să câștige toată hype-ul? Pentru a afla răspunsul, să aruncăm o privire mai atentă asupra atributelor distinctive ale lui Tezos care au atras hoarde de susținători. 

În timp ce blockchain-ul care a apărut în vremurile sale a lucrat la consensul Proof-of-Work (PoW), blockchain-ul Tezos a fost inovator în utilizarea Dovada-de-stake(PoS) bazat pe consens cu un mecanism de auto-modificare și guvernare în lanț. 

Drept urmare, Tezos a intrat în lumina reflectoarelor ca alternativă perfectă pentru construirea de aplicații DeFi ecologice care necesită substanțial mai puțină energie și costuri reduse. Deci, cum echivalează infrastructura Tezos cu flexibilitatea în implementarea upgrade-urilor mult mai ușor?

Asta ne face să aflăm despre configurația arhitecturală, care adaugă valoare Tezos.

Contracte inteligente pe Tezos

Contractele inteligente sunt contracte executabile programate pentru a procesa schimbul de jetoane între două părți fără a cere niciuna dintre părți să aibă încredere în cealaltă. 

Când vine vorba de Tezos, este scris în mod unic folosind limbajul de programare Michelson. În plus, Tezos folosește verificarea formală pentru a asigura corectitudinea codului, ceea ce îl face mai sigur și mai fiabil. 

Enumerarea specificului Blockchain-ului Tezos

cele mai importante momente ale Tezo sunt date aici pentru o mai bună înțelegere a configurației și unicității sale. 

Auto-amenda

Tezos, care validează blocurile care funcționează pe algoritmul de consens, este încorporat cu un mecanism auto-modificabil. Orice modificare a protocolului, cum ar fi trecerea la un consens diferit, modificarea sistemului de recompense, adăugarea de tranzacții etc., sunt implementate pe baza sistemului de vot în lanț. 

Orice modificare minoră sau majoră în protocolul economic Tezos este declanșată de procedura de vot în lanț. Acest protocol de auto-amenda are mâna superioară în evitarea furcilor sau divizării în comunitate.

Guvernare în lanț

Tezos este contrar Bitcoin și Ethereum, care au urmat sistemele de guvernare neformalizate care au dus la divizarea blockchain (Bitcoin Cash și Ethereum clasic). 

Guvernarea în lanț din Tezos îi facilitează pe „Brutarii”, alias Mineri, să propună și să voteze actualizările protocolului. Metodologia în lanț din Tezos este concepută pentru a implementa automat actualizările în codul protocolului de bază, fără a trece printr-un director centralizat. 

Consensul de dovadă a mizei: PoS 

Consensul PoS din Tezos permite oricui să participe. Pentru a fi un brutar Tezos care validează blocul și permite construirea consensului, brutarul ar trebui să dețină o deținere minimă de jetoane XTZ (native). 

De asemenea, adoptă o metodă în care, dacă utilizatorul nu are suficient pentru coacere, poate delega jetoane XTZ unui brutar cu un bankroll Tez mare. La rândul lor, recompensele câștigate de brutar sunt redistribuite delegatorilor. 

Exploatați motivele găsite în contractele inteligente Tezos

Unul dintre rapoartele de audit a relevat erori în arhitectura de transmitere a mesajelor a contractelor inteligente Tezos. Le vom decoda aici acum. 

Arhitectura de transmitere a mesajelor

Un contract extern care ar trebui să fie apelat în timpul execuției funcției este pus în coadă într-o listă de apeluri care urmează să fie executate în contractul Tezos. 

Ordinul găsit în contractul Tezos este, 

  • Executați a() # Următoarele apeluri: [b, d]
  • Executați b() # Următoarele apeluri: [d, c]
  • Executați d() # Următoarele apeluri: [c]
  • Executați c() # Următoarele apeluri: []

În care puteți vedea că codul d() este executat înaintea codului c().

Acest tip de execuție are posibilitatea pentru două tipuri de vulnerabilități,

Bypass autorizare apel invers 

Arhitectura Tezos este construită pentru a împiedica contractul să citească valoarea returnată a unui apel extern folosind funcția de apel invers. Dar aici, deoarece nu există nicio restricție, utilizarea apelului invers poate duce la probleme de control al accesului. 

Injectie de apel

Oferă posibilitatea atacatorului de a compromite contractul prin injectarea de apeluri între o funcție și un apel extern generat. 

La executarea funcțiilor, apelurile generate sunt puse în coadă în lista apelurilor de executat. Un atacator poate câștiga un avantaj punând apelul în coadă și executând codul între sfârșitul funcției executate și apelurile generate. 

Când apelul atacatorului este executat, soldul contractului sau memoria contractului intră într-o stare invalidă, iar atacatorul realizează cu succes injectarea apelului. 

Măsuri de precauție care trebuie respectate la codificarea Tezos Smart Contract folosind Michelson

Limbajul de programare Michelson este o opțiune de bază pentru scrierea de contracte sigure, rezistente la scurgeri de date și furturi de fonduri. Deși limbajul de programare este atât de puternic, există o listă de greșeli care pot apărea în contract. 

Să înțelegem greșelile comune și modalitățile de a exclude erorile.

Rambursarea unei liste de contracte

Aceasta este o condiție în care fondurile unui grup de persoane sunt rambursate imediat. Apare la acceptarea unor contracte arbitrare în care un utilizator rău intenționat inițiază o astfel de problemă. 

Problemele posibile din această eroare sunt că un contract înghite tot gazul printr-o serie de apeluri inverse, este numită instrucțiunea „FAIL” care oprește toate erorile de calcul, reintre și așa mai departe. 

Care este soluția?

Conturile implicite nu execută codul; prin urmare, problema de mai sus poate fi sortată prin crearea unui cont implicit din cheile persoanelor. De asemenea, poate fi programat pentru ca utilizatorii să-și tragă fondurile individual. 

Nu se stabilește starea înainte de transfer

Reintrarea este un obstacol comun în blockchain. Atunci când contractul solicită un alt contract extern pentru efectuarea de transferuri, arbitrarul câștigă avantaj în efectuarea de transferuri ulterioare dacă statul nu este actualizat după fiecare transfer.

Determină retrageri multiple de fonduri din contract. 

Care este soluția?

Fiți atenți când efectuați apeluri către contracte externe și asigurați-vă că comportamentul acestora nu poate fi modificat. Pentru a interzice reintrarea, semnalați în stocare, astfel încât utilizatorii să nu poată reintra decât dacă au un motiv întemeiat. 

Stocarea sau transferul datelor private

Datele care sunt publicate pot fi vizualizate în mod explicit. Aceasta înseamnă că informațiile private devin vizibile pentru toată lumea atunci când tranzacția este difuzată. Acest lucru oferă o șansă ca nodul rău intenționat din sistem să manipuleze tranzacția nesemnată prin întârzierea sau modificarea acestora. 

Care este soluția?

Semnează tranzacțiile care conțin informații sensibile. Utilizarea contoarelor pentru a aplica ordinele de tranzacție poate rezolva problema. 

Asigurați protecția profesională proiectelor prin Audituri Tezos Smart Contract 

Tezos construit cu o structură care se modifică automat oferă o scalabilitate și fiabilitate mai bune, dar deși securitatea este întotdeauna o problemă pentru aplicațiile bazate pe blockchain. Cele mai mici probleme pot cauza cea mai mare pierdere de fond. 

Și acolo QuillAudits face un pas înainte pentru a proteja activele de strânsoarea actorilor răi. Nu le oferim nicio șansă de a exploata contractul, deoarece recunoaștem și remediam aceste probleme prin desfășurare amănunțită Audituri ale contractelor inteligente Tezos

Beneficiați de o consultare gratuită cu experții noștri pentru a afla despre serviciile noastre de audit. 

2 Vizualizări

Timestamp-ul:

Mai mult de la Quillhash