¿Cómo almacenar un archivo de 30 kb usando el almacenamiento de datos de blockchain descentralizado en NXT (nxtcoin) adjuntando mensajes?

Tengo curiosidad por saber cómo se almacenaría un archivo de 30 kb en la cadena de bloques NXT, ya que el protocolo NXT puede adjuntar un mensaje de 1000 bytes. Mi escenario de prueba es almacenar un archivo midi de 30 kb en la cadena de bloques nxt y luego volver a llamarlo para formar el archivo nuevamente en el navegador o como un archivo descargado. Quiero poder hacer esto a través del cliente nxt local a través de su API y también a través de servicios en línea que tienen su API abierta para consultar la cadena de bloques nxt. Lo que necesito saber y confirmar es lo siguiente:

  • Debido al límite de 1000 bytes, me imagino que serían más de 30 mensajes separados para formar este archivo.
  • Para reformar el archivo, necesitaríamos marcar cada mensaje en el orden correcto para concatenarlo.
  • ¿Se puede hacer todo esto usando solo javascript y consultas remotas de nxt blockchain api?
  • ¿Necesitamos convertir el código de bytes en base64 para el almacenamiento descentralizado?
  • ¿Qué otros problemas nos podemos encontrar?

Si podemos hacer que funcione un escenario de prueba, técnicamente podemos almacenar/recuperar/incrustar datos en nuestros sitios web/aplicaciones sin necesidad de un servidor centralizado.

un mejor ejemplo de prueba es almacenar este juego de ajedrez de 1kb en la cadena de bloques nxt: 1kchess.an3.es y luego recuperarlo nuevamente usando js e incrustarlo en una página web.
¿NXT es compatible con BIP16? Mire webbtc.com/tx/… Esta transacción contiene una gran cantidad de "datos adicionales". Descárguelo en binario y visualícelo como datos sin procesar en el editor hexadecimal
Si lo agrega en 30 mensajes separados, deberá realizar un seguimiento de dónde están los mensajes en la cadena de bloques, lo que requerirá 30*(32+4) ~= 1kb de datos. No parece un almacenamiento muy eficiente.
¡Parece que el nuevo cliente nxt admite archivos adjuntos más grandes!

Respuestas (1)

Parece que la nueva versión 1.5 nxt les brinda a los usuarios la capacidad de adjuntar hasta 40 kb de datos en la cadena de bloques. Mira aquí:

Almacenamiento descentralizado NXT 1.5 en blockchain

También encontré la discusión de NXT Transient Data donde los datos pueden almacenarse en la cadena de bloques temporalmente y luego eliminarse después de un cierto período de tiempo para reducir la hinchazón de la cadena de bloques. Como discutido por Jean-Luc: https://nxtforum.org/general-discussion/price-speculation/msg126548/#msg126548

Podríamos agregar un archivo adjunto de "datos transitorios" que puede tener un tamaño mayor, pero solo se mantiene en la cadena de bloques por un tiempo limitado, digamos 24 horas. El hash del archivo adjunto completo se incluirá en los bytes de la transacción que se firmen y se mantendrán de forma permanente, de modo que la firma de la transacción siempre se pueda verificar, pero los datos reales se eliminarán después de este período de vencimiento. Luego, la expansión de la cadena de bloques y el tráfico adicional se limitarán a esos archivos adjuntos durante las últimas 24 horas. Esto no sería tan útil para las imágenes de los productos que los vendedores mantienen en stock de forma permanente, pero para los artículos de corta duración, o incluso para los mensajes con imágenes adjuntas, puede funcionar. Solo una idea.

Almacenamiento de archivos descentralizado lanzado en blockchain de producción:

ingrese la descripción de la imagen aquí