
BlockChain Security Construction
In questo articolo introduciamo principalmente diversi aspetti dell'audit delle public chain che meritano attenzione. Per gli auditor di sicurezza e gli sviluppatori di public chain, questo è un progetto degno di riferimento e di riflessione.
Prima di introdurre la costruzione del sistema di public chain, diamo un'occhiata all'architettura della blockchain:
Era Blockchain 1.0:
Architettura: come mostrato nella figura sottostante
Prodotti rappresentativi: bitcoin, reborn coin, dogcoin, Leyte coin, MasterCard coin, ecc.

Era Blockchain 2.0:
Architettura: come mostrato nella figura sottostante
Prodotti rappresentativi: Ethereum, lisk, hyperledger, ecc.
Modifiche principali:

Era Blockchain 2.0
Architettura: come mostrato nella figura sottostante
Prodotti rappresentativi: EOS, VaR, AE, ash, ELA, dfinity
Modifiche principali: gli scenari applicativi della blockchain in tutti i settori al di fuori dell'industria finanziaria possono soddisfare logiche di business più complesse

Di seguito, forniremo una breve introduzione ai problemi degni di considerazione nella costruzione della sicurezza della public chain blockchain, in base all'architettura della blockchain. Circa il 75% dei problemi ha causato problemi di sicurezza nelle public chain, che sono anche alcuni punti degni di attenzione nell'audit di sicurezza delle public chain. Qui li presentiamo sotto forma di domande per stimolare la nostra riflessione. Se desideri approfondire la discussione, puoi farlo direttamente nella issue:
Il livello dati è la tecnologia di livello inferiore e le sue funzioni principali sono l'archiviazione dei dati, l'implementazione di account e transazioni e la sicurezza. L'archiviazione dei dati si basa principalmente sull'albero di Merkle, realizzata tramite la struttura a blocchi e a catena. La maggior parte viene resa persistente tramite database kV, come bitcoin e leveldb adottato da Ethereum.
Per quanto riguarda il livello dati, vale la pena riflettere sui seguenti punti:
Lo scopo principale del livello di rete è realizzare l'interazione informativa tra i nodi della rete blockchain. L'essenza della blockchain è una rete peer-to-peer (P2P). Ogni nodo può ricevere informazioni e anche produrne. I nodi mantengono la comunicazione mantenendo una blockchain comune. Nella rete blockchain, ogni nodo può creare un nuovo blocco. Dopo la creazione del nuovo blocco, gli altri nodi vengono notificati tramite broadcast. A loro volta, gli altri nodi verificano il nodo. Quando più del 51% degli utenti della rete blockchain supera la verifica, il nuovo blocco viene aggiunto alla catena principale.
Ci sono diversi punti su cui vale la pena riflettere per quanto riguarda il livello di rete
Il design dell'algoritmo di scoperta dei nodi della public chain è ragionevole?
Il design dei nodi della public chain è ragionevole?
Il design del meccanismo di punizione è ragionevole?
Il design del protocollo di comunicazione è ragionevole?
Il design dell'elaborazione delle richieste dei nodi della public chain è ragionevole?
Esiste un limite alla dimensione del pacchetto di elaborazione delle richieste?
Il design del meccanismo di comunicazione delle transazioni della public chain è ragionevole?
Il meccanismo di sincronizzazione dei dati dei blocchi è ragionevole?
Il design logico dell'elaborazione delle transazioni è ragionevole?
Il livello di consenso consente a nodi altamente dispersi di raggiungere un consenso sull'efficacia dei dati dei blocchi in un sistema decentralizzato. Ogni blockchain in esecuzione necessita di un algoritmo di consenso per garantire l'efficacia e l'ordine dell'emissione dei blocchi. Gli algoritmi di consenso comuni includono pow, POS, dpos, Poa, POC, ecc.
A livello di consenso, dovremmo considerare i seguenti punti:
Il design dell'algoritmo di consenso della public chain è sicuro?
Il design della verifica del consenso della public chain è ragionevole?
Il design della confisca nel consenso della public chain è ragionevole?
Il design delle commissioni di servizio della public chain è ragionevole?
Il design del mining della public chain è ragionevole?
Il design della regolazione dinamica della difficoltà dei blocchi è ragionevole?
Il design logico del controllo della difficoltà dei blocchi è ragionevole?
Design della riorganizzazione della catena, del reset della catena, della biforcazione della catena, ecc.?
Lo scopo del livello di incentivazione della public chain è fornire determinate misure di incentivazione per incoraggiare i nodi a partecipare alla verifica della sicurezza della blockchain e garantire l'equilibrio e lo sviluppo sano dell'ecosistema blockchain. Nella public chain decentralizzata, è necessario predisporre il corrispondente meccanismo di incentivazione per premiare i nodi contabili partecipanti che rispettano le regole, e istituire il meccanismo di punizione per sanzionare i nodi contabili partecipanti che non rispettano le regole. Il livello di incentivazione della blockchain introduce fattori economici nel sistema tecnologico della blockchain, migliorando l'efficienza della cooperazione organizzativa e dello scambio di valore all'interno dell'ecosistema. Il meccanismo di incentivazione della public chain è un meccanismo importante per garantire lo sviluppo virtuoso della blockchain.
Ci sono diversi punti degni della nostra considerazione per quanto riguarda il livello di incentivazione
Il design del meccanismo di emissione della public chain è ragionevole?
Il design del meccanismo di punizione della public chain è ragionevole?