Delegated Byzantine Fault Tolerance (dBFT) è un meccanismo di consenso utilizzato per proteggere i sistemi distribuiti da diversi tipi di guasti. Si basa sull'algoritmo Byzantine Fault Tolerance, che è un sistema distribuito a tolleranza di errore. Utilizzando questo meccanismo, è possibile raggiungere un livello desiderato di tolleranza ai guasti, anche quando alcuni dei nodi del sistema si guastano.
Il problema dei generali bizantini è un problema che si presenta nell'informatica distribuita. Si basa sull'idea di più generali che cercano di coordinare un attacco a una città. Tuttavia, alcuni dei generali possono essere inaffidabili o addirittura traditori. Il problema è trovare un modo per garantire che tutti i generali concordino sulla stessa strategia, anche se alcuni di loro non sono affidabili. Questo problema è stato utilizzato per spiegare le sfide dell'informatica distribuita e la necessità di sistemi con tolleranza ai guasti.
dBFT funziona facendo in modo che un gruppo di nodi, noti come delegati, raggiunga il consenso sulle transazioni effettuate in un sistema distribuito. I delegati sono responsabili della verifica delle transazioni e utilizzano un algoritmo crittografico per garantire la validità delle transazioni. L'algoritmo garantisce anche che eventuali nodi malintenzionati non possano prendere il controllo del sistema.
Uno dei principali vantaggi di dBFT è che è in grado di garantire un certo livello di tolleranza ai guasti. Ciò significa che anche se alcuni dei nodi del sistema si guastano, il sistema sarà comunque in grado di raggiungere il consenso. Questo lo rende più affidabile di altri meccanismi di consenso, come Proof-of-Work o Proof-of-Stake.
dBFT è diventato popolare nello spazio blockchain, in quanto considerato un modo più affidabile di raggiungere il consenso rispetto ad altri meccanismi. È stato utilizzato da alcune delle blockchain più popolari, come NEO, Ontology ed Elastos.
Sebbene il dBFT sia un meccanismo di consenso affidabile, presenta alcune sfide. Ad esempio, richiede un certo numero di delegati per raggiungere il consenso, che può essere difficile da raggiungere in una rete di grandi dimensioni. Inoltre, è più costoso dal punto di vista computazionale rispetto ad altri meccanismi di consenso.
Esistono altri meccanismi di consenso che possono essere utilizzati in un sistema distribuito. Ad esempio, Proof-of-Work e Proof-of-Stake sono altri due algoritmi popolari che possono essere utilizzati.
In conclusione, Delegated Byzantine Fault Tolerance è un meccanismo di consenso affidabile che può essere utilizzato per proteggere i sistemi distribuiti da diversi tipi di guasti. È utilizzato da alcune delle blockchain più popolari ed è più affidabile di altri meccanismi di consenso. Tuttavia, presenta alcune sfide che devono essere affrontate.
Affinché il BFT Byzantine fault tolerant consensus funzioni, devono esserci almeno due terzi di partecipanti onesti.
Sì, ethereum è a tolleranza di errore bizantina. Ciò significa che può tollerare nodi difettosi in una rete e continuare a funzionare correttamente. Questo è importante per un libro mastro distribuito come ethereum perché significa che la rete può continuare a funzionare anche se alcuni nodi non funzionano correttamente.
Il termine Byzantine fault tolerance (BFT) è stato coniato per la prima volta dagli informatici Leslie Lamport, Robert Shostak e Marshall Pease nell'articolo del 1982 "The Byzantine Generals Problem". In questo articolo si descriveva uno scenario in cui più generali, ciascuno al comando di un esercito separato, devono coordinare il loro attacco contro un nemico comune. Tuttavia, alcuni dei generali possono essere traditori e lavorare per minare gli altri. Il problema è come raggiungere il consenso tra i generali, dato che alcuni di loro potrebbero essere inaffidabili.
Il termine BFT è stato utilizzato per descrivere qualsiasi sistema in cui sia necessario ottenere il consenso di un gruppo di entità, alcune delle quali potrebbero essere malintenzionate. I sistemi BFT sono progettati per essere resistenti agli attacchi di soggetti malintenzionati, anche se questi ultimi controllano una parte significativa del sistema.
Esistono diversi approcci alla BFT, ma tutti condividono lo stesso obiettivo: garantire che il sistema possa continuare a funzionare anche in presenza di guasti bizantini. Questo obiettivo viene solitamente raggiunto attraverso l'uso di ridondanza e/o tecniche crittografiche.
I sistemi BFT sono sempre più utilizzati in una varietà di applicazioni, compresi i libri mastri distribuiti (come le blockchain), e sono considerati un ingrediente chiave nello sviluppo di sistemi distribuiti sicuri e robusti.
Esistono quattro tipi di blockchain: pubblica, privata, consortile e ibrida.
Le blockchain pubbliche sono decentralizzate e permettono a chiunque di unirsi e partecipare alla rete. Le blockchain private sono autorizzate e richiedono un invito o un'approvazione per entrare a farne parte. Le blockchain consortili sono reti in cui solo un gruppo preselezionato di persone è autorizzato a partecipare. Le blockchain ibride sono reti che combinano aspetti di blockchain pubbliche e private.
I tre principali protocolli blockchain sono Bitcoin, Ethereum e Hyperledger. Bitcoin è un sistema di denaro elettronico peer-to-peer che consente di inviare pagamenti online direttamente da una parte all'altra senza la necessità di un'autorità centrale. Ethereum è una piattaforma decentralizzata che esegue contratti intelligenti: applicazioni che vengono eseguite esattamente come programmate senza alcuna possibilità di frode o interferenza da parte di terzi. Hyperledger è uno sforzo collaborativo open source creato per far progredire le tecnologie blockchain intersettoriali. Si tratta di una collaborazione globale, ospitata dalla Linux Foundation, che comprende leader nei settori della finanza, delle banche, dell'Internet degli oggetti, delle catene di fornitura, della produzione e della tecnologia.