El papel del hardware y los entornos de ejecución de confianza en el escalado y la seguridad de Blockchain

El hardware no se trata solo de ASIC para minería. Afectará el diseño de próxima generación de nodos de pares de blockchain, servicios remotos e infraestructura

T a introducción del nuevo hardware de minería ASIC para el cálculo acelerado de algoritmos de prueba de trabajo recientemente ha impulsado a la comunidad blockchain a una mayor conciencia y discusión sobre el hardware. Pero el hardware afecta todos los aspectos de la arquitectura blockchain, incluidos los nodos pares y la infraestructura de red. El firmware y el microcódigo desdibujan cada vez más la línea entre hardware y software. Además, las cadenas de bloques brindan la oportunidad de repensar y ampliar las nociones tradicionales de entornos de ejecución confiables para hacerlos mucho más útiles.

Como comunidad, no prestamos suficiente atención al impacto dramático que estos elementos ejercen en la escala y la seguridad.

Este es el primero de una serie de blogs en los que examinaré algunas de las complejidades multidisciplinarias de este tema. Los siguientes blogs de esta serie se encuentran en varias etapas de redacción. Pero agradezco la retroalimentación constructiva en todas sus formas y ajustaré los blogs futuros según sea necesario. Porque, en última instancia, esta es una visión para el futuro y mi contribución aquí es solo para señalar algunas tendencias y hacer algunas sugerencias.

Parte 1: Algunas reflexiones sobre el pasado y el futuro

Algo de contexto:

Lo que sigue en esta serie de blogs es una evaluación de la industria del hardware actual en lo que respecta a bitcoin y otras cadenas de bloques, y lo que puede ser posible en el futuro. Es mi punto de vista personal, así que es justo preguntar por qué alguien debería creer lo que digo. Ciertamente podría estar equivocado en varios detalles, y espero que lo esté. Pero creo que la mayor parte de la visión que se describe a continuación se cumplirá eventualmente, y les pido que se complazcan en considerar esa posibilidad.

He pasado la mayor parte de mi carrera de ingeniería trabajando con grandes fabricantes de semiconductores, diseñando y dando soporte a algunos de los chips de computadora de mayor volumen y más sensibles a los costos, y en períodos más cortos trabajando en diseño de sistemas, redes y ciberseguridad. Desde que me obsesioné con bitcoin hace 2–1 / 2 años, me he esforzado por ver cómo “encaja” bitcoin en la informática como un paso evolutivo del pasado al futuro. Aunque el hardware ya no es mi enfoque principal y no se considera “sexy” según los estándares actuales, el hardware es fundamental para el futuro de cualquier tecnología informática, y parece apropiado aprovechar la experiencia pasada al intentar predecir el futuro. Para comprender el estado actual del hardware informático y las tendencias que están tomando forma, es necesario examinar tanto el progreso de la tecnología como las fuerzas y cambios en el clima empresarial que motivan y dan forma a su camino futuro. Intento tener a ambos en cuenta. Espero que lo encuentre tan interesante y motivador como yo.

Un poco de historia:

“Las personas que se toman en serio el software deben crear su propio hardware”
Alan Kay , pionero de la informática , inventor de la GUI

Al considerar la informática en una perspectiva histórica, podríamos considerar las innovaciones que acompañaron a la amplia adopción de computadoras personales pero que no existían en los mainframes. Para mejorar la usabilidad de la PC fue fundamental la invención del mouse y la interfaz gráfica de usuario en el centro de investigación de Xerox Palo Alto. Fue allí donde tanto Bill Gates como Steve Jobs vieron por primera vez este concepto y decidieron implementarlo en sus propias empresas. El gerente de ingeniería de ese esfuerzo en Xerox, Alan Kay, fue (y sigue siendo) un verdadero pionero de la informática que también presentó al mundo muchos otros avances nuevos e importantes, incluida la programación orientada a objetos. Alan se ha hecho famoso por decir que “las personas que realmente se toman en serio el software deberían crear su propio hardware”.

Esto puede parecer trivial, pero piénselo. ¿Serían útiles las computadoras si todavía las alimentáramos con tarjetas perforadas? ¿O restringido exclusivamente a escribir comandos en las ventanas de la terminal? En cada etapa de la evolución de las computadoras, el hardware se ha adaptado para adaptarse mejor a las necesidades de usabilidad y rendimiento, co-diseñado con las mejores soluciones de software. Blockchain no será diferente. Lo estamos viendo en la minería de ASIC, pero eso es solo el comienzo. Es posible que el hardware no se considere atractivo, pero es vital y puede ser muy innovador. Y eso implica que el hardware personalizado es inevitable.

Permítanme brindarles un ejemplo simple de cuán poderosa es la optimización de hardware de fuerza, incluso para la computación corriente principal. Desde hace varios años, la industria de los semiconductores ha luchado con el hecho de que la Ley de Moore está llegando a su fin. La Ley de Moore, que lleva el nombre de uno de los fundadores de Intel que observó que los circuitos integrados seguirían agregando transistores y haciéndose más pequeños, impulsó tanto la miniaturización como las constantes reducciones de precios de los productos de la industria de las computadoras durante los últimos 50 años. Hablaremos más de eso más adelante. Pero por ahora, simplemente acepte que los últimos 5 años (al menos) no han visto las mismas tendencias. Todavía es posible hacer que la electrónica sea más pequeña, y ese seguirá siendo el caso. Los ingenieros son personas inteligentes que rara vez se quedan sin ideas. Pero la última y más densa tecnología ya no es la más barata. Estar a la vanguardia se está volviendo cada vez más caro. Eso puede cambiar si los magos de la ingeniería idean nuevas estrategias más rentables para la miniaturización, pero por ahora, estamos algo estancados.

Teniendo eso en cuenta, echemos un vistazo rápido al hardware utilizado por Apple. Estas no son supercomputadoras de vanguardia. Pero cada año, Apple ha introducido otro System-on-a-Chip de la serie A para sus productos y ha logrado mejorar drásticamente el rendimiento. Pero no es la Ley de Moore la que impulsa esta tendencia. Ha sido el deseo compulsivo de Apple de tener un control completo del silicio, diseñado en conjunto a medida para adaptarse de manera óptima a su software. Para más detalles, puede mirar AQUÍ, donde el autor concluye: “El próximo tiempo, entre veinte y cincuenta años después, estará dominado por una transición del software al hardware, una confusión de los dos tan completa que literalmente se volverá imposible para saber dónde se encuentra el límite entre los dos “.

Por supuesto, Apple siempre ha sido conocida por su excelente diseño de productos en el que el hardware y el software se elaboran cuidadosamente para ofrecer una experiencia de usuario óptima. ¿Qué tan bien ha funcionado esto? Históricamente, este es un buen momento para hacer esa pregunta en función de los resultados anunciados por Apple para el trimestre de marzo de 2018. Puede leer algunos detalles AQUÍ donde CNBC explica:

Apple obtuvo más ganancias en tres meses que las que Amazon ha generado durante su vida

Por supuesto, podemos debatir cuántas ganancias puede obtener Amazon en el futuro. O si Apple ha sido bueno con la comunidad de software de código abierto o con las personas que quieren un control total de sus dispositivos (yo personalmente he optado por no tener nunca un producto de Apple). Pero el hecho es que el codiseño de hardware para adaptarse de manera óptima al software y otras necesidades de la aplicación es una fórmula enormemente poderosa para el éxito en la informática.

Tendencias en la industria de los semiconductores:

Ya hemos hablado de la ralentización y posiblemente el final de la Ley de Moore, y el hecho de que el rendimiento de System-on-a-Chip aún puede mejorarse mediante un cuidadoso co-diseño de hardware y software, incluso si las mejoras de rendimiento de la CPU ya no ven gratis. Pero hay implicaciones mucho mayores. Si el rendimiento de la CPU ya no mejora automáticamente cada pocos meses, entonces es necesario y valioso hacer un trabajo de diseño de hardware más enfocado para optimizar aplicaciones específicas. Y dado que la informática en general está creciendo en volumen a nivel mundial, se está volviendo cada vez más rentable diseñar silicio personalizado como aceleradores de hardware para necesidades específicas. Resulta que hay bastantes aplicaciones en las que los diseños de silicio personalizados pueden lograr mejoras de rendimiento de 1000x o más en comparación con una CPU de uso general. Este es un fenómeno general, no solo restringido a la minería de ASIC. Además, si el diseño de hardware personalizado puede producir ganancias de rendimiento de más de 1000 veces, mientras que reducir un chip de silicio al nodo de última tecnología produce solo mejoras de rendimiento modestas a un precio mayor, entonces la solución de hardware más rentable no está cada vez más a la vanguardia nodo de tecnología de fabricación.

La solución de hardware más rentable no se encuentra cada vez más en el nodo de tecnología de fabricación de vanguardia.

Esto es lo que ha impulsado el aumento del volumen de fabricación de chips de computadora en las “fundiciones” de silicio, donde las casas de diseño de semiconductores sin fábricas se contratan para construir sus productos. El antiguo monopolio “Win-Tel” de años pasados ​​ya no impulsa todo el volumen. El año pasado, la división de semiconductores de Samsung superó a todos los de Intel en ingresos por semiconductores. Excluyendo los chips de memoria, las fundiciones fabulosas están creando una variedad cada vez más importante de circuitos integrados. Por supuesto, los actores establecidos como Nvidia y AMD continúan teniendo influencia al negociar la capacidad de fabricación y los precios, pero en su mayor parte continúan siendo casas de diseño “sin fábulas” que contratan la fabricación de fundiciones comerciales. Esta dinámica está creando un entorno donde el hardware personalizado para funciones comunes se está volviendo no solo cada vez más práctico, sino cada vez más inevitable. Entiendo totalmente y empatizo con las frustraciones de David Vorick AQUÍ con respecto a la minería de ASIC. Afortunadamente, por razones que se discutirán en un blog futuro, aunque los ASIC serán cada vez más inevitables, no siempre darán como resultado la centralización de la minería.

La era de la CPU de propósito general se está debilitando como nunca antes, tanto desde el punto de vista de costo / rendimiento como desde el punto de vista de seguridad (más sobre esto más adelante).

A continuación, se muestran algunos ejemplos de tendencias hacia la personalización del hardware para mejorar el rendimiento más allá de las CPU y GPU:

Por qué blockchain necesita nuevos diseños de hardware: Permítanme ser claro: diseñar un chip de computadora personalizado y contratar la fabricación, el empaquetado, las pruebas, el inventario, etc. de silicio sigue siendo una propuesta costosa y arriesgada. No se puede comparar con dos personas con computadoras portátiles que escriben software. Pero seamos honestos: ¿qué porcentaje de proyectos importantes en el espacio de las criptomonedas se pueden describir con precisión como dos personas con computadoras portátiles que escriben software? Mirándolo desde el otro lado, ciertamente hay empresas de semiconductores exitosas que comenzaron como dos ingenieros con computadoras portátiles y software CAD y algo de capital de riesgo. La mayoría de los proyectos de hardware que valen la pena en la actualidad requerirán bastante más que eso para tener una probabilidad razonable de éxito, pero aún es posible. El hecho es que el diseño de silicio personalizado se está realizando para un número creciente de nichos. La inversión requerida ciertamente ya no está fuera del alcance de varios de los proyectos de criptomonedas más grandes. El hardware personalizado que sea útil en múltiples proyectos de criptomonedas o que beneficie a toda la comunidad podría justificarse financieramente fácilmente.

La inversión requerida ciertamente ya no está fuera del alcance de algunos de los proyectos de criptomonedas más grandes.

La pregunta apropiada, por supuesto, es:

Las respuestas a estas preguntas se analizarán en profundidad en futuros artículos de esta serie de blogs. Aunque ya conozco bastantes elementos que pertenecen a ambas listas, no es práctico cubrir todo de una vez aquí. Pero ciertamente es posible y útil examinar las preguntas y las posibles respuestas en términos generales.

Con respecto a la pregunta n. ° 1, el objetivo principal del hardware personalizado generalmente es mejorar el rendimiento por vatio para operar o el rendimiento por dólar para comprar. Acordemos por el momento que examinaremos varios ejemplos de dichos beneficios de rendimiento en blogs futuros. ¿Cuál es la motivación para aprovechar estos beneficios si de hecho podemos demostrar que existen? Cualquiera que haya prestado atención a los debates en blockchain es consciente de los desafíos de la escalabilidad y de los muchos compromisos que se están intentando para abordar los problemas. No hay escasez de grandes mentes que busquen soluciones con diligencia. El debate del tamaño de bloque parece no tener final ni solución. En cuanto a los algoritmos de consenso, los ensayos periódicos de Paul Sztorc en defensa de la Prueba de trabajo en refutación a los ensayos de Prueba de estaca de Vitalik Buterin son siempre una lectura fascinante. Por supuesto, se están probando o desarrollando muchos algoritmos más nuevos, incluidos DPOS de Daniel Larimer, Prueba de espacio de Bram Cohen, Prueba de espacio-tiempo, Prueba de capacidad, Algorand de Silvio Micali, Thunderella, Dfinity de Dominic Williams, Ouroboros, y Casper. Además, los algoritmos de consenso no son el único compromiso arquitectónico que se está considerando. El análisis de Kyle Samani AQUÍ ofrece un buen marco y una descripción general.

Es de esperar que algunas de estas ideas resistan la prueba del tiempo y, de hecho, algunas de ellas pueden resultar necesarias. Pero si el hardware puede optimizarse para producir mejoras de rendimiento significativas, deberíamos considerar aprovechar todas estas oportunidades antes de comprometer los protocolos fundamentales. Si podemos identificar algunas oportunidades de hardware 10x o 100x o incluso una única oportunidad 1000x, el camino óptimo hacia adelante puede cambiar drásticamente. Sí, POS y otros algoritmos de consenso pueden resultar confiables, pero para aplicaciones críticas para las que se puede hacer que POW tenga un rendimiento suficiente, ciertamente deberíamos intentar mantenerlo. No me malinterpreten: apoyo firmemente EOS y una serie de otros proyectos porque apoyo todos los esfuerzos que involucran a ingenieros calificados con experiencia en proyectos bien financiados que intentan hacer cualquier cosa que aumente la adopción por parte del usuario de blockchain o incluso semi-blockchain para uso en el mundo real casos y, con suerte, una aplicación espectacular o dos. Las soluciones que abarcan la optimización de hardware y la computación en niebla se aplican igualmente a EOS y otras plataformas. Pero para las aplicaciones críticas, parece prudente hacer el menor número posible de concesiones a nivel de protocolo que se puedan solucionar con hardware y otras soluciones de nivel superior. Hay muchos otros desafíos que abordar, como los mecanismos de gobierno y recuperación de cuentas, sin tener que renunciar a la seguridad del protocolo central por algo tan básico como la escalabilidad. El volumen de dólares de Blockchain hoy en día es un pequeño porcentaje de la economía, y me temo que la oposición real no surgirá hasta que sea mucho más grande y una mayor amenaza para los bancos centrales. No soy un maximalista de bitcoins, pero para aplicaciones críticas veo el valor de una capa más baja totalmente a prueba de balas en caso de que resulte necesaria para la supervivencia.

Con respecto a la pregunta # 2, el problema fundamental es que el software no puede ser más confiable que el hardware en el que se ejecuta. Las cadenas de bloques no pueden cambiar ese hecho si hay demasiada homogeneidad en el hardware. En una inspección de cerca, la falta de confiabilidad y el nivel de homogeneidad en el hardware común de hoy es impactante. En un próximo blog, examinaremos en detalle algunas de las vulnerabilidades generalizadas sin parche, así como las razones estructurales por las que estos problemas no desaparecerán. También discutiremos la posibilidad muy real de que un estado-nación o incluso un hacker inteligente derribe la red bitcoin debido a un hardware homogéneo vulnerable y omnipresente. Pero esos son temas para más adelante.

El software no puede ser más confiable que el hardware en el que se ejecuta.

Algunos de los elementos que aún están por aparecer en blogs futuros: algún día en el futuro –

Puede encontrar todos los artículos de esta serie de blogs en https://houstondesign.com