La falacia del efecto de red de los contratos inteligentes

Ethereum es sin duda la plataforma de contratos inteligentes líder en el mercado. Es la más antigua y madura. Probablemente, tiene los mejores desarrolladores de protocolos, y ciertamente, cuenta con la mejor comunidad. El interés de los desarrolladores está aumentando. Las empresas más grandes están invirtiendo en la plataforma. Tiene una hoja de ruta clara. Está dirigida por una de las mentes más brillantes de nuestra época.
El valor de la red de Ethereum es de unos 30 mil millones de dólares. Esta es su competencia:
NEO: 2 mil millones de dólares Ethereum Classic: 1500 millones de dólares QTUM: 900 millones de dólares Stratis: 600 millones de dólares WAVES: 500 millones de dólares EOS: 500 millones de dólares Lisk: 250 millones de dólares
A los precios actuales, el valor de la red combinada de todos los competidores de Ethereum es aproximadamente del 10 al 15 % del valor de la red de Ethereum.
Los precios del mercado apuntan a que Ethereum tiene un fuerte efecto de red. Ethereum se presenta como la “computadora mundial”, lo que naturalmente suscita analogías con el sistema operativo: cuantos más desarrolladores utilicen Ethereum, más usuarios querrán Ether, lo que anima a más desarrolladores, etc.
Esta analogía no captura el matiz de la dinámica en juego. Las plataformas de contratos inteligentes, como Ethereum, no deben compararse con los sistemas operativos, sino más bien con los lenguajes de programación.
Más concretamente, la analogía del sistema operativo distorsiona los efectos de red para el lado de la oferta (por qué los desarrolladores deberían elegir Ethereum) y el lado de la demanda (por qué los usuarios deberían comprar Ether). Las preocupaciones sobre la seguridad de la red son válidas, pero pueden mitigarse en gran medida mediante el anclaje de cadena cruzada.
A continuación, repasaré cada una de estas falacias.
DEL LADO DE LA DEMANDA: LOS USUARIOS NO SE PREOCUPAN
Los sistemas operativos crean efectos de red porque los usuarios toman una decisión mutuamente excluyente de usar un sistema operativo a costa de no elegir otro. No puede ejecutar Windows y Linux, simultáneamente, en su equipo de desktop (ignorando las máquinas virtuales, ya que solo una pequeña minoría de los usuarios tiene la necesidad o la capacidad técnica de aprovechar las máquinas virtuales de manera eficaz).
Dado que los usuarios están sujetos a un sistema operativo, los desarrolladores desarrollan naturalmente para ese sistema. Esto crea más y mejores aplicaciones para el sistema operativo, lo que atrae a más usuarios. El ciclo virtuoso florece.
Los usuarios no tendrán que saber ni preocuparse de con qué cadena de bloques están interactuando. Para la mayoría de los usuarios, las cadenas de bloques se resumirán a "introduzca su contraseña para verificar su transacción".
Como usuario que interactúa con aplicaciones distribuidas (Dapps), nunca "verás" una cadena de bloques. Todo lo que verás es un front end de web3 que activa una transacción en cadena utilizando una herramienta como Parity o Metamask (para el resto de este artículo, me referiré a este tipo de herramientas como clientes de web3, aunque web3 es técnicamente específico de Ethereum). Aunque todavía no existen clientes web3 para cadenas que no sean de Ethereum, se están construyendo y estarán disponibles pronto, y serán compatibles con múltiples cadenas. Con el tiempo, los navegadores implementarán de forma nativa los clientes web3 multicadena.
Los propios clientes de web3 pueden resumir aún más este problema. A medida que los clientes de web3 implementen el soporte para muchas cadenas, también integrarán intercambios descentralizados, como Shapeshift y 0x. Como usuario, si intentas interactuar con una Dapp que requiere tokens de Stratis, pero solo tienes Ether, tu cliente web3 venderá sin problemas tu Ether por Stratis en un intercambio en tiempo real. Luego, el cliente web3 enviará esos tokens Stratis a la Dapp. Como usuario, no sabrás ni te importará en absoluto el token subyacente.
Tu cliente de web3 generará una semilla mnemotécnica que se utilizará para derivar claves privadas, claves públicas y direcciones para todas las cadenas compatibles. Como usuario, solo tendrás que memorizar o almacenar una "contraseña", y todo lo demás será sencillo.
Para resumir todo lo anterior, como usuario, no tendrás que preocuparte de qué cadena o token estás utilizando. Todas las Dapps, independientemente de la plataforma tecnológica subyacente, simplemente funcionarán. Toda la complejidad de la cadena y los tokens se eliminará.
DEL LADO DE LA OFERTA: LOS TOKENS INTEROPERABLES FACILITAN LA COMERCIALIZACIÓN DE LAS CADENAS
Con cualquiera de las dos plataformas de contratos inteligentes, los tokens pueden circular por las cadenas. Los tokens ETH no estarán vinculados a la cadena de Ethereum. Los tokens Stratis estarán disponibles en la cadena NEO, y los tokens Tezos estarán disponibles en la cadena WAVES.
¿Cómo? Tokens sintéticos.
Imagina dos contratos inteligentes conocidos, uno en la cadena ETH y otro en la cadena ETC. Si quiero mover X tokens ETH a la cadena ETC, envío algunos ETH a ese contrato en la cadena ETH y especifico mi dirección ETC. Cuando el contrato ETH recibe mi ETH, algo como Cosmos activará el contrato ETC para liberar X tokens a mi dirección ETC. Esos tokens sintéticos también pueden denominarse ETH. Este sistema funciona en ambas direcciones.
(Reconozco que este diagrama no representa correctamente cómo los contratos inteligentes emiten tokens sobre una base técnica, pero sigue siendo útil para ilustrar cómo los activos se mueven a través de las cadenas).
Esta función igualará las condiciones de las cadenas. Cuando cualquier moneda funciona en cualquier cadena, ¿por qué preocuparse por la cadena o el token? Así se facilitan mucho las cosas.
Hay que tener en cuenta que este mecanismo tiene una desventaja obvia: Los costos de gas en cada cadena deben pagarse en la moneda nativa de la cadena. Sin embargo, los costos de gas no deberían ser significativos en términos de porcentaje. Si más del 0,1 al 0,2 % del volumen de transacciones se paga con gas, es probable que la propia cadena falle. A la luz del marco que propuse anteriormente, la pregunta "¿cómo paga un usuario el gas?" es legítima, pero no tiene un impacto sustancial en relación con las ganancias de la abstracción de la cadena de tokens.
MITIGAR LOS RIESGOS DE SEGURIDAD DE LA RED MEDIANTE EL ANCLAJE DE CADENA CRUZADA
A medida que un token pierde valor en la red, aumenta el riesgo de ataques del tipo 51 %. Esto es obviamente cierto para los sistemas de consenso de prueba de participación. También es cierto para los sistemas de consenso de prueba de trabajo, ya que los mineros eligen qué monedas minar en función del costo de la mina frente al valor de la moneda.
Sin embargo, incluso el riesgo de seguridad de la red puede mitigarse mediante el anclaje de cadena cruzada. Ethereum está adoptando este mecanismo en Plasma al comprometer las raíces de merkle de las cadenas secundarias a las cadenas principales. Esto está en vivo hoy en Factom: Factom ancla una raíz de merkle de su propia cadena a cada bloque de Bitcoin.
Con el tiempo, empezaremos a ver cómo la mayoría de las cadenas se anclan a otras cadenas como forma de mitigar el riesgo. Para atacar una red será necesario atacar todas las redes ancladas. Esto es exponencialmente más difícil que atacar una sola cadena.
LAS PLATAFORMAS DE CONTRATOS INTELIGENTES SON COMO LOS LENGUAJES DE PROGRAMACIÓN
Si los usuarios no se preocupan por las cadenas subyacentes, si los tokens se pueden intercambiar al instante y sin problemas, si los propios tokens circulan por las cadenas y si se puede mantener la seguridad de la red, ¿qué vías de diferenciación quedan entre las cadenas? Básicamente, herramientas de desarrollo y mecanismos de gestión.
Stratis tiene un enfoque singular: facilitar al máximo a los desarrolladores de C# el uso de cadenas de bloques. Hay millones de desarrolladores de C# hoy en día, la mayoría de los cuales probablemente no quieren aprender Solidity (lenguaje nativo de Ethereum) u Ocaml para Tezos. Se podría argumentar que los desarrolladores de C# están siendo irracionales y deberían aprender lenguajes diseñados específicamente para cadenas de bloques. Por ejemplo, es poco probable que Stratis pueda implementar la verificación formal, ya que C# no se diseñó teniendo en cuenta la verificación formal.
Por otro lado, Javascript se desarrolló como un lenguaje de front-end, pero ahora es uno de los lenguajes de back-end más populares por cortesía de Node.js. Algunos desarrolladores odian lenguajes poco definidos, como Javascript. Otros odian los lenguajes estáticos, como C.
Aunque todos los principales lenguajes de programación actuales proporcionan la completitud de Turing, el mercado ha demostrado empíricamente la necesidad de muchos lenguajes de programación con compensaciones únicas (legibilidad, compilado frente a interpretado, abstracciones, gestión de la memoria, rendimiento nativo, paralelizabilidad, etc.).
Una sola cadena de bloques no debería dictar las reglas y la mecánica de todo el desarrollo de los contratos inteligentes. Dada la falta de fuertes efectos de red, muchas plataformas de contratos inteligentes prosperarán.
Ahora, pasemos a la gestión. Dash ha tenido una gestión on-chain durante algunos años. Por lo visto, parece funcionar bastante bien. Tezos ha presentado una variación a la gestión on-chain de Dash. La comunidad de Dash prospera, innova y crece. La gestión on-chain puede ser lo que las cadenas de bloques siempre han necesitado, pero nunca han tenido.
No hay ninguna creencia contrafactual histórica que demuestre este caso. Obviamente, Bitcoin se ha enfrentado a graves problemas de gestión en los últimos dos años, pero muchos proyectos de código abierto han prosperado en ausencia de gestión on-chain. El núcleo de Linux, los numerosos escritorios de Linux, Firefox, Wikipedia, Chrome (y todas sus bifurcaciones), el proyecto de código abierto de Android (y todas sus bifurcaciones), WebRTC, el propio Ethereum y muchos otros proyectos de código abierto han tenido éxito sin un modelo formal de participación de las partes interesadas.
RESUMEN
Los precios actuales del mercado apuntan a que Ethereum va a ser el líder del mercado de las plataformas de contratos inteligentes. Esto no es un hecho. Hay muchas tendencias seculares en el ámbito de la demanda, la oferta y la seguridad que facilitan la comercialización de la mayoría de las ventajas percibidas de Ethereum. Ethereum no será la única plataforma de contratos inteligentes. Esto no quiere decir que Ethereum no esté aquí para quedarse o que no vaya a prosperar. Yo no apostaría contra Ethereum. Pero habrá enormes oportunidades para las plataformas de contratos inteligentes que no sean de Ethereum. Ethereum no será la única plataforma de contratos inteligentes que los gobierne a todos.
Actualización: 9 de mayo de 2018
Tras escribir este artículo, he llegado a la conclusión de que la premisa de este artículo es correcta, que las plataformas de contratos inteligentes tienen poco o ningún efecto de red; pero que la conclusión de esta publicación (que las herramientas de desarrollo son lo que importa y que las plataformas de contratos inteligentes son como los lenguajes de programación) es incorrecta. Las herramientas y funciones de desarrollo también se copiarán en las cadenas.
En el sucesor espiritual de esta publicación, Sobre los efectos de red de reservas de valor, argumento que la única manera de lograr efectos de red significativos es que un activo se convierta tanto en una reserva de valor como en un medio de intercambio.
Disclosure: Unless otherwise indicated, the views expressed in this post are solely those of the author(s) in their individual capacity and are not the views of Multicoin Capital Management, LLC or its affiliates (together with its affiliates, “Multicoin”). Certain information contained herein may have been obtained from third-party sources, including from portfolio companies of funds managed by Multicoin. Multicoin believes that the information provided is reliable and makes no representations about the enduring accuracy of the information or its appropriateness for a given situation. This post may contain links to third-party websites (“External Websites”). The existence of any such link does not constitute an endorsement of such websites, the content of the websites, or the operators of the websites.These links are provided solely as a convenience to you and not as an endorsement by us of the content on such External Websites. The content of such External Websites is developed and provided by others and Multicoin takes no responsibility for any content therein. Charts and graphs provided within are for informational purposes solely and should not be relied upon when making any investment decision. Any projections, estimates, forecasts, targets, prospects, and/or opinions expressed in this blog are subject to change without notice and may differ or be contrary to opinions expressed by others.
The content is provided for informational purposes only, and should not be relied upon as the basis for an investment decision, and is not, and should not be assumed to be, complete. The contents herein are not to be construed as legal, business, or tax advice. You should consult your own advisors for those matters. References to any securities or digital assets are for illustrative purposes only, and do not constitute an investment recommendation or offer to provide investment advisory services. Any investments or portfolio companies mentioned, referred to, or described are not representative of all investments in vehicles managed by Multicoin, and there can be no assurance that the investments will be profitable or that other investments made in the future will have similar characteristics or results. A list of investments made by venture funds managed by Multicoin is available here: https://multicoin.capital/portfolio/. Excluded from this list are investments that have not yet been announced due to coordination with the development team(s) or issuer(s) on the timing and nature of public disclosure. Separately, for strategic reasons, Multicoin Capital’s hedge fund does not disclose positions in publicly traded digital assets.
This blog does not constitute investment advice or an offer to sell or a solicitation of an offer to purchase any limited partner interests in any investment vehicle managed by Multicoin. An offer or solicitation of an investment in any Multicoin investment vehicle will only be made pursuant to an offering memorandum, limited partnership agreement and subscription documents, and only the information in such documents should be relied upon when making a decision to invest.
Past performance does not guarantee future results. There can be no guarantee that any Multicoin investment vehicle’s investment objectives will be achieved, and the investment results may vary substantially from year to year or even from month to month. As a result, an investor could lose all or a substantial amount of its investment. Investments or products referenced in this blog may not be suitable for you or any other party. Valuations provided are based upon detailed assumptions at the time they are included in the post and such assumptions may no longer be relevant after the date of the post. Our target price or valuation and any base or bull-case scenarios which are relied upon to arrive at that target price or valuation may not be achieved.
Multicoin has established, maintains and enforces written policies and procedures reasonably designed to identify and effectively manage conflicts of interest related to its investment activities. For more important disclosures, please see the Disclosures and Terms of Use available at https://multicoin.capital/disclosures and https://multicoin.capital/terms.