31 marzo 2018

Hablando de Blockchain... y Errores Humanos

Ok, lo siento, tenía que escribir un poco sobre esto. Algunos habrán visto nuestro video en YouTube donde explicabamos algunos de los fundamentos técnicos que permiten a la criptomoneda y al blockchain funcionar.

En los últimos meses casi que todo el mundo habla de cripto-moneda pero lástimosamente muy poca gente conoce los principios que le permiten funcionar y las limitantes en el mundo real que puede tener esta tecnología (Refiriéndome a comó funcionan las personas, las economías y las sociedades).

Creo que el comediante John Olivier  en un reciente video no pudo haberlo explicado mejor: La discusión de criptomoneda actual es la combinación de "todo lo que la gente no entiende sobre dinero combinado con todo lo que la gente no entiende sobre computadoras" (en inglés).

Lo cual nos lleva al motivo de esta entrada... Permítanme contarles una historia de risa: Viene PayPro una startup española de soluciones financieras basadas en blockchain impulsada por Wayra(La incubadora de startups de Telefónica) y otros capitales de riesgo.

PayPro hace un ICO (solicitan cripto-moneda a cambio de participación en la compañía). Nota: De los fundadores al parecer ninguno es técnico, todos son "inversionistas y financieros". Aperturan el ICO y nadie se percata de que la dirección del Wallet (llamémosle el #de cuenta virtual) destino de la compañía no es la correcta y al cerrar el  período se dan cuenta del error cuando ven que toda la "cripto-moneda" acumulada no llegó a su wallet (Como que tu contrataste a una empresa para recaudar fondos y al final cuando te iba a depositar termina depositando en otra cuenta).

Resultado: Approx $400,000USD de cripto-moneda en el limbo.

Al revisar el historial de transacciones, la dirección a la que se envió la cripto-moneda no tiene ninguna transacción previa, ni posterior al cierre del smart-contract. Así que esencialmente no es posible saber si el wallet realmente pertenece a alguien o si simplemente no ha sido "inicializado". Y no amiguitos, "inicializar" un nuevo wallet para que coincida la dirección pública no es algo factible computacionalmente hablando. El error se atribuye según los desarrolladores a un error humano al momento de desplegar la versión de producción de la plataforma.

¿Qué lecciones nos deja esto?

  1. Los sistemas pueden ser "infalibles"... pero las personas que los programan no.
  2. No sub-contratas tu core-business... ¡Nunca! Si quieres meterte a blockchain o cripto-moneda más te vale en entre los inversores tengan a un informático bien enterado.
  3. En el mundo real con entes reguladores el error hubiera sido detectado por el banco o en su defecto aunque se hubiera depositado en la cuenta equivocada existirían medios para corregir dicha transacción. En otras palabras: la regulación y los controles por parte de un ente de "confianza" son necesarios.
  4. Bienvenidos a la inmutabilidad del blockchain, donde todo lo que entra no puede salir mas. Les voy a decir lo que le dicen en los foros a todos los usuarios nuevos que pierden la clave de acceso a su wallet: ¿Perdiste la clave? No te podemos ayudar, ten más cuidado la próxima.

Para concluír: No estoy en contra del blockchain, estoy en contra de utilizar sistemas o tecnologías sin conocer sus alcances y limitantes. Si bien el caso anterior no es per-se un problema con Ethereum o Blockchain, demuestra que hay cosas que dependen de cómo funcionan las personas. Imaginen que por un momento esos $400,000 no son el ICO de una empresa sino los ahorros de pension de varias personas durante toda su vida y que un programador en gobierno erro en la dirección de wallet destino o hubo un error en la maquina provocó que se colocara una direcicción equivocada. ¿Qué vamos a hacer? Decirle a esas personas que se olviden de sus ahorros de toda su vida porque el "ledger" (el registro del historial de todas las transacciones) es inmutable.

Si me quieren mi opinión personal: el blockchain y la criptomoneda no serán factibles para su uso común hasta que se tome en consideración el comportamiento humano dentro del sistema, algo que muy pocas o ningunas implementaciones hacen a la fecha.

Más información: