Uso de EVM o Swarm para el almacén de datos

Quiero mantener un almacén de datos de pares de valores clave. Por ejemplo, tengo usuarios de mi dapp que ingresan su comida favorita. Me gustaría asignar su cuenta al nombre del alimento. Tengo entendido que puedo hacer esto a través de un contrato inteligente o podría almacenarlo en un enjambre. ¿Cuáles son las diferencias entre los almacenes de datos en un enjambre y los que están dentro de un contrato inteligente? ¿Obtengo más privacidad al almacenar mis datos en swarm en lugar de a través del estado EVM?

Respuestas (1)

Almacenar sus datos en un contrato inteligente es costoso, no es económico guardar grandes cantidades de datos en un contrato inteligente. Es posible que tenga un mejor control sobre cómo (no quién) se accederá a sus datos con un contrato inteligente. Sin embargo, a medida que envía datos con una transacción, todos los nodos los reciben, por lo que, por privacidad, tendría que cifrar los datos.

En Swarm, carga su contenido que luego se corta en pedazos, y cada fragmento se envía a diferentes nodos para su almacenamiento en función de su hash; básicamente, el hash es también la dirección del fragmento. Cualquiera que tenga el hash puede recuperar y leer el contenido. Por lo tanto, en swarm también, si desea privacidad, debe cifrar sus datos y administrar las claves (el equipo de swarm está trabajando en una función de cifrado integrada).

Sin embargo, el almacenamiento en enjambre es mucho más económico y adecuado para cualquier tamaño de datos. Actualmente, es incluso gratuito, ya que se está implementando el protocolo de contabilidad SWAP. Cuando esté habilitada, se debe pagar para consumir los datos, y los nodos que sirven datos serán pagados (micropagos). Además, sus datos serán servidos por nodos basados ​​en la popularidad.

Sin embargo, los nodos pueden eliminar los datos impopulares (frecuencia de solicitud baja o nula), pero puede asegurarlos con un pago por adelantado.

Finalmente, al participar en la red de enjambre, también puede terminar recibiendo un pago por servir contenido, compensando (o incluso superando) los costos de su seguro.

Sin embargo, Swarm sigue siendo alfa, por lo que aún no debe usarlo para aplicaciones de misión crítica.