No, ejecutar una aplicaci贸n descentralizada (dapp) en blockchain no conducir谩 a un negocio exitoso. De hecho, la mayor铆a de los usuarios ni siquiera piensan si la aplicaci贸n funciona en la cadena de bloques, simplemente eligen un producto que es m谩s barato, m谩s r谩pido y m谩s f谩cil.
Desafortunadamente, incluso si la cadena de bloques tiene sus propias caracter铆sticas y ventajas 煤nicas, la mayor铆a de las aplicaciones que se ejecutan en ella son mucho m谩s caras, m谩s lentas y menos comprensibles que sus competidores centralizados.

Muy a menudo, en el documento t茅cnico de las aplicaciones que se construyen en la cadena de bloques, puede encontrar un p谩rrafo que dice: "la cadena de bloques es costosa y no puede soportar la cantidad requerida de transacciones por segundo. Afortunadamente, muchas personas inteligentes est谩n trabajando para escalar la cadena de bloques incluso cuando se lanza nuestra aplicaci贸n ser谩 lo suficientemente escalable ".
En un p谩rrafo simple, un desarrollador de dapp puede abandonar una discusi贸n m谩s profunda sobre problemas de escalabilidad y soluciones alternativas a los problemas. Esto a menudo conduce a una arquitectura ineficiente, donde el backend y el n煤cleo de la aplicaci贸n son contratos inteligentes que se ejecutan en la cadena de bloques.
Sin embargo, todav铆a hay enfoques no probados en la arquitectura de aplicaciones descentralizadas que permiten una escalabilidad mucho mejor, debido a una disminuci贸n en la dependencia de blockchain. Por ejemplo, Blockstack funciona en una arquitectura donde la mayor铆a de los datos y la l贸gica de la aplicaci贸n se almacenan fuera de la cadena de bloques.
Primero veamos un enfoque m谩s tradicional, en el que la cadena de bloques se usa como intermediario directo entre los usuarios de la aplicaci贸n, y que no escala muy bien.
Enfoque n. 掳 1: Blockchain como backend
Para hacerlo m谩s claro, tomemos la industria hotelera como ejemplo. Esta es una gran industria en la que los revendedores como Booking.com cobran enormes tarifas por conectar hu茅spedes y hoteles.
En cualquier situaci贸n en la que queramos derrotar a un intermediario de este tipo utilizando este enfoque, intentaremos repetir su l贸gica de negocios utilizando contratos inteligentes en una cadena de bloques como, por ejemplo, Ethereum.
Los contratos inteligentes de c贸digo abierto que se ejecutan en una "computadora global" pueden conectar vendedores con consumidores sin una compa帽铆a de terceros entre ellos, lo que en 煤ltima instancia reduce la tarifa y la comisi贸n cobrada por el intermediario.
Como se muestra en la imagen a continuaci贸n, los hoteles utilizan una aplicaci贸n descentralizada para colocar informaci贸n sobre las habitaciones, su disponibilidad y precios los d铆as de semana o fines de semana en la cadena de bloques, e incluso es posible una descripci贸n de las habitaciones con toda otra informaci贸n relevante.

Cualquiera que quiera reservar una habitaci贸n utiliza esta aplicaci贸n para buscar hoteles y habitaciones ubicadas en la cadena de bloques. Tan pronto como el usuario selecciona una habitaci贸n, la reserva se env铆a enviando la cantidad requerida de tokens al hotel como dep贸sito. Y en respuesta, el contrato inteligente actualiza la informaci贸n en la cadena de bloques de que el n煤mero ya no est谩 disponible.
Hay dos lados del problema de escalabilidad en este enfoque. Primero, el n煤mero m谩ximo de transacciones por segundo. En segundo lugar, la cantidad de datos que se pueden almacenar en la cadena de bloques.
Hagamos algunos c谩lculos aproximados. Booking.com afirma tener casi 2 millones de hoteles registrados. Supongamos que un hotel promedio tiene 10 habitaciones y cada una est谩 reservada solo 20 veces al a帽o, esto nos da un promedio de 13 reservas por segundo.
Para estimar este n煤mero, vale la pena se帽alar que Ethereum puede procesar aproximadamente 15 transacciones por segundo.
Al mismo tiempo, vale la pena considerar que en nuestra aplicaci贸n tambi茅n habr谩 transacciones de los hoteles para descargar y actualizar constantemente la informaci贸n sobre sus habitaciones. Los hoteles actualizan el precio de las habitaciones con mucha frecuencia, a veces incluso a diario, y cada cambio en el precio o la descripci贸n requiere una transacci贸n en la cadena de bloques.
Aqu铆 tambi茅n hay problemas de tama帽o: el peso de la cadena de bloques Ethereum recientemente cruz贸 la marca de 2TB. Si las aplicaciones con este enfoque se volvieran realmente populares, entonces la red Ethereum se volver铆a extremadamente inestable.
Tal sistema basado en blockchain puede excluir a los extra帽os debido a su imparcialidad y falta de centralizaci贸n, las principales ventajas de la tecnolog铆a blockchain. Pero la cadena de bloques tambi茅n tiene otras caracter铆sticas: est谩 distribuida y no es regrabable, estas son caracter铆sticas excelentes, pero debe pagarlas con tarifas de velocidad y transacci贸n.
Por lo tanto, los desarrolladores de dapps deben evaluar cuidadosamente si cada caracter铆stica que usa blockchain realmente necesita distribuci贸n y no regrababilidad.
Por ejemplo: 驴cu谩l es la ventaja de distribuir los datos de cada hotel a cientos de autom贸viles en todo el mundo y almacenarlos all铆 de forma permanente? 驴Es realmente importante que los datos hist贸ricos sobre precios y disponibilidad de habitaciones siempre se incluyan en la cadena de bloques? Probablemente no.
Si comenzamos a hacer tales preguntas, comenzaremos a ver que no necesariamente necesitamos todas las caracter铆sticas costosas de la cadena de bloques para todas nuestras funciones. Entonces, 驴cu谩l es la alternativa?
Enfoque # 2: arquitectura inspirada en Blockstack
Aunque el 茅nfasis principal de Blockstack est谩 en las aplicaciones en las que los usuarios poseen sus datos (por ejemplo, como Airtext , BentenSound , ImageOptimizer o Graphite ), blockstack tambi茅n tiene una filosof铆a de poco uso de blockchain, solo cuando es absolutamente necesario. Su argumento principal es que la cadena de bloques es lenta y costosa, lo que significa que debe usarse solo para operaciones 煤nicas o infrecuentes. El resto de la interacci贸n con las aplicaciones deber铆a ocurrir a trav茅s de pares, es decir Los usuarios de aplicaciones descentralizadas deben compartir datos directamente entre ellos y no a trav茅s de la cadena de bloques. Al final, las aplicaciones descentralizadas m谩s antiguas y exitosas como BitTorrent, correo electr贸nico y Tor se crearon antes del concepto de blockchain.

Izquierda: el primer enfoque en el que los usuarios interact煤an a trav茅s de la cadena de bloques. Derecha: los usuarios interact煤an directamente entre s铆, y la cadena de bloques se usa solo para identificaci贸n y similares .
Volvamos al ejemplo de reserva de hotel. Queremos un protocolo imparcial, independiente y abierto para conectar a los hu茅spedes con los hoteles. En otras palabras, queremos eliminar el intermediario centralizado. No necesitamos, por ejemplo, almacenar constantemente los precios de las habitaciones en un registro distribuido com煤n.
驴Por qu茅 no dejamos que los hu茅spedes y los hoteles interact煤en directamente, y no a trav茅s de la cadena de bloques? Los hoteles pueden almacenar sus precios, disponibilidad de habitaciones y cualquier otra informaci贸n en alg煤n lugar donde est茅n disponibles para todos, por ejemplo, IPFS, Amazon S3 o incluso su propio servidor local. Esto es exactamente lo que proporciona el sistema de almacenamiento descentralizado de Blockstack llamado Gaia . Permite a los usuarios elegir d贸nde quieren almacenar sus datos y controlar qui茅n puede tener acceso a ellos a trav茅s de un enfoque llamado almacenamiento multiusuario .
Para establecer la confianza, todos los datos del hotel est谩n firmados criptogr谩ficamente por el propio hotel. No importa d贸nde se almacenen estos datos, su integridad puede verificarse utilizando claves p煤blicas asociadas con la informaci贸n de identificaci贸n de este hotel almacenada en la cadena de bloques.
En el caso de Blockstack, solo su informaci贸n de identificaci贸n se almacena en la cadena de bloques. La informaci贸n sobre c贸mo obtener los datos de cada usuario se almacena en archivos de zona y se distribuye a trav茅s de una red punto a punto utilizando nodos. Y una vez m谩s, no necesita confiar en los datos que proporcionan los nodos, porque puede verificar su autenticidad compar谩ndolos con los hash almacenados en la cadena de bloques y por otros usuarios.
En una versi贸n simplificada del sistema, los hu茅spedes utilizar谩n la red punto a punto Blockstack para buscar hoteles y obtener informaci贸n sobre sus habitaciones. Y la autenticidad e integridad de todos los datos que recibe se puede verificar utilizando claves p煤blicas y hashes almacenados en la cadena virtual Blockstack.
Esta arquitectura es m谩s compleja que el primer enfoque y requiere una infraestructura m谩s integrada. De hecho, aqu铆 es exactamente donde entra Blockstack, proporcionando todos los componentes necesarios para crear un sistema tan descentralizado.

Con esta arquitectura, solo almacenamos datos en la cadena de bloques que realmente deben distribuirse y no sobrescribirse. En el caso de Blockstack, solo necesita transacciones en blockchain para registrarse e indicar d贸nde deben almacenarse sus datos. Es posible que necesite m谩s transacciones si desea cambiar esta informaci贸n, pero este no es un evento recurrente.
Adem谩s, la l贸gica de la aplicaci贸n, a diferencia del primer enfoque, funciona en el lado del cliente y no en los contratos inteligentes. Esto permite al desarrollador cambiar esta l贸gica sin actualizaciones costosas o, a veces, incluso imposibles para el contrato inteligente. Y al mantener la l贸gica de datos y aplicaciones fuera de la cadena de bloques, las aplicaciones descentralizadas pueden alcanzar el nivel de rendimiento y escalabilidad de los sistemas centralizados tradicionales.
Conclusi贸n
Las aplicaciones que se ejecutan en Blockstack pueden escalar mucho mejor que las aplicaciones convencionales de blockchain, pero este es un enfoque m谩s joven con sus propios problemas y preguntas sin respuesta.
Por ejemplo, si una aplicaci贸n descentralizada no funciona en contratos inteligentes, esto reduce la necesidad de tokens de utilidad. Esto puede causar problemas para el negocio, dado que las ICO fueron la principal fuente de financiaci贸n para aplicaciones descentralizadas (incluido Blockstack)
Tambi茅n hay problemas t茅cnicos. Por ejemplo, es relativamente simple implementar la funci贸n de reserva de hotel en un contrato inteligente, donde durante una operaci贸n at贸mica, las reservas de habitaciones se realizan a cambio de fichas. Y no es muy obvio c贸mo funcionar谩 la reserva en la aplicaci贸n Blockstack sin contratos inteligentes.
Las aplicaciones que se dirigen a los mercados globales con un potencial de millones de usuarios deben escalar muy bien para tener 茅xito. Es un error confiar 煤nicamente en blockchains para lograr este nivel de escalabilidad en el futuro cercano. Para poder competir con los principales actores del mercado centralizado como Booking.com, los desarrolladores de aplicaciones descentralizados deben considerar enfoques alternativos para dise帽ar sus aplicaciones, como el que ofrece Blockstack.