Jakob Löhnertz

Enginyer de Programari Sènior i Líder

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.

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.

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

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 (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.

EN