Con l'attesissima versione geth 1.5 ("che ci sia luce"), Swarm è entrato a far parte della release ufficiale di go-ethereum come funzionalità sperimentale. La versione attuale del codice è POC 0.2 RC5, ovvero "abbraccia i tuoi demoni" (roadmap), ovvero la versione riprogettata e ripulita del codice sorgente in esecuzione sulla toynet di Swarm negli ultimi mesi.
La versione attuale include il comando swarmcommand, che avvia un demone Swarm autonomo come processo separato, utilizzando il tuo client ethereum preferito conforme a IPC, se necessario. La gestione della larghezza di banda (utilizzando il protocollo SWAP = Swarm Accounting Protocol) è responsabile del funzionamento fluido e della rapida distribuzione dei contenuti, incentivando i nodi a contribuire con la propria larghezza di banda e a inoltrare i dati. Il sistema SWAP è funzionante, ma è disattivato di default. Gli incentivi di archiviazione (assicurazione punitiva) per proteggere la disponibilità di contenuti raramente accessibili sono previsti per la versione POC 0.4. Pertanto, attualmente, per impostazione predefinita, il client utilizza la blockchain solo per la risoluzione dei nomi di dominio.
Con questo post del blog siamo lieti di annunciare il lancio della nostra nuova testnet Swarm, connessa alla testchain ethereum Ropsten. La Fondazione Ethereum sta contribuendo con un cluster Swarm da 35tron(che arriveranno a 105) in esecuzione sul cloud Azure. Ospita la homepage di Swarm.
Consideriamo questa testnet come il primo progetto pilota pubblico e la community è invitata a unirsi alla rete, contribuire con risorse, segnalare problemi,dentpunti critici e fornire feedback sull'usabilità. Le istruzioni sono disponibili nella guida di Swarm. Invitiamo chiunque possa permettersi di gestire nodi persistenti (nodi che rimangono online) a contattarci. Abbiamo già ricevuto promesse per distribuzioni da 100 TB. Si noti che la testnet non offre alcuna garanzia! I dati potrebbero andare persi o diventare non disponibili. Infatti, non è possibile fornire garanzie di persistenza, almeno finché non verrà implementato il livello di incentivazione dell'assicurazione sullo storage.
Si noti che la testnet non offre alcuna garanzia! I dati potrebbero andare persi o non essere disponibili. In effetti, non è possibile fornire garanzie di persistenza, almeno finché non verrà implementato il livello di incentivazione dell'assicurazione sulla memorizzazione.
Immaginiamo di dare forma a questo progetto con un coinvolgimento sempre maggiore della comunità, quindi invitiamo coloro che sono interessati a unirsi
Come funziona Swarm?
Swarm è una piattaforma di storage distribuito e un servizio di distribuzione di contenuti; un servizio di base nativo dello stack Web3 ethereum . L'obiettivo è una soluzione di storage e distribuzione peer-to-peer che non presenti tempi di inattività, sia resistente agli attacchi DDOS, tollerante ai guasti e alla censura, nonché autosufficiente grazie a un sistema di incentivi integrato. Il livello di incentivi utilizza la contabilità peer-to-peer per la larghezza di banda, incentivi di storage basati sui depositi e consente lo scambio di risorse a pagamento. Swarm è progettato per integrarsi profondamente con il livello di rete multiprotocollo devp2p di Ethereum e con la blockchain Ethereum per la risoluzione dei nomi di dominio.
[gdlr_core_space altezza=”40px”]

[gdlr_core_space altezza=”40px”]
L'hash di un chunk è l'indirizzo che i client possono utilizzare per recuperare il chunk (la preimmagine dell'hash). L'indirizzamento irreversibile e senza collisioni fornisce immediatamente protezione dell'integrità: indipendentemente dal contesto in cui un client conosce un indirizzo, può stabilire se il chunk è danneggiato o è stato manomesso semplicemente eseguendo l'hash.
La principale caratteristica di Swarm come archivio di chunk distribuito è la possibilità di caricare contenuti al suo interno. I nodi che costituiscono Swarm dedicano risorse (spazio su disco, memoria, larghezza di banda e CPU) per archiviare e servire i chunk. Ma cosa determina chi conserva un chunk? I nodi Swarm hanno un indirizzo (l'hash dell'indirizzo del loro account bzz) nello stesso spazio delle chiavi dei chunk stessi. Chiamiamo questo spazio di indirizzi "rete overlay". Se carichiamo un chunk su Swarm, il protocollo determina che alla fine verrà archiviato nei nodi più vicini all'indirizzo del chunk (secondo una misura di distanza bendefisullo spazio di indirizzi overlay). Il processo mediante il quale i chunk raggiungono il loro indirizzo è chiamato sincronizzazione e fa parte del protocollo. I nodi che in seguito desiderano recuperare il contenuto possono ritrovarlo inoltrando una query ai nodi che si trovano in prossimità dell'indirizzo del contenuto. Infatti, quando un nodo ha bisogno di un chunk, invia semplicemente una richiesta allo Swarm con l'indirizzo del contenuto, e lo Swarm inoltrerà le richieste finché i dati non vengono trovati (o la richiesta non scade). In questo senso, Swarm è simile a una tradizionale tabella hash distribuita (DHT), ma con due caratteristiche importanti (e poco studiate).
- Il whitepaper di Vitalik ha realizzato il core di sviluppo Ethereum
- Quando raggiunse le prime colline
- Scorre un piccolo fiume chiamato Duden
- Autosufficiente grazie a un sistema di incentivi integrato
[gdlr_core_space altezza=”50px”]
Documenti e hash Swarm
A livello API, Swarm fornisce un chunker. Il chunker prende qualsiasi tipo di sorgente leggibile, come un file o un dispositivo di acquisizione video, e lo suddivide in blocchi di dimensioni fisse. Questi cosiddetti blocchi di dati o blocchi foglia vengono sottoposti a hash e quindi sincronizzati con i peer. Gli hash dei blocchi di dati vengono quindi impacchettati in blocchi a loro volta (chiamati blocchi intermedi) e il processo viene ripetuto. Attualmente 128 hash costituiscono un nuovo blocco. Di conseguenza, i dati sono rappresentati da un albero di merkle, ed è l'hash radice dell'albero che funge da indirizzo utilizzato per recuperare il file caricato.

