¡Hola a todos!
Ayer NEAR, un proyecto en el que mis colegas y yo hemos estado trabajando durante los últimos 2 años.
NEAR es un protocolo blockchain y una plataforma para aplicaciones descentralizadas, enfocándose en el rendimiento y la facilidad de uso.
Hoy quiero hablar sobre los problemas del mundo moderno que resuelven los protocolos blockchain, qué problemas pueden resolver pero aún no lo hacen, y dónde se sitúa NEAR en este contexto.
¿Por qué son necesarios los protocolos blockchain?
Los protocolos blockchain proporcionan una infraestructura muy importante que permite lanzar aplicaciones que no están controladas por ninguna organización centralizada.
A corto plazo, esto ya se está utilizando para construir servicios financieros que no son controlados por bancos y gobiernos. En Ethereum, la plataforma más popular en la actualidad para aplicaciones descentralizadas, ha surgido una gran cantidad de interesantes servicios financieros en los últimos dos años: MakerDAO ha desarrollado una moneda descentralizada cuyo precio es casi igual a un dólar, permitiendo el uso de servicios financieros en la plataforma con activos no volátiles. Compound ha creado la posibilidad de depositar dinero en una cuenta virtual y obtener un ingreso casi garantizado; Augur y Flux han construido servicios donde se pueden realizar apuestas sobre diversos eventos en el mundo real. Además, se han lanzado numerosas bolsas descentralizadas en Ethereum. Todos estos servicios son autónomos y no están controlados por nadie, o son controlados colectivamente por los participantes del servicio.
Los productos financieros que no están controlados por el gobierno y los bancos son una dirección muy importante. Pero los protocolos blockchain permiten hacer mucho más.
A mediano y largo plazo, esta misma infraestructura permitirá construir servicios y aplicaciones cuyo objetivo es crear un internet libre y abierto, y reducir la influencia dominante de las oligopolios en nuestras vidas. Para aplicaciones cotidianas: redes sociales, chats, grupos de interés, y otros, los protocolos blockchain permiten lograr funcionalidad que sería mucho más difícil de implementar sin ellos. Tres ejemplos:
1. Inicio de sesión único e información general sobre la cuenta. Hoy en día, casi todos los servicios de inicio de sesión único están centralizados. Si utilizas una cuenta de Gmail para iniciar sesión en aplicaciones y Google decide eliminar tu cuenta, perderás el acceso a todas las aplicaciones para las que usaste Google. Utilizar una solución basada en blockchain para el inicio de sesión único permite no depender de ninguna organización centralizada. Además, las aplicaciones que utilizan dicha solución pueden, con el permiso del usuario, almacenar diversa información en esa cuenta única, que luego puede ser utilizada en otras aplicaciones. Una hipotética Coursera descentralizada podría almacenar en la cuenta el hecho de haber completado un curso, y un hipotético LinkedIn descentralizado podría mostrar esta información, y ni Coursera, ni LinkedIn, ni el servicio de inicio de sesión podrían eliminar, modificar esta información o cerrar la cuenta del usuario eludiendo protocolos transparentes predefinidos.
2. Monetización, activos y microtransacciones. Una de las razones por las que el desarrollo de servicios abiertos no es popular es porque es muy complicado monetizarlos. Dado que en blockchain el dinero es una parte fundamental del protocolo y su transferencia no está restringida, integrar diversas formas de monetización en aplicaciones y servicios es mucho más fácil. Sin caminos razonables hacia la monetización, el trabajo en un internet abierto nunca podrá atraer grandes equipos serios, y, como consecuencia, no surgirán aplicaciones capaces de competir con los grandes jugadores.
3. Coordinación del almacenamiento de datos y cálculos. Realizar cálculos y almacenar datos en protocolos de blockchain es significativamente más costoso que en la nube. Para la mayoría de las aplicaciones y servicios, ejecutarse en blockchain no es económicamente viable. Sin embargo, si realizan y almacenan datos en sus propios servidores, pueden solventar sus servidores, lo que puede llevar a la pérdida de datos, o cambiar el código que ejecutan, lo cual es inaceptable en el contexto de algunas aplicaciones descentralizadas. Afortunadamente, existen diversos enfoques que permiten almacenar datos y realizar cálculos fuera de la blockchain a un costo comparable al de la nube, pero que no permiten eliminar datos ni alterar cálculos. Estos enfoques utilizan la blockchain como protocolo, donde los participantes que ofrecen recursos depositan cierta garantía como prueba de la corrección de su trabajo, mientras que los participantes que utilizan los recursos pueden quemar o recuperar esta garantía si pueden proporcionar una prueba criptográfica de que los datos no se han almacenado o que los cálculos se han realizado incorrectamente.
Toda la funcionalidad descrita anteriormente requiere que el protocolo subyacente sea lo suficientemente rápido, barato y comprensible para los usuarios.
Qué resuelve NEAR
NEAR aborda dos problemas que tienen los protocolos existentes.
El primero es rapidez, y de ello se deriva el costo de las transacciones. Ethereum actualmente permite realizar alrededor de 15 transacciones por segundo. La demanda hoy en día supera notablemente las 15 transacciones por segundo, y el costo de las transacciones es increíblemente alto: la transacción más simple hoy cuesta alrededor de ¢40, las más complejas cuestan varios dólares. Casi todos los escenarios de uso que he descrito anteriormente solo tienen sentido si los precios son varios órdenes de magnitud más bajos, lo que, a su vez, requiere una capacidad de procesamiento mucho más alta.
El intento de implementar un protocolo con mayor capacidad de procesamiento, manteniendo el requisito de que cada participante de la red verifique cada transacción y almacene todo el estado, aumenta los requisitos de hardware. Esto, a su vez, aumenta la barrera de entrada y reduce la descentralización y la fiabilidad del protocolo.
NEAR se escala utilizando un enfoque diferente llamado Sharding. He descrito el sharding en detalle en el contexto de blockchains en Habr. El sharding es una escala horizontal, lo que permite a futuro realizar mucho más cálculos de manera significativamente más económica que los protocolos que escalan verticalmente, sin importar los altos requerimientos de hardware que puedan presentar.
El segundo problema es la facilidad de uso. Desarrollar y desplegar aplicaciones en NEAR es mucho más sencillo que en otros protocolos. Y lo que es más importante, los usuarios pueden utilizar aplicaciones desplegadas en NEAR sin necesidad de conocer qué es una blockchain, una transacción o una clave privada.
Los protocolos de blockchain han sido históricamente diseñados con el objetivo de maximizar la fiabilidad, no la facilidad para los usuarios. En muchos aspectos, estos objetivos generan requisitos incompatibles, y el desarrollo de protocolos que puedan ser utilizados por personas sin formación técnica, pero lo suficientemente fiables para escenarios en los que la pérdida de una cuenta puede costar millones de dólares, es un tema para un artículo aparte.
En se pueden ver ejemplos de desarrollo de aplicaciones para NEAR en Rust y AssemblyScript (un subconjunto de TypeScript) en un IDE interactivo en el navegador, y cómo se ven para el usuario final.
En conclusión
Internet abierto y herramientas financieras descentralizadas no pueden ser construidas por una sola empresa.
Construir la infraestructura es solo una pequeña parte de todo el trabajo que se debe realizar para crear un ecosistema en el que todos los servicios principales sean controlados por la comunidad y no por oligopolios.
Si tienes ideas de servicios gestionados por la comunidad y deseas trabajar en ellas, únete a nuestro programa de apoyo a emprendedores .
Si eres desarrollador, únete al ecosistema: , ¡construyamos juntos un internet abierto!
Fuente: habr.com
