Tempo per leggere: 4 verbale
Il decentramento in ogni ambito della vita è il nuovo codice della prossima era. Le DApp sono qui per rivoluzionare il modo in cui gestiamo le app, unendo la privacy dei dati e le qualità di proprietà.
Entriamo nel profondo del blog.
Cosa sono le DApp?
Le DApp sono applicazioni decentralizzate che utilizzano la blockchain per elaborare i dati attraverso una rete distribuita ed eseguire transazioni. A differenza delle app centralizzate, le DApp sono gestite da reti peer-to-peer.
Una volta che lo sviluppatore rilascia la base di codice per la DApp, è possibile creare diverse app su di essa. Non esiste un'unica autorità, e quindi nessun singolo punto di errore mentre la rete P2P li gestisce.
DApp aiuta a creare numerose applicazioni come applicazioni Web, giochi e intrattenimento, app di social media, ecc.
Caratteristiche significative di DApp
Ecco alcuni suggerimenti sugli attributi chiave di DApp
- Sono codice open-source e sono controllati dall'utente. Ciò significa che eventuali modifiche o nuove aggiunte vengono votate e implementate.
- Il decentramento è l'aspetto centrale attraverso il quale tutti i dettagli sono tenuti nel libro mastro distribuito pubblicamente.
- Le DApp utilizzano token nativi della piattaforma per premiare gli utenti che partecipano o li estraggono.
Notizie sull'utilizzo delle DApp
Secondo quanto riferito da DAppRadar, il numero di utenti che utilizzano applicazioni decentralizzate cresce del 396% ogni anno, arrivando a 2.4 milioni.
Tra cui le DApp di gioco rappresentano oltre il 50% dell'attività degli utenti nel primo trimestre del 1 e gli NFT hanno realizzato un'enorme raccolta di circa $ 2022 miliardi.
Problemi di sicurezza della codifica DApp
Avendo conosciuto l'idea generale di DApp, esploriamo ora alcuni degli errori tecnici comuni ad essi associati.
Controllo della firma: L'uso del formato di controllo "case_=> true" nel file @verificatore la funzione di codifica DApp vieta la transazione di trasferimento consentendo altri tipi di transazione.
{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}
match (tx) {
case t:TransferTransaction => false
case _ => true # NEVER DO THIS!
}
Ma utilizzando questo tipo di codice, qualsiasi utente può eseguire transazioni tranne le transazioni di trasferimento. Inserendo la chiave pubblica nel campo "senderPublicKey" senza aggiungere firme, dà accesso a qualsiasi utente per eseguire una transazione.
{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}
match (tx) {
case t:TransferTransaction => false
case _ => sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublikey)
}
Pertanto, è fondamentale garantire la presenza di un controllo della firma nella codifica DApp per essere privo della suddetta vulnerabilità.
Inserimento chiavi: Le operazioni nella DApp coinvolgono l'archiviazione del valore-chiave. L'errore comune è che uno sviluppatore scriva su una chiave e la legga da un'altra. Pertanto, è necessario prestare attenzione durante la scrittura delle chiavi.
let NONE = "NONE"
func keyVoteByAddress(votingId: Int, address: String) = "voting_" + votingId + "_vote_" + address
@Callable(i)
func vote(id: Int) => {
let voteKey = keyVoteByAddress(id, i.caller.toBase58String())
let vote = getString(this, voteKey).valueOrElse(NONE)
# alternative option
let vote = match getString(this, voteKey){
case s: String => s
case _ => NONE
}
if (vote == NONE) then ...
else ...
}
Un altro errore è che invece di fornire valori predefiniti, il tentativo di leggere i valori dalle variabili come value() o extract() non è suggeribile.
Transazioni controllate: Le operazioni DApp comportano diverse operazioni interdipendenti da eseguire in sequenza. In tali casi, è sicuro avere la funzione "waitForTxWithNConfirmations" per ricevere le conferme una volta che la prima transazione è stata aggiunta al blocco.
Problemi generici relativi alle DApp
Basso livello di liquidità delle DApp: I bassi livelli di liquidità sulle applicazioni decentralizzate rendono difficile l'acquisto o la vendita di token al prezzo previsto, causando lo slippage. Lo slippage è la differenza tra i prezzi previsti ed eseguiti, che può portare a una perdita di fondi.
Gli utenti possono monitorare la liquidità degli asset in base ai loro volumi di trading e prendere decisioni intelligenti prima di acquistare o vendere un token.
Violazione o fallimento della sicurezza: Le DApp funzionano tramite contratti intelligenti e quelle con bug nella loro codifica sono obiettivi ideali per gli hacker. In condizioni di mercato estreme oa causa di exploit del codice, la svalutazione o la perdita di fondi nelle DApp diventa inevitabile.
L'audit del codice da parte di aziende di terze parti è più utile per superare questo problema.
DApp di phishing: Se c'è una compromissione nella codifica della DApp, sui loro siti ufficiali vengono fatti circolare link di phishing. Facendo clic su di essi inconsapevolmente, drenano tutti i fondi dai portafogli degli utenti.
Pertanto, ricontrolla gli URL prima di aggiungere i fondi dai tuoi portafogli o inserire le informazioni del portafoglio.
Stato di hack e truffe DApp nel 2022
Lo svantaggio delle DApp è il fatto che sono vulnerabili agli hack. Dai dati pubblicati da DAppRadar, le sole truffe DApp hanno rappresentato una perdita di 1.2 miliardi di dollari.
I punti salienti dei principali eventi di hacking includono,
Modifica del ponte Ronin: Ottenendo l'accesso ai nodi del validatore, l'hacker è stato in grado di falsificare transazioni Axie Infinity's Rete di ponti Ronin che ha portato a una perdita di $ 600 milioni.
Protocollo del wormhole: L'hacker ha sfruttato una falla di sicurezza nel codice del protocollo Wormhole, provocando una perdita di 325 milioni di dollari.
Ecco come rimanere sicuri e metodi preventivi da adottare per la sicurezza delle DApp
Il superamento delle falle di sicurezza risolve la maggior parte del problema per DApp. Ci sono alcuni modi per risolverlo.
- Accetta i servizi di revisione: Un'approfondita analisi del codice da parte di una società di revisione come QuillAudit elimina gli insetti dal livello del suolo.
- Test di penetrazione: I test di penetrazione prendono il sopravvento nel trovare vulnerabilità nascoste/di nodo, testare le API e scoprire nuovi percorsi di attacco.
Misure preventive generali per la sicurezza DApp
- Mantieni la segretezza della frase seme privata per accedere ai fondi dal portafoglio
- Verifica dell'autenticità e della legittimità del sito Web DApp
- Diffidate dei link o dei testi con errori grammaticali.
114 Visualizzazioni
- Bitcoin
- blockchain
- conformità blockchain
- conferenza blockchain
- coinbase
- geniale
- Consenso
- conferenza crittografica
- criptazione mineraria
- criptovaluta
- decentrata
- DeFi
- Risorse digitali
- Ethereum
- machine learning
- gettone non fungibile
- Platone
- platone ai
- Platone Data Intelligence
- Platoneblockchain
- PlatoneDati
- gioco di plato
- Poligono
- prova di palo
- quillhash
- Verifica del contratto intelligente
- Sicurezza dei contratti intelligenti
- trend
- W3
- zefiro