¿Qué es el protocolo NEAR?

To Share and +4 nLEARNs

Resultado esperado: Entendimiento básico de cómo funciona NEAR desde la perspectiva del usuario final

NEAR es una plataforma de aplicaciones descentralizada que corren sobre el protocolo Blockchain de NEAR. Esta blockchain (cadena de bloques) que corre a través de cientos de máquinas alrededor del mundo, está organizada para ser sin permisos, preformateada y lo suficientemente segura como para crear una capa de datos fuerte y descentralizada para la nueva web.

La misión principal de NEAR es presentar una plataforma que sea ideal para correr aplicaciones que tengan acceso a un conjunto de fondos, identidades y datos compartidos y seguros que poseen los usuarios. Combina las características como la resistencia a particiones del networking, el procesado de datos sin servidores y el almacenamiento de datos distribuido en un nuevo tipo de plataforma.

Entonces, antes de avanzar más, aprendamos un poco de historia y veamos cómo las plataformas blockchain han evolucionado en el tiempo.

La evolución de la tecnología Blockchain

Desde que Satoshi Nakamoto presentó la documentación del Bitcoin en Octubre del 2008, el mundo se ha estado familiarizado con la tecnología que rompe paradigmas Blockchain. Durante la última década, el blockchain ha pasado por tres etapas de evolución.

Generación 1: Bitcoin

El Bitcoin es el ejemplo perfecto de la primera generación blockchain. El propósito de este blockchain es ser simplemente un sistema de pago directo. Empezando como la “moneda del internet”, el bitcoin se ha convertido en uno de los activos más demandados. Sin embargo, existe un problema mayor cuando se trata del BTC. Es inviable realizar transacciones complicadas con ellos, los cuales tienen varias capas de metadatos y logia ligados a sí mismos.

Generación 2: Ethereum y plataformas de contratos inteligentes

Ethereum marcó el comienzo de la segunda generación de plataformas blockchain con los contratos inteligentes. Finalmente los desarrolladores podrán programar transacciones sofisticadas a través de este contrato inteligente, y podrán crear aplicaciones descentralizadas (dApps). A través de estas dApps, los casos de uso de la blockchain se fueron hasta el cielo.

Sin embargo, este espacio ha estado con sus penas crecientes. La causa principal es que estas blockchains están sufriendo severos problemas de escalabilidad. Por ejemplo, Bitcoin tiene un rendimiento de 7 transacciones por segundo, mientras que Ethereum puede solo manejar 25. Cuando se compara eso con Paypal (115 tps) y Visa (1.700 tps) es bastante abismal.

Para ser justos, Ethereum y Bitcoin recientemente han estado tratando de resolver este problema de escalabilidad con varias soluciones de segunda capa como Lighting Network, raiden, protocolo plasma etc. La idea acá es crear una capa adicional sobre la blockchain subyacente donde el protocolo principal pueda delegar tareas repetitivas y tediosas.

Sin embargo, hay dos problemas principales con este enfoque. Principalmente, esta solución de segunda capa no ha recibido una aceptación por las masas. Segundo, esta solución de segunda capa arruina la arquitectura original del protocolo, lo cual podría tener implicaciones a largo plazo.

Acá es donde entra la tercera generación.

Generación 3: NEAR

Near es un ejemplo de blockchain de tercera generación que apunta a solventar los problemas de escalabilidad y además permitir a los usuarios finales y desarrolladores disfrutar de todo el potencial de los contratos inteligentes en la tecnología blockchain. En vez de confiar en una tecnología de segunda capa, NEAR se libera de la idea de que cada nodo que participa en la red tiene que ejecutar todo el código porque eso esencialmente crea un cuello de botella excesivo y ralentiza todos los demás enfoques.

Para arreglar este problema NEAR usa una técnica que ya está bastante prevalente en el mundo de la database, Sharding. Si se ejecuta adecuadamente, permite a la red una capacidad de escalar tanto como número de nodos vaya aumentando, entonces no existe un límite teórico de la capacidad de la red. La mejor parte? Sharding es una técnica de escalabilidad de primera capa.

¿Qué es Sharding? (fragmentación)

En una base de datos, a veces se tiene que lidiar con grandes bancos de datos. Esto obstaculiza dramáticamente el rendimiento y desempeño y hace que todo el proceso sea extremadamente ineficiente. Acá es donde entra el Sharding.

Sharding hace una partición horizontal de tu base de datos y la convierte en tablas más pequeñas y manejables.

Entonces, ¿por qué una partición horizontal y no una vertical?

Considere ésta tabla:

A B A*B A/B
1 1 1 1
2 2 4 1
3 3 9 1
4 4 16 1

Ahora, si particionamos esta tabla verticalmente:

A B
1 1
2 2
3 3
4 4
A*B A/B
1 1
4 1
9 1
16 1

¿Ve eso ?

Por la partición la tabla se convierte en dos tablas completamente diferentes.

¿Opuesto a eso, que pasa cuando la tabla se particiona horizontalmente?

¿Ve lo que ocurre? Cuando particiona verticalmente la tabla terminan convirtiéndose en dos tablas completamente diferentes juntas.

Sin embargo, si la particionamos horizontalmente:

A B A*B A/B
3 3 9 1
4 4 16 1

¿Ve eso?

Una partición horizontal convierte la base de datos en tablas más pequeñas de la misma base de datos.

Estas bases de datos más pequeñas son llamadas Shards (particiones)

¿Cómo el Sharding ayuda al blockchain?

Como hemos visto hasta ahora, mientras más nodos entren al ecosistema de ethereum y Bitcoin, el proceso total de consenso y verificación toma cada vez más tiempo.

Ahora, ¿qué hará el sharding para ayudar a esto?

El Sharding va a romper el estado global de la blockchain en pequeños shards más manejables.

¿Qué pasa en la activación de shard?

  • El estado se divide en shards
  • Cada cuenta está en un shard, y las cuentas de ese shard solo intercambian con cuentas del mismo shard.

En términos más simples, imagine este escenario. Hay una red hipotética con tres nodos- A, B y C y tienen que verificar data T. La data T se rompe en tres Shards T1, T2 y T3. En vez de que todos esos nodos trabajen sobre T como un todo, pueden individualmente trabajar en un shard al mismo tiempo. Como puede ver la cantidad de tiempo que está salvando es exponencial.

A diferencia de otros enfoques de fraccionamiento, donde se requiere que los nodos corran en hardwares incrementalmente complejos (reduciendo la posibilidad de más personas de participar en la red), la técnica de NEAR permite a los nodos permanecer lo suficientemente pequeños como para correr en una simple instancia hosteada en la nube.

¿Por qué son necesarias las blockchains escalables como NEAR?

Pista: No se trata todo de la velocidad!

Cuando se trata de segunda y tercera generación de blockchain, lo que realmente determina su valor innato es el ecosistema de dapp que prospera sobre ella. Como tal, la mayoría de estas plataformas blockchain están en perpetua competencia para atraer la mayor cantidad de desarrolladores posibles.

Sin embargo, el problema con las plataformas actuales es que no tienen la sofisticación necesaria para albergar aplicaciones de alta calidad. El problema aquí es que tenemos desarrolladores tratando de crear juegos de PS4 en una plataforma que es equivalente al Windows 98. Por ende, necesitan comprometerse fuertemente en el funcionamiento general de sus dApps.

Además, hay otro factor que debería ser considerado aquí. La velocidad es un factor vital cuando se trata de la usabilidad de la aplicación. Después de todo, ¿por qué los usuarios van a usar una aplicación que no es para nada usable? Los desarrolladores requieren un determinado número de usuarios que usen continuamente su aplicación antes de que llegue a volúmenes críticos.

Es por esto que una plataforma blockchain que sea escalable como NEAR es importante para la adopción de la blockchain y contratos inteligentes.

NEAR permite a los desarrolladores simplemente desplegar sus aplicaciones sin pensar mucho en como la infraestructura alrededor de ella opera o escala, lo cual es más como las nubes modernas de Amazon AWS o GCP o Azure las cuales manejan casi todas las aplicaciones de la web hoy día.

Breve historia de NEAR

Near comenzó en verano del 2018 desde que Alex Skidanov y Illia Polosukhin decidiera pivotar lejos de sus previas aventuras de emprendimiento, si estas curioso puedes leer más sobre eso aqui (LINK). Rápidamente, mientras Misha renunciaba a MemSQL, el equipo se extendió desde varios a 9 personas en un plazo de tres días en Agosto. El equipo inicial consistió en 7 ingenieros, Erik haciendo operaciones de negocios y Sasha hablando al mercado.

Hoy día el colectivo de NEAR está distribuido globalmente en grupos de equipos, conformado por muchas organizaciones individuales y contribuidores, quienes se organizan a sí mismos para traer esta tecnología a la vida. No es un negocio o nada ni cercanamente tan formal. Piensas en eso como un grupo de personas quienes dirigen grandes proyectos de código abierto.

Uno de los colectivos de proyectos está escribiendo el código y la implementación de referencia para la red NEAR de código abierto, algo así como construyendo los propulsores de un cohete en el transbordador espacial. Su trabajo es hacer la investigación y desarrollo necesarios para ayudar a la blockchain a llegar a órbita. El código de esa cadena es público entonces literalmente cualquier persona puede contribuir en él o ejecutarlo.

Es importante mencionar que redes como NEAR son diseñadas para ser totalmente descentralizadas. Esto significa que al final operan completamente por sí mismas y no pueden de hecho ser censuradas, apagadas o afectadas por terceras partes… ¡Ni siquiera el equipo que inicialmente la construyó! Entonces, mientras miembros de este colectivo están aquí para hacer que la rueda gire y construir la implementación de referencia, ellos rápidamente se convierten en no esenciales para la operación de la red una vez que comienza a ejecutarse. De hecho, una vez que está lista para ejecutarse, nadie puede modificar y correr el código del protocolo NEAR para iniciar su propia blockchain porque todo es de código abierto y cualquier cambio tendría que ser democráticamente aceptado por los validadores independientes quienes lo ejecutan.

Cómo funciona la blockchain NEAR

La tecnología reafirmando la criptomoneda. Blockchain es una tecnología que puede de forma segura almacenar registros de transacciones en una red peer-to-peer en vez de almacenarlos en una sola locación. Servidores independientes alrededor del mundo, llamados nodos, constituyen la red que opera la blockchain.

How-NEAR-protocol works

Uno de los aspectos más definitivos de la tecnología blockchain es la descentralización. Entonces, ¿por qué es la descentralización tan útil? Vamos a mirarla desde la perspectiva de los desarrolladores y usuarios.

  • Desarrolladores: En el mundo descentralizado, los desarrolladores están frecuentemente a la merced de plataformas en la nube o incluso de gobiernos para asegurarse de que pueden continuar ejecutando sus aplicaciones. En el mundo descentralizado no hay intermediarios dominantes.
  • Usuario Final: La transparencia de aplicaciones descentralizadas permite a los usuarios ver el código backend y saber exactamente como las aplicaciones van a usar tu información personal.

¿Qué es el algoritmo de consenso de NEAR?

Protocolos de consenso son usados para llegar a acuerdos en un solo valor entre múltiples participantes de un sistema. Si todos los participantes de una red colaboran en concordancia con el protocolo de consenso, nuevos valores pueden ser adjuntados a la capa y verificados por nodos. Sin embargo, en el caso de disputas, la red puede concentrarse solo en seguridad o vivacidad.

El mecanismo de consenso implementado en NEAR es llamado Nightshade. El Nightshade modela el sistema como una única blockchain. La lista de todas las transacciones en cada bloque se divide en pedazos físicos, un pedazo por shard. Todos los pedazos se acumulan en un bloque. Nota esos pedazos solo pueden ser validados por nodos que mantengan el estado del shard.

Hablando de validación, un componente clave de NEAR son los validadores. Estos validadores son responsables por mantener consenso entre el protocolo. Los validadores son nodos especiales que necesitan mantener sus servidores el 100% del tiempo mientras mantienen sus sistemas actualizados constantemente.

Aquí tiene algunos puntos que debe tener en mente acerca de los validadores de la red.

  • NEAR determina sus validadores de red en cada nuevo epoch, eligiendolos basados en su propio stake. (Staking: Consiste en mantener fondos en un monedero de criptomonedas, para respaldar la seguridad y las operaciones de una red blockchain).
  • Los validadores ya elegidos se inscriben nuevamente automáticamente haciendo stacking de nuevo de sus tokens más las ganancias obtenidas.
  • Validadores potenciales deben tener sus stake por encima de un nivel dinámico determinado.
  • Hay dos métodos que un validador puede usar para fortalecer su stake. Comprar los tokens por sí mismos, o prestarlos a través de la delegación de tokens.
  • La recompensa que recibe es directamente proporcional al stake. Mientras más tokes tiene más recompensas recibe.

El consenso está basado en el consenso más pesado de cadena. Significa que,una vez que un productor de bloques produce un bloque, ellos recolectan las firmas de los validadores de nodos. El peso de un bloque es entonces el stake acumulativo de todos los firmantes cuyas firmas están incluidas en el bloque. El peso de la cadena es la suma de los pesos de los bloques. Adicionalmente, el consenso utiliza un aparato adicional para añadir seguridad a la cadena.

Quiz: El peso de un bloque es:

Correct! Wrong!

Tiempo de ejecución (runtime) de NEAR

La capa de ejecución es usada para ejecutar contratos inteligentes y otras acciones creadas por los usuarios y pre servidores de estado entre las ejecuciones. Puede ser descrita desde tres ángulos diferentes: yendo paso a paso a través de varios escenarios, describiendo los componentes del tiempo de ejecución, y describiendo las funciones que el tiempo de ejecución realiza.

¿Qué es el token NEAR?

El token NEAR es fundamentalmente un activo nativo del ecosistema NEAR y su funcionalidad es habilitada por todas las cuentas. Cada token es un activo único digital similar al Ether, el cual puede ser usado para:

  • Pagar al sistema por procesar transacciones o por almacenar datos.
  • Correr un nodo validador como parte de la red por participar en el proceso de stacking.
  • Ayudar a determinar cómo los recursos de la red son asignados y donde su dirección técnica futura estará por participar en el proceso de gobernanza.

El token NEAR permite la coordinación económica de todos los participantes que operan en la red, además habilita nuevos comportamientos entre las aplicaciones las cuales están construidas sobre esa red.

¿Cómo comenzar con NEAR?

Cuenta/Billetera (wallet)

Antes de que comience con NEAR, lo primero que debe hacer es configurar una cuenta de NEAR.

Vea este video sobre las cuentas de NEAR:

La billetera le permite hacer llamadas de contratos a la blockchain, configurar tu nodo local, y enviar y recibir fondos de otros usuarios. Cuando registre el ID de su cuenta, debe proporcionar un nombre único. Además cada billetera debe tener un nombre único, cada usuario puede configurar múltiples billeteras.

Puede imaginar esto similar a las cuentas de facebook o google. Una vez que haya registrado a cualquiera de estos dos servicios, puede usar la misma cuenta para entrar a servicios de terceras partes. La diferencia entre el ID de una cuenta de NEAR y la cuenta de Google es que los datos, almacenados en contra de un ID de cuenta, son solo accesibles y manejables por el dueño de la wallet. Adicionalmente, toda la información es almacenada en una red distribuida de nodos en vez de un solo servidor.

Crea su cuenta de near ahora mismo: https://wallet.near.org/create

Información mas a fondo acerca de las cuentas en: https://learnnear.club/doc/videos/accounts-keys/

Explorador de NEAR

El explorador de near le permite ver la creación de bloques en tiempo real! Esta útil herramienta le permite buscar transacciones y cuentas permitiéndole ver todas las interacciones entre los usuarios y contratos inteligentes.

NEAR Explorer

¿Cómo obtener tokens NEAR?

Hay 4 formas de obtener $NEAR

NEARs gratis para usuarios de Ethereum

Comience por configurar una billetera con un poco de NEARs gratis a través de la “faucet” para usuarios de ethereum: https://faucet.paras.id/

Ganalos

Puede ganar $NEAR participando en las recompensas de desarrolladores, guiando una comunidad, lo cual ayuda a las personas a construir sobre NEAR, ganando un hackathoon o participando activamente en la comunidad. Si tiene la posibilidad de hacer que otras personas le preste tokens para el staking; también puede ganar $NEAR por ser un validador. 

Compralos

$NEAR está disponible en varios exchanges principales (ver abajo), donde puede registrarse y comprar tokens usando tanto moneda fiat como cripto.

Exchanges que enlistan a $NEAR

Puede ver los resúmenes de precios y pares en coinmarketcap y coingecko.

De un amigo

No debe tener una cuenta de NEAR para recibir tokens de NEAR! El “NEAR Drop” es un enfoque que le permite a sus amigos pre-financiar una nueva cuenta y enviarle un hot link para reclamar los tokens.

¿Qué puedo hacer con los tokens NEAR?

Transferir NEAR

Envía y recibe  $NEAR entre cuentas tuyas y de tus amigos, chequea transacciones en el explorador de bloques. Debido a que las comisiones de transacción son tan bajas, usted puede rápida y fácilmente mover pequeñas cantidades de $NEAR para pagar con ellos.

Envielos como regalos en http://redpacket.near.org/

Pruebe un NEAR drop (Invite a un amigo

Envíe a su amigo un NEAR drop si necesita crear una cuenta.

Use aplicaciones NEAR

Para ver la creciente lista de aplicaciones que están siendo construidas en NEAR, haga click aquí.

Comience con NFT- compre/publique/intercambie arte en https://paras.id/

Juegue en BarryClub para participar en una creación colectiva de arte: https://berryclub.io/

¿Cuánto cuesta usar NEAR (Gas)?

Cuando usted realiza llamadas a la blockchain de NEAR para actualizar o cambiar datos, las personas corriendo la infraestructura blockchain incurren en ciertos costos. Al final del día, algunas computadoras en algún lado procesan su solicitud, y los validadores corriendo estas computadoras gastan cantidades significativas de capital para mantener estas computadoras ejecutándose.

Como otras blockhchains programables, NEAR compensa a estas personas cobrando comisiones por las transacciones, también llamadas gas fees.

Si está familiarizado con los proveedores de servicios de la nube web2 (Amazon Web Services, Google Cloud, etc), una gran diferencia con blockchain es que esos usuarios son cobrados inmediatamente cuando hacen una llamada a una aplicación, en vez de que los desarrolladores afronten el costo por usar toda esa infraestructura. Esto crea nuevas posibilidades, tales como aplicaciones que no tienen riesgo a largo plazo de desaparecer debido a que los fondos de los desarrolladores/compañía se acaben. Sin embargo, también viene con ciertos baches en cuanto a usabilidad. Para ayudar con esto, NEAR además provee la habilidad para los desarrolladores de cubrir el costo del gas para los usuarios, para crear una experiencia más familiar para aquellos que vienen de la web2.

Cuando piense en gas mantenga dos conceptos en mente

  1. Unidades de gas: Internamente, las comisiones de transacción no son calculadas directamente en tokens NEAR, en cambio pasan a través de una fase de “gas units” (unidades de gas). El beneficio de las unidades de gas es que son determinantes – la misma transacción va siempre a costar la misma cantidad de unidades de gas.
  2. Costo del gas: Las unidades de gas luego se multiplican por el costo del gas para determinar cuánto se debe cobrar al usuario. Este precio es automáticamente calculado en cada bloque dependiendo de la demanda de la red (si un bloque previo se llena mas de la mitad el precio sube, de lo contrario baja, y no cambiará en más del 1% cada bloque), y su valor mínimo está configurado en la red, actualmente 100 millones de yoctoNEAR.

Note que el precio del gas puede variar entre la red principal de NEAR y la red de pruebas. Chequee el precio del gas antes de confiar en los valores de abajo.

Pensando en gas

NEAR tiene más o menos un segundo de tiempo de bloque, conseguido a través de limitar la cantidad de gas por bloque. Las unidades de gas han sido cuidadosamente calculadas para trabajar en números fáciles de pensar.

10¹² unidades de gas, o 1 TGas (TeragGas)…

≈ 1 milisegundo de tiempo de “cómputo” 

…Lo cual, a un mínimo de precio de gas de 100 millones de yoctoNEAR equivale a 0,1 miliNEAR de comisión.

Este 1ms es una aproximación útil, y es la forma actual como se definen las unidades de gas en NEAR. Las unidades de gas no solo encapsulan tiempo de cómputo/CPU también, tiempo de ancho de banda/network y tiempo de almacenamiento/IO. A través del mecanismo de gobernanza, los parámetros del sistema pueden ser afinados, cambiando el mapeo entre Tgas y milisegundos en el futuro, pero lo antes mencionado sigue siendo un buen punto de partida para pensar lo que significa las unidades de gas y de dónde vienen.

Quiz: 1 TeraGas o Tgas es igual a:

Correct! Wrong!

El costo de acciones comunes

Para darle un punto de partida sobre qué esperar en cuanto a costos de NEAR, la tabla inferior enlista algunas de las acciones más comunes y cuanto TGas requieren actualmente, y cuanto seria la comisión del mismo, en miliNEAR, al precio minimo de gas que es 100 millones de yN.

Operation TGas fee (mN) fee (Ⓝ)
Create Account 0.42 0.042 4.2⨉10⁻⁵
Send Funds 0.45 0.045 4.5⨉10⁻⁵
Stake 0.50 0.050 5.0⨉10⁻⁵
Add Full Access Key 0.42 0.042 4.2⨉10⁻⁵
Delete Key 0.41 0.041 4.1⨉10⁻⁵

¿Cómo puedo ganar con NEAR?

Stakea tus NEAR

Una muestra de cómo está soportada la comunidad de validadores es la proof-of-stake (prueba de stake). Los validadores ganan tokens NEAR como recompensa por operar los nodos que corren la red en forma de una tasa estática de inflación del 5% anual, creando nuevos tokens para validadores cada epoch (~12 horas) como recompensa.

Los validadores deben mantener una cantidad mínima de Stake para mantener su puesto de validador. Los titulares de los tokens pueden stackear sus tokens con un validador particular que ellos crean que está teniendo un rendimiento bueno para la red y ganar una porción de los tokens de recompensa generados por la red. Esto incentiva a los titulares de tokens a mantenerse involucrados en la comunidad.

La wallet de NEAR ahora tiene una interfase de staking directamente construida en la aplicación web.

Para stakear:

  1. Seleccionar “Staking” en la barra de navegación (o menú desplegable en móvil).
  2. Haz click en el botón “Select validator” 
  3. Escoge un validador
  4. Confirme su elección y seleccione “Stake with Validator”
  5. Ingrese la cantidad de NEAR que quiere stakear y haga clic en “Submit Stake”

Deberá confirmar dos transacciones, una para elegir al validador y otra para depositar y stakear con ese validador.

Para des-Stakear:

  1. En el menu de staking (/staking), seleccione el validador actual
  2. Haga click en “unstake” y confirme la transacción

Luego de un plazo de 36 a 48 horas (4 epoch), usted tendrá la posibilidad de retirar su stake, vuelva a la página del validador y haga click en “withdraw”.

Nuevos tokens son creados como recompensa cada epoch lo que ocurre aproximadamente cada:

Quiz: Nuevos tokens son creados como recompensa cada epoch lo que ocurre aproximadamente cada:

Correct! Wrong!

Entonces, ¿ahora qué? ¿Cómo puedo interactuar con NEAR?

Bien, qué pasa ahora? Si ha leído hasta este punto, usted probablemente quiere profundizar aun mas en el protocolo NEAR. Entonces, lo siguiente que debe hacer es revisar la documentación de NEAR. Si es nuevo en la blockchain y quiere aprender mas sobre la tecnologia en si misma, debe revisar este video deconstruyendo el ecosistema blockchain

Unase al servidor de discord y chequee el forum de NEAR.

17
Ir arriba