Tezos Blockchain: analisi approfondita dal punto di vista dell'audit PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Tezos Blockchain: analisi approfondita dal punto di vista dell'audit 

Tempo per leggere: 5 verbale

Il progetto blockchain di Tezos ha avuto uno splendido inizio raccogliendo 232 milioni di dollari con l'Initial Coin Offering, ottenendo il secondo posto nella ricezione dei maggiori fondi tra i 20 maggiori ICO.

Tra le reti blockchain più popolari, come Ethereum o Bitcoin, come è riuscita Tezos a guadagnare tutto il clamore? Per scoprire la risposta, diamo un'occhiata più da vicino agli attributi distintivi di Tezos che hanno attirato orde di sostenitori. 

Mentre la blockchain emersa ai suoi tempi funzionava sul consenso della Proof-of-Work (PoW), la blockchain di Tezos era innovativa nell'utilizzo Proof-of-PaloConsenso basato (PoS) con un meccanismo di automodifica e governance on-chain. 

Di conseguenza, Tezos è diventato famoso come l'alternativa perfetta per la costruzione di applicazioni DeFi eco-compatibili che richiedono sostanzialmente meno energia e bassi costi. Quindi, in che modo l'infrastruttura Tezos equivale alla flessibilità nell'implementazione degli aggiornamenti molto più facilmente?

Questo ci porta a conoscere la configurazione architettonica, che aggiunge valore al Tezos.

Smart Contract su Tezos

Gli smart contract sono contratti eseguibili programmati per elaborare lo scambio di token tra due parti senza richiedere a nessuna delle parti di fidarsi dell'altra. 

Quando si tratta di Tezos, è scritto in modo univoco utilizzando il linguaggio di programmazione Michelson. Inoltre, Tezos utilizza una verifica formale per garantire la correttezza del codice, il che lo rende più sicuro e affidabile. 

Enumerazione dei dettagli della blockchain di Tezos

Il punti salienti del Tezos sono riportati qui per una migliore comprensione della sua configurazione e unicità. 

Automodificante

Tezos, che convalida i blocchi che operano sull'algoritmo di consenso, è integrato con un meccanismo automodificabile. Eventuali modifiche al protocollo, come il passaggio a un diverso consenso, la modifica del sistema di ricompensa, l'aggiunta di transazioni, ecc., sono implementate sulla base del sistema di voto a catena. 

Eventuali modifiche da piccole a importanti nel protocollo economico di Tezos vengono attivate dalla procedura di voto a catena. Questo protocollo di auto-modifica ha il sopravvento nell'evitare i fork o la divisione nella comunità.

Governance on-chain

Tezos è contrario a Bitcoin ed Ethereum, che hanno seguito i sistemi di governance non formalizzati che hanno portato alle divisioni blockchain (Bitcoin Cash ed Ethereum classic). 

La governance on-chain di Tezos facilita i "Bakers", alias Miners, a proporre e votare sugli aggiornamenti del protocollo. La metodologia on-chain in Tezos è progettata per implementare automaticamente gli aggiornamenti nel codice del protocollo sottostante senza passare attraverso un director centralizzato. 

Consenso proof-of-stake: The PoS 

Il consenso PoS in Tezos consente a chiunque di partecipare. Per essere un fornaio Tezos che convalida il blocco e consente la creazione del consenso, il fornaio deve possedere una partecipazione minima di token XTZ (nativi). 

Adotta anche un metodo in cui se l'utente non ha abbastanza da risparmiare per la cottura, può delegare i token XTZ a un fornaio con un grande bankroll Tez. A loro volta, le ricompense guadagnate dal fornaio vengono ridistribuite ai deleganti. 

Exploit ground trovati negli smart contract di Tezos

Uno dei rapporti di audit ha rivelato errori nell'architettura di passaggio dei messaggi degli smart contract Tezos. Li decodificheremo qui ora. 

Architettura di passaggio dei messaggi

Un contratto esterno che dovrebbe essere chiamato durante l'esecuzione della funzione è invece accodato in un elenco di chiamate da eseguire nel contratto Tezos. 

L'ordine trovato nel contratto Tezos è, 

  • Esegui a() # Prossime chiamate: [b, d]
  • Esegui b() # Prossime chiamate: [d, c]
  • Esegui d() # Prossime chiamate: [c]
  • Esegui c() # Prossime chiamate: []

In cui puoi vedere che il codice d() viene eseguito prima del codice c().

Questo tipo di esecuzione ha la possibilità di due tipi di vulnerabilità,

Bypass dell'autorizzazione alla richiamata 

L'architettura di Tezos è costruita per impedire al contratto di leggere il valore di ritorno di una chiamata esterna utilizzando la funzione di callback. Ma qui, poiché non ci sono restrizioni, l'uso della richiamata può portare a problemi di controllo dell'accesso. 

Iniezione di chiamata

Offre all'attaccante la possibilità di compromettere il contratto iniettando chiamate tra una funzione e una chiamata esterna generata. 

All'esecuzione delle funzioni, le chiamate generate vengono accodate nell'elenco delle chiamate da eseguire. Un utente malintenzionato può ottenere un vantaggio mettendo la propria chiamata in coda ed eseguendo il codice tra la fine della funzione eseguita e le chiamate generate. 

Quando la chiamata dell'attaccante viene eseguita, il saldo del contratto o la memoria del contratto passa a uno stato non valido e l'attaccante ottiene con successo l'iniezione di chiamata. 

Precauzioni da osservare durante la codifica di Tezos Smart Contract utilizzando Michelson

Il linguaggio di programmazione Michelson è un'opzione ideale per scrivere contratti sicuri resistenti a fughe di dati e furti di fondi. Sebbene il linguaggio di programmazione sia così forte, c'è un elenco di errori che possono apparire nel contratto. 

Comprendiamo gli errori comuni e i modi per escluderli.

Rimborso a un elenco di contratti

Questa è una condizione in cui i fondi di un gruppo di persone vengono rimborsati in una volta. Si verifica accettando contratti arbitrari in cui un utente malintenzionato avvia un tale problema. 

I possibili problemi di questo errore sono un contratto che ingoia tutto il gas attraverso una serie di callback, viene chiamata l'istruzione "FAIL" che interrompe tutti i calcoli, errori di rientro e così via. 

Qual è la soluzione?

Gli account predefiniti non eseguono il codice; pertanto, il problema di cui sopra può essere risolto creando un account predefinito dalle chiavi delle persone. Inoltre, può essere programmato per consentire agli utenti di prelevare i propri fondi individualmente. 

Stato non impostato prima del trasferimento

Il rientro è un ostacolo comune nella blockchain. Quando il contratto chiama un altro contratto esterno per effettuare trasferimenti, l'arbitrario ha il sopravvento nell'effettuare ulteriori trasferimenti se lo stato non viene aggiornato dopo ogni trasferimento.

Provoca prelievi multipli di fondi dal contratto. 

Qual è la soluzione?

Prestare attenzione durante le chiamate a contratti esterni e assicurarsi che il loro comportamento non possa essere modificato. Per vietare il rientro, contrassegna nell'archivio in modo che gli utenti non possano rientrare a meno che non abbiano una buona ragione. 

Archiviazione o trasferimento di dati privati

I dati che vengono pubblicati potrebbero essere visualizzati in modo esplicito. Ciò significa che le informazioni private diventano visibili a tutti quando la transazione viene trasmessa. Ciò offre la possibilità al nodo dannoso nel sistema di manipolare la transazione non firmata ritardandola o modificandola. 

Qual è la soluzione?

Firma le transazioni che contengono informazioni sensibili. L'utilizzo di contatori per imporre gli ordini di transazione può risolvere il problema. 

Garantisci una protezione professionale ai progetti attraverso gli audit dei contratti intelligenti di Tezos 

Tezos costruito con una struttura auto-modificante offre una migliore scalabilità e affidabilità, ma sebbene la sicurezza sia sempre una questione di domande per le applicazioni basate su blockchain. Il più piccolo dei problemi può causare la più grande perdita di fondi. 

Ed ecco dove QuillAudit fa un passo avanti per proteggere i beni dalla morsa di malintenzionati. Non diamo loro alcuna possibilità di sfruttare il contratto poiché riconosciamo e risolviamo tali problemi conducendo in modo approfondito Audit dei contratti intelligenti Tezos

Richiedi una consulenza gratuita con i nostri esperti per conoscere i nostri servizi di auditing. 

2 Visualizzazioni

Timestamp:

Di più da quillhash