Test delle risorse in Qubic, un nuovo affascinante articolo sul prossimo protocollo della IOTA Foundation che attiverà tra le altre funzionalità (oracoli, calcolo distribuito) gli smart contract (maggiori informazioni qui).

Un ringraziamento speciale a Paul Handy, Serguei Popov, Navin Ramachandran (n.d.t. dall’autore dell’articolo originale)

Il team Qubic presso IOTA (Samuel Reid, Paul Handy, Eric Hop, Donald Kelly, CfB) ha sviluppato il concetto di calcoli basati sul quorum (QBCs quorum-based computations) sul Tangle IOTA. Il Protocollo di Qubic intende stabilire una piattaforma decentralizzata globale per nuove applicazioni senza fiducia (trustless), consentendo nuovi modelli economici ed abilitando l’ampio panorama di Industry 4.0 e Web 3.0.


Il protocollo Qubic: ricapitoliamo

Il protocollo Qubic è un metodo per eseguire un programma per computer, utilizzando un set di macchine distribuite. Chiamiamo ogni macchina un oracolo ed il set completo è un assembly. Qubic abiliterà le capacità di tipo smart-contract sul protcollo IOTA, dove è possibile raggiungere un consenso su un calcolo senza fare affidamento sulla fiducia centralizzata. Durante l’esecuzione del protocollo Qubic, ci sono due fasi: una fase di test delle risorse e una fase di elaborazione di Qubic. La combinazione di queste fasi è chiamata un’epoca (maggiori informazioni qui).

Durante la fase di test delle risorse, l’assemblea (assembly) determina quale peso assegnare a ciascun partecipante (noto anche come oraclo) nell’assemblea. Ogni oracolo dovrebbe essere compensato in base al suo peso (livello di contributo). E.g. se abbiamo un supercomputer ed un laptop economico che lavorano insieme su un calcolo, il primo dovrebbe ricevere una quota maggiore dei premi. Mettendo da parte la questione della correttezza della distribuzione, non possiamo semplicemente dare ad ogni oracolo la stessa quota. Se lo faccessimo, forniremmo un incentivo a far girare un numero molto grande di macchine economiche, che aggiunge spese generali di contabilità senza migliorare il throughput computazionale.

Possiamo utilizzare varie tecniche per eseguire test delle risorse. Lo strumento più semplice a nostra disposizione è la Prova di lavoro (Proof-of-Work) che viene utilizzata in tutto IOTA. L’idea è di dare a tutti gli oracoli nell’assemblea una certa quantità di tempo, diciamo alcuni minuti, per risolvere diversi enigmi PoW. Più enigmi risolverà un oracolo, maggiore è il potere computazionale che ha e maggiore sarà la quota del premio che riceverà.


Oltre il paradigma PoW

Il problema con PoW è che si tratta di un’operazione costosa da eseguire, senza alcun prodotto significativo. Non ha molto senso che gli oracoli spendano le loro risorse in un lavoro inutile, piuttosto che l’esecuzione di un vero codice utente. Stanno quindi considerando possibili alternative a PoW o, per lo meno, mirando a ridurre al minimo la finestra temporale richiesta. Questo problema è strettamente legato alla sfida della timbratura temporale (timestamping). Più affidabili sono le stime temporali sulle transazioni sono, più breve può essere il test delle risorse.

Oltre il paradigma di PoW, il test delle risorse in Qubic può essere definito come dimostrazione di partecipazione (Proof-of-Stake) o come combinazione di PoW e PoS. Esploriamo questa opzione.

Si prevede la presenza di assemblee formate naturalmente, che conterranno oracoli con simili capacità. In queste assemblee il PoS può essere derivato come un attributo del lavoro svolto nel test delle risorse di un’epoca precedente, e questa quota accumulata può essere persa non impegnandosi a partecipare alla fase di test delle risorse della prossima epoca. Pertanto, potrebbe essere possibile configurare i gruppi in cui la quota scartata viene recuperato tramite prova di lavoro (PoW) — è necessaria una ricerca supplementare per valutare se queste strategie di scartare le quote aprano scappatoie (per il creatore di un’assemblea o per i proprietari degli oracoli in esso contenuti). In breve, le persone che lasciano un’assemblea lasciano spazio ai nuovi utenti per unirsi e fornire la propria quota di partecipazione (stake).

Sebbene l’introduzione di un test di risorse PoW + PoS variabile sia una proposta innovativa, non è necessario compartimentarsi su PoW o PoS. Stanno prendendo in considerazione una varietà di altre “prove”, tra cui la prova della biometria (proof-of-biometrics) (e.g. impronta digitale), prova di proprietà (proof-of-ownership), prova di identificazione (proof-of-identification), prova di vendita (proof-of-sale), o qualsiasi altro sistema prova di x (Proof of X o PoX).


Dialetti

La nozione di dialetti PoW è stata introdotta internamente in relazione al raggruppamento economico (economic clustering). L’esempio più semplice di un dialetto è una modifica al PoW tale da scegliere un hash diverso con il quale scontrarsi invece dell’hash null.

I confini sono indistinti nei raggruppamenti economici ed i dialetti PoW possono aiutare a mitigare questo problema. I dialetti consentono di assegnare priorità alle transazioni specifiche del raggruppamento, all’interno di raggruppamenti sovrapposti, mentre le transazioni da raggruppamenti non adiacenti, non devono raggiungere questi raggruppamenti sovrapposti per mancanza di un dialetto condiviso.

Per chiarire, una versione di accettazione PoX (ad es. PoW, PoS, Prova di larghezza di banda) potrebbe essere utilizzata per formare un confine sfocato tra i raggruppamenti economici. In dipendenza dal PoX persiste la possibilità per molti dialetti distinti (dialetti PoX) di esistere. La variazione dei dialetti PoX può essere utilizzata in Qubic per ottenere l’accettazione correlata al raggruppamento, insieme al test delle risorse. Tuttavia, i dettagli di implementazione associati ad un particolare dialetto PoX potrebbero avere implicazioni sulla sicurezza della rete, sull’accesso e sull’identità utente ed dell’oracolo, e su altri aspetti della fase di elaborazione di Qubic.

Indipendentemente da quale dialetto PoX è implementato con il raggruppamento economico (economic clustering), il protocollo Qubic richiederà un test delle risorse sia come misura anti-Sybil, e come un modo per separare le epoche e ricontrollare la partecipazione di tutti gli oracoli nell’assemblea. L’approccio più diretto sarebbe naturalmente quello di utilizzare il dialetto standard (IOTA PoW).


Canali di comunicazione per lo sviluppo di Qubic

Il team di Qubic sta attualmente lavorando per rilasciare il codice iniziale e il paper matemcatico di Qubic, oltre alla roadmap completa di Qubic. A dimostrazione dell’amore per la trasparenza ed il feedback della community, è possibile vedere la mappa di sviluppo di Qubic (https://qubic.iota.org/roadmap). Nel frattempo, per domande e risposte sulla comunità generale, potete inviare messaggi ad Eric Hop (@Eric Hop [IF] #8124) su Discord. Se desiderate fornire suggerimenti o contributi relativi ad un sistema PoX, inviate un’email a [email protected], e seguite gli aggiornamenti su qubic.iota.org e twitter.com/SamuelReidIOTA


Il testo originale in lingua inglese si trova qui: https://blog.iota.org/resource-tests-in-qubic-53b8bef4d705


Da oggi è possibile dare il vostro supporto su Patreon https://www.patreon.com/antonionardella

Per ulteriori informazioni in italiano o tedesco trovate i miei contatti a questa pagina.
Se avete trovato utile la mia libera traduzione, accetto volentieri delle donazioni 😉

IOTA:
QOQJDKYIZYKWASNNILZHDCTWDM9RZXZV9DUJFDRFWKRYPRMTYPEXDIVMHVRCNXRSBIJCJYMJ9EZ9USHHWKEVEOSOZB
BTC:
1BFgqtMC2nfRxPRge5Db3gkYK7kDwWRF79

Non garantisco nulla e mi libero da ogni responsabilità.


Also published on Medium.