La computadora mundial debe estar centralizada de manera lógica

Esta publicación también está traducida al mandarín. Pulse el botón de idioma de arriba para ver la traducción
Vitalik concibió Ethereum como la computadora del mundo: una máquina de estado única, estructurable, abierta y sin permisos que pudiera ejecutar código que no dependa de la confianza. Y aunque Ethereum supuso un avance en muchos frentes (capa P2P, máquinas de estado deterministas, contratos inteligentes estructurables y mucho más), se quedaba corto en muchos otros. Esas limitaciones (sobre todo la falta de rendimiento, la alta latencia, el alto costo de las transacciones y el uso de un lenguaje de programación personalizado en una máquina virtual mediocre) han impedido que Ethereum cumpla su promesa original.
Hoy me emociona compartir la tesis de inversión de Multicoin en Solana, junto con el hecho de que lideramos una inversión de 20 millones de dólares en Solana. Aquí está el comunicado de prensa de Solana.
Apoyo a los desarrolladores que crean aplicaciones a escala web
Solana ofrece todas las propiedades que necesitan los desarrolladores de aplicaciones que no dependan de la confianza:
- Alto rendimiento: actualmente la red admite 50 000 transacciones por segundo en una red global de 200 nodos de consenso
- Baja latencia: aproximadamente un segundo de finalización
- Comisiones de transacción asequibles: normalmente se miden en fracciones de centavo
- Rust como lenguaje de programación insignia (también es compatible con C, C++ y Move de Libra)
- Un algoritmo de consenso BFT asincrónico
- Un único estado global que admite contratos inteligentes estructurables
Para los desarrolladores, el valor de las propiedades del 1 al 5 es evidente. Me gustaría destacar la importancia de la sexta característica: que tiene un estado único y global que admite contratos inteligentes estructurables. Dada la naturaleza del discurso en las comunidades de desarrolladores de criptomonedas en los últimos años, no se puede exagerar el valor de esa sexta característica.
Los desarrolladores que construyen contratos inteligentes no quieren lidiar con la capa 2 y la fragmentación (sharding). Ni con el estado y la lógica de la aplicación en la fragmentación cruzada. Ni con la latencia de la fragmentación cruzada. Ni con los modelos de seguridad en las cadenas laterales. Ni con el enrutamiento de la liquidez en las redes de canales estatales. Ni con la forma de ejecutar cálculos fuera de la cadena utilizando pruebas de conocimiento cero.
El objetivo de tener una cadena de contratos inteligentes es que la propia cadena sintetice todas las complejidades de nivel inferior y el sistema económico necesario para ofrecer una computación de confianza minimizada, lo que les permite a los desarrolladores de aplicaciones centrarse en la lógica de la aplicación. De hecho, cuando Vitalik le reveló Ethereum al mundo en Miami en enero de 2014, hizo énfasis precisamente en lo siguiente: ¡el objetivo de la computadora mundial es sintetizar todo lo que no es específico de la aplicación!
Aunque se está trabajando en muchos tipos de soluciones de escalado, cada una de ellas crea formas idiosincrásicas de complejidad para los desarrolladores de aplicaciones, los usuarios y el ecosistema en su conjunto. La última de esas formas de complejidad, lo que yo llamo "crear un equipaje de ecosistemas", es especialmente difícil de tratar. Por ejemplo, las billeteras necesitan saber dónde están los activos de los usuarios a lo largo de muchas cadenas y canales estatales; los usuarios necesitan torres de vigilancia; los proveedores de liquidez necesitan proporcionar liquidez; los grupos de liquidez se dañan; se presenta latencia en todo tipo de lugares extraños, etc.
O dicho de otro modo: todas esas soluciones de escalado heterogéneas acaban con la elegancia y simplicidad de un sistema único de lógica centralizada (pero descentralizado desde el punto de vista arquitectónico y político) hecho a la medida, no uniforme y fragmentado lógicamente. La fragmentación lógica aumenta la complejidad y la fricción para usuarios, desarrolladores y proveedores de servicios.
Todas las soluciones de escalado heterogéneo son respuestas al hecho de que, hasta ahora, nadie ha descubierto cómo escalar la capa 1 preservando al mismo tiempo una descentralización arquitectónica y política suficiente. Cuando digo que Solana ha descubierto cómo escalar la capa 1, las personas asumen que la arquitectura debe ser experimental y arriesgada. Por lo general, también asumen que apostar al escalamiento heterogéneo de la capa 2 es mucho menos arriesgado, en gran medida porque la comunidad de criptomonedas ha hablado de ello desde 2014.
Irónicamente, esto es lo contrario de la realidad. Ninguna de las soluciones de la capa 2 o de fragmentación (sharding) está operando más allá de la escala de prueba de concepto y nadie ha solucionado los problemas de segundo y tercer orden que se derivan del escalado de forma heterogénea (por ejemplo, abarcar las cadenas laterales mediante ILP, lidiar con los fragmentos abarrotados, demandar que la lógica de la aplicación considere el estado exógeno, etc.).
Mientras tanto, los desarrolladores —tanto de criptomoneda como de otras áreas— ya saben cómo construir y desplegar código para la capa 1: desplegar un contrato inteligente en la cadena y luego los usuarios le envían mensajes firmados a la cadena. Eso es todo.
Es imposible proporcionar sintesís simples sin una interfaz centralizada desde el punto de vista lógico.
Eso no quiere decir que la capa 2 sea mala ni que los desarrolladores no van a construir productos de capa 2 efectivos. Más bien, con Solana los desarrolladores no tienen que depender de esas soluciones de escalado a la medida (los desarrolladores con seguridad van a desplegar elementos de capa 2 sobre Solana y podrán hacerlo porque Solana no requiere permisos). Para la gran mayoría de casos de uso, los desarrolladores que construyen en Solana no tienen que pensar para nada en el escalamiento porque justamente el objetivo de la capa 1 de Solana es sintetizar la complejidad.
Desagregación de la escasez de dinero y de computación que no dependa de la confianza
El principio fundamental de Solana es que el software no debe entorpecer el hardware.
Repito:
El principio fundamental de Solana es que el software no debe entorpecer el hardware.
Eso tiene tres implicaciones principales:
En primer lugar, la red Solana en su conjunto funciona a la misma velocidad que un solo validador. En realidad, eso es lógico: si el software no entorpece el hardware, la red funciona a la misma velocidad como una sola máquina, suponiendo que el ancho de banda no sea el cuello de botella (no lo es; más adelante, en la sección Turbina, se habla de ello).
En segundo lugar, el rendimiento total de la red aumenta junto con el ancho de banda y el número de núcleos de la GPU. El ancho de banda sigue duplicándose cada 18 o 24 meses, y las conexiones modernas a Internet están a muchas órdenes de magnitud de saturar los límites físicos de la fibra. Y aunque que el rendimiento de las CPU de un solo subproceso ya no mejora en línea con la ley de Moore, las GPU siguen duplicando el número de núcleos cada 18 o 24 meses y no se espera que eso deje de suceder por el momento (Solana aprovecha las GPU masivamente paralelas con más de 4000 núcleos para el procesamiento de transacciones; más información sobre esto en la sección Pipeline más adelante).
Y en tercer lugar, como el rendimiento total de la red de Solana crece linealmente con el hardware subyacente, Solana crea abundancia donde actualmente hay escasez: computación que no dependa de la confianza. El tema general de la tecnología en los últimos siglos ha sido hacer abundantes los recursos que antes eran escasos. La idea de la abundancia está claramente plasmada en la ley de Moore, pero la abundancia no se limita a la capacidad de computación. La incidencia de la abundancia se ha hecho sentir en casi todos los sectores, ya que el software sigue comiéndose al mundo.
Aunque generalmente la abundancia es algo bueno, hay un área en la que la abundancia es obviamente algo malo: la oferta de dinero. Aunque cada cadena sin permisos viene con garantías de escasez sobre la oferta de dinero debido al consenso BFT sin permiso, cada cadena también obliga a la escasez de computación que no dependa de la confianza. Al crear una red en la que el software no entorpece el hardware (permitiendo que el rendimiento de la red aumenta con el hardware) Solana hace que la computación que no dependa de la confianza sea un recurso abundante en lugar de escaso, a la vez que ofrece grandes garantías sobre la oferta de dinero.
La escasez de la oferta de dinero y la escasez de la computación que no dependa de la confianza se han empaquetado previamente. Solana las desempaqueta.
La computadora mundial debe ofrecer abundante computación, pero debe ser accionada por dinero escaso.
Descripción de la tecnología
Hay siete grandes avances técnicos que hacen posible la existencia de Solana. Voy a hacer un breve resumen de cada uno de ellos. Los encabezados de las secciones tienen enlaces a explicaciones detalladas del equipo de Solana. En orden ascendente de la pila son los siguientes:
- Prueba de historia (POH). La POH es una innovación sutil pero fundamental sobre la que se construye el resto de la arquitectura única de Solana. La POH representa un enfoque totalmente nuevo para codificar y comunicar el paso del tiempo entre nodos en entornos sin permisos para resolver el problema del reloj. La POH actúa como un reloj ante el consenso, lo que permite que sucedan todo tipo de supuestos de tiempo únicos en la pila, desde supuestos de tiempo en el consenso hasta pruebas de replicación, pasando por la propagación de datos hiperoptimizada y la gestión de mempool, entre otros.
El tiempo es la base de todo en los sistemas distribuidos, y Solana adopta un enfoque fundamentalmente nuevo de la noción de tiempo en un sistema distribuido sin permisos.
La POH también ofrece otro buen beneficio. Una de las críticas más comunes a los sistemas de POS (Punto de venta) es que no son objetivos, sino débilmente subjetivos. Gracias a la POH, Solana se vuelve objetiva. Como el paso del tiempo está codificado en los bloques mismos y como los verificadores pueden verificar la POH al menos 1000 veces más rápido que la producción inicial de la POH mediante la paralelización, un nuevo nodo puede verificar la integridad de la cadena desde su génesis hasta el presente sin ninguna información fuera de banda.
- Tower BFT. Una versión de PBFT optimizada para POH que prefiere la vitalidad a la congruencia
- Turbine Un protocolo de propagación de bloques que toma prestado mucho de BitTorrent Gracias a Turbine, el rendimiento total de la red es equivalente a la velocidad de subida/bajada de las dos terceras partes de los nodos más rápidos, menos algún factor constante de codificación de borrado para la tolerancia a fallas. Solana aumenta linealmente con el ancho de banda de las dos terceras partes de los nodos más rápidos. Todas las demás cadenas aumentan de forma sublineal.
- Gulf Stream Un protocolo de reenvío de transacciones sin mempool
- Maquina virtual de Pipeline Pipeline es una máquina virtual (VM) personalizada que aprovecha la máquina virtual de bajo nivel (LLVM) para compilar código para GPU para la ejecución de transacciones tremendamente paralelas (no solo la verificación de firmas). Eso permite un extraordinario aumento de las ganancias para Solana. Mientras que las cadenas tradicionales son computadoras de un solo subproceso, Pipeline de Solana procesa miles de transacciones simultáneamente en las GPU.
Además, Pipeline aprovecha el filtro de paquetes de Berkeley (BPF), lo que significa que la máquina virtual le entrega la ejecución de las transacciones directamente al hardware (en lugar de ejecutarlas en una máquina virtual), lo que mejora aún más el rendimiento.
Aunque Pipeline no depende del código de bytes WASM, los desarrolladores pueden tomar el código escrito para los compiladores WASM y volver a compilarlo utilizando el compilador de Pipeline con muy pocos cambios. Eso permite que Solana admita fácilmente aplicaciones escritas para cadenas basadas en WASM como EOS, Dfinity, Polkadot y Ethereum 2.0. El lenguaje insignia de Pipeline es Rust, además de admitir C, C++ y el nuevo lenguaje Move de Libra (más adelante se encuentra información al respecto).
- Cloudbreak Una base de datos de cuentas escalable horizontalmente Las bases de datos tradicionales como LevelDB no pueden superar más de aproximadamente 5000 escrituras aleatorias por segundo en una sola instancia. Cloudbreak es la novedosa solución de Solana para escalar horizontalmente las E/S del disco. Cloudbreak se basa en técnicas del sistema operativo como la dispersión-recolección (scatter-gather) para ofrecer E/S del disco sin precedentes.
Sí, Solana es tan rápido que el equipo de trabajo de Solana tuvo que crear una nueva estructura de base de datos desde cero para que las E/S del disco no fueran el cuello de botella.
- Replicadores Un almacén de libros distribuidos para resolver el problema de la disponibilidad de los petabytes de datos. A 1 gigabit por segundo, una red produce unos 4 petabytes de datos al año. A esta escala, el almacenamiento del historial de transacciones se convierte rápidamente en el vector de centralización dominante. Los replicadores son la solución de Solana al problema de la disponibilidad de los datos. En lugar de exigir que los nodos de consenso almacenen todo el historial, Solana aprovecha una segunda clase de nodos, los replicadores, cuya única responsabilidad es almacenar pequeños fragmentos del historial de transacciones. Los replicadores aprovechan las pruebas de replicación (prestadas por Filecoin) para demostrar que están almacenando los fragmentos de estado que se supone que deben almacenar. Solana distribuye el costo de la gestión del problema de la disponibilidad de los datos entre miles o incluso millones de replicadores con incentivos económicos.
El tema común de esas innovaciones puede resumirse en una palabra: optimización. Solana es el ejemplo más claro que he visto de la primera ingeniería basada en principios en cada capa de la pila. El equipo identificó sistemáticamente todos los puntos en los que otras cadenas pierden velocidad (por ejemplo, la sobrecarga de consenso, la computación de un solo subproceso y las E/S del disco) y diseñó soluciones únicas para abordar cada problema.
Libra y Move
El equipo de Libra en Facebook creó una nueva máquina virtual y un lenguaje de programación llamado Move. Aunque Libra no será programable en el momento del lanzamiento de la red principal en 2020, el equipo de Libra ya ha abierto el código base de Move. Y resulta que Move y la máquina virtual Pipeline de Solana tienen más similitudes que diferencias.
Solana es compatible de forma nativa con Move, incluyendo BPF y el procesamiento de transacciones paralelas en las GPU. Eso significa que los desarrolladores pueden portar trivialmente las aplicaciones escritas para la cadena Libra con permisos a la cadena Solana sin permisos y recibir todo el desempeño que ofrece Solana.
Se trata de un increíble catalizador para Solana, ya que Solana aprovecha la distribución de Libra, mientras sigue operando sin permisos.
Con base en el lanzamiento proyectado de la red principal de Solana en octubre de 2019, es probable que Solana sea la primera cadena que realmente admita aplicaciones basadas en Move.
Aplicaciones únicas
Solana es tan eficaz que permite crear clases de aplicaciones totalmente nuevas que antes eran imposibles. Un ejemplo:
Solana puede validar los encabezados de los bloques de toda la historia del Bitcoin desde su génesis hasta la punta de la cadena. Lo mismo ocurre con las bifurcaciones de Bitcoin como Litecoin y Zcash, y también con Ethereum. Dado que Solana puede validar el estado actual de otras cadenas de forma nativa, no necesita depender de un oráculo (por ejemplo, Cosmos IBC) para comprender el estado externo.
Eso significa que Solana puede accionar una DEX de cadena cruzada no custodiada; las operaciones tienen lugar en Solana, y la liquidación ocurre en la cadena nativa del activo.
Y como la POH actúa como un reloj intra-bloque (y no solo interbloques), Solana ofrece garantías mucho más fuertes en términos de ordenamiento de transacciones intrabloque. Junto con el increíble rendimiento de Solana, la red puede soportar un libro de pedidos en la cadena. Este es el santo grial de los DEX.
Equipo
A finales de 2017, Anatoly comenzó a estudiar las cadenas de bloques. Él reconoció que el problema central que subyace al consenso es el problema del reloj. Más concretamente, que no existía un reloj universal, disponible a nivel mundial y que no dependiera de la confianza, que todos los validadores pudieran utilizar para sellar la hora de las transacciones. Se dio cuenta de que una computadora puede codificar el paso del tiempo utilizando un simple bucle SHA-256 y de que esa estructura de datos puede utilizarse para sincronizar los relojes entre una red de computadoras desconfiadas. Esa innovación central ha llegado a conocerse como Prueba de historia (POH), que actúa como un reloj global ante el consenso. Tener un reloj global que funcione aparte del consenso es un cambio sutil pero profundo que tiene importantes implicaciones para todo lo que se construye sobre la POH, inclusive el consenso mismo.
Anatoly ha reunido uno de los mejores equipos de ingeniería en criptografía. La mayor parte de los ingenieros del equipo han trabajado juntos durante 10 años, anteriormente en Qualcomm. El equipo tiene experiencia en todas las capas de la pila, desde las redes inalámbricas hasta el diseño de la CPU/GPU/DSP, el diseño del núcleo, los sistemas integrados, el sistema operativo y los SDK, entre otros. Algunos puntos destacados del equipo son los siguientes:
Anatoly Yakovenko diseñó el software DSP de alto rendimiento en el que funcionaba Google Tango, el primer dispositivo móvil compatible con la realidad aumentada en los teléfonos inteligentes.
Rob Walker fue director senior de Brew, el sistema operativo que accionaba más de 500 millones de teléfonos CDMA antes del lanzamiento del iPhone.
Greg Fitzgerald trabajó en la LLVM en la Oficina del Director Científico de Qualcomm.
Pankaj Garg ayudó a definir el estándar LTE y a crear ARM TrustZone.
Stephen Akridge fue jefe de GPU en Qualcomm, centrado en los compiladores y controladores de GPU.
Michael Vines fue director senior de Firefox OS y luego cofundó Silk Labs, que fue adquirido por Apple.
El doctor Eric Williams fue físico de partículas en el CERN.
Solana solo es posible gracias a la profundidad y amplitud técnica del equipo. Este equipo tiene la profundidad necesaria para llegar hasta el final y ha aprovechado esa profundidad para no dejar de poner a prueba ningún supuesto. Todas las capas de la pila están optimizadas.
Encuentro con la comunidad
En los próximos meses, antes del lanzamiento previsto de la red principal en octubre, el equipo de Solana se embarcará en una gira mundial para reunirse con desarrolladores de todo el mundo, responder a sus preguntas y mostrar el sistema en acción. Estarán en la Web3 Summit de agosto en Berlín, en la semana de Wanxiang Blockchain de Shanghai en septiembre y en la Devcon5 de Japón en octubre, además de otros eventos más pequeños en todo el mundo. ¡Si vas a estar en alguno de esos eventos, ponte en contacto con el equipo de Solana y saluda!
Hay una sola oportunidad para lanzar una nueva cadena correctamente. Es decir, una cadena con soluciones de administración de claves, integraciones de intercambio y custodia, herramientas para desarrolladores como Truffle, capas de consulta y API, herramientas de depuración y mucho más. Si estás construyendo una infraestructura Web3 o aplicaciones de alto rendimiento y te gustaría integrarte o construir sobre Solana, puedes ponerte en contacto con el equipo de Solana.
¡Tenemos la gran suerte de apoyar a Anatoly y al equipo de Solana y tenemos muchas ganas de ver las aplicaciones que Solana permite de forma única!
Revelaciones: Multicoin Capital mantiene posiciones largas en SOL. Multicoin Capital se rige por una "política de no negociación" para los activos enumerados en este informe durante los 3 días ("período de no negociación") siguientes a su publicación. Ningún funcionario, directivo ni empleado comprará ni venderá ninguno de los activos antes mencionados durante el Período de no negociación. Esta publicación tiene fines únicamente informativos, por lo que no debe interpretarse nada de la información ni otro material como asesoramiento financiero o de inversión. Nada en esta publicación constituye una solicitud, recomendación, aval ni oferta por parte de Multicoin de comprar o vender tokens ni otros instrumentos financieros.
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.
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.