- Volver al menú
- Volver al menúPrecios
- Volver al menúInvestigación
- Volver al menúConsenso
- Volver al menú
- Volver al menú
- Volver al menú
- Volver al menúWebinars y Eventos
Qué sucede realmente en una auditoría de Bitcoin
CoinDesk descubre cómo auditar un exchange de Bitcoin , quién puede hacerlo y qué se puede demostrar.
Una tarde de marzo, Stefan Thomas entró en una elegante oficina de ladrillo y vigas en un último piso de Market Street, San Francisco. La oficina, típica de los espacios en el floreciente corredor tecnológico de la ciudad, está ocupada por empleados de Kraken, la plataforma de intercambio de Bitcoin .
Para cuando entró, el MON de la tarde ya estaba decayendo y la mayoría de los empleados ya se habían marchado. Solo estaba el director ejecutivo de la empresa, Jesse Powell, con ONE empleado.
Después de los saludos obligatorios y la charla general, Thomas se sentó en el escritorio de Powell, instaló una máquina virtual Ubuntu en una elegante computadora Mac plateada y se puso a trabajar.
Él estaba allí para demostrar queKraken poseía los bitcoinsafirmó tenerlo.
Tras el pánico de febrero por los Eventos en Mt. Gox, cuando el sitio con sede en Japón... implosionó Espectacularmente, llevándose consigo 850.000 bitcoins y dejando a su paso a usuarios angustiados, Powell quería asegurar a sus propios usuarios que su intercambio no estaba operando con una reserva fraccionaria.
Sin embargo, no podía auditar muy bien su propia empresa, por lo que Thomas estaba escribiendo tranquilamente en su escritorio temporal.
Habilidades valiosas
Entonces, ¿quién es Stefan Thomas y por qué fue él la persona a la que llamó Powell?
Thomas es director técnico de Ripple Labs, una empresa que creó su propio protocolo de pago y se enorgullece de tener un libro de contabilidad público transparente de transacciones.
Estuvo involucrado en Bitcoin desde una etapa temprana, habiendo producido el ahora famoso video ¿Qué es Bitcoin ? y pilotado Usamos monedas– una guía en línea sobre Bitcoin. También ha sido el impulsor de... BitcoinJS, la implementación en JavaScript del protocolo Bitcoin .
En resumen, cuando se trata de la Tecnología que sustenta a Bitcoin, Thomas sabe lo que hace.
“Stefan es local, estuvo disponible con poca antelación, la comunidad confía en él y es una de las pocas personas lo suficientemente competentes para realizar la auditoría”, dijo Powell, y agregó:
“Necesitábamos a alguien que pudiera criticar el proceso, sugerir mejoras (lo cual hizo y adoptamos) y denunciarnos si intentábamos ONE ”.
Lo que Kraken necesitaba
La auditoría involucró dos conjuntos diferentes de datos.
El primero fue el saldo de bitcoins que Kraken tenía almacenados en sus propias direcciones de Bitcoin visibles públicamente.
El segundo era el conjunto de direcciones que conformaban las cuentas de sus clientes. Podemos considerar el primero como sus activos y el segundo como sus pasivos, ya que cada Bitcoin depositado en una cuenta de usuario era, en realidad, un Bitcoin que la plataforma de intercambio tendría que devolver en algún momento.
Kraken buscaba demostrar que tenía más bitcoins almacenados que los que los clientes tenían en sus cuentas, lo que implicaba verificar los totales de cada uno de esos conjuntos de direcciones.
Entonces ¿cómo lo hizo Thomas?
Árboles Merkle, hojas y raíces
La base de la auditoría de Kraken fue el «árbol de Merkle», que es un sistema para mejorar la integridad de una colección de datos.
En la cadena de bloques de Bitcoin , el árbol de Merkle se utiliza para almacenar las transacciones de un bloque específico. Su ventaja es que puede generar fácilmente un único hash (conocido como raíz de Merkle), que convierte en hashes todas las transacciones del árbol.
Se combinan pequeños grupos de transacciones mediante hashes, y luego los resultados de esos hashes se vuelven a combinar. Esto continúa hasta que el hash final produce la raíz Merkle única. Esta raíz puede usarse para confirmar el contenido de cualquier dirección en el árbol.
Hay un árbol Merkle (y raíz correspondiente) tanto para el lado del pasivo (saldos de clientes) como para el lado del activo (billetera de Kraken) de la auditoría.
Acreditación de los activos
Para generar el hash del activo, Thomas recibió las direcciones públicas de toda la billetera de Kraken. Posteriormente, pudo obtener el contenido de esas direcciones de la blockchain pública de Bitcoin .
Para recopilar y codificar esos datos, utilizó una herramienta escrita por Michael Grønager, director de operaciones de Kraken, llamadaCriptomoneda, que está diseñado para manipular diferentes estructuras de billetera.
Usos de Cryptoshilibcoin, una biblioteca de Criptomonedas basada en el cliente Satoshi original que se convirtió en el producto de referencia de Bitcoin CORE . Thomas describe a Cryptoshi como "una navaja suiza para las Criptomonedas".
En cuanto a los activos, Thomas podría asumir que el árbol de Merkle de la billetera de Kraken incluía todas las direcciones bajo su control. No tendría sentido que el exchange no las incluyera si quería que incluyera todo su saldo en su análisis.
Demostración de los pasivos
Sin embargo, las cosas son más complejas en el lado de los pasivos (los bitcoins guardados en las direcciones de los clientes de Kraken), por dos razones.
En primer lugar, un intercambio deshonesto que intente engañar a un auditor podría querer excluir las cuentas de los clientes del árbol de pasivos, porque cada una de estas cuentas se suma a la cantidad que el intercambio debe en monedas.
La forma más fácil de demostrar que no lo hizo es simplemente publicar todos los saldos y direcciones en el árbol, junto con la raíz de Merkle.
De esta forma, cualquiera podría simplemente agregar el contenido de esas direcciones y comprobar que el saldo coincida con el del árbol hash. Luego, podrían hashizar ese mismo árbol y asegurarse de que su raíz Merkle coincidiera con la publicada como parte de la auditoría.
Ahí es donde surge el segundo desafío. La mayoría de las bolsas no quieren que toda esa información se haga pública, dijo Thomas.
Publicar saldos y direcciones representa un posible problema de Privacidad y podría revelar información confidencial sobre el manejo de sus billeteras. La suma de todos los saldos también constituye información sensible a nivel competitivo.
“[Kraken estaba] intentando pecar de cauteloso y tratar de no publicar esa información”, explicó Thomas.
En cambio, Thomas verificó la suma de los saldos en privado y testificó que había más activos que pasivos. Kraken siguió entonces una recomendación.propuesto inicialmente por el desarrollador de Bitcoin CORE, Gregory Maxwell.
[cita posterior]
Maxwell recomendó a los exchanges que publicaran la raíz de Merkle. Así, cuando un usuario se conecta, se le muestra de forma privada el saldo de su cuenta al momento de la auditoría, junto con las partes del árbol que se encuentran entre su dirección y la raíz.
En efecto, esto proporciona al usuario una rama del árbol, lo que le permite demostrar que al menos estaba incluido en ella cuando se generó el hash. De esta forma, el usuario tiene la seguridad de que su dirección se incluyó en la auditoría.
Depende de los usuarios ejecutar una prueba para verificar que su dirección se incluyó en el hash general y cuantas más pruebas de este tipo se realicen desde diferentes ramas, mayor será la probabilidad de que un intercambio quede atrapado si omite alguna dirección.
¿Significa esto que la balanza es infalible? Lamentablemente, no.
Debilidades en el proceso
“En cualquier auditoría hay algunos agujeros bastante grandes que no se pueden cubrir”, explica Thomas.
Si una plataforma de intercambio toma prestados Bitcoin para la auditoría, es difícil de determinar. O una plataforma de intercambio puede comprar algunos bitcoins con sus tenencias fiduciarias.
Kraken señala otras deficiencias en el procesoen su propia página, que describe el proceso de auditoría. En primer lugar, el exchange no puede demostrar que otros no se hayan apropiado indebidamente de sus claves privadas, lo que significa que no puede demostrar inequívocamente que tiene acceso exclusivo a los bitcoins en su billetera.
En segundo lugar, el auditor tiene que ser técnicamente capaz y confiable, porque todavía hay algunas áreas del proceso en las que un intercambio deshonesto podría engañarlo, o que el auditor pueda engañar al público, posiblemente en colaboración con el intercambio.
“Muchas de estas cosas son difíciles de verificar o probar”, dijo Thomas, y agregó:
“Pero en lo que respecta a la auditoría, te da cierta confianza de que el intercambio funciona bien y cualquier ataque contra la auditoría tiene la posibilidad de ser descubierto”.
En esencia, este tipo de auditoría es “mejor que nada”, explicó Thomas, quien posteriormente realizó otra auditoría similar para la plataforma de comercio de Bitcoin Bitfinex.
Este tipo de auditoría puede no ser infalible, pero es el mejor esfuerzo en un entorno que cambia rápidamente, y los intercambios como Kraken y Bitfinex están liderando el camino para tranquilizar a los clientes afectados por el asunto Mt. Gox.
Pero ¿hasta dónde deben llegar las auditorías y qué más se puede hacer para garantizar que las bolsas funcionan correctamente?
Resulta que se podría hacer mucho más. En la segunda parte de esta investigación (próximamente), analizaremos esas opciones y algunas de las plataformas de intercambio que las están explorando.
Auditoríaimagen vía Shutterstock
Danny Bradbury
Danny Bradbury ha sido escritor profesional desde 1989 y ha trabajado como freelance desde 1994. Cubre temas de Tecnología para publicaciones como The Guardian.
