Fin dal suo inizio, il mondo delle criptovalute è stato pieno di nuove idee, e una di queste è Proof of Elapsed Time (PoET). Si tratta di un algoritmo di consenso completamente nuovo e rivoluzionario con una scalabilità senza pari.
Etra i algoritmi di consenso e minerario blockchain, uno degli algoritmi più sorprendenti è Prova del tempo trascorso (PoET), cosa è in spagnolo Test del tempo trascorso. Questo è un algoritmo di consenso progettato da zero per essere altamente scalabile e mirato a blockchain private. Per questo motivo, difficilmente lo vedremo sostenere l'attività di una blockchain di una criptovaluta pubblica, come nel caso di Bitcoin.
Tuttavia, il potenziale di PoET è orientato per essere applicato nello sviluppo di blockchain come parte di sistemi ad alto traffico di informazioni. Ad esempio, le aziende che necessitano di sistemi di controllo integrati che garantiscano l'immutabilità di tali informazioni. Questo sarebbe il caso di linee di assemblaggio altamente tecniche e automatizzate, laboratori chimici e di medicina, tra gli altri.
Ma sicuramente ti chiederai, qual è l'origine di questa tecnologia? Come funziona PoET? Quali sono i suoi pro e contro? Chi utilizza questa tecnologia? Bene, risponderemo a queste e ad altre domande di seguito in questo nuovo articolo di Bit2Me Academy.
Origine del poeta
L'origine di PoET risale al 2016 quando i ricercatori di Intel, la più grande azienda di creazione e progettazione di processori al mondo, hanno iniziato a partecipare al progetto Hyperledger, guidato già allora dal Linux Foundation. A quel tempo, Intel ha annunciato la sua partecipazione al progetto, oltre all'inizio dello sviluppo di "Lago a dente di sega". Questo è stato un interessante sviluppo blockchain supportato da Hyperledger che ha cercato di sviluppare tecnologia per una blockchain privata estremamente scalabile.
È stato in questo momento che Intel ha introdotto Proof of Elapsed Time (PoET) come algoritmo di consenso basato sulla lotteria del tempo, protetto dalla crittografia. Un concetto rivoluzionario che ha utilizzato tutta la tecnologia che Intel può fornire nei suoi processori. In effetti, la tecnologia è fortemente legata ai prodotti Intel al punto da non essere utilizzabile con garanzie al di fuori dei loro prodotti.
Come funziona Proof of Elapsed Time (PoET)?
Fondamentalmente ciò che fa PoET è creare un anello di fiducia in cui un gruppo di partecipanti è coordinato da un controllore. Questo controller ha il compito di prendere il lavoro delle persone nell'anello fiduciario e verificare che sia corretto. Per fare ciò, il controller condivide un cronometro e una serie di test crittografici che consentono ai partecipanti in modo casuale di produrre blocchi all'interno della blockchain.
Una volta scelto un partecipante, generano il blocco, sviluppano la prova crittografica e la inviano al controller. Quando il controllore riceve il test, lo verifica e, se corretto, accetta il blocco. In caso contrario, scartalo. Data quest'ultima decisione, fa scattare nuovamente il timer in modo che il processo di selezione ricominci e il test sia generato da un altro partecipante. Il processo segue questo ciclo di ripetizioni consentendo di mantenere il funzionamento della rete a tempo indeterminato.
Ovviamente questo è un modo molto semplice per spiegare come funziona PoET, ma ti darà un'idea generale del processo e ti aiuterà a capire meglio la spiegazione che faremo dopo.
Avvio del processo di selezione del Poeta
La base del funzionamento di PoET è nel processo di selezione creato dall'algoritmo di verifica del processo. Il compito di questo algoritmo di selezione è quello di dare a ogni partecipante un oggetto temporale. Possiamo vedere questo oggetto tempo come un conto alla rovescia che ha una certa quantità di tempo descritta in esso. Al termine di tale tempo, il cronometro avvia un evento di attivazione per il partecipante che, da quel momento, diventa generatore di blocchi. Puoi quindi vedere questo oggetto tempo come una sveglia, che quando raggiunge l'ora indicata, l'allarme suonerà indicando che è ora di lavorare per generare un blocco.
Casualità, la chiave del processo
Questo processo di selezione è casuale ed è alimentato dalle istruzioni di generazione di numeri casuali di Intel, l'istruzione RDRAND. Questa istruzione unica nei processori Intel (sebbene AMD abbia anche un equivalente) genera numeri casuali in modo accelerato utilizzando l'entropia (o caos) che ha origine elettricamente all'interno dei processori. Un processo che in teoria genera numeri casuali molto difficili da rilevare. Questa è la base di questo processo iniziale e ci dice anche quanto sia estremamente dipendente il PoET da questi processori.
Inoltre, l'unico modo in cui un partecipante può diventare un generatore di blocchi è presentare un certificato che lo approva. Questo certificato viene generato utilizzando il Istruzioni SGX (Intel Software Guard Extensions). Queste istruzioni sono specializzate in crittografia e vengono utilizzate per generare un certificato digitale sicuro. Il certificato generato viene archiviato in un vault hardware (come quelli dei portafogli hardware, un file HSM) O TEE (Trusted Execution Environment) che si trova all'interno dello stesso processore.
Solo i partecipanti che rispettano il possesso di un certificato valido nel sistema, con le chiavi pubblica e privata nel proprio TEE, e che hanno un oggetto temporale verificato e attivo, potranno partecipare alla generazione dei blocchi utilizzando l'algoritmo PoET.
Fase di generazione
Ora, quando il partecipante riceve il suo oggetto tempo e viene attivato, inizia il processo di generazione. Dal momento preciso in cui l'oggetto tempo "sveglia" il partecipante, questo è abilitato a generare un blocco. L'intero processo di cui sopra garantisce che quel partecipante abbia rispettato le regole di pre-generazione che sono:
- Genera un certificato sicuro utilizzando RDRAND, SGX e archiviandolo nel tuo TEE.
- Condividi il certificato con la rete. Questo per diventare un partecipante attivo e riconosciuto all'interno della rete.
Come puoi vedere, questi due passaggi sono chiaramente punti di controllo degli accessi, che garantiscono che nessuno che non sia riconosciuto dalle autorità centrali della rete possa parteciparvi. In breve, siamo di fronte a un protocollo di consenso progettato specificamente per reti private o autorizzate.
Inizia la generazione di hash
La fase di generazione del PoET è semplice. Il partecipante o generatore di blocchi attivo deve solo prendere le transazioni dalla rete, aggiungerle al blocco, generare un hash per esso e inviarlo alla rete per essere accettato. L'hash utilizzato può variare a seconda dell'implementazione, ma è possibile utilizzare SHA-256, ma senza la necessità di fare una prova di lavoro come in Bitcoin, poiché PoET lo rende superfluo. È sufficiente generare un hash associato alle informazioni del blocco per emettere detto blocco. In breve, un processo che non dovrebbe richiedere neanche lontanamente 0,1 secondi.
Quando il blocco viene generato, viene emesso alla rete insieme al certificato digitale di un partecipante. In detto certificato è presente un elenco dei successivi generatori di blocchi in rete, chiudendo così il processo di generazione.
Pro e contro di PoET
Vantaggi
- È un algoritmo di consenso e generazione di blocchi estremamente efficiente e scalabile.
- Il processo è perfetto da applicare a reti blockchain private, infatti è rivolto a spazi aziendali controllati.
- La selezione e l'accettazione dei validatori garantisce che la rete sia resistente agli attacchi esterni e interni.
- Il processo di generazione è decentralizzato. Il suo processo di generazione è decentralizzato. Gli elementi temporali e l'attivazione assicurano che tutti abbiano le stesse opportunità di spawn dei blocchi.
Contra
- Estremamente dipendente dalla tecnologia Intel. Sebbene l'algoritmo sia un software libero e possa essere adattato ad altre piattaforme, le modifiche renderebbero queste reti praticamente incompatibili o con gravi problemi di incompatibilità.
- Esistono veicoli di attacco su queste reti che sfruttano vulnerabilità note nei processori Intel.
Quanto sai, Cryptonuta?
Una blockchain che utilizza Proof of Elapsed Time (PoET) è altamente scalabile?Certo!
Una rete PoET può scalare oltre un milione di transazioni al secondo, anche se con lo svantaggio di non essere una rete aperta e non censurata come Bitcoin o Ethereum.
vulnerabilità
Sebbene PoET sia un algoritmo di consenso concettualmente molto sicuro, la struttura che utilizza per funzionare ha iniziato a vacillare: Intel e i suoi processori sono pieni di bug, che sono pubblicamente noti ma irrisolti.
Sebbene non ci siano hardware o software privi di bug, Intel ha dovuto affrontare seri problemi negli ultimi 10 anni. Problemi che si sono accentuati molto più recentemente. Casi di vulnerabilità come Meltdown, Spettro, Crepa SGX, Prime + Probe, LVI, saccheggio, Riproduci SGX o Enclave, hanno un impatto diretto sulla sicurezza di PoET. In effetti, hanno un impatto diretto sulla sicurezza generale dei nostri computer.
Sebbene i veicoli e i mezzi di attacco siano molto complessi, sono possibili e possono essere sfruttati da qualsiasi hacker o gruppo di hacker con risorse. I governi nella loro ricerca di controllare tutto, spendono fortune per impossessarsi di questo tipo di vulnerabilità per sviluppare strumenti che permettano loro di spiare i loro cittadini e altri governi, anche il mondo intero se possibile. In effetti, vi è il sospetto che ad esempio RDRAND, sia un'istruzione trojanizzata o intenzionalmente indebolita per facilitare lo spionaggio.
Le vulnerabilità hardware sono le più rischiose
Tutto questo gruppo di vulnerabilità in una certa misura può aiutare a creare strumenti con la capacità di rompere la crittografia. Ad esempio, un'istruzione RDRAND indebolita (poiché si sospetta che Intel sia stata eseguita intenzionalmente) consentirebbe al generatore di numeri casuali di essere "prevedibile" conoscendo le caratteristiche interne del suo funzionamento, cosa che solo Intel conosce. Questo potrebbe aprire le porte ad algoritmi che consideriamo sicuri AES, ECDSA, RSA o altri possono essere compromessi se eseguiti su un processore Intel, compromettendo la nostra sicurezza e il nostro denaro. Questa, che può sembrare fantascienza per occhi inesperti, è una realtà. In effetti, esiste già un precedente con il caso di Doppio RDBG e la console PlayStation di Sony. Ricorda che la crittografia anti-copia di questa console è stata interrotta a causa di un problema di sicurezza di questa natura.
Fortunatamente nessun progetto di criptovaluta come Bitcoin o Ethereum, fa uso di questi tipi di istruzioni. Molto meno Zcash o Monero, dove gli sviluppatori sono attenti all'estremo con la qualità delle implementazioni crittografiche che utilizzano. Inoltre, lo stesso sviluppo di Bitcoin ha messo in dubbio strumenti crittografici noti, come OpenSSL, abbandonando il loro utilizzo a favore dei propri strumenti. Un altro esempio della serietà della sicurezza nello sviluppo di questa criptovaluta.
Casi d'uso dei poeti
HyperLedger
Il caso d'uso più importante di PoET è il progetto HyperLedger, dove PoET è l'algoritmo predefinito per le soluzioni che utilizzano il framework HyperLedger Sawtooth (framework e sviluppo software). Sawtooth è infatti il luogo di nascita e lo sviluppo di PoET.