Publi


Muchos de ustedes probablemente han cuestionado la utilidad de blockchain en general y Ethereum en particular. Algunos de ustedes pueden haber ido más lejos en su curiosidad y se encontraron con numerosas características extravagantes, como la descentralización, la transparencia, la confianza sin intermediarios y la resistencia al ataque. Eso es notable, ¿no es así? Seguro que lo es, pero …

Publicidad

En su estado actual, blockchain es una combinación perfecta para cumplir con un rango limitado de tareas, a menos que considere que "agregar algunas nanotecnologías para un efecto wow" sea una tarea; de hecho, puede ajustar casi cualquier cosa para alinearse con este objetivo. Por supuesto, hay que hacer algo para comenzar, con varios experimentos que ayudan a comprender el potencial y muestran dónde puede estar la demanda, dónde está un callejón sin salida inesperado y dónde los inconvenientes no resultan tan críticos como se predijo. Sin embargo, debe conocer los límites para tomar una decisión informada sobre si es razonable intentar superarlos en un escenario particular.

Por cierto, Ethereum no es la única y la mejor opción de la historia. Quizás, blockchain es el instrumento adecuado para lograr tu objetivo, aunque sea un tipo diferente de blockchain. Sin embargo, implicaremos "Ethereum" ya que mencionamos más adelante "blockchain" en este artículo.

Intentemos ver las características de blockchain y los contratos inteligentes que hacen que el proceso de resolución de tareas aparentemente prometedoras sea ineficaz o imposible por completo. Me gustaría señalar desde el principio que las características a continuación están generalizadas, por lo que todavía pueden existir soluciones bastante viables para casos de uso específicos. Por lo tanto, debe tratar esta lista como una colección de las debilidades de Ethereum que debe considerar antes de comenzar con su proyecto.

  1. Barreras de entrada altas

Si su audiencia está compuesta por usuarios regulares en lugar de entusiastas de blockchain, muy pocos de ellos se molestarán en probar su solución. Solo piénselo, no solo tendrán que instalar MetaMask o Mist con un nodo, sino que también tendrán que comprar Ether, que es un proceso no trivial para los principiantes. Por lo tanto, si busca cubrir una audiencia máxima, Ethereum no es la elección correcta hasta ahora. Por ejemplo, probablemente sea una mala idea crear una tienda en línea basada únicamente en contratos inteligentes.

¿Qué hacer?

  • Ofrecer beneficios que superen los inconvenientes.
  • Dirigirse a un público con cierta experiencia en el tema.
  • Tendría sentido ofuscar la lógica de la cadena de bloques del usuario moviéndolo al backend.
  1. Centralizacion descentralizada

No importa cómo lo corte, blockchain es excelente porque funciona incluso si los participantes no confían en el otro. Sin embargo, este sello distintivo solo es válido siempre y cuando el usuario sea el único propietario de su clave privada. Ese es el principal requisito para firmar transacciones y hacer otras cosas desde su dirección. ¿Qué sucede si la lógica de la cadena de bloques está en el backend? Las claves se utilizan de manera centralizada, y no existe ningún mecanismo para evitar transacciones que no sean sancionadas por el usuario. Por lo tanto, todo lo que queda por hacer es esperar que el servidor esté lo suficientemente seguro y adecuadamente mantenido.

¿Qué hacer?

  • Comprenda si necesita transparencia e inmutabilidad o la opción de manipular la criptomoneda. Si no lo hace, es más económico y conveniente usar una base de datos regular.
  • Elabore sus mecanismos operativos para que existan garantías tecnológicas.
  1. Todos los datos son públicos.

Independientemente de cómo se escriba un contrato inteligente, una parte interesada puede recuperar el valor de cualquier campo de datos en él si así lo desea. Lo mismo se aplica al historial de transacciones. En consecuencia, si registra y conserva cualquier información de identificación personal sobre los usuarios, como sus direcciones de correo electrónico y nombres, entonces todo lo que estos usuarios hacen es de acceso público. Por lo tanto, es posible que tenga que realizar algún tipo de cifrado por encima de eso. Si es así, las claves para ello deben almacenarse en el extremo del destinatario, lo que significa que, de nuevo, el usuario debe confiar a un tercero sus datos personales. Usar una memoria privada común para mantener información más o menos sensible podría ser una mejor idea. Si va a hacer contratos basados ​​en blockchain, entonces puede perder más de lo que gana.

¿Qué hacer?

  • Comprenda si su lógica de contrato inteligente requiere los datos personales de los usuarios. Si lo hace, considere aprovechar hashes en lugar de los datos adecuados.
  1. Blockchain no es una supercomputadora

Algunas personas pueden tener la impresión de que los mineros utilizan una enorme capacidad de procesamiento para cálculos benignos, pero eso es un error. Permítame aclarar esto: la productividad de Ethereum se asemeja a la productividad de un sistema integrado, ya que involucra recursos limitados, una cantidad limitada de memoria y un tamaño limitado de "firmware" (código de byte del contrato). Por lo tanto, un máximo de cálculos no críticos se deben mover fuera de la cadena. Esta es la razón por la que realizar análisis de datos complejos en contratos inteligentes o cosas como el cifrado es difícilmente factible.

¿Qué hacer?

  • No utilice blockchain para cálculos de ningún tipo.
  • Si necesita realizar cálculos relacionados con la cadena de bloques, considere aprovechar la función de computación de Oraclize
  1. Blockchain no es un almacenamiento universal

Algunas personas creen que blockchain se puede utilizar para almacenar información o documentos. Las advertencias son evidentes a este respecto: en primer lugar, almacenar datos de esta manera es costoso; en segundo lugar, blockchain no se lleva bien con cosas como la búsqueda: o bien debe tener el mapeo clave-valor en su lugar, lo que agregará algún costo adicional a cada entrada, o debe buscar información de interés manualmente. Además, no hay gestión de permisos. Por lo tanto, reemplazar una base de datos convencional con blockchain no tiene mucho sentido a menos que sepa exactamente por qué la necesita. Cuando se trata de almacenar archivos específicos, tenga en cuenta el aspecto de la accesibilidad pública: si almacena, digamos, un enlace IPFS, todos lo verán y podrán descargar todo lo que guarda allí. En pocas palabras, piense dos veces si está preparado para almacenar fotos personales en blockchain.

¿Qué hacer?

  • Es mejor que simplemente almacene un hash para verificar todo lo almacenado fuera de la cadena.
  • Solo almacene los datos requeridos para la lógica de trabajo del contrato inteligente.
  1. Atando blockchain al mundo real

Blockchain per se puede enviar fácilmente monedas / fichas, pero ¿cómo enviar las cosas que compras para ellas? Incluso si se trata de un archivo, ¿cómo verifica el hecho de enviarlo sin involucrar a un tercero? Aquí hay una respuesta rápida: no es demasiado fácil, porque asumimos que ambas partes quieren engañarse mutuamente, por lo que necesitamos un montón de verificaciones, así como instancias de cifrado y descifrado. En caso de que haya una disputa, simplemente no puede prescindir de cálculos fuera de la cadena o de un árbitro.

Está claro que todo el proceso será aún más complicado para los bienes o servicios físicos, porque alguien necesita ingresar la información que, en términos generales, los bienes han sido recibidos. Esta persona no debe ser una parte interesada, lo que significa que es un tercero en el que se supone que debemos confiar. En este caso, nuestra solución de blockchain tiene un enlace débil en la forma de este árbitro. Además, dado que presumiblemente confiamos en esa persona, ¿por qué no confiarle a él o ella todo lo demás, por ejemplo, al hospedar una base de datos regular y realizar pagos? Esta es una pregunta fundamental que debe hacerse antes de comenzar su iniciativa blockchain. Por ejemplo, realmente no entiendo de qué se trata el uso de un token que ofrece para canjear por un descuento en una tienda fuera de línea.

¿Qué hacer?

  • Dése una respuesta clara por qué la lógica centralizada no es adecuada. Si no puedes, entonces abandona tu idea de blockchain.

  1. Siempre hay una posibilidad de error humano

Si ha transferido dinero a la persona equivocada por error o su cuenta bancaria ha sido pirateada, puede enviar un ticket de soporte técnico y hay tiempo para cancelar o deshacer la transacción. Con los contratos inteligentes, no puede hacer manualmente cosas que no están cubiertas por el código. Esto, nuevamente, nos lleva a la necesidad de involucrar a un árbitro que tendrá vastos privilegios que harán que la solución general se vuelva casi centralizada.

¿Qué hacer?

  • Implementar un retraso artificial de las transferencias de fondos en el contrato inteligente cuando sea apropiado.

  1. Las transacciones toman tiempo

Si tiene un sistema dinámico con estados y lógicas cambiantes de forma permanente basados ​​en ellos, lo más probable es que el tiempo de espera le haga sentir insatisfecho. En Ethereum, por ejemplo, el tiempo normal de verificación de la transacción es de medio minuto o incluso más. Incluso si unos pocos segundos adicionales no son un problema para su solución, aún debe tener en cuenta la posibilidad de tiempos de espera de transacciones indefinidos y definir los intervalos de tiempo suficientes. Por lo tanto, los juegos como el póker son completamente imposibles de crear en la base del contrato inteligente de Ethereum hasta el momento, o pueden ser bastante primitivos y requieren un énfasis en la lógica fuera de cadena.

¿Qué hacer?

  • Si pretende consultar la cadena de bloques con frecuencia, Ethereum podría no ser la combinación perfecta, y tal vez no debería restringir su perspectiva a la cadena de bloques solo.
  • Si es posible, combine varias transacciones en una, ejecutando parte de la lógica fuera de cadena.
  • En el peor de los casos, puede aumentar el precio del gas (tarifa por la ejecución de una operación) cuando corresponda.
  • Si una transacción demora demasiado en completarse, puede indicar un precio más alto y volver a enviarlo (la transacción debe permanecer inmutable, incluido el valor de nonce). De esta manera, el precio más alto reemplazará al más bajo.
  1. La evasión de la censura no es perfecta hasta ahora

Si estás preparado para usar blockchain para resistir al gobierno o algo así, ten en cuenta que un servicio web sigue siendo una entidad centralizada, incluso si está basado en blockchain. En otras palabras, un nombre de dominio o una dirección IP aún es fácil de bloquear y los usuarios deberán conocer la dirección de réplica o encontrar un servicio VPN. El beneficio es que no tiene que hacer copias de seguridad de la base de datos, y al conocer la dirección en la red Ethereum, siempre puede obtener acceso a través de técnicas menos fáciles de usar, como Mist, MyEtherWallet, Etherscan, etc. Sin embargo, la censura sigue siendo un problema

¿Qué hacer?

  • La resistencia al bloqueo es definitivamente un beneficio, pero no debes tomar la decisión de usar blockchain solo por este hecho.

¿Cuáles son las alternativas?

Hay un montón de ellos. Otras soluciones de blockchain y non-blockchain pueden sacrificar su descentralización, apertura o audiencia de usuarios ilimitada a cambio de una mayor velocidad de transacción, protección de privacidad confiable, etc. Los ejemplos incluyen EOS, soluciones basadas en Hyperledger, Exonum, Hashgraph, Corda y muchos otros. . Sin embargo, una marca popular sigue siendo un factor importante. Implica que hay una gran base de usuarios, un montón de aplicaciones, gestión de datos e instrumentos de desarrollo, así como mecanismos de prueba escrupulosos. Todo esto está en el lado positivo de Ethereum. El tiempo dirá si las cosas se solucionan para Casper y Sharding.

¿Es eso tan malo?

El problema fundamental que impregna todos los puntos anteriores es la elección consciente de nada más que blockchain. Se supone que la tecnología trata un problema. La integración de blockchain en una tarea que ya está resuelta no es probable que haga que la solución sea más efectiva. Por ejemplo, si usted es un jugador nuevo en el negocio de los juegos de azar y desea lanzar un casino, entonces su principal preocupación es obtener una reputación, demostrar honestidad y atraer una base de usuarios. Al ofrecer una solución basada en Ethereum, al menos teóricamente puede garantizar la transparencia a los clientes, aunque pocas personas auditarán su contrato inteligente antes de comenzar a jugar. De esta manera, también atraerá a personas con recursos de criptomoneda de repuesto en sus manos y muchas capacidades para usarlo. En cierto modo, el objetivo se logra.

Por otro lado, si pretende agregar blockchain a la arquitectura de un mensajero, entonces probablemente no podrá resolver ningún problema, como la censura y los riesgos de privacidad. En su lugar, obtendrá nuevos problemas.

Encontrar mejores casos de uso podría ser una cuestión de un futuro cercano, cuando la base de usuarios crezca y se vuelva más fácil comprar la criptomoneda que ahora. En general, sin embargo, tiene sentido considerar los siguientes dominios de aplicación:

  1. Procesos burocráticos y que consumen mucho tiempo, como transferencias de dinero al exterior y trámites engorrosos.
  2. Procesos basados ​​en la confianza para la plataforma, incluidos fondos de caridad y casinos.
  3. Gestión de los datos utilizados en varios dominios o empresas no relacionadas: operadores turísticos, historial de préstamos y todo tipo de listas negras.
  4. Controlar procesos intrínsecamente indignos de confianza, como la votación y la recaudación de fondos.

El hecho de que una tarea caiga en una de estas categorías no significa necesariamente que la cadena de bloques se ajuste a la perfección. Siempre debe estar al tanto de lo que otras tecnologías más optimizadas tienen para ofrecer. Su flujo de pensamientos debe centrarse en abordar un problema particular en lugar de incrustar blockchain en su actividad sin importar qué.

Sobre el Autor: El autor, David Balaban, es un investigador de seguridad informática con más de 15 años de experiencia en análisis de malware y evaluación de software antivirus.

Renuncia: Las opiniones expresadas en el artículo son únicamente del autor y no representan las de CriptoPasion, ni deben atribuirse a ellas.


DEJA UNA RESPUESTA

Please enter your comment!
Please enter your name here

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.