Jakob Löhnertz

Enginyer de Software Sènior i líder d'equips

Captura de pantalla de la interfície gràfica de Tanglestash mostrant la interfície de persistència de fitxers.

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.

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
Com s'emmagatzemen i es recuperen els fitxers via el tangle d'IOTA

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

Interfície de persistència de Tanglestash

Pantalla de recuperació: Baixar fitxers prèviament emmagatzemats usant el seu hash d’entrada

Interfície de recuperació de Tanglestash

Pantalla de configuració: Configurar connexions amb proveïdors de nodes IOTA

Interfície de configuració de Tanglestash

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
EN