Steem fornisce un protocollo scalabile per blockchain 1 dedicato a contenuti pubblicamente accessibili e immutabili, insieme ad un token digitale veloce e senza costi di transazione (chiamato STEEM)2 il quale consente alle persone di guadagnare crediti usando il proprio cervello ( questo processo è definito "Proof-of-Brain"). I due tasselli fondamentali di questo protocollo, sia la blockchain che i token, dipendono l'uno dall'altro per questioni di sicurezza, immutabilità e longevità, e sono pertanto sono parte integrante l'uno dell'altro. Steem è funziona con successo da oltre un anno, ed ha superato il numero di transazioni processate di Bitcoin ed Ethereum messi insieme3
Rispetto alle altre blockchain, Steem si distingue come primo database accessibile al pubblico per contenuti memorizzati ed immutabili sotto forma di testo semplice, insieme ad un meccanismo interno di incentivazione. Questo rende Steem una piattaforma editoriale pubblica dalla quale ogni applicazione su internet può richiedere e condividere dati ed allo stesso tempo premiare coloro che contribuiscono con i contenuti di maggior valore.
Nel campo delle crypto-valute, le caratteristiche uniche di STEEM lo rendono sia "smart" che "social" rispetto alle altre crypto-valute, come il bitcoin e l'ether. Questo deriva dalle due nuove caratteristiche del token. La prima caratteristica è la presenza di un bacinodi token dedicato ad incentivare la creazione e l'edizione dei contenuti (Chiamato "Rewards Pool" o Bacino delle Ricompense). La seconda caratteristica è la presenza di un sistema di voto che bilancia la saggezza della massa per valutare il valore dei contenuto e distribuire i token ad ognuno di essi. Queste due caratteristiche uniche combinate insieme sono denominate "Proof-of-Brain", che è una "Proof-of-Work"4 basata però sulla comprensione, con lo scopo di enfatizzare il lavoro umano richiesto a distribuire i token alla community dei partecipanti. La "Proof-of-Brain" posiziona STEEM come uno strumento per creare community sempre più grandi, e ciò incoraggia i membri a creare maggiore valore ad ogni community tramite il sistema di ricompense integrato.
Oltre a questi progressi con la tecnologia della blockchain e dei token, Il sistema Steem fornisce funzionalità addizionali ed avanzate per migliorare l'esperienza utente, come ad esempio il Recupero di un Account Rubato5, un servizio di deposito con garanzia, contenuti sponsorizzati, un sistema di reputazione e conti di risparmio. Tutto questo provvedendo contemporaneamente ad ogni utente una conferma di transazione di tre secondi e nessun costo di transazione. Tutto questo permette di sostenere la missione di donare una valuta smart ed intelligente agli editori ed ai creatori di community su Internet.
Il sistema di token che ricompensa gli utenti che contribuiscono ad un sistema di community fondate sui token richiede meccanismi per stabilire e valutare il valore sociale dei contenuti: chiamiamo questo "Proof-of-Brain."
Uno dei più innovativi (e più malcompresi) aspetti della blockchain di Steem è il "bacino delle ricompense" dal quale i token sono distribuiti ai creatori di contenuti di valore. Per capire cosa è il Bacino delle Ricompense, bisogna prima capire che nelle DPoS blockchain i token sono prodotti in modo differente rispetto alle PoW blochains. Nelle tradizionali PoW blockchains, i token sono prodotti in modo regolare e distribuiti in modo casuale alle persone le quali macchine svolgono il lavoro("miners").
Differentemente rispetto alle cryptovlaute che usano solo la PoW, in Steem i token sono generati ad un intervallo fisso di un blocco ogni tre secondi. Questi token sono distribuiti a vari attori nel sistema in base alle regole definite dalla blockchain. Questi attori, come i creatori di contenuti, i testimoni e gli editori, competono in modo specializzato per i token. A differenza della metodologia di distribuzione tipica del PoW, dove i miner competono sulla sola potenza di calcolo, gli attori nel network di Steem sono incentivati a competere in modo da aggiungere valore alla community.
La percentuale di generazione di nuovi token è stata impostata al 9.5% per anno partendo dal Dicembre 2016, percentuale che diminuirà dello 0.01% ogni 250,000 blocchi, o circa dello 0.5% annuo. L'inflazione continuerà a diminuire a questo tasso fino a che raggiunga lo 0.95%, dopo un periodo stimato di circa 20.5 anni.
Del totale dei nuovi token creati ogni anno dalla blockchain di Steem, il 75% dei token compongono il "bacino delle ricompense" che saranno distribuiti ai creatori e gli editori di contenuti. Il 15% dei token sarà distribuito ai detentori di token acquistati e il 10% sarà distribuito ai testimoni e ai creatori dei blocchi che collaborano all'interno del protocollo di consenso del DPos di Steem.
Gli utenti che producono contenuti aggiungono valore al network, da un lato, creando del materiale che guiderà nuovi utenti all'utilizzo della piattaforma e, dall'altro, intrattenendo e coinvolgendo gli attuali utenti. Questo permette di distribuire la valuta verso un più ampio spettro di utenti e di aumentare l'effetto del network. Gli utenti che si prendono del tempo per valutare e votare un contenuto giocano un ruolo importante nel distribuire la valuta verso gli utenti che aggiungono maggior valore. La blockchain ricompensa entrambe queste attività relative al valore basato sulla saggezza collettiva delle persone raccolta tramite un sistema di voto ponderato basato sul consenso.
Steem opera sulla base di uno STEEM, un voto. In base a questo modello, gli individui che hanno contribuito maggiormente alla piattaforma, informazione reperibile tramite il saldo del proprio account, hanno maggiore influenza sulla valutazione dei contributi. Le quote possono essere comprate o guadagnate. Gli utenti non possono acquisire maggiore influenza possedendo account multipli, dato che un singolo account con una data quantità di quote avrà la stessa influenza di due differenti account che condividono lo stesso numero di quote. L'unico modo per un utente di aumentare la propria influenza all'interno della piattaforma è di aumentare le proprie quote.
Inoltre, Steem consente ai membri di votare con gli STEEM solo quando è necessario, durante processo di vestizione di 13 settimane chiamato Steem Power. In base a questo modello, i membri hanno un incentivo finanziario per votare in un modo da massimizzare il valore a lungo termine dei loro STEEM.
La blockchain di Steem è progettata per essere una delle più veloci ed efficienti blockchain esistenti, cosa necessaria per far si che possa supportare la quantità di traffico prevista per un social media più grande di Reddit. Steem ha già superato il Bitcoin in termini di numero di transazioni, ed è capace di scalare fino a supportare più di 10,000 transazioni al secondo.
Spesso limitate dalla Proof-of-Work (PoW) 6, molte blockchain non possono scalare oltre alle tre transazioni al secondo, che è solo una minima parte del traffico finanziario nel mondo. Steem necessità di molta più scalabilità e velocità rispetto a quella offerta dalla classica PoW, e quindi di un meno conosciuto algoritmo chiamato Proof of Stake Delegato (DPoS)7 sfruttato per creare le fondamenta di una blockchain adatta per miliardi di utenti.
Grazie al DPoS, la blockchain di Steem è capace di generare un nuovo blocco ogni 3 secondi con un carico computazionale minimo. Questo significa che la blockchain può processare più transazioni ed ottenere più informazioni, inclusi i contenuti.
Definendo le regole per quando si verifica un HardFork, i testimoni eletti all'interno del framework del DPoS possono rapidamente ed efficientemente decidere se scegliere il l'hardfork proposto o meno, consentendo al protocollo della blockchain di Steem di evolversi più rapidamente della maggior parte degli atri protocolli. La blockchain di Steem è già stata sottoposta con successo a 18 fork 8, e ogni volta che un Hardfork è avvenuto, solo un'unica catena è sopravvissuta al fork.
ChainBase9 è la porzione di database che ha sostituito Graphene10 nel 2016. ChainBase ha un più veloce tempo di caricamento ed uscita, supporta accessi paralleli al database ed è più robusto contro i crash rispetto al suo predecessore. Esso ha anche una più bassa frequenza di corruzione del database, il che consente uno "snapshotting" istantaneo dello stato dell'intero database, e può gestire più richieste RPC sulla stessa memoria.
AppBase è il primo step nella creazione di una Fabric multi-chain. AppBase consente a molte componenti della blockchain di Steem di diventare modulari creando delle addizionali blockchain non consensuali come dei plugin dedicati. Questi plugin possono essere aggiornati molto più rapidamente perché non richiedono di far ripartire l'intera blockchain. Questo rende steemd11 molto più efficiente e semplice da mantenere e scalare.
Praticamente, AppBase abilita dei core differenti, o addirittura computer differenti, per mantenere differenti parti della blockchain di Steem. Questo è significativamente molto più efficiente di richiedere ad ogni core, ed ogni computer nel network di mantenere l'intera blockchain. Modularizzando la blockchain consente di sfruttare i pieni vantaggi della natura modulare dei computer. Questo è uno step necessario nel processo di creazione di una totalmente parallela ed ottimizzata blockchain.
La blokchain di Steem serve un duplice scopo e cioè di essere, da un lato, un sistema di processo per token digitali, dall'altro, una piattaforma social media mainstream. Le funzionalità offerte dalla blockchain devono sostenere entrambi gli scopi, ed offrire agli utenti un'esperienza di classe mondiale durante l'utilizzo di entrambi gli aspetti della piattaforma.
Steem offre la capacità unica di pubblicare ed archiviare differenti tipi di contenuto direttamente e permanentemente all'interno dell'immutabile libro contabile della blockchain come semplice testo. Una volta archiviati all'interno della blockchain, i dati diventano disponibili pubblicamente per gli sviluppatori per crearne qualcosa. Gli sviluppatori sono in grado di interagire con il contenuto direttamente sulla blockchain usando le API a disposizione. Molti degli sviluppatori di primitivi possono creare includendo i Nomi di Account, i Post, i Commenti, i Voti e il Saldo del proprio Account.
Gli indirizzi dei portafogli utilizzati da molte tecnologie blockchain, come il Bitcoin e l'Ethereum, sono stati storicamente costituiti da stringhe di lettere e numeri casuali, tuttavia, questi indirizzi possono rendere difficile creare transazioni all'interno di un tipico contesto online-social-media perché gli utenti non sono solitamente in grado di ricordare a memoria indirizzi basati su lunghe stringhe. La blockchain di Steem usa l'username di ogni partecipante come indirizzo per il proprio portafoglio, il che rafforza l'esperienza utente dei partecipanti che tentano di invare token cercando di ricordare gli indirizzi a memoria.
Molti utenti appena introdotti alle criptovalute hanno difficoltà a comprendere come i "magici token di internet" ottenuti tramite la piattaforma possano avere un concreto valore nel mondo reale. Per colmare questo gap tra il sistema di valute tradizionali, ai quali gli utenti mainstream sono abituati, e le cryptovalute che si guadagnano tramite la piattaforma, è stata creata una nuova valuta chiamata Steem Blockchain Dollars(SBD).
I token SBD sono progettati per essere ancorati strettamente al valore di un USD, così che gli utenti possono conoscere in modo approssimato quanto valore hanno acquisito in termini di "dollari reali". I token SBD offrono allo stesso tempo una relativamente stabile valuta per gli utenti che vogliono preservare il loro account ad un valore relativo agli USD. Una spiegazione più dettagliata può essere trovata all'interno della whitepaper tecnica di Steem.12
La blockchain di Steem offre un exchange decentralizzato di token, simile a quello offerto da Bitshares. 13 Questo exchange permette agli utenti di fare trading dei propri token STEEM e SBD attraverso un market decentralizzato peer-to-peer. Gli utenti sono in grado di piazzare ordini di acquisto o vendita, e la corrispondenza degli ordini viene eseguita automaticamente dalla blockchain. Esiste anche un libro ed una storia degli ordini pubblica ed accessibile che gli utenti possono utilizzare per analizzare il mercato. Gli utenti possono interagire direttamente con l'exchange usando le API della blockchain, o usando una GUI come quella offerta da Steemit.com. 14
L'irreversibile natura delle transazioni sulla blockchain è un importante funzionalità di sicurezza sebbene esistono molti casi dove l'utente può non essere pienamente a suo agio nell'inviare i propri token ad altri individui senza un modo di riaverli indietro se l'altro utente non rispetta i termini dell'accordo. La blockchain di Steem offre agli utenti un modo per inviare i propri coin utilizzando una parte terza designata come servizio di cauzione. L'utente che agisce come servizio di cauzione è in grado di determinare se il termine dell'accordo è stato raggiunto, e in quel momento permette ai fondi di essere sbloccati verso il destinatario oppure ristornati al mittente.
Steem utilizza una struttura gerarchica di chiavi private unica nel suo genere per facilitare transazioni a basso o altro livello di sicurezza. Transazioni a basso livello di sicurezza tendono ad essere social, come post e commenti. Transazioni ad alto livello di sicurezza possono essere trasferimenti o modifiche alla chiave. Questo permette agli utenti di implementare differenti livelli di sicurezza per le loro chiavi, in base all'accesso che le chiavi permettono.
Queste chiavi private sono Posting, Active e Owner. La chiave Posting permette agli accounti di postare, commentare, modificare, votare, effettuare resteem15, e seguire/silenziare altri account. La chiave Active serve per azioni più sensibili come trasferimenti di fondi, transazioni power up/down, conversioni di Dollari Steem, votazioni per i testimoni, piazzare ordini di mercato, resettare e postare la propria chiave. La chiave Owner serve solo quando è necessaria. È la più potente tra le chiavi perché può cambiare ognuna delle chiavi dell'account, inclusa la chiave Owner stessa, e per provare la proprietà durante il processo di recupero account. Idealmente dovrebbe essere salvata offline, e usata solamente quando le chiavi dell'account devono essere cambiate or per recuperare un account compromesso.
Steem facilita inoltre l'utilizzo di una Password Master che cripta le altre tre chiavi. I servizi web possono usare la Password Master che decripta e firma con le necessarie chiavi private. Le Password Master possono permettere agli utenti di avere fiducia di determinati servizi e per mantenere chiavi improprie dall'essere trasferite attraverso qualsiasi server, aumentando così l'esperienza utente ed allo stesso tempo mantenendo un ambiente client per la firma sicuro.
La blockchain di Steem permette ad una autorità di essere suddivisa in multiple entità, in modo tale che multipli utenti possano condividere la stessa autorità, o in caso che multiple autorità debbano autorizzare una transazione prima che sia validata. Questo è fatto allo stesso modo di Bitshares16 dove ad ogni paio di chiavi pubblica/privata è assegnato un peso ed è definita una soglia per l'autorità. Per validare una transazione, abbastanza entità devono firmare in modo tale che la somma dei loro pesi raggiunga o superi la soglia minima.
Per ogni post potrebbe esserci un numero differente di persone che hanno un interesse finanziario nella ricompensa. Questo include l'autore, il possibile co-autore, referenze, il provider dell'hosting, i blog che incorporano i commenti della blockchain, gli sviluppatori di tool. Qualunque sito web o strumento che viene utilizzato per costruire un post o un commento avrà l'abilità di impostare come la ricompensa derivata da quel post debba essere divisa tra le differenti parti. Questo consente varie forme di collaborazione, come anche un modo per varie piattaforme create sulla blockchain di Steem di ricevere una parte della ricompensa dai propri utenti.
Gli Smart Media Token sono token nativi che possono essere costituiti sulla blockchain di Steem. Lo STEEM è il primo SMT mai esistito, e il protocollo dello Smart Media Token ha come obiettivo quello di monetizzare i siti web e le applicazioni di contenuto su tutto il web permettendo alle persone di creare token che posseggono delle proprietà simili allo STEEM, ma customizzabili per adattarsi alla visione di qualsiasi community tramite l'incentivazione del comportamento, ed essenzialmente replicando il successo dello STEEM su ogni sito web o applicazione. Dettagli più specifici possono essere trovati all'interno della whitepaper relativa agli Smart Media Token 17.
Se l'account di un utente è compromesso, è possibile cambiare le proprie chiavi utilizzando la propria chiave Owner. Nel caso in cui il malintenzionato è in grado di compromettere la propria chiave Owner e cambiare la password dell'account, l'utente ha 30 giorni per sottomettere la precedente e funzionante chiave privata tramite il processo di recupero account offerto da Steem, e recuperare il controllo del proprio account. Questo può essere offerto da una persona o da un'azienda che offre servizi di registrazione su Steem. Non è obbligatorio per il fornitore di servizio di registrazione provvedere questo servizio di recupero account ai propri utenti, ma è un modo per aumentare l'esperienza utente dei propri utenti.
Se la chiave Active o Owner di un utente è compromessa, il malintenzionato potrebbe avere accesso totale a tutti i fondi dell'account. Dato che le transazioni sulla blockchain sono irreversibili, l'utente non avrà modo di riavere i propri fondi indietro una volta rubati.
La blockchain di Steem permette ai propri utenti di salvare i propri token STEEM e SBD in un account di risparmio, in modo tale che i fondi non possano essere prelevati fino al termine di un periodo di tempo di tre giorni. In più, gli STEEM che sono posseduti durante il periodo di vestizione di 13 settimane possono solamente essere prelevati con un tasso di 1/13 per settimana, dopo un periodo iniziale di pausa di sette giorni. Questo periodo di blocco previene un malintenzionato dall'essere in grado di avere accesso alla totale porzione dei fondi dell'utente in modo immediato, ed in modo tale che il legittimo proprietario possa riottenere il controllo sul proprio account prima che tutti i suoi fondi possano essere prelevati.
Dato che i testimoni sono pagati interamente dalla generazione di nuovi token, non c'è necessità di caricare gli utenti di una fee per attivare la blockchain. L'unica ragione per caricare di una fee potrebbe essere quella di creare un deterrente in modo da prevenire uno spropositato numero di transazioni da parte degli utenti che possa potenzialmente impattare le performance della blockchain stessa.
In modo da impostare un ragionevole limite all'utilizzo del sistema, ad ogni utente viene settato un limite di banda. Ogni volta che un utente attua delle operazioni sulla blockchain come un trasferimento di token, il post di un contenuto e una votazione, questo usa solo una porzione della banda disponibile. Se un utente supera la banda disponibile, è necessario aspettare per effettuare ulteriori azioni che la banda si ricarichi.
I limiti di banda si aggiustano in base all'utilizzo del network, così gli utenti hanno un più alto accesso alla banda quando l'utilizzo del network è basso. La quantità di banda che un utente ha a disposizione è direttamente proporzionale alla quantità di Steem Power che l'utente ha, questo permette agli utenti di aumentare la propria disponibilità ottenendo dello Steem Power addizionale.
Il programma unico di ricompense ed incentivi offerto dalla blockchain e dai token di Steem è progettato per rendere Steem la massima rampa di accesso tra le criptovalute e gli utenti mainstream. Le performance della blockchain sono progettate con in mente l'idea di una diffusa adozione sia della valuta che della piattaforma. Combinando la fulminante velocità del tempo di processo con il costo zero delle transazioni Steem si candida per diventare una delle principali tecnologie blockchain usate in tutto il mondo.
1. Delegated Proof of Stake Position Paper. Grigg, 2017. https://steemit.com/eos/@iang/seeking-consensus-on-consensus-dpos-or-delegated-proof-of-stake-and-the-two-generals-problem ↩
2. Per differenziarlo dal termine inteso per la sua blockchain, il corretto spelling per il token digitale nativo di Steem è STEEM. ↩
3. Volume delle Transazioni: Report delle Transazioni Per Secondo. Utente e Testimone di Steem “@roadscape”. https://steemit.com/blockchain/@roadscape/tps-report-2-the-flippening ↩
4. Proof-of-Work. Wikipedia. https://en.wikipedia.org/wiki/Proof-of-work\_system ↩
5. Inizializzazione Processo di Recupero per Account Rubati per Utenti Steemit.com: 07-13-2017 https://steemit.com/recover\_account\_step\_1 ↩
6. Problema di Scalabilità del Bitcoin https://en.wikipedia.org/wiki/Bitcoin\_scalability\_problem ↩
7. DPoS Whitepaper https://steemit.com/dpos/@dantheman/dpos-consensus-algorithm-this-missing-white-paper ↩
8. https://steemit.com/steemit/@steemitblog/proposing-hardfork-0-20-0-velocity ↩
9. ChainBase Release https://steemit.com/steem/@steemitblog/announcing-steem-0-14-4-shared-db-preview-release ↩
10. Graphene Documentation http://docs.bitshares.org/ ↩
11. Il componente della blockchain di Steem responsabile per il processo delle transazioni e la distribuzione delle ricompense ↩
12. Steem Whitepaper https://steem.io/SteemWhitePaper.pdf ↩
13. Bitshares Decentralized Exchange http://docs.bitshares.org/\_downloads/bitshares-general.pdf ↩
14. Steemit.com Currency Market https://steemit.com/market ↩
15. "Resteem" è il termine utilizzato all'interno della blockchain di steem per quando un utente condivide un contenuto con i propri followers. ↩
16. Bitshares Flexible Identity Management http://docs.bitshares.org/\_downloads/bitshares-general.pdf ↩
17. Smart Media Tokens Whitepaper https://smt.steem.io/smt-whitepaper.pdf ↩