Pero lo que no vemos es quién lo poseía antes, por lo que el estado histórico no está bien, quiero decir, está ahí, pero no es fácilmente accesible. Pero sabemos que hay algunas transacciones en el blockchain que cambiaron el estado, pero para calcular el estado anterior, ¿cómo era? Sé, hace tres meses, básicamente tendríamos que volver a hacer todas esas transacciones de manera opuesta. Entonces, el blockchain es un sistema de eventos similar a Redux, si probablemente conoces Redux. Ahora ya no es tan genial, pero sí.
Genial, sí, y ya toqué un poco el problema de la llamada procedencia, especialmente para los NFT, la procedencia en realidad es un término que proviene del arte y en el arte, la procedencia significa cuando compro, no sé, una imagen muy cara o una pintura que quiero colgar en mi villa que no tengo. Luego quiero saber quién la poseía antes y también si es auténtica, si es la correcta. Entonces, cuando veo que era propiedad de esta galería o de ese famoso coleccionista, sí, las posibilidades de que no sea falsa son altas. Y en el blockchain, sí, la procedencia se registra, pero es difícil obtenerla. Entonces, lo que realmente no tenemos es esta máquina del tiempo. Entonces, quiero decir, teóricamente los data están ahí, pero necesitas entender que el blockchain de Ethereum, por ejemplo, cuando ejecutamos un nodo de archivo completo que tiene todos los bloques almacenados desde que Ethereum comenzó, terminamos con una capacidad de almacenamiento de aproximadamente tres terabytes actualmente. Pero eso incluso está muy comprimido. Entonces, para acceder a esos data, necesitamos descomprimir y demás, lo que lo hace lento. Además, sí, puedes pensar, siempre se producen nuevos bloques, por lo que eso probablemente no desaparece, ¿verdad? Siempre tenemos que pensar dónde almacenar esos data y cómo acceder a esos data. Y luego, para obtener realmente la vista histórica, se vuelve un poco difícil. Entonces, ese es uno de los problemas que vemos con los data del blockchain.
El otro problema es en realidad el problema de la incentivación. Entonces, lo cual está relacionado con el otro, tenemos esta idea, o especialmente en los primeros días de estas aplicaciones completamente descentralizadas. Eso significa que tenemos un front-end que podemos distribuir el código. Quiero decir, básicamente es HTML, JavaScript y CSS, podemos distribuirlo como queramos. Profess es una de estas tecnologías que funciona de manera muy similar a BitTorrent. Y luego, la idea era que todos ejecuten un nodo de blockchain en su computadora, y luego el front-end interactúa directamente con el nodo del blockchain. Este es el mal sueño de los investigadores del blockchain es esta cosa completamente descentralizada. Lo bueno es que nunca hay problemas de escalabilidad con esta configuración, independientemente de si hay 10 o 10 mil millones de usuarios, aunque 10 mil millones sería un poco demasiado. Escala porque no hay servidor, todo funciona en sus computadoras, por lo que solo los nodos del blockchain interactúan entre sí. Esa era la idea inicial, pero también hay un problema con la architecture. Y también porque se fue un poco por el camino, hoy en día casi nadie ejecuta un nodo en su propia computadora. Las personas generalmente dependen de proveedores de nodos de terceros. Cuando usamos Metamask, por ejemplo, en segundo plano, generalmente usamos Infura, que es una de las compañías que trabaja con Metamask para eso. Y luego, cuando escribimos data en el blockchain, también pagamos tarifas de transacción en gas. Y eso incentiva todo el sistema a funcionar. Entonces, los validadores reciben las transacciones, luego pueden quedarse con parte de estas tarifas de gas y sí, por eso aportan su blockchain a la cadena. Pero leer desde el blockchain es un problema poco utilizado o no está incentivado a nivel de protocolo, por lo que dicen. Entonces, ahí es donde muchas compañías se crearon, como dije, en torno a todas esas redes con Metamask para proporcionar acceso a los data, pero también necesitan encontrar un modelo de negocio en torno a eso. Y así está todo este asunto. Y no es fácil acceder a esos data. Además, como dije antes, en el blockchain, almacenamos el mismo espacio que está ordenado por, sí, como la marca de tiempo, con todos los demás contratos inteligentes y todo lo demás que sucede en el blockchain. Entonces, para ver, por ejemplo, Maker, digamos que Uniswap es probablemente el nombre más común aquí. Entonces, para ver qué sucedió en Uniswap, necesitamos mirar todas estas transacciones y filtrar solo las de Uniswap porque todos los demás protocolos comparten el mismo espacio de bloque. Sí, y eso termina con obtener, y también el protocolo o la interfaz para obtener esos data se llama JSON-RPC. Es algo muy básico para interactuar con un nodo de blockchain. Es realmente como un RPC. Puedo llamar a funciones simples, pero no realmente una extracción agradable de data. Es muy básico. Entonces, en realidad, es código que vi en la práctica, por lo que cuando queremos obtener un ID de token, que tiene todos los tokens de un propietario, vemos todas estas declaraciones de espera aquí, y muchas de ellas son en realidad una llamada de vuelta al punto final JSON-RPC, y tal vez tarde de 100 a 200 milisegundos en resolverse. Y luego llegamos a cosas como esta, como, está bien, llego a este primero y obtengo esto, y luego espero. Y si alguien tiene 20 tokens, y para cada token, lleva 200 milisegundos, terminamos con una página que tarda varios segundos en cargarse. Y sabemos que los usuarios, tan pronto como superamos los 100, 200, 300 milisegundos, generalmente se impacientan, aunque las personas que usan Web3 o aplicaciones de blockchain están un poco más acostumbradas a tiempos de espera lentos, pero no creo que eso sea una buena excusa. Entonces, estos son los problemas. La extracción de data no está realmente incentivada. El protocolo subyacente es muy básico, por lo que es una tarea bastante difícil. Y ahí es exactamente donde entra en juego The Graph.
Comments