Tanglestash
Emmagatzematge de fitxers descentralitzat sobre el llibre de registre distribuït d'IOTA amb una interfície gràfica Electron.
2 min de lectura
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.
Era purament un projecte divertit, perquè emmagatzemar dades allà és bastant lent i al final serà “eliminat” (però funciona!).
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 les criptomonedes i la idea dels llibres de registre distribuïts. Volia explorar si realment es podia usar 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 – 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
sequenceDiagram
participant U as User
participant T as Tanglestash
participant I as IOTA Tangle
U->>T: Upload file
T->>T: Split into chunks
T->>T: Encrypt (optional)
loop Each chunk
T->>I: Create transaction
T->>I: Link to predecessor
end
T->>U: Return entry hash
Note over U,I: Later: Retrieval
U->>T: Provide entry hash
T->>I: Follow transaction chain
I->>T: Return chunks
T->>T: Reassemble & decrypt
T->>U: Return file 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
- JavaScript amb integració IOTA
- 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