Tanglestash
Emmagatzematge de fitxers descentralitzat sobre el llibre de registre distribuït d'IOTA amb una interfície gràfica Electron.
Què és?
Tanglestash és una prova de concepte que vaig crear el 2018 per emmagatzemar i recuperar fitxers al llibre de registre distribuït d’IOTA (el “tangle”). Combina la persistència de dades inspirada en blockchain amb un enfocament d’encadenament de transaccions estil BitTorrent, permetent l’emmagatzematge descentralitzat de fitxers sense servidors tradicionals.
El projecte té dues parts: un mòdul de Node.js per a accés programàtic i una aplicació d’escriptori Electron (interfície gràfica) per a una interacció més fàcil.
- Mòdul principal: https://github.com/loehnertz/Tanglestash
- Interfície gràfica d’escriptori: https://github.com/loehnertz/tanglesta.sh
Per què el vaig crear
El 2017-2018, estava molt interessat en el projecte IOTA i la idea de llibres de registre distribuïts més enllà de les criptomonedes. Volia explorar si realment es podia utilitzar un tangle (l’alternativa d’IOTA basada en DAG al blockchain) per a l’emmagatzematge pràctic de fitxers, no només per a transaccions.
El repte era trobar com encadenar transaccions d’una manera que fes possible la recuperació sense indexació centralitzada. Al final vaig arribar a un enfocament inspirat en BitTorrent on cada transacció fa referència a altres transaccions que contenen dades mentre es vincula al seu predecessor.
Com funciona
Tanglestash emmagatzema dades creant cadenes de transaccions IOTA. Cada transacció conté part del teu fitxer i fa referència a altres transaccions, formant una cadena de recuperació. Només necessites un “hash d’entrada” (el hash de la primera transacció) per recuperar els teus fitxers emmagatzemats – tota la resta es pot rastrejar des d’allà.
Capacitats principals:
- Emmagatzemar fitxers de qualsevol tipus directament al tangle
- Recuperar dades prèviament emmagatzemades usant hashes de transaccions
- Xifrat AES opcional per a la protecció de dades
- Codificació/descodificació Base64 automàtica per a la gestió de fitxers
L’aplicació d’escriptori
La interfície gràfica Electron proporciona tres interfícies principals:
Pantalla de persistència – Pujar fitxers al tangle amb xifrat opcional
Pantalla de recuperació – Baixar fitxers prèviament emmagatzemats usant el seu hash d’entrada
Pantalla de configuració – Configurar connexions amb proveïdors de nodes IOTA
Stack tecnològic
Mòdul principal:
- Node.js (versió 8 específicament – no funcionava amb la versió 9+)
- JavaScript amb integració IOTA via
ccurl - Xifrat AES per a la protecció opcional de dades
Interfície gràfica d’escriptori:
- Electron per a aplicacions d’escriptori multiplataforma (Windows, macOS, Linux)
- Vue.js per a components d’interfície reactius
- Vuex per a la gestió d’estat
Comprovació de realitat
Seré honest: Tanglestash va ser un experiment, no una solució preparada per a producció. La persistència de dades era terriblement lenta comparada amb les pujades HTTP tradicionals per culpa dels requisits de prova de treball a la xarxa IOTA en aquell moment.
Demostra el que és possible amb tecnologia de llibre de registre distribuït per a l’emmagatzematge de fitxers, però no està optimitzat per a ús al món real. El vaig publicar sota la llicència MIT el 2018 com una exploració primerenca de combinar conceptes de llibre de registre distribuït amb casos d’ús pràctic d’emmagatzematge de fitxers.
Tot i això, va ser un projecte divertit i em va ensenyar molt sobre treballar amb sistemes distribuïts i els compromisos entre descentralització i rendiment.