mina protocol

Mina Protocol (MINA) Token. ¿Qué es, cómo comprar y precio?

Publicado por
Comparte en redes sociales

A continuación les vamos a hablar de Mina Protocol (MINA) Token, un proyecto muy interesante que hoy está con bastante movimiento y que ha crecido un buen tanto por ciento. En este artículo les vamos a dar toda la información de Mina Protocol y también les vamos a explicar como comprar MINA Token de forma sencilla.

Visión general Mina Protocol (MINA) Token.

Aquí es donde encontrará toda la documentación para todo el proceso de puesta en marcha de Mina.

¿Qué es Mina Protocol?

Mina es el primer protocolo de criptomonedas con una cadena de bloques sucinta. Las criptomonedas actuales como Bitcoin y Ethereum almacenan cientos de gigabytes de datos y, a medida que pasa el tiempo, sus cadenas de bloques solo aumentarán de tamaño. Sin embargo, con Mina, no importa cuánto aumente el uso, la cadena de bloques siempre se mantiene del mismo tamaño, aproximadamente 22 kb 1 (el tamaño de unos pocos tweets). Esto significa que los participantes pueden sincronizar y verificar rápidamente la red.

Este avance es posible gracias a zk-SNARKs, un tipo de prueba criptográfica sucinta. Cada vez que un nodo Mina produce un nuevo bloque, también genera una prueba SNARK que verifica que el bloque era válido. Todos los nodos pueden almacenar la prueba pequeña, a diferencia de la cadena completa. Al no tener que preocuparse por el tamaño del bloque, el protocolo Mina habilita una cadena de bloques que está descentralizada a escala.

Empezando con Mina Protocol

¡Bienvenidos a Mina! Esta sección lo guiará a través del proceso de configuración de un nodo Mina. Después, le mostraremos cómo generar un par de claves para usar con la red. Finalmente, le mostraremos cómo conectarse a la red y comenzar a producir bloques.

NOTA

Esta documentación es para la versión de Mainnet .

Estado de la red: OPERACIONAL

Requisitos

Software : macOS, Linux (actualmente es compatible con Debian 9 y Ubuntu 18.04 LTS) o cualquier host con Docker

Nota: Windows no es compatible oficialmente en este momento. Sin embargo, los miembros de la comunidad lograron configurar nodos utilizando el Subsistema de Windows para Linux. Haga clic aquí para obtener instrucciones sobre el uso de Windows, creado por la comunidad. Además, los usuarios de Windows pueden utilizar la documentación de Docker.

Hardware : enviar y recibir mina no requiere ningún hardware especial, pero ejecutar un productor de bloques en la red Mina actualmente requiere:

  • al menos un procesador de 8 núcleos
  • al menos 16 GB de RAM

Tenga en cuenta que si planea ejecutar un nodo trabajador snark al mismo tiempo que un productor de bloques, es posible que necesite más RAM. Actualmente no se requieren GPU, pero pueden ser necesarias para los operadores de nodos cuando se actualiza el protoctol.

Red : conexión de al menos 1 Mbps

Instancias de VM : O (1) Labs ha probado los nodos en ejecución en varios proveedores de nube y recomienda las siguientes instancias para las necesidades básicas del operador de nodos. Tenga en cuenta que los requisitos personalizados, así como las diferentes restricciones de costos, pueden requerir un tipo de instancia diferente.

Consulte nuestra guía sobre cómo configurar su nodo Mina en Google Cloud.

Instalación

Las versiones binarias más recientes se pueden encontrar a continuación. A continuación, se proporcionan instrucciones para macOS y Linux:

Esta es una descarga grande, alrededor de 1 GB, por lo que la instalación puede llevar algún tiempo.

ADVERTENCIA

Si instaló minadesde una versión anterior, deberá actualizarla para que la red no lo prohíba por usar un cliente anterior. Consulte las instrucciones a continuación para actualizar las compilaciones de macOS y Linux.

Ubuntu 18.04 / Debian 9

Agregue el repositorio de Mina Debian e instale:

echo "deb [trusted=yes] http://packages.o1test.net release main" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y curl unzip mina-mainnet=1.1.5-a42bdee

Verifique que el demonio esté instalado correctamente ejecutando mina version. La salida debería leer Commit a42bdeef6b0c15ee34616e4df76c882b0c5c7c2a on branch master.

Ventanas

Windows aún no es compatible de forma nativa. Si está interesado en recibir una subvención para desarrollar Mina para Windows, envíe un correo electrónico a grant@o1labs.org o comuníquese con el servidor de Discord .

En su lugar, utilice las instrucciones de Docker a continuación.

Mac OS

Los desarrolladores utilizan macOS, pero no admitimos oficialmente ningún paquete preconstruido en este momento.

En su lugar, utilice las instrucciones de Docker a continuación o puede compilar desde la fuente.

Estibador

Docker es una herramienta multiplataforma que le permite ejecutar una máquina virtual que ejecutará cualquier software necesario. Siga las instrucciones de instalación oficiales para su plataforma en esta página . Una vez que la ventana acoplable esté instalada, continúe con las instrucciones de Mina Docker en Conectarse a la red

Construir desde la fuente

Si está ejecutando otra distribución de Linux o alguna versión de macOS, puede intentar compilar Mina a partir del código fuente . Tenga en cuenta que otros sistemas operativos no se han probado a fondo y pueden tener problemas. No dude en compartir cualquier registro y obtener ayuda para la resolución de problemas en el servidor de Discord .

Configure el reenvío de puertos y cualquier firewall

Si está ejecutando un firewall, debe permitir el tráfico en el puerto TCP 8302. Además, a menos -external-ip YOUR_IPque se proporcione el indicador, el demonio usará HTTPS (443) y HTTP (80) para intentar determinar su propia dirección IP.

Es posible que deba configurar el reenvío de puertos de su enrutador para permitir el tráfico entrante a los siguientes puertos a través de su dirección IP externa .

  • TCP Puerto 8302
  • Opcionalmente, para usar el servicio GraphQL, exponga el TCPpuerto3085

Usando Mina:

Generando un par de claves

Para crear un par de claves para Mainnet o participar plenamente en una red de prueba Mina, el primer paso es generar un par de claves, que consta de una clave pública y una clave privada. Actualmente existen dos herramientas compatibles para generar pares de claves mina-generate-keypair y ledger-app-mina. También contamos con una herramienta para validar que su clave privada se haya creado correctamente.

Tenga en cuenta que es posible que desee generar más de un par de claves. Por ejemplo, si desea ejecutar un productor de bloques de manera más segura, querrá una configuración de producción de bloques de billetera caliente / billetera fría .

Métodos

mina-generate-keypair

Hemos creado una sencilla utilidad de línea de comandos llamada mina-generate-keypair. Este es el método más simple y las instrucciones se pueden encontrar a continuación.

Cartera de hardware de libro mayor

Puede usar su billetera de hardware Ledger Nano S para almacenar de forma segura sus claves privadas Mina. Estamos en el proceso de una auditoría de seguridad independiente que actualmente no ha encontrado vulnerabilidades y el desarrollo está casi terminado. Consulte nuestra documentación de ledger-app-mina para comenzar con esta herramienta.

SDK de cliente

También hemos creado un SDK de cliente que puede generar pares de claves y firmar transacciones. Tenga en cuenta que este método no está recomendado y solo debe ser utilizado por profesionales de seguridad con experiencia. Utilice nuestra herramienta `mina-generate-keypair en su lugar para crear pares de claves. Consulte la documentación de nuestro SDK de cliente para obtener más información.

ADVERTENCIA

Nunca dé su clave privada y asegúrese de que se almacenen de manera segura. Si pierde su clave privada o si un actor malintencionado obtiene acceso a su clave privada, perderá el acceso a su cuenta y perderá los fondos de su cuenta. En su lugar, proporcione siempre sus claves públicas. Mina nunca te pedirá tus claves privadas.

Usando mina-generate-keypair

Para simplificar el proceso de creación de un par de claves, hemos creado una sencilla utilidad de línea de comandos llamada mina-generate-keypair. La mina-generate-keypairherramienta tiene una funcionalidad fácil de usar para crear su propio par de claves para comenzar a participar en la red Mina. Consulte a continuación para ver cómo instalar y utilizar en su sistema local.

Instalación

Admitimos varios sistemas operativos diferentes para la mina-generate-keypairherramienta. Siga las instrucciones a continuación para instalar la herramienta en su sistema.

Mac OS

Si está utilizando macOS, instale Docker y siga las instrucciones basadas en Docker a continuación.

Ubuntu 18.04 / Debian 9

Después de agregar el repositorio de Mina , simplemente puede ejecutar el siguiente comando.

sudo apt-get install mina-generate-keypair=1.1.5-a42bdee

Verifique que la herramienta keygen esté instalada correctamente ejecutando mina-generate-keypair -version. La salida debería leer Commit a42bdeef6b0c15ee34616e4df76c882b0c5c7c2a on branch master .

Windows / otras plataformas

Instale Docker y siga las instrucciones basadas en Docker en el paso 3b. debajo.

Uso

La creación de un par de claves es simple y se logra en unos pocos pasos cortos.

  1. Primero asegúrese de tener una carpeta en su sistema donde pueda almacenar los archivos clave. Recomendamos usar la ~/keyscarpeta.
mkdir ~/keys
  1. A continuación, asegúrese de que los permisos estén configurados correctamente en esta carpeta, esto evita que los procesos no deseados accedan a estos archivos.
chmod 700 ~/keys
  1. Genere una clave usando las instrucciones del Paso 3a en Debian / Ubuntu o el Paso 3b en Docker

 

ADVERTENCIA

Asegúrese de establecer una contraseña nueva y segura para los siguientes comandos. Mina nunca te pedirá esta contraseña y no debes compartirla con nadie.

 

3a. En Ubuntu / Debian: Genere sus claves usando el mina-generate-keypaircomando. Cuando se le solicite, escriba la contraseña que desea utilizar para proteger esta clave. Si está configurada, la herramienta utilizará la contraseña de la variable de entorno CODA_PRIVKEY_PASS en lugar de pedírselo. NO olvide esta contraseña.

mina-generate-keypair -privkey-path ~/keys/my-wallet

3b. En Docker en Windows / MacOS / Linux: Genere sus claves usando la minaprotocol/generate-keypairimagen de Docker . Cuando se le solicite, escriba la contraseña que desea utilizar para proteger esta clave. NO olvide esta contraseña.

cd ~
docker run  --interactive --tty --rm --volume $(pwd)/keys:/keys minaprotocol/generate-keypair:1.0.2-06f3c5c -privkey-path /keys/my-wallet

Esto creará dos archivos en su sistema, ~/keys/my-walletque contiene la clave privada encriptada y ~/keys/my-wallet.pubque contiene la clave pública en texto sin formato. Guarde el archivo de clave privada y la contraseña que utilizó en un lugar seguro, como un administrador de contraseñas.

ADVERTENCIA

Nunca dé su clave privada y asegúrese de que se almacenen de manera segura. Si pierde su clave privada o si un actor malintencionado obtiene acceso a su clave privada, perderá el acceso a su cuenta y perderá los fondos de su cuenta. En su lugar, proporcione siempre sus claves públicas. Mina nunca te pedirá tus claves privadas.

 

  1. Finalmente, asegúrese de que los permisos estén configurados correctamente para el archivo de clave privada, esto evita que procesos no deseados accedan a él.
chmod 600 ~/keys/my-wallet

Valida tu clave privada

Ahora que ha creado su clave, querrá validar que funciona. Es suficiente verificar que puede firmar una transacción. Puede verificar esto usando la mina-validate-keypairherramienta.

En Linux, ejecute el siguiente comando:

mina-validate-keypair -privkey-path <path-to-the-private-key-file&gt;

Si está utilizando Docker, ejecute el siguiente comando:

docker run --interactive --tty --rm --entrypoint=mina-validate-keypair --volume $(pwd)/keys:/keys minaprotocol/generate-keypair:1.0.2-06f3c5c -privkey-path /keys/my-wallet

Próximos pasos

Ahora que hemos creado nuestro par de claves, finalmente podemos conectarnos a la red o compartir su clave pública.

Mina Protocol : Conectarse a la red

En esta sección, nos conectaremos a la Mainnetred y enviaremos nuestra primera transacción. Primero, iniciemos el nodo para que podamos comenzar a emitir comandos.

Actualiza tu software

El primer paso para conectarse Mainnetes instalar la última versión del demonio. Siga las instrucciones para su sistema operativo a continuación.

Ubuntu 18.04 / Debian 9

Primero elimine cualquier versión del demonio instalada previamente para evitar errores al actualizar a la última versión. Luego, puede instalar la última versión de la siguiente manera:

sudo apt-get remove -y mina-testnet-postake-medium-curves
echo "deb [trusted=yes] http://packages.o1test.net release main" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y curl unzip mina-mainnet=1.1.5-a42bdee

Verifique que el demonio esté instalado correctamente ejecutando mina version. La salida debería leer Commit a42bdeef6b0c15ee34616e4df76c882b0c5c7c2a on branch master.

Iniciar un nodo

Dado que esta tecnología aún es relativamente nueva, existen algunas situaciones raras en las que su nodo puede tener algunos problemas. ¡No queremos que tus nodos se rompan y no te des cuenta! Así que hemos creado algunos flujos de reinicio automático con soporte oficial para usted. Estaremos iterando sobre esto en futuras versiones.

Sin embargo, primero queremos asegurarnos de que todo funcione ejecutándolo manualmente antes de comenzar con los flujos de reinicio automático.

Nota: Si está utilizando el proveedor de alojamiento de Hetzner, actualmente estamos experimentando un problema en el que Hetzner cree que nuestro software está siendo malicioso. Consulte la sección Redes de la página de solución de problemas para aprender cómo mitigar esto antes de iniciar un nodo.

Ejecute el siguiente comando para iniciar una instancia de nodo Mina y conectarse a la red en vivo:

mina daemon --generate-genesis-proof true --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt

Si tiene una clave con participación y le gustaría producir bloques, proporcione también --block-producer-key ~/keys/my-wallet, reemplazándola ~/keys/my-walletcon la ruta a su clave privada si no es la predeterminada.

El -peer-listargumento especificado anteriormente se refiere a la dirección del par inicial: este es el par inicial al que nos conectaremos en la red. Dado que Mina es un protocolo peer-to-peer , no hay un único servidor centralizado en el que dependamos.

Consulte aquí los problemas comunes al ejecutar por primera vez un nodo.

¡Aún no has terminado! Ahora que ha confirmado que todo está bien ejecutando el proceso independiente, es importante que iniciemos Mina de manera que se reinicie automáticamente cuando muera.

Leer también  Una nueva forma de unir DeFi con las mipymes y combatir la volatilidad de las criptomonedas

Primero mata el mina daemonproceso existente con Ctrl-Cy luego sigue leyendo:

Ubuntu 18.04 / Debian 9

Asegúrese de que su clave privada con la que se registró esté ubicada en ~/keys/my-wallet.

Agregue un archivo que ~/.mina-envcontenga lo siguiente:

CODA_PRIVKEY_PASS="private key password"
EXTRA_FLAGS=" --file-log-level Debug"

Puede agregar banderas adicionales más adelante EXTRA_FLAGScomo mejor le parezca.

Mina buscará sus pares en un archivo llamado ~/peers.txt, así que ejecute el siguiente comando para crearlo:

curl https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt &gt; ~/peers.txt

Luego, ejecute los siguientes comandos para iniciar una instancia de nodo Mina y conectarse a la red en vivo:

systemctl --user daemon-reload
systemctl --user start mina
systemctl --user enable mina
sudo loginctl enable-linger

Estos comandos permitirán que el nodo continúe ejecutándose después de cerrar la sesión y se reiniciará automáticamente cuando la máquina se reinicie.

De forma predeterminada, el nodo se conecta a la red usando el puerto externo predeterminado de 8302. Esto se puede cambiar usando la -external-portbandera, simplemente agréguelo a EXTRA_FLAGS.

También puede ver el proceso de mina en sí mismo que se está ejecutando en segundo plano y se reinicia automáticamente.

Este comando le permitirá saber si minatuvo algún problema para comenzar.

systemctl --user status mina

Puede detener Mina con gracia y dejar de reiniciar automáticamente el servicio:

systemctl --user stop mina

Reinícielo manualmente:

systemctl --user restart mina

Y mira los registros:

journalctl --user -u mina -n 1000 -f

En algunos casos, para ver los registros, debe ejecutar el siguiente comando:

journalctl --user-unit mina -n 1000 -f

Ese comando le mostrará las últimas 1000 líneas y seguirá desde allí.

Estibador

Cuando ejecute su demonio con Docker, primero asegúrese de que su clave privada tenga los permisos correctos.

cd ~
chmod 700 ~/keys
chmod 600 ~/keys/my-wallet
mkdir ~/.mina-config

Ahora simplemente ejecute la imagen con sus claves y ~ / .mina-config montado:

docker run --name mina -d \
-p 8302:8302 \
--restart=always \
--mount "type=bind,source=`pwd`/keys,dst=/keys,readonly" \
--mount "type=bind,source=`pwd`/.mina-config,dst=/root/.mina-config" \
-e CODA_PRIVKEY_PASS="YOUR PASSWORD HERE" \
minaprotocol/mina-daemon-baked:1.1.5-a42bdee \
daemon \
--block-producer-key /keys/my-wallet \
--insecure-rest-server \
--file-log-level Debug \
--log-level Info \
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt

Ejecutar docker logs -f minapara seguir los registros, y si falla, guarde la salida del registro en un archivo con docker logs mina > mina-log.txty publique la salida en el canal # mentor-nodes o adjunte el ~ / .mina-config / mina.log completo a un problema de github y vincule el problema en discordia.

Ejecute docker exec -it mina mina client statuspara monitorear la conectividad a la red, debe encontrar rápidamente al menos 10 pares y observar la altura del bloque / la altura máxima observada del bloque.

NOTA

Si se encuentra [Warn] Shutdown before Coda instance was created, not saving a visualizational intentar ejecutar su contenedor Docker, aumente los recursos que el contenedor Docker puede usar .

Comprobando la conectividad

Ahora que hemos iniciado un nodo y estamos ejecutando el demonio Mina, abra otro shell y ejecute el siguiente comando:

mina client status

NOTA

Puede tomar hasta un minuto antes de que se mina client statusconecte al demonio cuando se inicia por primera vez. Entonces, si ve Error: daemon not running. See mina daemon, espere un poco y vuelva a intentarlo.

Si está utilizando GetSandbox Nodeing , debido a una peculiaridad en la forma en que nos comunicamos para el comando de estado del cliente mina, deberá ejecutar mina client statusdentro del contenedor:

docker exec -it mina bash

Lo más probable es que veamos una respuesta que incluya los campos a continuación:

...
Peers:                                         Total: 4 (...)
...
Sync Status:                                   Bootstrap

Si ve Sync Status: Bootstrap, esto significa que el nodo se está iniciando y debe sincronizarse con el resto de la red. Es posible que deba ser paciente en este caso, ya que este paso puede llevar algún tiempo para que el nodo obtenga todos los datos que necesita.

Después de un tiempo, su nodo debería conectarse a más pares y luego debería moverse Sync Status: Catchup, lo que significa que estamos recopilando los bloques más recientes y el estado tratando de alcanzar el bloque más alto.

Cuando alcance el estado de sincronización Syncedy el nodo esté conectado a 1 o más pares, nos habremos conectado con éxito a la red. También veremos un Demonio de Registro correspondiente, una vez que hemos sincronizado: [Info] Mina daemon is now synced.

Si el Bootstrapestado persiste durante más de una hora, es posible que haya un problema con la configuración de su puerto.

Intensificando tu juego

Ahora que tenemos un nodo completamente sincronizado, podemos conocer algunas de las características más avanzadas del demonio, como Enviar un pago y Apostar y delegar . Y si desea ganar más tokens, consulte el Programa de delegación de la fundación .

Los puntos Testnet están diseñados únicamente para realizar un seguimiento de las contribuciones a Testnet y los puntos Testnet no tienen dinero en efectivo ni ningún otro valor monetario. Los puntos Testnet no son transferibles y no se pueden canjear ni canjear por ninguna criptomoneda o activos digitales. En cualquier momento podemos modificar o eliminar Testnet Points.

Enviar pagos con Mina Protocol

En esta sección, daremos una breve descripción general sobre cómo enviar una transacción con el cliente Mina y cómo comenzar a interactuar con la cadena de bloques.

Usar una transacción firmada fuera de línea

Si desea enviar una transacción sin ejecutar un nodo usted mismo, pero delegando en otra persona que ejecute el ánodo, siga aquí. Si desea enviar la transacción directamente con un nodo en ejecución, pase a usar un nodo conectado .

Usando un dispositivo Ledger

Para generar una transacción firmada fuera de línea si su clave privada está en un dispositivo Ledger, consulte Modo Ledger fuera de línea .

Usando un par de claves generado con la herramienta generate-keypair

Pronto habrá una herramienta mejor: https://github.com/MinaProtocol/mina/issues/8928 . Por ahora, utilice la solución alternativa proporcionada en un comentario sobre ese problema.

Usando un par de claves generado con el cliente-sdk fuera de línea

Para generar una transacción firmada usando el client-sdk, registre el pago firmado creado como se muestra en la página léame del client-sdk .

Envíe la transacción

Puede utilizar un servicio alojado para difundir su transacción firmada. El envío de su transacción firmada no filtra su clave privada.

Las transacciones firmadas con el cliente-sdk pueden utilizar: https://minaexplorer.com/broadcast-tx

Las transacciones firmadas con el libro mayor pueden usar: https://minaexplorer.com/broadcast-ledger

Usando un nodo conectado

Suponemos en el resto de la sección que tiene el cliente Mina instalado en su sistema, si no tiene instalado Mina, consulte la Introducción .

Importa tu cuenta

Una vez que nuestro nodo esté sincronizado, necesitaremos importar nuestro par de claves pública / privada para que podamos firmar transacciones y generar una dirección para recibir pagos. Por razones de seguridad, queremos poner las claves en un directorio que sea más difícil de acceder para los atacantes.

Ejecute el siguiente comando para importar su archivo de par de claves generado previamente :

mina accounts import -privkey-path ~/keys/my-wallet

Se le pedirá la contraseña que ingresó cuando se creó la cuenta.

ADVERTENCIA

La clave pública se puede compartir libremente con cualquier persona, pero tenga mucho cuidado con su archivo de clave privada. Nunca comparta esta clave privada con nadie, ya que es el equivalente a una contraseña para sus fondos.

La respuesta de este comando se verá así:

😄 Imported account!
Public key: B62qjaA4N9843FKM5FZk1HmeuDiojG42cbCDyZeUDQVjycULte9PFkC

Además, puede utilizar el mina accounts createcomando para generar nuevas cuentas para enviar y recibir transacciones.

Dado que la clave pública es bastante larga y difícil de recordar, guardémosla como una variable de entorno. Utilice el siguiente comando, pero reemplácelo <YOUR-PUBLIC-KEY>con el resultado de clave pública del comando anterior:

export MINA_PUBLIC_KEY=<YOUR-PUBLIC-KEY>

Ahora podemos acceder a esto en todas partes como $MINA_PUBLIC_KEY: verifique si se guardó correctamente al intentarlo echo $MINA_PUBLIC_KEY.

Tenga en cuenta que estas variables de entorno solo se guardarán para la sesión de shell actual, por lo que si desea guardarlas para uso futuro, puede agregarlas a ~/.profile~/.bash_profile.

NOTA

Si está ejecutando el nodo en una máquina virtual en la nube, asegúrese de exportar y guardar el archivo de clave. Puede exportar la clave con:

mina accounts export -public-key <PUBLIC-KEY> -privkey-path <EXPORT-PATH>

Luego guárdelo en su máquina local, tal vez usando scp :

scp <EXPORT-PATH> <LOCAL-DESTINATION>

Más tarde, al iniciar una nueva máquina virtual, puede cargar la clave y luego importarla:

mina accounts import -privkey-path <PRIVATE-KEY-FILE>

Si alguna vez olvida los pares de claves que ya ha creado, puede verlos todos con:

mina accounts list

Verificar el saldo de la cuenta

Podemos consultar el saldo de todas nuestras cuentas usando este comando:

mina accounts list

Es posible que vea Balance: 0 minapara su cuenta. Dependiendo del tráfico en la red, pueden pasar algunos bloques antes de que se realice la transacción.

NOTA

Sugerencia: puede ejecutar mina client statuspara ver la actualización actual de la altura del bloque.

Realizar un pago

Finalmente, llegamos a lo bueno: ¡enviamos nuestra primera transacción! Antes de enviar un pago, deberá desbloquear su cuenta:

mina accounts unlock -public-key $MINA_PUBLIC_KEY

Para fines de prueba, especificaremos su clave pública como receptor y remitente. Esto solo significa que nos estamos enviando una transacción a nosotros mismos, puede ver su clave pública emitiendo el siguiente comando:

echo $MINA_PUBLIC_KEY

ADVERTENCIA

Si la cuenta receptora no ha recibido ninguna transacción, habrá una tarifa de creación de cuenta adicional 1 MINAque se deducirá del monto de la transacción.

Enviemos algunos de nuestros Mina a nosotros mismos para ver cómo se ve un pago:

mina client send-payment \
  -amount 1.5 \
  -receiver $MINA_PUBLIC_KEY \
  -fee 0.1 \
  -sender $MINA_PUBLIC_KEY

Si se está preguntando qué pasamos a los comandos anteriores:

  • Para amount, estamos enviando un valor de prueba de 1.5mina que es suficiente para cubrir la tarifa de creación de cuenta.
  • El receiveres la clave pública de la cuenta de la recepción de la transacción, por ejemplo.B62qjaA4N9843FKM5FZk...
  • Para fee, usemos 0.1 mina
  • El senderes la clave pública de la cuenta el envío de la transacción, por ejemplo.B62qjaA4N9843FKM5FZk...

Si este comando está formateado correctamente, deberíamos obtener una respuesta similar a la siguiente:

Dispatched payment with ID 3XCgvAHLAqz9VVbU7an7f2L5ffJtZoFega7jZpVJrPCYA4j5HEmUAx51BCeMc232eBWVz6q9t62Kp2cNvQZoNCSGqJ1rrJpXFqMN6NQe7x987sAC2Sd6wu9Vbs9xSr8g1AkjJoB65v3suPsaCcvvCjyUvUs8c3eVRucH4doa2onGj41pjxT53y5ZkmGaPmPnpWzdJt4YJBnDRW1GcJeyqj61GKWcvvrV6KcGD25VEeHQBfhGppZc7ewVwi3vcUQR7QFFs15bMwA4oZDEfzSbnr1ECoiZGy61m5LX7afwFaviyUwjphtrzoPbQ2QAZ2w2ypnVUrcJ9oUT4y4dvDJ5vkUDazRdGxjAA6Cz86bJqqgfMHdMFqpkmLxCdLbj2Nq3Ar2VpPVvfn2kdKoxwmAGqWCiVhqYbTvHkyZSc4n3siGTEpTGAK9usPnBnqLi53Z2bPPaJ3PuZTMgmdZYrRv4UPxztRtmyBz2HdQSnH8vbxurLkyxK6yEwS23JSZWToccM83sx2hAAABNynBVuxagL8aNZF99k3LKX6E581uSVSw5DAJ2S198DvZHXD53QvjcDGpvB9jYUpofkk1aPvtW7QZkcofBYruePM7kCHjKvbDXSw2CV5brHVv5ZBV9DuUcuFHfcYAA2TVuDtFeNLBjxDumiBASgaLvcdzGiFvSqqnzmS9MBXxYybQcmmz1WuKZHjgqph99XVEapwTsYfZGi1T8ApahcWc5EX9
Receipt chain hash is now A3gpLyBJGvcpMXny2DsHjvE5GaNFn2bbpLLQqTCHuY3Nd7sqy8vDbM6qHTwHt8tcfqqBkd36LuV4CC6hVH6YsmRqRp4Lzx77WnN9gnRX7ceeXdCQUVB7B2uMo3oCYxfdpU5Q2f2KzJQ46

Es posible que no vea el Receipt chain hashen la primera transacción de la cuenta, pero en las siguientes transacciones, esto le mostrará el encabezado de la lista hash de la cadena de recibos.

Staking y Snarking

Una vez que se sienta cómodo con los conceptos básicos de crear una dirección y enviar y recibir mina, podemos pasar a las partes verdaderamente únicas de la red Mina, como participar en el consenso y ayudar a comprimir la cadena de bloques .

Advanced

Envío de muchas transacciones

A veces, es posible que desee enviar muchas transacciones: por ejemplo, para pagar recompensas a quienes le delegan si está ejecutando un grupo de apuestas.

Toda la información aquí es relevante a partir de la versión 1.2.0 (actualmente en versión beta):

Limitación de velocidad

Actualmente, los nodos de la red limitarán la tasa de recepción de mensajes de un nodo determinado. A partir de la versión 1.2.0, su nodo también seguirá este límite de tasa al enviar transacciones. Específicamente, el límite se establece actualmente en 10 transacciones cada 15 segundos calculados en una ventana de 5 minutos. Si intenta enviar transacciones más rápido que esta tasa, su nodo las pondrá en cola y las eliminará a medida que las transacciones más antiguas caduquen desde la ventana en la que se calcula el límite de tasa. No es necesario que acelere el envío de estas transacciones usted mismo.

Tenga en cuenta que las versiones anteriores del demonio mina no realizan esta limitación de velocidad; si está ejecutando una versión anterior, debe limitar manualmente el número de transacciones. Debido a los gastos generales de las transacciones de retransmisión, no recomendamos enviar más de 50 transacciones cada 5 minutos si necesita limitar la tasa manualmente.

Mi nodo se bloqueó o se desconectó antes de que pudiera terminar de enviar transacciones

El demonio Mina no no actualmente persiste la piscina transacción. Esto significa que las transacciones que su nodo no conocerán de ninguna transacción que haya enviado hasta ahora si su nodo falla en medio de este proceso. A partir de la versión 1.2.0, puede reenviar todas las transacciones (exactamente de la misma manera que antes) y serán retransmitidas en la red.

Si cree que se desconectó temporalmente de la red, pero su nodo permaneció en línea (es decir, la red de chismes puede haber perdido una o más de sus transacciones), a partir de la versión 1.2.0, puede reenviar cualquiera de las transacciones localmente y se transmitirán nuevamente a la red incluso si su nodo cree que ya se han compartido.

Cancelar una transacción y establecer una nueva tarifa

Para cancelar una transacción, deberá tener todas las transacciones que aún no se hayan comprometido con la cadena en su mempool de transacciones local. Esto significa que si su nodo falla (ver arriba), deberá reenviar esas transacciones anteriores. Finalmente, para cancelar una transacción, todo lo que necesita hacer es enviar una transacción con el mismo valor de la que desea cancelar con una tarifa mayor. No hay un incremento mínimo, solo necesita ser un poco más grande (y lo suficientemente grande como para que un productor de bloques elija su transacción).

Leer también  Un análisis completo de Bitcoin y Ether

Mina Protocol: Staking & Snarking

Dirijamos nuestra atención a las otras formas en que podemos interactuar con la red Mina, es decir, participar en el consenso y ayudar a comprimir los datos generando zk-SNARK. Al operar un nodo que ayuda a proteger la red, puede recibir mina por sus esfuerzos.

Participar en el consenso

La red Mina está asegurada por consenso Proof-of-Stake . Con este modelo de consenso, no es necesario tener equipos complejos como en la minería de Bitcoin. Simplemente teniendo mina en nuestra billetera, podemos elegir apostarla nosotros mismos o delegarla en otro nodo. Veamos primero cómo apostar mina nosotros mismos:

ADVERTENCIA

Para permanecer correctamente sincronizado con la red y participar en el consenso, es importante que su servidor ejecute algún tipo de protocolo de sincronización de reloj . Recomendamos usar NTP , que es relativamente fácil de configurar y ya viene instalado como servicio predeterminado en muchas distribuciones populares de Linux.

Mi huelga

Podemos probar apostar con nuestra mina emitiendo el siguiente comando:

mina client set-staking -public-key $MINA_PUBLIC_KEY

Alternativamente, puede reiniciar el demonio con la -block-producer-pubkeybandera:

mina daemon \
    -peer-list ~/peers.txt \
    -block-producer-pubkey $MINA_PUBLIC_KEY

Siempre podemos verificar con qué cuentas estamos apostando actualmente, usando el mina client statuscomando:

mina client status

Mina daemon status
-----------------------------------

Global number of accounts:  372
Block height:               20
Max observed block length:  20
Local uptime:               1m48s
Ledger Merkle root:         ...
Protocol state hash:        ...
Staged Hash:                ...
Git SHA-1:                  ...
Configuration directory:    ...
Peers:                      5 (...)
User_commands sent:         0
SNARK worker:               None
SNARK work fee:             1
Sync status:                Synced
Block producers running:    1 (...)
Best tip consensus time:    epoch=0, slot=133
Next proposal:              None this epoch… checking at in 5.284h
Consensus time now:         epoch=0, slot=134
Consensus mechanism:        proof_of_stake
Consensus configuration:    ...
Addresses and ports:        ...
Libp2p PeerID:              ...

El Block producers runningcampo en la respuesta anterior devuelve el número de cuentas que están participando actualmente, con la clave asociada.

ADVERTENCIA

Tenga en cuenta que si está apostando de forma independiente con fondos en una cuenta, deberá permanecer conectado a la red en todo momento para producir bloques con éxito. Si necesita desconectarse con frecuencia, puede ser mejor delegar su participación.

Si desea enviar su base de monedas a una cuenta que no sea la que está apostando, puede usar la -coinbase-receiverbandera cuando inicie su demonio. ¡Incluso puede apuntar la base de monedas a una billetera fría!

Delegando el mío

Delegar mina es una opción alternativa a apostarla directamente, con la ventaja de no tener que mantener un nodo que siempre está conectado a la red.

Primero asegúrese de haber desbloqueado su cuenta:

mina account unlock -public-key $MINA_PUBLIC_KEY

Y luego ejecute este comando para delegar su participación:

mina client delegate-stake \
    -receiver <DELEGATE-PUBLIC-KEY> \
    -sender $MINA_PUBLIC_KEY \
    -fee 0.1

Los campos de este comando:

  • La receiverbandera es la clave pública del receptor de la delegación de estaca.
  • sender es la clave pública de la cuenta desde la que desea delegar
  • feees el costo de enviar su transacción. Se paga a los productores de bloques de la red.
  • Tenga en cuenta que no hay un parámetro de cantidad . Su saldo total de Mina se delegará automáticamente.

Notará que este comando se parece sospechosamente a una transacción de pago . ¡Eso es porque una delegación de participación también es una transacción! Es por eso que tenemos que pagar una pequeña tarifa de transacción para cambiar esta configuración.

Delegar su participación puede ser útil si está interesado en:

  • Ejecutar su propio nodo de participación que usa fondos de una «billetera fría»
  • Delegar en un «grupo de apuestas» que proporcionará pagos simbólicos periódicamente
  • O si no tiene suficientes tokens para que valga la pena administrar un productor de bloques a tiempo completo

NOTA

Hay un período de latencia de 2 a 4 semanas antes de que su nueva delegación de participación entre en vigencia.

Comprimir datos en la red Mina

El protocolo Mina es único en el sentido de que no requiere nodos para mantener el historial completo de la cadena de bloques como otros protocolos de criptomonedas. Mediante el uso recursivo de pruebas criptográficas, el protocolo Mina comprime eficazmente la cadena de bloques a un tamaño constante. A esto lo llamamos compresión porque reduce los terabytes de datos a unos pocos kilobytes.

Sin embargo, esto no es codificación o compresión de datos en el sentido tradicional, sino que los nodos «comprimen» los datos en la red generando pruebas criptográficas. Los operadores de nodo juegan un papel crucial en este proceso al designarse a sí mismos como «trabajadores snark» que generan zk-SNARK para las transacciones que se han agregado a los bloques.

Puede iniciar un snark-worker usando estos comandos:

mina client set-snark-work-fee <FEE>
mina client set-snark-worker -address $MINA_PUBLIC_KEY

Alternativamente, puede reiniciar el demonio con estos indicadores:

mina daemon \
    -peer-list ~/peers.txt \
    -run-snark-worker $MINA_PUBLIC_KEY \
    -snark-worker-fee <fee>

Como trabajador de snark, puedes compartir parte de la recompensa del bloque por cada bloque al que llegan tus transacciones comprimidas. El productor de bloques es responsable de recopilar transacciones comprimidas antes de incluirlas en un bloque, y el protocolo lo incentivará para recompensar a los trabajadores de snark.

Los trabajadores de Snark pueden ser bastante intensivos en computación, por lo que si necesita limitar el uso de su CPU, puede especificar la cantidad de subprocesos que usan los trabajadores de snark con la -snark-worker-parallelismbandera. Esto puede ser especialmente útil si está intentando ejecutar un productor de bloques y un trabajador snark en la misma máquina y tiene problemas para producir bloques a tiempo.

Eso cubre los roles y responsabilidades como operador de nodo Mina. Dado que Mina es una red peer-to-peer sin permisos, todo es administrado y ejecutado de manera descentralizada por nodos de todo el mundo. Del mismo modo, el proyecto Mina también se distribuye y no tiene permiso para unirse. Todo el código es de código abierto y hay mucho trabajo por hacer, tanto técnico como no técnico. Para obtener más información sobre cómo puede participar con Mina, consulte la sección Contribuir a Mina .

Usando daemon.json para configurar su mina daemon

Al crear un archivo en ~/.mina-config/daemon.json, puede configurar su demonio mina sin necesidad de proporcionar opciones en la línea de comandos. ¡Esto puede ser útil para ejecutar mina como un servicio, así como para evitar la escritura repetitiva!

La mayoría de las opciones a las que se puede pasar mina daemonen la línea de comandos también se pueden proporcionar como opciones en el archivo de configuración. Consulte mina daemon -helppara obtener más documentación de las opciones. A continuación se muestra un ejemplo del uso de todos los parámetros de configuración utilizables (en su archivo, solo necesita especificar los que desea cambiar):

{
  "daemon": {
    "client-port": 1000,
    "external-port": 1001,
    "rest-port": 1002,
    "block-producer-key": "/path/to/privkey-file",
    "block-producer-password": "mypassword",
    "block-producer-pubkey": "<MY PUBLICKEY>",
    "coinbase-receiver": "<MY PUBLICKEY>",
    "log-block-creation": false,
    "log-received-blocks": false,
    "log-snark-work-gossip": false,
    "log-txn-pool-gossip": false,
    "peers": ["seed-one.o1test.net", "seed-two.o1test.net"],
    "run-snark-worker": "<MY PUBLICKEY>",
    "snark-worker-fee": 10,
    "snark-worker-parallelism": 1,
    "work-reassignment-wait": 420000,
    "work-selection": "seq"
  }
}

Preguntas más frecuentes de Mina Protocol (MINA) Token.

Testnet

¿NECESITO ALGÚN HARDWARE ESPECÍFICO?

Actualmente, un procesador de 8 núcleos y 16 GB de RAM son los requisitos mínimos.

¿QUÉ PASA CON EL SOFTWARE?

Puede descargar todo el software necesario para ejecutar un nodo Mina aquí . En este momento, tenemos compilaciones que funcionan en macOS, así como en Debian 9 y Ubuntu 18.04. También puede compilar desde la fuente o ejecutar a través de Docker para otros sistemas no compatibles.

¿QUÉ PUEDO HACER EN LA RED MINA?

Cualquier nodo puede enviar y recibir transacciones en la red Mina. Además, cualquier nodo puede elegir ser un «operador de nodo». Los operadores de nodo juegan dos roles específicos:

  1. Productor de bloques: esto es análogo a ser un «minero» de Bitcoin o un «validador» en otras redes de prueba de participación. Al apostar Mina, puedes ser seleccionado para producir un bloque y ganar la recompensa del bloque.

  2. Snark Worker: este trabajo es lo que ayuda a comprimir los datos en la red de Mina. Los nodos de trabajo de snark generan pruebas de transacciones, y el productor de bloques compra estas pruebas en la red (lo llamamos un «lugar snarket» :)) – por lo tanto, el trabajador de snark recibe una recompensa de bloque por sus esfuerzos.

¿CUÁL ES EL OBJETIVO DE UNA RED DE PRUEBA?

El objetivo de la red de pruebas de Mina es mejorar la estabilidad de Mina, mejorar el software mediante la corrección de errores y abordar la experiencia del usuario, y probar el diseño de incentivos económicos en Mina. Al participar en la red de prueba, puede ser el primer participante del protocolo Mina y ayudar a desarrollarlo desde cero.

¿DÓNDE PUEDO PROBAR DEVNET?

Dirígete a la página de Docker Devnet para obtener más información y comenzar.

MI DEMONIO FALLÓ, ¿DÓNDE DEBERÍA COMPARTIR EL REGISTRO DE ERRORES?

Primero, consulte los problemas de Github para ver si se trata de un problema conocido. Si el error que experimentó es un problema nuevo, presente un problema de Github con las etiquetas adecuadas (demonio, error). Los desarrolladores de Mina evaluarán el problema y lo solucionarán en un sprint futuro.¡Gracias por tu ayuda!

¿CÓMO PUEDO INFORMAR OTROS PROBLEMAS O PONERME EN CONTACTO CON EL EQUIPO DE DESARROLLO?

¿EXISTE UN EXPLORADOR DE BLOQUES?

Sí, mira estos exploradores de bloques:

https://minaexplorer.com/

https://mina.bitfly.at/

Preguntas generales

¿QUÉ ALGORITMO DE CONSENSO USA MINA?

El mecanismo de consenso de Mina es una implementación de Ouroboros Proof-of-Stake. Debido a la cadena de bloques comprimida única de Mina, ciertos aspectos del algoritmo han divergido de los documentos de Ouroboros, y la versión que usa Mina se llama Ouroboros Samisika. Estén atentos para obtener más detalles sobre Ouroboros Samisika y algunos informes técnicos sobre sus detalles e implementación.

¿CÓMO LOGRA MINA LA ESCALABILIDAD?

Mina logra escalabilidad mediante el uso de zk-SNARKs recursivos. Al generar una prueba que da fe de la validez de los estados históricos de la cadena de bloques, Mina puede mantener fijo el tamaño de la cadena de bloques. Esto permite un mayor rendimiento debido a que los límites de tamaño de bloque no son tan exigentes en la red, lo que aumenta la escalabilidad de la red.

¿POR QUÉ DESARROLLÓ UN NUEVO PROTOCOLO, EN LUGAR DE AUMENTAR LAS CRIPTOMONEDAS EXISTENTES?

La razón para desarrollar un nuevo protocolo en lugar de ofrecer servicios a otras cadenas de bloques es que agregar SNARK después del hecho a un proyecto de Capa 1 no es trivial. Incluso las operaciones básicas deben optimizarse para el rendimiento dentro de un SNARK, y las implementaciones existentes no pueden actualizarse como tales. Si nos fijamos en las funciones de hash, por ejemplo, SHA256 (utilizado por Bitcoin) o Keccak (utilizado por Ethereum) son extremadamente caras dentro de un circuito SNARK, pero Poseidon (lo que utiliza Mina) está optimizado para el rendimiento. Esta y muchas otras consideraciones técnicas hacen que no sea factible agregar fácilmente SNARK recursivos a las capas 1 existentes, sin revisar por completo el protocolo base.

¿CÓMO MINA VERIFICA EL ESTADO ACTUAL DE LA CADENA SIN TENER DATOS HISTÓRICOS? ¿CÓMO AUDITA UNA TRANSACCIÓN SI SOLO CONSERVA UNA PRUEBA DE LA CADENA DE BLOQUES?

El usuario medio no necesita conocer todo el historial de transacciones. Por ejemplo, cuando realiza una compra con un dólar, tampoco necesita saber de dónde vino ese dólar y cómo se gastó antes de llegar a su billetera. Otras cadenas de bloques dependen del historial de transacciones para verificar que el estado actual sea válido. Mina está usando zk-SNARKs para demostrar eso (vea este video donde el cofundador Izaak Meckler explica el uso recursivo de Mina de zk-SNARKs). Esto le permite a Mina convertirse en la cadena de bloques más liviana del mundo y ser siempre accesible para todos.

Para los casos en los que un usuario desea probar la inclusión de transacciones pasadas, Mina tiene una función llamada cadena de recibos. Cada cuenta tiene su propia cadena de recibos, representada en el estado actual por un hash. Cuando un usuario envía una transacción desde una cuenta, esa transacción modifica la cadena de recibos de la cuenta, para que sea el hash de la cadena de recibos anterior y la nueva transacción (una lista merkle). Esto permite a los usuarios probar que se envió una transacción en particular desde su cuenta.

Para los programas, Mina usa un paradigma de programación diferente al de otras cadenas: en lugar de poder hacer referencia al historial pasado, solo puede hacer referencia al estado actual. Esto es similar a un sistema de archivos que permite escribir, eliminar y sobrescribir datos, en lugar del sistema de archivos de «solo agregar» que se ve en la cadena de bloques habitual. Esto es intencional, por lo que Mina siempre será liviana y sostenible: una vez que la prueba esté disponible para reemplazar la historia, almacenar la historia es más para fines de archivo o referencia, en lugar de seguridad o uso necesario.

Leer también  ¿Cómo conseguir el máximo de puntos de explosión?

El paradigma de programación en Mina se diseñará para reflejar esto; en este momento, Mina tiene datos mínimos por cuenta. Los programas que almacenan más datos tendrán que pagar una cierta cantidad por esos datos, probablemente cuando se agreguen con algo como el alquiler estatal.

Los clientes que buscan tener el historial de archivo completo pueden operar como nodos de archivo para almacenar también el historial completo. Sin embargo, debido a que, a diferencia de otras cadenas de bloques, el historial completo no es necesario para las acciones que se pueden realizar en la cadena, estos son más para fines de análisis de datos que para cualquier otra cosa.

¿NECESITARÁ UNA CONFIGURACIÓN CONFIABLE?

¡No! Mina usa un Pickles SNARK , que no requiere una configuración confiable.

¿MINA ADMITE CONTRATOS INTELIGENTES? SI ES ASÍ, ¿QUÉ LENGUAJES DE CONTRATACIÓN INTELIGENTE ADMITE?

Consulte la documentación de Snapps , las aplicaciones Snarkified de Mina.

¿MINA ADMITE TRANSACCIONES PROTEGIDAS, COMO EN ZCASH?

No, Mina no implementa de forma nativa funciones de privacidad en este momento. Sin embargo, la privacidad es una consideración clave para las criptomonedas y también está en la hoja de ruta de desarrollo.

¿PUEDO EJECUTAR EL DEMONIO MINA COMO UN SERVICIO?

Consulte aquí para obtener información sobre el uso de launchd o systemd con mina.

Productores de bloques

¿CÓMO PUEDO VERIFICAR QUE DE HECHO ESTOY PRODUCIENDO BLOQUES?

(A través de la CLI): Ejecutar mina client status

Como salida, debería ver un bloque de texto, habrá una línea similar a esta si su Block Producer se está ejecutando: Block producers running: 1 (B62qrPN5Y5yq8kGE3FbVK...)

Si su productor de bloques ganó un espacio, verá algo como esto: Next block will be produced in: in 17.52m

(A través de los registros): el siguiente texto aparece cada vez que el demonio produce un bloque:

Producing new block with parent $breadcrumb

PRODUJE UN BLOQUE, ¿POR QUÉ NO FUE SELECCIONADO PARA CANONICAL CHAIN ?

Debido a una propiedad del protocolo de consenso de Ouroboros Samisika, es muy posible que se produzca más de un bloque en una ranura en particular. La red resuelve las bifurcaciones de corta duración y se consolidará en un bloque por ranura mediante selección aleatoria.

A continuación se muestra una visualización de Mina Blockchain: Visualización de Mina Blockchain y sus horquillas Singleton

SNARK y trabajadores de Snark

SI EJECUTO UN SNARK WORKER, ¿CÓMO ME PAGAN POR MIS SNARK QUE GENERO?

Los productores de bloques (los validadores que agregan nuevos bloques a la cadena de bloques) deben comprar SNARK de la red (o de lo que llamamos Snarketplace) y pagarán parte de su recompensa de bloque como tarifas a los trabajadores snark que generaron SNARK. Esto crea un mecanismo de incentivo secundario en la red para recompensar a los nodos que ayudan a comprimir las transacciones.

¿LA GENERACIÓN DE SNARK ES SIMILAR A LA MINERÍA DE PRUEBA DE TRABAJO (POW)?

No, son diferentes de varias formas:

  • El trabajo de SNARK es determinista, mientras que la minería de PoW requiere el cálculo aleatorio de hashes para intentar resolver un rompecabezas. No hay un elemento de suerte en el trabajo de SNARK: si un trabajador de snark desea generar un SNARK de una transacción, solo necesita generar la prueba una vez. Esto significa que el trabajo de SNARK es mucho menos costoso y un desperdicio ambiental, ya que todo el cálculo se gasta en un objetivo productivo.
  • No hay un aumento de dificultad para el trabajo de SNARK, como ocurre con la minería PoW. De hecho, a medida que mejoran las construcciones de SNARK y los tiempos de generación de pruebas, la dificultad puede disminuir.
  • El trabajo de SNARK no está directamente involucrado en el consenso. Los trabajadores de Snark no juegan ningún papel en la determinación del siguiente estado de la cadena de bloques. Su función es simplemente generar SNARK de transacciones observadas en la red.
  • Como trabajador de snark, no hay ningún requisito de tiempo de actividad. Los mineros de PoW necesitan operar sus plataformas sin parar para asegurarse de que no se pierdan un bloque potencial. Los trabajadores de Snark pueden conectarse y desconectarse cuando quieran; es más como Uber, donde siempre habrá trabajo por hacer y nadie necesita decir con anticipación cuándo quieren trabajar.

¿POR QUÉ NO SE HAN INCLUIDO MIS SNARK? (AKA ¿CÓMO DEBO FIJAR EL PRECIO DE MIS SNARK?)

Aunque su trabajador SNARK podría estar produciendo SNARK a un ritmo vertiginoso, si alguien más produce una prueba más barata para un trabajo en particular que ya ha completado, su SNARK sería preferible debido a su tarifa más baja.

El precio de sus SNARK es un delicado equilibrio entre el costo de la computación, el entorno del mercado (demanda de SNARK), su rendimiento de SNARK y la velocidad a la que cada uno de sus procesos de SNARK Worker puede producir SNARK. A veces, incluso podría ser económicamente prudente desconectar a su trabajador SNARK por completo hasta que el mercado mejore.

¿LOS TRABAJADORES DE SNARK REQUERIRÁN MÁS CAPACIDAD DE ALMACENAMIENTO Y COMPUTACIÓN A LO LARGO DEL TIEMPO? ¿QUÉ PASA EN COMPARACIÓN CON LOS NODOS COMPLETOS DE MINA?

Los trabajadores de Snark no necesitarán más capacidad de almacenamiento o computación con el tiempo. Los trabajadores de Snark simplemente consultan el mempool en busca de transacciones pendientes que requieran pruebas de Snark y luego generan dicha prueba; esto no requiere sincronizar datos históricos. Además, el costo de prueba subyacente del trabajo de Snark no se vuelve más costoso con el tiempo.

Si estamos comparando nodos de trabajo de Snark con nodos completos en Mina, entonces sí, los trabajadores de Snark se beneficiarán del hardware especializado, ya que la generación de pruebas de SNARK actualmente es un proceso intensivo de computación. Una vez más, sin embargo, con la explosión de la investigación de SNARK, es probable que esto cambie y se vuelva más accesible para el hardware del consumidor.

¿CUÁL ES LA DIFERENCIA ENTRE UN SNARK, UNA PRUEBA SNARK Y UN TRABAJO SNARK?

SNARK es un término muy sobrecargado en la actualidad: cuando lee SNARK , podría estar refiriéndose al concepto de sistemas de prueba sucintos no interactivos (por ejemplo, SNARK vs Bulletproofs), la implementación técnica específica del sistema de prueba (por ejemplo, la construcción, la circuito, o el probador), o la instancia individual de la prueba en sí (por ejemplo, la cadena de bloques SNARK).

Cuando hablemos de ello, intentaremos adherirnos al uso de:

  • SNARK: como concepto general de pruebas de conocimiento cero sucintas y no interactivas
  • Circuito SNARK: el circuito y el probador específicos, como perteneciente a una aplicación
  • Prueba SNARK: una prueba individual generada por un probador SNARK
  • snark work: una estructura de datos del protocolo Mina que es un envoltorio alrededor de una o dos pruebas SNARK y un precio a pagar al trabajador snark que generó las pruebas. Esto se vuelve infalsificable mediante un esquema de Firma de Conocimiento que se detallará en otra sección.

¿HAY ALGUNA PREOCUPACIÓN POR UNA ÚNICA Y GRAN TRABAJADOR SNARK VERTIDO TRABAJO EN EL SNARKETPLACE, Y LUEGO SUBIR LOS PRECIOS DESPUÉS DE MONOPOLIZAR EL MERCADO?

En economía, existe una estrategia de precios llamada precios predatorios (o dumping) en la que un proveedor de un producto busca agotar a los proveedores competidores en el mercado subcotizando el precio de mercado. El proveedor fija el precio de sus productos mucho más barato que el precio del mercado, con el fin de expulsar a los competidores, incluso si eso significa incurrir en pérdidas a corto plazo. Una vez que se ha despejado el mercado, el proveedor dominante aumenta los precios por encima de las tasas competitivas del mercado , ya que la competencia se ha extinguido.

Sin embargo, esta estrategia solo es efectiva en mercados donde existen altas barreras de entrada. Es decir, los competidores que fueron desplazados en la etapa de depredación no pueden volver a unirse al mercado.

Este no es el caso del trabajo snark, ya que las barreras de entrada son bajas. Cualquiera que tenga recursos informáticos adicionales puede unirse al snarketplace y producir tan poco como un trabajo snark, y beneficiarse de esa unidad de trabajo. La única barrera de entrada es el gasto de capital inicial en hardware, pero anticipamos que los requisitos de hardware serán bajos, de modo que los usuarios con equipo de repuesto puedan conectarse y participar. Si algún trabajador de snark logra expulsar el mercado y aumenta los precios, se prevé que los recién llegados reaparecerán y los precios volverán a bajar.

¿IMPORTA LA VELOCIDAD DE PRODUCCIÓN DE SNARKS? SI MI COMPUTADORA ES MÁS LENTA, ¿ESTARÉ EN DESVENTAJA?

No, siempre que los productores de bloques sigan requiriendo el trabajo snark producido, no importa quién lo produjo primero, solo el precio importa a los ojos de los productores de bloques. La advertencia aquí es que la inclusión temprana en el mempool snark es obviamente beneficiosa, ya que es probable que los productores de bloques «vean» el trabajo antes.

Sin embargo, se podría imaginar un escenario en el que se favorezca a un conjunto de trabajadores snark porque produjeron la mayor cantidad de trabajos snark que son rentables, y comprar pruebas de la menor cantidad posible de entidades permitiría incluir más transacciones en cualquier bloque.

También hay un umbral en el que el tiempo se convierte en un factor, pero esto solo se aplicaría a dispositivos con muy poca potencia. Haremos un seguimiento con evaluaciones comparativas detalladas cuando hayamos realizado más pruebas.

¿NECESITARÁ UN NODO COMPLETO ALMACENAR TODAS LAS PRUEBAS SNARK INTERMEDIAS? P.EJ. ¿LOS REQUISITOS DE ALMACENAMIENTO CRECERÁN LINEALMENTE CON LOS BLOQUES?

No, cuando se genera un nuevo bloque, Mina calcula la prueba de forma recursiva sobre la prueba anterior y el nuevo bloque. Esta es la ventaja de la composición recursiva: en un momento dado, los nodos solo necesitan almacenar la prueba más reciente. No se necesitan pruebas intermedias. Vea esta charla para obtener más claridad sobre cómo surgió esta arquitectura: https://www.youtube.com/watch?v=eWVGATxEB6M

¿CÓMO CONTROLAS O LIMITAS LA CANTIDAD DE NÚCLEOS QUE USAN LOS TRABAJADORES DE SNARK?

Puede utilizar la -snark-worker-parallelismbandera al iniciar mina daemon.

¿Cómo comprar Mina Protocol (MINA) Token?

Puede comprar CTSI en todos los principales intercambios de criptomonedas . El intercambio con mayor volumen y menor deslizamiento es Binance . Puede comprar C98 usando BTC, ETH, USDT o BNB.

En nuestro caso para el tutorial vamos a comprarlo con USDT

PASO 1 Para comprar Mina Protocol (MINA) Token en Binance

Una vez dentro de Binance, tenemos que comprar USDT , lo podemos hacer con tarjeta de Crédito o débito en la sección “Comprar Crypto”.

ftm de binance a metamask

 

PASO 2 Para comprar Mina Protocol (MINA) Token en Binance

  • Una vez con nuestros USDT en Binance, tenemos que comprar Mina Protocol (MINA) Token y para eso nos vamos a dirigir a “TRADE” para elegir luego “CLASSIC”.

ftm binance a metamask

  • Ahora una vez dentro nos vamos al lado derecho de la página y buscamos el Token MINA y seleccionamos el PAR “MINA/USDT” y le damos Click.

mina protocol

png.webp 390w, https://cryptoshitcompra.com/wp-content/webp-express/webp-images/uploads/2021/07/c98-token-binance-300×245.png.webp 300w, https://cryptoshitcompra.com/wp-content/webp-express/webp-images/uploads/2021/07/c98-token-binance-150×122.png.webp 150w» type=»image/webp» sizes=»(max-width: 390px) 100vw, 390px» />

PASO 3 Para comprar Mina Protocol (MINA) Token  en Binance

  • Una vez dentro del Mercado Clásico y seleccionado el Par MINA/USDT , ponemos la cantidad de USDT que queremos intercambiar por MINA y le damos comprar.

mina protocol

  • Y listo ya tenemos nuestros MINA Token en Binance.

Espero que les haya gustado el artículo y si es así que lo compartan en las redes sociales y con sus amigos.

Precio Mina Protocol (MINA) Token en directo:

Para ver el precio de Mina Protocol en directo, lo podemos hacer desde la misma plataforma de Binance.

WEB OFICIAL

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *