En este artículo, hablamos con Kostas Chalkias, cofundador y criptógrafo jefe de Mysten Labs, sobre cómo la innovación criptográfica está en el corazón del diseño de Sui y por qué las próximas funciones son tan emocionantes.
**P: ¿Puede explicar brevemente el papel de los criptógrafos en la construcción de cadenas de bloques? **
R: De hecho, trabajé con uno de los primeros desarrolladores de Satoshi Nakamoto (Mike Hearn), tengo un doctorado en criptografía y, antes de la era de la cadena de bloques, mi enfoque era principalmente académico. Debido a esta participación, puedo decirles con precisión que las criptomonedas desempeñan un papel para las empresas de infraestructura de cadenas de bloques, generalmente divididas en tres funciones clave.
La primera es la investigación, tienes que ser innovador en criptografía porque normalmente se trata de matemáticas muy avanzadas, parte de eso es encontrar nuevos algoritmos geniales, pero también investigar para romper algoritmos. Mi función anterior en una empresa de blockchain consistía en revisar las implementaciones de criptografía y ser un hacker de sombrero blanco en busca de ataques contra ellas. Lo que haces es "Eres matemático, eres criptógrafo. Mira esta implementación particular de un algoritmo de firma digital o baliza aleatoria o lo que sea. Verifica que todo funcione". Ese es el dominio de la investigación.
El segundo es la implementación, el concepto de criptografía aplicada. Los criptógrafos aplicados reciben solicitudes de los equipos de productos: "oye, queremos un nuevo esquema de firma más rápido, o queremos crear una nueva característica de privacidad para nuestros clientes o clientes o la comunidad". Y luego, un criptógrafo aplicado no solo diseña algo, lo investiga, pero también lo implementa. A veces, un criptógrafo aplicado también tiene que ser un desarrollador de software muy fuerte, lo que requiere optimizaciones novedosas en la codificación.
El último es crear nuevos productos y presentar sus propias ideas innovadoras basadas en las primitivas que entienden los criptógrafos.
**En resumen, equilibramos la investigación, la implementación y el producto, que es el papel de un criptógrafo de blockchain típico. **
**P: ¿Suele ser la misma persona la que puede hacer las tres? O divididos en grupos para implementar? **
R: Para Sui, debido a que introdujimos tantas innovaciones, necesitábamos varias personas trabajando en muchos flujos de trabajo. Soy el criptógrafo principal de Mysten Labs y uno de los fundadores de Sui, por lo que participo en la mayor parte del trabajo. Sin embargo, no puedes hacer todo solo y todavía estoy aprendiendo de mi equipo.
No solo usamos un lenguaje de programación. Por ejemplo, usar el lenguaje Rust para una prueba de concepto, pero luego nos dimos cuenta de que la mayoría de las personas en la web usan JavaScript o TypeScript, y los criptógrafos no pueden escribir todo por sí mismos. Pero no puede delegar en un generalista como un ingeniero de software, porque algunas optimizaciones requieren conocimientos de matemáticas avanzadas y primitivas criptográficas, o es posible que deba interactuar con algunas bibliotecas con las que no está familiarizado, por lo que necesita que alguien más se haga cargo. la obra.
Nuestro equipo de investigación está formado por unas 10 personas y trabaja a diario en innovación e implementación. Tenemos estas mentes "inteligentes" y, a veces, soy yo quien presenta ideas y, a veces, sigo la dirección de otros expertos en criptografía. Nuestro equipo puede ayudar con la implementación, brindar recursos o brindar consejos sobre cómo expandir y aplicar una idea genial.
Dos ojos no son suficientes, porque la criptografía es una parte extremadamente crítica de la infraestructura de la cadena de bloques. Si algo sale mal, es posible que se TERMINE EL JUEGO, por lo que se necesitan más ojos. Además, se necesitan muchos innovadores.
**P: ¿Cuáles son los desarrollos e impactos clave de la investigación externa aplicada en el diseño de Sui? ¿Cuáles son las innovaciones clave en el diálogo interno? **
R: En términos de criptografía, las señales externas que nos han influido son la evolución de tecnologías como las pruebas de conocimiento cero y las técnicas generales de preservación de la privacidad propuestas en la literatura. No solo la cadena de bloques está haciendo criptografía, sino que también hay instituciones de investigación y departamentos universitarios en todo el mundo que realizan trabajo teórico. Personalmente, creo que Mysten Labs es muy bueno para encontrar nuevas teorías en áreas que nunca antes se habían implementado. Algunas de estas suposiciones pueden no ser precisas, pero las combinamos con nuestra tecnología existente y, en última instancia, nos impulsan a crear un producto novedoso.
**Sui tiene una nueva función, Zero Knowledge Login (ZK Login), que surgió así. Algunas tecnologías se propusieron externamente, pero no lo suficiente como para proporcionar un mecanismo de autenticación perfecto para la cadena de bloques L1, inventamos una nueva funcionalidad además, que es una vertical interna de investigación aplicada y, finalmente, se nos ocurrió un plan de solución completo. **
No somos una universidad, no somos solo teoría, necesitamos implementar algo listo para la producción, por lo que recibimos comentarios de discusiones internas y externas. Muchas veces leemos artículos científicos, asistimos a eventos, somos revisores y presentadores, recibimos comentarios. Obviamente, convertimos todo esto en implementación en Sui.
Me doy cuenta de que parte de nuestro código es utilizado por otras personas, otras empresas o incluso personas ajenas a nuestra industria, y terminará viendo que las grandes empresas toman ese código y lo inyectan en su propia infraestructura, no necesariamente en una instalación de base de blockchain.
La innovación interna a menudo es impulsada por equipos de productos. Vendrán a nosotros y dirán: "Eso no es posible en este momento, no hemos visto la investigación sobre esto. ¿Puedes resolver esto?"
Por ejemplo, el interesante problema de habilitar direcciones blockchain detectables pero con privacidad. ¿Cómo puedo enviar algo a su correo electrónico o número de teléfono incluso antes de que cree una cuenta? Imagina una función al estilo de Venmo en la que te envío activos y luego los obtengo cuando te das cuenta de que están allí. Resolver este problema requiere una lluvia de ideas interna sobre cómo hacerlo bien con una mentalidad de privacidad. Tomando la teoría desde el exterior, combinamos todo esto en un conjunto de herramientas. La mayoría de las veces tenemos bastante éxito en eso. Intentamos resolver los problemas anteriores, y es raro encontrar un problema de producto sin solución.
**P: ¿Cómo te ayuda Move a crear estas innovaciones criptográficas y proporciona una experiencia más segura para los desarrolladores que usan Sui? **
R: Solía ser un desarrollador de Solidity, escribía contratos de Ethereum y también me apasionaba romper contratos inteligentes en Ethereum. Mi primer trabajo fue auditar contratos de lotería en Ethereum y logré destruir algunos algoritmos. En ese momento, casi se podría decir que los algoritmos de aleatoriedad eran injustos y opacos. Esto realmente me enseñó que los desarrolladores de contratos inteligentes suelen ser ingenieros que escriben pequeños guiones. Los contratos inteligentes no son grandes programas, ni son bases de datos complejas. Por lo general, alguien con solo unos días de capacitación puede escribir un contrato inteligente e implementarlo, pero esto requiere una auditoría muy cuidadosa y puede haber trampas ocultas en las interacciones web2 - web3. .
Nos dimos cuenta de que en Ethereum, algunas de las características de seguridad de Solidity eran problemáticas debido a dos factores particulares. Primero, los ingenieros están optimizando la compresión para reducir los costos de gasolina, lo que puede hacer que los usuarios se pierdan parte del contenido porque los casos extremos no están cubiertos. Y también está el problema de los ataques de reingreso. Es como un contrato inteligente que paga otro contrato inteligente sin actualizar su estado. Este vector de ataque ha causado pérdidas financieras significativas en el pasado, incluido el Ethereum DAO hace muchos años, lo que resultó en una bifurcación de Ethereum.
**Move no tiene estos problemas, especialmente para problemas de reingreso, protegemos el código fuente desde cero. También hicimos muchos cambios en el movimiento de Facebook original al crear un lenguaje de movimiento más centrado en objetos, lo que ayudó mucho con la reutilización del código. En lugar de copiar y pegar el código del contrato inteligente, y luego quizás hacer algunos ajustes, puede llamar al código original y obtener mejores garantías de consistencia. **
Además, en Move tenemos objetos para todo. En Solidity, cuando transfieres algo de un contrato a otro, normalmente no sabes qué es sin contexto. ¿Es esta la dirección? ¿Es esto un número? ¿Es esta una URL de imagen? Cuando trata todo como objetos, similar a Java y C++ y todos los lenguajes orientados a objetos, primero puede convertir un proyecto de cliente existente en un mundo basado en contratos inteligentes sin tener que preocuparse por los mecanismos de compresión triplemente optimizados. Como puedes ver literalmente, este es un objeto "tigre", te estoy transmitiendo un objeto "tigre".
¿Qué pasa con la criptografía? Cuando posee los artículos, cuando envío algo de una billetera a otra dirección, aparece una ventana emergente que dice "Está transfiriendo un NFT de tigre. Este NFT de tigre tiene características X". Gracias al diseño centrado en objetos, sin importar qué objeto estés tocando, puedes ver exactamente lo que estás haciendo, lo que puede ayudarte a identificar cualquier problema con tus transacciones. Muchos usuarios se ven atraídos por el malware o las aplicaciones que intentan convencerlo de que firme algo que no desea que se firme en otras billeteras de blockchain. Pero con Move, es un poco más difícil y el usuario puede ver claramente lo que está pasando, lo que mejora la seguridad del usuario final.
Otra cosa que realmente ayuda a diseñar algoritmos más interesantes y atractivos es la paralelización que permiten los objetos. Digamos que tengo algunos billetes, un billete de $10 y un billete de $100. Puedo hacer esto en paralelo si ofrezco billetes a dos personas a mi lado.
En Ethereum, el concepto básico es un saldo de cuenta central desde el que puede transferir cosas. Entonces, si quiero enviar o recibir fondos, tengo que ordenar estas transacciones, primero enviaré $ 100, luego enviaré una transacción de $ 10, al mismo tiempo, si alguien me envía fondos, las 3 transacciones deben secuenciarse, este proceso es costoso de.
Ahí es donde obtenemos todas las cosas geniales del lenguaje Move, y como criptógrafos podemos usar la paralelización y la programación orientada a objetos que proporciona Move para crear una mejor seguridad, algoritmos innovadores más geniales. Esa es toda la idea. Por ejemplo, creamos un programa de lotería. Si bien puede parecer fácil a primera vista, para ser honesto, hacerlo bien suele ser muy, muy difícil, especialmente cuando se crean loterías multijugador con casos extremos complejos, que es donde brillan los buenos criptógrafos. Necesitamos algo de aleatoriedad, necesita comprar boletos de lotería que se puedan comprar en paralelo. ¿Cómo se hace esto en la cadena de bloques? Move y sus primitivas criptográficas disponibles ayudan a proporcionar un ecosistema criptográfico mejor y más seguro.
Soy muy consciente de que se puede usar algo así como un sistema de lotería en un producto donde, digamos, hay 300 boletos disponibles, pero miles de personas los quieren, ¿y usted quiere que se distribuyan al azar? Este sistema es la base de Sui, y cualquier empresa puede incorporarlo a sus productos.
Lo bueno aquí es que, debido a la naturaleza orientada a objetos de Sui, puede llamar al mismo contrato desde muchos otros contratos inteligentes diferentes. Tenemos el concepto de componibilidad, que en realidad te ayuda a usar el mismo boleto de lotería en dos loterías diferentes, lo cual es excelente para crear nuevas experiencias que antes no existían.
En los juegos, necesitas aleatoriedad, y Sui es en realidad una de las mejores cadenas de bloques que existen. Para un juego de mesa, incluso el ajedrez, que parece un juego determinista, necesitas saber quién va primero. Quién es blanco y quién es negro (en el ajedrez, como sabemos, el blanco tiene la ventaja), requiere cierta transparencia para emparejar correctamente a diferentes jugadores en el mismo juego. También hay aplicaciones gubernamentales. Imagine que la oficina de impuestos está haciendo un muestreo estadístico y seleccionando a quién auditar. ¿Pueden realmente proporcionar evidencia de que el muestreo estadístico se realizó de manera justa y transparente?
Si existe un algoritmo con una transparencia innegable que proporcione una buena aleatoriedad que los organizadores no puedan cambiar, entonces cada lotería o muestreo aleatorio tendrá una nueva equidad.
**P: Recientemente escribiste un tweet sobre la importancia de almacenar NFT en la cadena para que permanezcan dinámicos y cambien con el tiempo. ¿Puede compartir más sobre esta perspectiva, específicamente cómo la estructura de datos de Sui mejora la utilidad de las NFT? **
R: Este es un tema muy debatido. Estoy tratando de explicar que las diferentes infraestructuras habilitan las propiedades de NFT de manera diferente, y cuando es solo una imagen estática, cuando no estás realizando ninguna operación de alto tráfico en esa imagen, la estructura tradicional es realmente buena. Pero en algunos casos, como los juegos, los jugadores esperan obtener más beneficios de NFT, entonces la estructura tradicional de NFT no es lo suficientemente buena.
Sui tiene algunos algoritmos que permiten NFT dinámicos cuyos campos se actualizan cada vez que ocurre una transacción. Cuando juegas un juego, tienes un héroe, ganas, pasas un nivel, puedes obtener nuevas armas o poderes, todo lo cual se puede registrar en el estado de la cadena de bloques y crear una especie de género completamente nuevo. Además, debido a que el costo de almacenamiento en Sui es bajo, NFT se puede almacenar en la cadena. Esto facilita la lectura y escritura de diferentes contratos inteligentes en la cadena y permite la composición.
En otras cadenas te enfrentarás a un problema porque los cambios no están en el estado. Para que otro contrato inteligente lea su contrato, necesitan conocer su estructura, necesita un analizador fuera de la cadena, lo que crea algunas complicaciones de UX. También hay lógica condicional en algunas aplicaciones geniales en las que no sabes qué NFT estás tocando al momento de enviar una transacción, entonces, ¿qué puedo ofrecer del mundo fuera de la cadena? No es fácil de escalar.
También está el problema de los modelos de amenazas y el hecho de que algunas aplicaciones específicas pueden tolerar la compresión y el almacenamiento fuera de la cadena. Pero en realidad, cuando almacenamos algo fuera de la cadena, estamos cambiando el modelo de amenazas. El motivo suele ser la centralización, imagínate si un día lo almacenas en AWS y luego... Amazon se cae. Amazon es una sola empresa, si se cae y no puede acceder a esos datos fuera de la cadena en particular, no puede usarlos en la cadena; e incluso si pudiera, incluso necesitaría los datos para generar pruebas de que en realidad eres dueño de los datos fuera de la cadena porque a veces solo tienes que probarlo, ¿verdad? Para probarlo, necesita obtener el contenido de AWS, luego codificarlo y enviar una cantidad muy pequeña de datos a la cadena de bloques, que se verifica hasta cierto punto, pero si no tiene los datos, no puede probarlo. it ¿Cuál es el contenido de mi NFT.
Entonces hay algún problema de centralización, aunque hay quien dice que no, porque podemos guardarlo en distintos sitios. Estoy de acuerdo en que si logramos tener un diseño específico, todos estos modelos de amenazas están codificados en la cadena de bloques, pero el otro problema es la demora, en la práctica de la cadena, necesitamos obtener el contenido con la mínima demora, si put NFT se almacena en otras cadenas, lo que duplicará el retraso. Esto no es lo que queremos. Esperamos que todo se almacene en la cadena mientras se reduce la latencia.
**P: ¿Qué es lo que más te emociona del futuro de Sui? **
R: Esta es mi pregunta favorita. La razón principal por la que me uní a Mysten Labs es que prefiero un lugar donde la innovación impulse el desarrollo de productos. Estamos entregando algo nuevo a la comunidad. Incluso llamé a mi hijo Kryptos.
Si me pregunta específicamente sobre las innovaciones de encriptación de Sui, una cosa es segura: estamos permitiendo muchas formas de autenticación. Por lo general, la mayoría de las cadenas de bloques solo admiten un algoritmo de firma, Ethereum tiene el suyo propio y Cardano y Solana admiten otro. Estamos tratando de hacer que Sui hable con otras cadenas públicas, lo que significa que permitimos todos los algoritmos existentes, lo que significa que somos compatibles con más billeteras. Las billeteras existentes no necesitan reinventar la rueda, le gusta el algoritmo basado en Ethereum, lo apoyamos, así que adelante, utilícelo. Usas un iPhone, luego ni siquiera necesitas una billetera, los iPhone y los dispositivos Android más avanzados tienen este chip de seguridad incorporado que solo admite algoritmos específicos, y lo admitimos.
Luego, también tenemos el concepto de firma múltiple en sí mismo, si presta atención a la seguridad, la parte de autenticación de la criptografía, que es una de las características principales de Sui, creará una nueva experiencia de autenticación.
Otra cosa que personalmente me gusta mucho es que hemos introducido pruebas de conocimiento cero, tecnología de preservación de la privacidad dentro de Sui desde el primer día. Entonces, las personas ahora pueden crear un sistema KYC con la mayor privacidad posible, incluso pueden crear transferencias confidenciales de montos, al mismo tiempo que les brindan la oportunidad de cumplir con las leyes y los auditores, ponemos todo allí para uso de los desarrolladores. **
Además de todos estos algoritmos, nuestro equipo de ingeniería de soluciones para desarrolladores en realidad brinda un soporte realmente bueno. Trabajamos todos los días con equipos que no están versados en criptografía, no tienen criptógrafos, pero tienen algunas ideas realmente geniales, y si recibimos algún comentario, los ayudamos a implementar, algo no está disponible o hay un problema, nosotros También resolverlos con gran velocidad.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Diálogo con el criptógrafo jefe de Mysten Labs: ¿Cómo se convierte la innovación criptográfica en el núcleo del diseño de Sui?
En este artículo, hablamos con Kostas Chalkias, cofundador y criptógrafo jefe de Mysten Labs, sobre cómo la innovación criptográfica está en el corazón del diseño de Sui y por qué las próximas funciones son tan emocionantes.
**P: ¿Puede explicar brevemente el papel de los criptógrafos en la construcción de cadenas de bloques? **
R: De hecho, trabajé con uno de los primeros desarrolladores de Satoshi Nakamoto (Mike Hearn), tengo un doctorado en criptografía y, antes de la era de la cadena de bloques, mi enfoque era principalmente académico. Debido a esta participación, puedo decirles con precisión que las criptomonedas desempeñan un papel para las empresas de infraestructura de cadenas de bloques, generalmente divididas en tres funciones clave.
La primera es la investigación, tienes que ser innovador en criptografía porque normalmente se trata de matemáticas muy avanzadas, parte de eso es encontrar nuevos algoritmos geniales, pero también investigar para romper algoritmos. Mi función anterior en una empresa de blockchain consistía en revisar las implementaciones de criptografía y ser un hacker de sombrero blanco en busca de ataques contra ellas. Lo que haces es "Eres matemático, eres criptógrafo. Mira esta implementación particular de un algoritmo de firma digital o baliza aleatoria o lo que sea. Verifica que todo funcione". Ese es el dominio de la investigación.
El segundo es la implementación, el concepto de criptografía aplicada. Los criptógrafos aplicados reciben solicitudes de los equipos de productos: "oye, queremos un nuevo esquema de firma más rápido, o queremos crear una nueva característica de privacidad para nuestros clientes o clientes o la comunidad". Y luego, un criptógrafo aplicado no solo diseña algo, lo investiga, pero también lo implementa. A veces, un criptógrafo aplicado también tiene que ser un desarrollador de software muy fuerte, lo que requiere optimizaciones novedosas en la codificación.
El último es crear nuevos productos y presentar sus propias ideas innovadoras basadas en las primitivas que entienden los criptógrafos.
**En resumen, equilibramos la investigación, la implementación y el producto, que es el papel de un criptógrafo de blockchain típico. **
**P: ¿Suele ser la misma persona la que puede hacer las tres? O divididos en grupos para implementar? **
R: Para Sui, debido a que introdujimos tantas innovaciones, necesitábamos varias personas trabajando en muchos flujos de trabajo. Soy el criptógrafo principal de Mysten Labs y uno de los fundadores de Sui, por lo que participo en la mayor parte del trabajo. Sin embargo, no puedes hacer todo solo y todavía estoy aprendiendo de mi equipo.
No solo usamos un lenguaje de programación. Por ejemplo, usar el lenguaje Rust para una prueba de concepto, pero luego nos dimos cuenta de que la mayoría de las personas en la web usan JavaScript o TypeScript, y los criptógrafos no pueden escribir todo por sí mismos. Pero no puede delegar en un generalista como un ingeniero de software, porque algunas optimizaciones requieren conocimientos de matemáticas avanzadas y primitivas criptográficas, o es posible que deba interactuar con algunas bibliotecas con las que no está familiarizado, por lo que necesita que alguien más se haga cargo. la obra.
Nuestro equipo de investigación está formado por unas 10 personas y trabaja a diario en innovación e implementación. Tenemos estas mentes "inteligentes" y, a veces, soy yo quien presenta ideas y, a veces, sigo la dirección de otros expertos en criptografía. Nuestro equipo puede ayudar con la implementación, brindar recursos o brindar consejos sobre cómo expandir y aplicar una idea genial.
Dos ojos no son suficientes, porque la criptografía es una parte extremadamente crítica de la infraestructura de la cadena de bloques. Si algo sale mal, es posible que se TERMINE EL JUEGO, por lo que se necesitan más ojos. Además, se necesitan muchos innovadores.
**P: ¿Cuáles son los desarrollos e impactos clave de la investigación externa aplicada en el diseño de Sui? ¿Cuáles son las innovaciones clave en el diálogo interno? **
R: En términos de criptografía, las señales externas que nos han influido son la evolución de tecnologías como las pruebas de conocimiento cero y las técnicas generales de preservación de la privacidad propuestas en la literatura. No solo la cadena de bloques está haciendo criptografía, sino que también hay instituciones de investigación y departamentos universitarios en todo el mundo que realizan trabajo teórico. Personalmente, creo que Mysten Labs es muy bueno para encontrar nuevas teorías en áreas que nunca antes se habían implementado. Algunas de estas suposiciones pueden no ser precisas, pero las combinamos con nuestra tecnología existente y, en última instancia, nos impulsan a crear un producto novedoso.
**Sui tiene una nueva función, Zero Knowledge Login (ZK Login), que surgió así. Algunas tecnologías se propusieron externamente, pero no lo suficiente como para proporcionar un mecanismo de autenticación perfecto para la cadena de bloques L1, inventamos una nueva funcionalidad además, que es una vertical interna de investigación aplicada y, finalmente, se nos ocurrió un plan de solución completo. **
No somos una universidad, no somos solo teoría, necesitamos implementar algo listo para la producción, por lo que recibimos comentarios de discusiones internas y externas. Muchas veces leemos artículos científicos, asistimos a eventos, somos revisores y presentadores, recibimos comentarios. Obviamente, convertimos todo esto en implementación en Sui.
Me doy cuenta de que parte de nuestro código es utilizado por otras personas, otras empresas o incluso personas ajenas a nuestra industria, y terminará viendo que las grandes empresas toman ese código y lo inyectan en su propia infraestructura, no necesariamente en una instalación de base de blockchain.
La innovación interna a menudo es impulsada por equipos de productos. Vendrán a nosotros y dirán: "Eso no es posible en este momento, no hemos visto la investigación sobre esto. ¿Puedes resolver esto?"
Por ejemplo, el interesante problema de habilitar direcciones blockchain detectables pero con privacidad. ¿Cómo puedo enviar algo a su correo electrónico o número de teléfono incluso antes de que cree una cuenta? Imagina una función al estilo de Venmo en la que te envío activos y luego los obtengo cuando te das cuenta de que están allí. Resolver este problema requiere una lluvia de ideas interna sobre cómo hacerlo bien con una mentalidad de privacidad. Tomando la teoría desde el exterior, combinamos todo esto en un conjunto de herramientas. La mayoría de las veces tenemos bastante éxito en eso. Intentamos resolver los problemas anteriores, y es raro encontrar un problema de producto sin solución.
**P: ¿Cómo te ayuda Move a crear estas innovaciones criptográficas y proporciona una experiencia más segura para los desarrolladores que usan Sui? **
R: Solía ser un desarrollador de Solidity, escribía contratos de Ethereum y también me apasionaba romper contratos inteligentes en Ethereum. Mi primer trabajo fue auditar contratos de lotería en Ethereum y logré destruir algunos algoritmos. En ese momento, casi se podría decir que los algoritmos de aleatoriedad eran injustos y opacos. Esto realmente me enseñó que los desarrolladores de contratos inteligentes suelen ser ingenieros que escriben pequeños guiones. Los contratos inteligentes no son grandes programas, ni son bases de datos complejas. Por lo general, alguien con solo unos días de capacitación puede escribir un contrato inteligente e implementarlo, pero esto requiere una auditoría muy cuidadosa y puede haber trampas ocultas en las interacciones web2 - web3. .
Nos dimos cuenta de que en Ethereum, algunas de las características de seguridad de Solidity eran problemáticas debido a dos factores particulares. Primero, los ingenieros están optimizando la compresión para reducir los costos de gasolina, lo que puede hacer que los usuarios se pierdan parte del contenido porque los casos extremos no están cubiertos. Y también está el problema de los ataques de reingreso. Es como un contrato inteligente que paga otro contrato inteligente sin actualizar su estado. Este vector de ataque ha causado pérdidas financieras significativas en el pasado, incluido el Ethereum DAO hace muchos años, lo que resultó en una bifurcación de Ethereum.
**Move no tiene estos problemas, especialmente para problemas de reingreso, protegemos el código fuente desde cero. También hicimos muchos cambios en el movimiento de Facebook original al crear un lenguaje de movimiento más centrado en objetos, lo que ayudó mucho con la reutilización del código. En lugar de copiar y pegar el código del contrato inteligente, y luego quizás hacer algunos ajustes, puede llamar al código original y obtener mejores garantías de consistencia. **
Además, en Move tenemos objetos para todo. En Solidity, cuando transfieres algo de un contrato a otro, normalmente no sabes qué es sin contexto. ¿Es esta la dirección? ¿Es esto un número? ¿Es esta una URL de imagen? Cuando trata todo como objetos, similar a Java y C++ y todos los lenguajes orientados a objetos, primero puede convertir un proyecto de cliente existente en un mundo basado en contratos inteligentes sin tener que preocuparse por los mecanismos de compresión triplemente optimizados. Como puedes ver literalmente, este es un objeto "tigre", te estoy transmitiendo un objeto "tigre".
¿Qué pasa con la criptografía? Cuando posee los artículos, cuando envío algo de una billetera a otra dirección, aparece una ventana emergente que dice "Está transfiriendo un NFT de tigre. Este NFT de tigre tiene características X". Gracias al diseño centrado en objetos, sin importar qué objeto estés tocando, puedes ver exactamente lo que estás haciendo, lo que puede ayudarte a identificar cualquier problema con tus transacciones. Muchos usuarios se ven atraídos por el malware o las aplicaciones que intentan convencerlo de que firme algo que no desea que se firme en otras billeteras de blockchain. Pero con Move, es un poco más difícil y el usuario puede ver claramente lo que está pasando, lo que mejora la seguridad del usuario final.
Otra cosa que realmente ayuda a diseñar algoritmos más interesantes y atractivos es la paralelización que permiten los objetos. Digamos que tengo algunos billetes, un billete de $10 y un billete de $100. Puedo hacer esto en paralelo si ofrezco billetes a dos personas a mi lado.
En Ethereum, el concepto básico es un saldo de cuenta central desde el que puede transferir cosas. Entonces, si quiero enviar o recibir fondos, tengo que ordenar estas transacciones, primero enviaré $ 100, luego enviaré una transacción de $ 10, al mismo tiempo, si alguien me envía fondos, las 3 transacciones deben secuenciarse, este proceso es costoso de.
Ahí es donde obtenemos todas las cosas geniales del lenguaje Move, y como criptógrafos podemos usar la paralelización y la programación orientada a objetos que proporciona Move para crear una mejor seguridad, algoritmos innovadores más geniales. Esa es toda la idea. Por ejemplo, creamos un programa de lotería. Si bien puede parecer fácil a primera vista, para ser honesto, hacerlo bien suele ser muy, muy difícil, especialmente cuando se crean loterías multijugador con casos extremos complejos, que es donde brillan los buenos criptógrafos. Necesitamos algo de aleatoriedad, necesita comprar boletos de lotería que se puedan comprar en paralelo. ¿Cómo se hace esto en la cadena de bloques? Move y sus primitivas criptográficas disponibles ayudan a proporcionar un ecosistema criptográfico mejor y más seguro.
Soy muy consciente de que se puede usar algo así como un sistema de lotería en un producto donde, digamos, hay 300 boletos disponibles, pero miles de personas los quieren, ¿y usted quiere que se distribuyan al azar? Este sistema es la base de Sui, y cualquier empresa puede incorporarlo a sus productos.
Lo bueno aquí es que, debido a la naturaleza orientada a objetos de Sui, puede llamar al mismo contrato desde muchos otros contratos inteligentes diferentes. Tenemos el concepto de componibilidad, que en realidad te ayuda a usar el mismo boleto de lotería en dos loterías diferentes, lo cual es excelente para crear nuevas experiencias que antes no existían.
En los juegos, necesitas aleatoriedad, y Sui es en realidad una de las mejores cadenas de bloques que existen. Para un juego de mesa, incluso el ajedrez, que parece un juego determinista, necesitas saber quién va primero. Quién es blanco y quién es negro (en el ajedrez, como sabemos, el blanco tiene la ventaja), requiere cierta transparencia para emparejar correctamente a diferentes jugadores en el mismo juego. También hay aplicaciones gubernamentales. Imagine que la oficina de impuestos está haciendo un muestreo estadístico y seleccionando a quién auditar. ¿Pueden realmente proporcionar evidencia de que el muestreo estadístico se realizó de manera justa y transparente?
Si existe un algoritmo con una transparencia innegable que proporcione una buena aleatoriedad que los organizadores no puedan cambiar, entonces cada lotería o muestreo aleatorio tendrá una nueva equidad.
**P: Recientemente escribiste un tweet sobre la importancia de almacenar NFT en la cadena para que permanezcan dinámicos y cambien con el tiempo. ¿Puede compartir más sobre esta perspectiva, específicamente cómo la estructura de datos de Sui mejora la utilidad de las NFT? **
R: Este es un tema muy debatido. Estoy tratando de explicar que las diferentes infraestructuras habilitan las propiedades de NFT de manera diferente, y cuando es solo una imagen estática, cuando no estás realizando ninguna operación de alto tráfico en esa imagen, la estructura tradicional es realmente buena. Pero en algunos casos, como los juegos, los jugadores esperan obtener más beneficios de NFT, entonces la estructura tradicional de NFT no es lo suficientemente buena.
Sui tiene algunos algoritmos que permiten NFT dinámicos cuyos campos se actualizan cada vez que ocurre una transacción. Cuando juegas un juego, tienes un héroe, ganas, pasas un nivel, puedes obtener nuevas armas o poderes, todo lo cual se puede registrar en el estado de la cadena de bloques y crear una especie de género completamente nuevo. Además, debido a que el costo de almacenamiento en Sui es bajo, NFT se puede almacenar en la cadena. Esto facilita la lectura y escritura de diferentes contratos inteligentes en la cadena y permite la composición.
En otras cadenas te enfrentarás a un problema porque los cambios no están en el estado. Para que otro contrato inteligente lea su contrato, necesitan conocer su estructura, necesita un analizador fuera de la cadena, lo que crea algunas complicaciones de UX. También hay lógica condicional en algunas aplicaciones geniales en las que no sabes qué NFT estás tocando al momento de enviar una transacción, entonces, ¿qué puedo ofrecer del mundo fuera de la cadena? No es fácil de escalar.
También está el problema de los modelos de amenazas y el hecho de que algunas aplicaciones específicas pueden tolerar la compresión y el almacenamiento fuera de la cadena. Pero en realidad, cuando almacenamos algo fuera de la cadena, estamos cambiando el modelo de amenazas. El motivo suele ser la centralización, imagínate si un día lo almacenas en AWS y luego... Amazon se cae. Amazon es una sola empresa, si se cae y no puede acceder a esos datos fuera de la cadena en particular, no puede usarlos en la cadena; e incluso si pudiera, incluso necesitaría los datos para generar pruebas de que en realidad eres dueño de los datos fuera de la cadena porque a veces solo tienes que probarlo, ¿verdad? Para probarlo, necesita obtener el contenido de AWS, luego codificarlo y enviar una cantidad muy pequeña de datos a la cadena de bloques, que se verifica hasta cierto punto, pero si no tiene los datos, no puede probarlo. it ¿Cuál es el contenido de mi NFT.
Entonces hay algún problema de centralización, aunque hay quien dice que no, porque podemos guardarlo en distintos sitios. Estoy de acuerdo en que si logramos tener un diseño específico, todos estos modelos de amenazas están codificados en la cadena de bloques, pero el otro problema es la demora, en la práctica de la cadena, necesitamos obtener el contenido con la mínima demora, si put NFT se almacena en otras cadenas, lo que duplicará el retraso. Esto no es lo que queremos. Esperamos que todo se almacene en la cadena mientras se reduce la latencia.
**P: ¿Qué es lo que más te emociona del futuro de Sui? **
R: Esta es mi pregunta favorita. La razón principal por la que me uní a Mysten Labs es que prefiero un lugar donde la innovación impulse el desarrollo de productos. Estamos entregando algo nuevo a la comunidad. Incluso llamé a mi hijo Kryptos.
Si me pregunta específicamente sobre las innovaciones de encriptación de Sui, una cosa es segura: estamos permitiendo muchas formas de autenticación. Por lo general, la mayoría de las cadenas de bloques solo admiten un algoritmo de firma, Ethereum tiene el suyo propio y Cardano y Solana admiten otro. Estamos tratando de hacer que Sui hable con otras cadenas públicas, lo que significa que permitimos todos los algoritmos existentes, lo que significa que somos compatibles con más billeteras. Las billeteras existentes no necesitan reinventar la rueda, le gusta el algoritmo basado en Ethereum, lo apoyamos, así que adelante, utilícelo. Usas un iPhone, luego ni siquiera necesitas una billetera, los iPhone y los dispositivos Android más avanzados tienen este chip de seguridad incorporado que solo admite algoritmos específicos, y lo admitimos.
Luego, también tenemos el concepto de firma múltiple en sí mismo, si presta atención a la seguridad, la parte de autenticación de la criptografía, que es una de las características principales de Sui, creará una nueva experiencia de autenticación.
Otra cosa que personalmente me gusta mucho es que hemos introducido pruebas de conocimiento cero, tecnología de preservación de la privacidad dentro de Sui desde el primer día. Entonces, las personas ahora pueden crear un sistema KYC con la mayor privacidad posible, incluso pueden crear transferencias confidenciales de montos, al mismo tiempo que les brindan la oportunidad de cumplir con las leyes y los auditores, ponemos todo allí para uso de los desarrolladores. **
Además de todos estos algoritmos, nuestro equipo de ingeniería de soluciones para desarrolladores en realidad brinda un soporte realmente bueno. Trabajamos todos los días con equipos que no están versados en criptografía, no tienen criptógrafos, pero tienen algunas ideas realmente geniales, y si recibimos algún comentario, los ayudamos a implementar, algo no está disponible o hay un problema, nosotros También resolverlos con gran velocidad.