Seguridad

La prueba de reservas: qué prueba, y la mitad que suele faltar

La prueba de reservas se volvió práctica corriente después de demostrarse, a un coste elevado, que una plataforma puede anunciar saldos que no tiene. El mecanismo que surgió es realmente útil y se describe de forma rutinaria como más de lo que es. Responde a una de las dos preguntas que importan, y la que falta es la que históricamente ha hecho el daño.

· 10 min de lectura

Las dos preguntas, y a cuál se responde

La solvencia es una comparación. Lo que una plataforma tiene por un lado, lo que debe a sus usuarios por el otro, y que lo primero sea al menos tan grande como lo segundo. Ninguna de las dos cifras significa nada sin la otra, y una reserva grande frente a un pasivo mayor es insolvencia y no tranquilidad.

Una prueba de reservas aborda la primera cifra. Demuestra que un conjunto de direcciones tiene un conjunto de saldos y que la plataforma controla esas direcciones, normalmente firmando un mensaje desde cada una. Esa parte es criptográficamente sólida y hay muy poco que objetarle.

La segunda cifra es el total debido a los usuarios, y no es visible en ninguna cadena. Vive en la base de datos de la plataforma, que es exactamente el registro que falló en los casos que hicieron necesaria esta práctica. Publicar la primera cifra sin la segunda es publicar un numerador y llamarlo una razón.

La solvencia es una comparación. Una prueba de reservas publica un lado, y el lado que históricamente se ha falsificado es el otro.

El árbol de Merkle, y qué puede verificar usted mismo

El mecanismo del lado del pasivo, cuando existe, es un árbol de Merkle. El saldo de cada usuario se convierte en una hoja mediante una función de resumen, las hojas se combinan de dos en dos hasta una raíz única, y la raíz se publica. La estructura permite a un participante comprobar su propia inclusión sin ver el saldo de nadie más.

En la práctica la plataforma le da el pequeño conjunto de resúmenes intermedios necesarios para recalcular la raíz a partir de su propia hoja. Si su recálculo coincide con la raíz publicada, su saldo fue contado en el total. Si no, algo va mal, y es una comprobación que cualquier usuario puede ejecutar en su propia máquina.

La propiedad que importa es que la plataforma no puede omitirle sin romper su verificación, ni alterar su saldo sin romperla tampoco. Es una garantía real contra el fallo concreto de sacar pasivo del total en silencio, y solo funciona si los usuarios hacen efectivamente la comprobación.

Lo que el árbol sigue sin impedir

El árbol prueba que los saldos incluidos suman el total publicado. No prueba que todo usuario fuera incluido, porque las únicas personas capaces de detectar una omisión son las omitidas, y una plataforma que excluya un número pequeño de cuentas difícilmente será descubierta por nadie más.

También permite una manipulación más sutil: insertar saldos negativos o cuentas fabricadas para reducir el total. Las implementaciones que obligan a que las hojas sean no negativas y publican el número de cuentas eliminan parte de esto, y no todas hacen ninguna de las dos cosas.

La lectura honesta es que una prueba de Merkle convierte una afirmación no verificable en una que una población diligente de usuarios puede auditar parcialmente. Es una mejora sustancial respecto de nada, y depende de la participación, que nadie puede garantizar y pocos miden.

Atestación no es auditoría, y la distinción lo sostiene todo

La mayoría de las pruebas publicadas viene con un documento de una firma contable, y la palabra que figura en ese documento importa enormemente. Una atestación declara que se ejecutaron procedimientos acordados e informa de lo que hallaron. Una auditoría expresa una opinión sobre si los estados financieros presentan fielmente, según una norma, con la responsabilidad que conlleva una opinión.

Una atestación sobre procedimientos acordados está delimitada por quien la solicita. Si los procedimientos no incluyen verificar que no se contaron activos prestados, ese hueco no es un fallo del documento, es el documento haciendo exactamente lo que se le pidió. La delimitación suele estar enunciada en la primera página y rara vez se lee.

No es razón para descartar las atestaciones, que son útiles. Es razón para leer la sección de alcance antes de tratar una como auditoría, porque ambas palabras tienen peso distinto, cuestan importes distintos, y se usan con frecuencia una por otra en el anuncio que las acompaña.

El problema de la instantánea, y qué esconde el préstamo

Una prueba describe un momento. Se pueden pedir activos prestados antes de la instantánea y devolverlos después, y la prueba sería del todo veraz sobre ese momento describiendo una posición que solo existió para él. No es hipotético, es un patrón documentado en industrias vecinas y la razón de que la verificación en fecha única se trate con escepticismo por quienes se dedican a esto.

La frecuencia es la respuesta parcial. Una prueba publicada cada mes en un momento imprevisible es mucho más difícil de preparar que una trimestral en fecha conocida, y una publicación continua con direcciones vivas lo es todavía más. El coste de pedir prestado para pasar un control sube con la frecuencia y la imprevisibilidad de ese control.

La respuesta completa exigiría saber que los activos están libres de cargas, es decir ni pignorados, ni prestados, ni prometidos a otro. Nada en la cadena dice si un activo está gravado, porque el gravamen vive en contratos. Es el límite estructural de todo el enfoque.

Las construcciones de conocimiento nulo, y qué añaden

Las implementaciones más recientes usan pruebas criptográficas para demostrar propiedades del conjunto del pasivo sin publicarlo. Una plataforma puede probar que todo saldo del árbol es no negativo y que suman un total anunciado, sin revelar ningún saldo individual ni el número de usuarios a sus competidores.

Eso elimina la objeción práctica más fuerte a publicar el pasivo, que nunca fue técnica sino comercial: una plataforma no quiere que sus rivales conozcan su número de usuarios ni la distribución de sus saldos. Poder probar la propiedad sin los datos cambia el cálculo para el operador.

No toca el problema del gravamen, y conviene decirlo con claridad. Una prueba de que el pasivo está correctamente sumado y de que las reservas lo superan sigue siendo una prueba sobre un momento, referida a activos cuyo estatus jurídico no está en la cadena. La criptografía mejora la contabilidad y no alcanza los contratos.

La criptografía sabe probar la contabilidad. No sabe probar que los activos no estén ya prometidos a otro, porque esa promesa vive en un contrato, no en una cadena.

Qué establece y qué no la lista de direcciones

Publicar direcciones y firmar desde ellas prueba el control en el momento de firmar. No prueba un control exclusivo, ni prueba que los mismos activos no estén siendo presentados por dos entidades, lo que ha ocurrido y solo es detectable comparando listas entre plataformas.

También hay diferencia entre una dirección que la plataforma controla y un activo que la plataforma posee. Acuerdos de custodia, carteras compartidas y activos mantenidos por cuenta de un tercero pueden aparecer todos como saldos en direcciones controladas, y ninguno está disponible para cubrir el pasivo de usuarios en un fallo.

La versión práctica de esta comprobación es mirar si las direcciones son estables en el tiempo, si los saldos se mueven en patrones coherentes con un negocio en funcionamiento, y si las mismas direcciones aparecen en la prueba de otro. Las tres son visibles para quien mire, y mirar es raro.

Qué puede comprobar realmente un usuario en diez minutos

Cuatro cosas, por orden de utilidad. Si existe siquiera un mecanismo de pasivo o solo una cifra de reserva. Si su propia cuenta aparece en el árbol, para lo cual la plataforma debe darle las herramientas. Si el documento adjunto dice auditoría o atestación. Y con qué frecuencia se publican las pruebas y si las fechas son previsibles.

La primera es la que más filtra. Una plataforma que publica direcciones y lo llama prueba de reservas ha publicado la mitad de la comparación, y un número sustancial de pruebas publicadas son exactamente eso. Darse cuenta requiere un vistazo para ver si los saldos de usuarios están representados en algún sitio del material.

Nada de esto exige competencia técnica más allá de seguir las instrucciones de verificación de la propia plataforma. Lo que exige es hacerlo, cosa que casi nadie hace, y por eso el mecanismo protege menos de lo que su existencia sugiere.

Qué la haría significativa

Tres añadidos cambiarían lo que las pruebas establecen. Un pasivo probado con el mismo rigor que las reservas, idealmente con una restricción de no negatividad y un número de cuentas publicado. Publicación frecuente en momentos imprevisibles en lugar de por calendario. Y una declaración, de una parte que asuma responsabilidad, de que los activos están libres de cargas.

El tercero es el punto duro porque no es un problema criptográfico. Requiere que alguien examine contratos y asuma la responsabilidad de la respuesta, que es exactamente lo que es una auditoría y por qué las auditorías cuestan lo que cuestan. Ninguna cantidad de análisis de cadena lo sustituye.

Algunas plataformas hacen más que el mínimo y es posible saber cuáles leyendo el material en lugar del anuncio. La brecha entre la mejor y la peor práctica en este ámbito es muy amplia, y es enteramente visible para quien le dedique diez minutos.

Lo que no sustituye

Una prueba de reservas describe una posición de balance. No dice nada de la seguridad operativa, de cómo se custodian las claves y si resisten un compromiso, de la jurisdicción donde reside la entidad, ni de qué ocurre con su crédito en una insolvencia. Son preguntas separadas con respuestas separadas.

Tampoco cambia la posición fundamental de mantener un saldo en una plataforma, que es un derecho frente a un operador y no la posesión de un activo. Una reserva bien probada respalda mejor ese derecho; no lo convierte en una cosa de otra naturaleza.

Usada por lo que es, es una de las divulgaciones más útiles disponibles en esta industria. Usada como garantía general de seguridad, hace un trabajo para el que nunca fue construida, y la distancia entre esos dos usos es donde vive la mayor parte de la tranquilidad que la gente extrae de ella.

Preguntas frecuentes

¿Qué prueba realmente una prueba de reservas?

Que un conjunto de direcciones tenía ciertos saldos en un momento dado y que la plataforma podía firmar desde ellas. Esa parte es criptográficamente sólida. Si la plataforma debe a sus usuarios más de lo que tiene es otra cuestión, respondida por otro mecanismo, con frecuencia ausente de lo que se publica.

¿Para qué sirve el árbol de Merkle?

Representa el lado del pasivo. El saldo de cada usuario se resume en una hoja y se combina hasta una raíz publicada, de modo que puede verificar su propia inclusión sin ver el saldo de nadie más. La plataforma no puede omitirle ni alterar su saldo sin romper su verificación, siempre que usted la ejecute.

¿Qué diferencia hay entre auditoría y atestación?

Una auditoría expresa una opinión sobre si los estados financieros presentan fielmente, según una norma, con la responsabilidad que conlleva. Una atestación informa de lo que hallaron unos procedimientos acordados, y esos procedimientos los delimita quien los solicita. El alcance suele estar en la primera página.

¿Puede una plataforma pedir activos prestados para pasar una prueba?

Una prueba describe un momento, así que activos prestados antes de una instantánea y devueltos después la harían veraz sobre ese momento y no representativa de ningún otro. Publicar con frecuencia en momentos imprevisibles eleva el coste de hacerlo. No elimina la posibilidad.

¿Qué significa gravamen aquí?

Que los activos ya estén pignorados, prestados o prometidos a otro. Nada en una cadena lo dice, porque el gravamen vive en contratos y no en saldos. Es el límite estructural de todo el enfoque y la razón de que la criptografía por sí sola no pueda zanjar la solvencia.

¿Qué añaden las pruebas de conocimiento nulo?

Permiten a una plataforma probar que todo saldo es no negativo y que suman un total anunciado, sin revelar saldos individuales ni el número de usuarios. Eso elimina la objeción comercial a publicar el pasivo. No toca el problema del gravamen, que no es criptográfico.

¿Controlar una dirección significa poseer los activos?

No. Acuerdos de custodia, carteras compartidas y activos mantenidos por cuenta de terceros aparecen como saldos en direcciones controladas, y ninguno está disponible para cubrir el pasivo de usuarios en un fallo. Firmar prueba además el control en ese instante, no un control exclusivo, y los mismos activos ya han figurado en dos pruebas.

¿Qué debo comprobar primero?

Si existe siquiera un mecanismo de pasivo o solo una cifra de reserva, porque un número sustancial de pruebas publicadas son la mitad de la comparación. Después si su propia cuenta se verifica en el árbol, si el documento dice auditoría o atestación, y con qué frecuencia y previsibilidad aparecen las pruebas.

Unirme a la lista de espera Todos los artículos