Airdrops en EOS: Lo que nadie te ha contado

in #eosio6 years ago (edited)

[Este post ha sido actualizado el día 25-6-2018]

Mira la sección "Recuperando RAM de Airdrops: Qué sucede cuándo se mueven los tokens"

---------

Si hace 3 semanas escribía mi opinión de como los airdrops en EOS suponen un nuevo modelo económico, hoy a voy a explicar un poco más en detalle los puntos fuertes y débiles de los airdrops en una red EOS, así como sus costes (en tiempo y dinero).

Tipos de Airdrops

Primero voy a hacer una separación de los tipos de airdrops que pueden haber en EOS

  • Opción 1: siguen el archivo de Genesis snapshot que contiene lista de cuentas y saldo en EOS
  • Opción 2: no lo siguen
  • Opción 3: requieren registro

En el caso de la opción 2, al no disponer de una archivo con las cuentas y los saldos, es bastante complicado obtener una lista de cuentas a las cuales hacer airdrop.

En este caso, por ejemplo, podrían escanear todos los bloques que hay en la blockchain, e ir anotando los nombres de cuentas que han hecho alguna transacción. Luego pueden usar esas cuentas para hacer el snapshot.

Con esta opción, sólo los que han hecho una transacción, entrarían en el airdrop. Si además quieren dar un numero de tokens proporcional al número de EOS que se tiene (aunque no es necesario), tendrían que revisar el saldo de cada una de esas cuentas, y anotarlo (haciendo una consulta del tipo: get currency balance eosio.token <nombre_cuenta>)

La verdad es que esta opción es bastante complicada. Por lo que de momento, y que yo sepa, todos los airdrops previstos para EOS que no requieren registro, usan el snapshot del Génesis. 

En el caso de la opción 3(airdrops que requieren registro) solo se realizará sobre las cuentas que se han “apuntado”. Este último caso, generalmente requiere que además dejes tu email y algún otro dato de carácter privado. Debes ir con mucho cuidado con este tipo de airdrops y te recomiendo que no hagas el registro, ya que luego es normal recibir bastante spam y correos basura en tu email.

Génesis Airdrop

Con este tipo de airdrop, la empresa u organización que hace el airdrop usará las cuentas y los saldos que hay en el archivo genesis.csv. Este archivo se generó cuando el smart contract ERC20 con los tokens de EOS se congeló, y fue validado por varios Block Producers.

Las ventajas de usar este archivo son:

  1. Una lista clara y completa de usuarios con saldo
  2. Fácilmente procesable vía scripts o aplicaciones en nodejs
  3. Incluye más de 160.000 usuarios con ganas de recibir tokens gratis y, por lo tanto, interesados en recibir los tokens de tu proyecto

Por este motivo, el 95% de los airdrops que veremos en EOS en los próximos meses usarán esta opción.

Probando Airdrops en la Jungla

Durante los últimos días he estado realizando airdrops en Jungle testnet. Estas son las monedas que he creado y algunas con las que he hecho airdrops

Esta es una captura de pantalla justo en el momento en que estaba repartiendo PESETAS.

Jungle testnet pretende ser lo más parecido a la main net posible. Por lo tanto una de las cosas que tiene, son las mismas cuentas con EOS que la main net. Si tienes una cuenta con EOS en la Blockchain de EOS, también la tienes en Jungle, aunque eso EOS no son de verdad, y sólo te sirven para jugar dentro de la blockchain de pruebas.

Teniendo en cuenta los puntos anteriores, Jungle es el sitio ideal para probar los scripts de airdrop.

Tras un par de pruebas, estos son los datos que he extraído.

El tiempo para completar el airdrop ha sido de 2h y 9 minutos (164k cuentas). Para poder realizarlo en ese tiempo y sin interrupciones, he necesitado unos 4500 EOS. Este dato depende mucho de la congestión de la red, pero calculo que para no tener problemas se deberían usar entre 4500 y 5000 EOS en CPU Bandwith. Por otro lado, no se necesitan más de 100 EOS en Net Bandwith.

La RAM necesaria para el airdrop fueron unos 27,31MiB, que al precio de hoy, son 912 EOS.

Es importante comentar que el precio de la RAM a día de hoy (23 de Junio de 2018) se ha doblado con respecto al día 19 de Junio.

Hace cuatro días, hacer un airdrop en main net hubiera costado 460 EOS, que son 4958$ (el valor del EOS el día 19 era de 10.79$). 

Sin embargo, hoy el coste del airdrop es de 912 EOS, que son 7478$ (el valor del EOS de hoy es 8,20$ aproximadamente). 

En solo 4 días, el airdrop ha costado 2520$ más.

Este coste en RAM no se puede recuperar, ya que es necesario para guardar en memoria la tabla que contiene las filas con los tokens de cada cuenta.

En este punto, explicaré brevemente que en en un Airdrop, los usuario NO reciben los tokens en su cuenta, sino que existe un apunte dentro del smart contract del token, en el que se describe el balance de tokens de cada usuario.

Míralo como la cuenta bancaria. El banco tiene una gran base de datos en el que cada fila es el nombre de la persona y a su lado hay el balance en Euros que le corresponde. Cuando el usuario traspasa fondos a otro usuario, simplemente se mueven entre filas. Te los restan a ti y se los suman al destinatario de tu transferencia.

Pues con los tokens es lo mismo. No los tienes tu en tu cuenta, sino que se guardan dentro del smart contract de este airdrop. Pero el saldo es tuyo y puedes venderlos y comprar más, siempre que el smart contract siga activo.

Este punto es muy importante, porque si el smart contract de esa moneda es destruido, todos los saldos desaparecerían (incluidos los de los exchanges). 

Destruir el smart contract de una moneda equivale, a todos los efectos, a borrar esa moneda de la blockchain.

¡Hacer un airdrop es muy caro!

Sí, lo es. En EOS y en otras blockchains. La ventaja es que en EOS no pagas por ancho de banda ni por CPU. Es cierto que usas tokens para reservarlos y usarlos, pero cuándo has terminado, puedes hacer el unstake, y 3 días mas tarde, recuperas el control de tus EOS. El único coste es la RAM. Y tienes que tener en cuenta que a medida que se van creando nuevas cuentas y nuevos usuarios van recibiendo tu token, esa RAM irá creciendo. 

Por lo tanto el coste de RAM de la creación del airdrop es solo el principio. Si quieres asegurar que tu coin se puede comprar y vender libremente en el mercado, deberás ir incrementando la RAM asignada al smart contract (cada nuevo usuario que recibe tu moneda por primera vez, necesitará una nueva fila en momoria RAM)

En cuanto a la CPU, pues 4500 EOS son muchos. ¿Son realmente necesarios para hacer un airdrop? 

Pues la verdad es que no. Puedes hacerlo con 450 por ejemplo. En ese caso, deberás planificar que el airdrop se haga en 10 veces, cada uno con una décima parte del total de las cuentas (16.400 por vez, por ejemplo). Y tras cada grupo de transacciones, deberás descansar unas horas para recuperar uso de CPU.

De esta manera igual en 3 o 4 días puedes completar el airdrop, con tan solo 450 EOS.

Hacer airdrops en EOS es mucho más rápido y, potencialmente, más barato que en Ethereum. Pero hay otros costes que en ETH no existen (incremento de la RAM por ejemplo). De momento, y a corto plazo, parece que los airdrops en EOS son más baratos (y mucho más rápidos!) que en ETH, pero veremos si con el tiempo, esto cambia.

Lo que está claro es que EOS es una blockchain viva, y que debes estudiar muy bien cómo y cuando hacer tu airdrop para maximizar tus recursos.

Recuperando RAM de Airdrops: Qué sucede cuándo se mueven los tokens [Actualizado 25-6-2018]

Una de las cosas que no son muy buenas en EOS es la falta de documentación. Esto hace que muchas cosas las vayamos descubriendo sobre la marcha. 

Pues bien, resulta que algunas partes de este artículo no son correctas. En vez de corregirlas, añado esta sección y lo explico.

Gracias al genial post del usuario @leordev he descubierto que la RAM de los airdrops se recupera. Cuándo una cuenta mueve sus tokens por primera vez, se hace un "claim" del importe de RAM y este pasa a ser pagado por el usuario. No es un gran coste, unos pocos céntimos. Pero de esta manera, cada usuario asume los costes de su cuenta. 

Así, a medida que los usuarios mueven sus tokens, la cuenta que hizo el airdrop va desocupando RAM y esta se puede vender de nuevo para recuperar la inversión inicial.

Este coste de RAM para el usuario se paga una sola vez.

El sistema está tan bien hecho, que en el caso que el smart contract del token desaparezca, también se libera la RAM del usuario que tenía los tokens, con lo cual no pierde EOS.

De esta manera, se minimizan muchos los costes de un airdrop. 

Si quieres hacer una ICO o un airdrop en EOS, no dudes en contactarme ya que puedo ayudarte a planificarlo, y ejecutarlo. :)

Email: [email protected]

Telegram: https://t.me/JR_Crypt

Linkedin: https://www.linkedin.com/in/joseprosich/

Agradecimientos

Esta artículo no se podría haber hecho sin Jungle Testnet y el equipo de Cryptolions

También me gustaría dar las gracias a Alejandro Pacheco y a César del grupo EOS en Español por compartir charlas sobre los smart contracts y por su ayuda cuando me quedaba atascado.

No podría haber llegado aquí sin el apoyo de Jorge y Dioni de eosMetal, que están ahí siempre para contestar preguntas y ayudar (votad eosMetal!!) :)

http://eosbarcelona.com/

Y no olvides votar a eosBarcelona! :)

Sort:  

Gracias por compartir tus conocimientos sobre la materia, falta un 4 tipo de airdrop, es de las cuentas polvorientas, pero ese esta aun por inventarse asi que carece de info

Mas o menos me quedo claro lo de la RAM, lo has explicado bien, pero es que a veces soy un poco corto, o distribuyo la neurona y no lo pillo bien, un par de re-lecturas y seguro que el conocimiento entra

xD

Se agradece mucho tener jungleee!!!! ayer me quede sopa leyendo la wiki, el portal de eos Dev no me va bien, los link de el menu no funcionan correctamente, podria guardar la wiki para verla en modo offline? ya que en 4 dias la quitan!!!

Saludos :D