Los debates en torno a la naturaleza privada o pública de una cadena de bloques son siempre muy animados. Algunos dicen que las cadenas de bloques «privadas» son inseguras y pueden ser manipuladas, mientras que las cadenas de bloques «públicas» son puras e inatacables. Para otros, no es cuestión de poner los datos en una infraestructura que se encuentra en su mayoría en China, y cuya huella de carbono sería un desastre ecológico.
¿De qué blockchain hablamos ?
Hay algo de verdad en estas caricaturas, pero las opiniones sobre el tema suelen ser más dogmáticas que pragmáticas. La realidad es mucho más matizada. No hay una solución mejor que la otra, ya que cada una da respuesta a problemas diferentes.
En primer lugar, una aclaración sobre los términos utilizados. Cuando hablamos de blockchain, podemos hablar de su código (abierto vs. propietario), de su evolución (quién lo decide), de su acceso de escritura (abierto o permitido) o de la forma de validar lo que se escribe en ella (su consenso).
Cuando oponemos lo privado a lo público, me parece que es el consenso de la cadena de bloques de lo que más se habla:
• Cuando es público, significa que cualquiera puede participar siempre que aporte potencia de cálculo en el caso de un mecanismo de «prueba de trabajo» (Proof Of Work, es el caso de Bitcoin), o tokens en el caso de un mecanismo de «prueba de participación» (Proof Of Stake, es el caso de Tezos). La principal ventaja de hacerlo público es que se puede distribuir a un número infinito de participantes que pueden permanecer en el anonimato.
• El consenso privado, en cambio, requiere que se le ofrezca la oportunidad de participar. Esto significa que los participantes son todos conocidos, y la decisión de acoger a un nuevo participante la toman los que ya forman parte de él.
En ambos casos, para que el consenso sea efectivo, es decir, para garantizar de la mejor manera posible la integridad de los datos y la durabilidad del sistema, es necesario que haya un número suficiente de participantes a los que no les interese ponerse de acuerdo para modificar lo que contiene la blockchain.
En la práctica, el consenso descentralizado nunca es perfecto. Siempre existe el riesgo de que la mayoría de los participantes en un consenso acepten modificar los datos. El objetivo de cualquier blockchain es minimizar este riesgo, y es aquí donde hablamos de una seguridad más o menos importante.
¿Un problema de seguridad.. o algo más ?
Un consorcio de diez empresas competidoras puede muy bien crear las condiciones para una excelente descentralización, donde una blockchain utilizada por una sola empresa es perfectamente inútil.
En los 12 años de existencia de Bitcoin, y a pesar de los numerosos intentos de censura, nadie ha conseguido cerrar la red o debilitarla hasta el punto de que deje de ser suficientemente segura.
Esa es la principal ventaja de este nivel de descentralización: ser resistente a los intentos de censura. Sin embargo, no basta con que un consenso sea público para que sea tan fuerte como el de Bitcoin. De hecho, muchas blockchains públicas han fracasado en este ejercicio. No todas las aplicaciones tienen que ser resistentes a los intentos de censura, especialmente cuando se trata de aplicaciones industriales que no se enfrentan a una resistencia especial, sobre todo a nivel político.
El uso de una cadena de bloques de consenso público también plantea otros problemas: como su capacidad es limitada, el coste de su uso se subasta. Por tanto, es imposible conocer de antemano los costes de utilización de la red, ya que no se puede prever la ocupación de su capacidad. El éxito de CryptoKities, entre otros, ha multiplicado los precios de Ethereum por un factor de 25 en poco tiempo. El precio de una transacción de Bitcoin se ha multiplicado por 300 en 5 años.
Por lo tanto, hay buenas razones para elegir uno u otro, y es estudiando los detalles de un consenso que podemos formarnos una opinión sobre el nivel de seguridad y relevancia de una cadena de bloques, y ciertamente no colocándolos en dos categorías.
Por otro lado, el concepto de blockchain privado también se utiliza para designar sistemas en los que se permite la propia lectura de toda o parte de la información, y a menudo incluso se reserva para una sola empresa. Dado que la condición esencial de acceso que permite a todos comprobar la integridad de los datos ya no está presente, ya no hay razón para hablar de transparencia en este caso.