Phala Network (PHA) es un proyecto centrado en ofrecer una plataforma de computación distribuida segura y privada, que utiliza los TEE disponibles en muchos CPUs para lograr la construcción de una red blockchain con capacidades avanzadas de smart contracts y privacidad.
El proyecto Phala utiliza la tecnología de Substrate de Polkadot para construir una plataforma blockchain de smarts contracts confidenciales, impulsado por un sistema de producción de bloques que aprovecha el potencial de los CPU y un conjunto de funciones especializadas conocidas como «Enclaves Seguros». Con esto, Phala Network quiere ofrecer a sus usuarios servicios de informática confidencial y protección de datos.
Phala Network actualmente se construye sobre Polkadot y busca hacerse con una de las parachains disponibles en esta red. Además, Phala cuenta con una red canaria de nombre Khala, la cual funciona sobre la red Kusama.
Objetivo de Phala Network
El principal objetivo de Phala Network es construir una plataforma de smart contracts de propósito general que preserve la privacidad y la seguridad de sus usuarios en todo momento.
Para ello, Phala Network promete características como:
- Confidencialidad. A diferencia de las blockchains existentes para smart contracts, Phala Network busca evitar la filtración de cualquier entrada, salida o estado intermedio de un contrato confidencial. Sólo responde las consultas autorizadas al contrato.
- Integridad del código. Cualquiera puede verificar que una salida es producida por un contrato inteligente específico publicado en la blockchain.
- Consistencia de estado. Cualquiera puede verificar que una ejecución se produjo a una altura de la cadena de bloques, lo que implica que el resultado de la ejecución está sujeto a un determinado estado de la cadena.
- Disponibilidad. No debe haber un único punto de fallo, como la desconexión del minero.
- Interoperabilidad. Los contratos pueden interoperar entre sí y con cadenas de bloques externas.
¿Cómo funciona Phala?
Para lograr todo esto, Phala Network apoya el funcionamiento de su red sobre los TEE (Trusted Execution Environment o Entorno de ejecución de confianza), que no es más que una característica especial de los CPU que podemos encontrar en nuestros ordenadores o smartphones.
Por ejemplo, los CPU Intel cuentan con la solución Intel SGX, que nos permite disfrutar de un TEE integrado en dicho CPU. Otras marcas como AMD también cuentan con este tipo de opciones (AMD SVE) y en ARM (CPU de smartphones) encontramos opciones como Trusted Zone.
En todo caso, esta función permite que Phala Network pueda crear un entorno de ejecución seguro para los smart contracts evitando la fuga de información privada sensible. Para ello, Phala Network construye toda una red blockchain con los siguientes roles.
Roles dentro de la red
El protocolo de Phala Network está construido sobre los siguientes roles:
- Usuarios. Los usuarios invocan, consultan y despliegan smart contracts. Los usuarios interactúan con estos smart contracts a través de la blockchain y los nodos de trabajo. Pueden verificar los datos sobre la blockchain, así como las pruebas criptográficas dispuestas en la misma ejecutando un cliente ligero o un nodo completo. No se necesita ningún hardware especial para que los usuarios puedan utilizar los contratos confidenciales, y esta capacidad está prácticamente disponible en todos los CPU actuales (desde 2015 y posteriores).
- Nodos de trabajo. Los nodos de trabajo ejecutan contratos confidenciales en hardware compatible con TEE. Estos nodos funcionan de forma off-chain. En cada nodo, un programa especial llamado pRuntime se despliega en el enclave seguro (la parte segura del TEE). Los nodos de trabajo pueden dividirse a su vez en tres funciones:
- Nodo Génesis. El Nodo Génesis ayuda a arrancar la red y a establecer la configuración criptográfica. Sólo hay un Nodo Génesis y es destruido después del lanzamiento de la Red Phala.
- Gatekeepers. Los Gatekeepers gestionan los secretos para asegurar la disponibilidad y seguridad de la red. Los Gatekeepers son elegidos dinámicamente en la blockchain y necesitan realizar staking dentro de la red para poder ser elegidos. Debido a su tarea, se les recompensa por estar en línea y se les elimina en caso de mal comportamiento porque debe haber un cierto número de Gatekeepers funcionales en cualquier momento.
- Mineros. Los mineros ejecutan los contratos confidenciales. Se les paga por proporcionar sus recursos informáticos a los usuarios. A diferencia de los Gatekeepers, Los mineros sólo necesitan apostar una pequeña cantidad del token Phala y pueden entrar y salir de la red como quieran. Para poder participar en la minería de PHA es necesario hacer stake de 1.620 tokens PHA por cada núcleo de CPU usado en la minería.
- Servicio de atestación remota. Es un servicio público para validar si un Nodo de trabajo ha desplegado el pRuntime correctamente. En ese caso, la evidencia criptográfica producida por el servicio puede probar que una determinada salida es producida por pRuntime ejecutado dentro de un TEE.
- Blockchain. Es la columna vertebral de Phala Network. Almacena las identidades de los Nodos de trabajo, los smart contracts publicados, el estado de los contratos encriptados, y las transacciones de invocación de los usuarios y otras cadenas de bloques. Cuando se conecta a una ranura de parachain de Polkadot, es capaz de interoperar con otras blockchains a través de la relay chain de Polkadot.
PHA, el token nativo de Phala Network
Se denomina PHA al token nativo de la plataforma Phala Network y es un token utilitario que tiene distintas funciones. Su principal función es recompensar a los mineros y los Gatekeepers de la red, ya que sobre ellos recae el funcionamiento y la seguridad de la red. El suministro total es de 1.000 millones de tokens.
La salida del token PHA se realizó por medio de una venta privada de tokens a un precio de 0,01 dólar a la que se le asignó el 15% del suministro total de PHA (150 millones de tokens PHA). Más allá de eso no se realizó ninguna ICO, ni ninguna otra venta. Adicionalmente, los desarrolladores de Phala decidieron liberar los tokens siguiendo el siguiente esquema de distribución:
- 5% del total de tokens se otorgan a los desarrolladores como recompensa por el desarrollo del protocolo (50 millones de tokens PHA).
- Un 9% del total de tokens se destinaron a un airdrop dirigido a todos aquellos interesados en el proyecto (90 millones de tokens PHA).
- 1% del total de tokens se repartieron a todos los testers de la red como recompensa por su trabajo y feedback en el desarrollo (10 millones de tokens PHA).
Esto significa que un total de 30% de los tokens han sido distribuidos, dejando el 70% restantes para el sistema de recompensas de los mineros de la red (un total de 700 millones de tokens PHA).
Conclusiones
Phala Network es una red centrada en ofrecer servicios computacionales privados avanzados apoyado sobre smart contracts desplegados en las parachain de Polkadot. Su curioso sistema de funcionamiento hace recordar al protocolo empresarial desarrollado por la Linux Foundation, Hyperledger y su protocolo de Proof of Elapsed Time (PoET), el cual tiene amplio uso dentro de empresas privadas que ofrecen servicios BaaS (Blockchain-as-a-Service o Blockchain como servicio).
Como resultado, Phala Network apuesta por un nuevo esquema de seguridad que une el poder de blockchain y su comprobada robustez, con sistemas de seguridad embebidos en hardware, a fin de ofrecer una mayor privacidad a los usuarios.
Sin embargo, Phala Network es un proyecto aún en construcción con grandes posibilidades, especialmente por su apuesta en los smart contracts privados, los cuales pueden tener un gran impacto para empresas y servicios centrados en la seguridad y respetuosos con la regulación, como la del RGPD de Europa. Esto lo convierte en un proyecto de gran interés tanto para usuarios como para servicios empresariales preocupados por la privacidad.