jueves, 1 de agosto de 2019

Criptocréditos


Criptocreds, cripto-creds, cripto-c, criptos, o sencillamente criptocréditos no son mas que lo que su nombre indica; moneda anónima, encriptada.

Panopticon pag 154 los explica de la siguiente manera;

Los cripto-cred son moneda anónima encriptada. Es usada por quienes desean comprar en el mercado negro, ocultar sus transacciones, lavar dinero o evitar impuestos. Es ilegal en algunos hábitats, pero permanece en uso frecuente, especialmente por cárteles criminales.
Adquirir cripto-creds es tan simple como comprarlos a través de una transacción anónima o encriptada desde un servidor seguro.
Los criptocréditos pueden ser enviados a otras personas, que pueden reclamarlos a través de un servicio similar..
Hay una tasa del 10% para intercambiar cripto-creds por créditos, o viceversa, pero no hay coste para intercambiar cripto-creds entre personas.

Vamos, criptomonedas. Pero qué mal explicado. Nada explicado.

Vamos a intentar desarrollarlo, igual que desarrollamos la identificación.

Para empezar, los créditos son moneda física, que suelen transferirse digitalmente a través de la malla (los pagos en la malla son lo normal, no la moneda física) pero la parte digital de un crédito no es nada, es una mera anotación fiscal, no existe un objeto digital para los créditos, aunque puedan ser enviados a una cuenta bancaria o dispositivo que tengan monederos (software para transacciones económicas) los cuales estarán o nó asociados a un ID, falso o nó, y protegidos o nó por una clave y usuario (si no está protegido será dinero al portador) que podrá ser o no un ID ciudadano.

Ya hablamos de las transferencias legales de dinero y de como ocultarlas. Siguiendo en esa línea, toda clase de validaciones pueden establecerse en los pagos informáticamente.

Por el contrario, los criptos no existen como moneda física, pero si que son un objeto digital. Son un paquete de datos (encriptados) y no solo un elemento contable.
Aunque de peso despreciable, al existir como ficheros ocupan espacio de disco duro. Anotar en una registro contable que alguien posee 9999999999 créditos ocupa menos (prácticamente 0) que guardar 1 simple cripto (es la diferencia entre una anotación fiscal y realmente guardar el dinero). Afortunadamente para quienes almacenan criptos, su peso es despreciable y la capacidad de las redes informáticas infinita a efectos prácticos. 
Los criptos como objetos digitales que son, no funcionan de la misma manera que los créditos. Cuando un programa le dice a otro que "le envia 1000 créditos", simplemente son números naturales, entendidos como una mente humana los asimila. Un programa se resta 1000, y el otro se los suma, dejando (normalmente) una traza de que el dinero ha viajado de A a B. Sumarse y restarse el capital es la forma de reflejar ese traspaso.
En cambio con los criptos, no se mueven anotaciones fiscales, si no que los pequeños objetos encriptados son movidos de un lado a otro como ficheros. Los mismos programas A y B podrían no ser capaces de procesar estos ficheros/criptos. Y la gran mayoría no lo son, ya que los criptos son ilegales en cualquier legislación que pretenda tener control sobre el movimiento de capitales. No obstante, no supone ningún esfuerzo que un software de contabilidad sea capaz de trabajar con criptos, y que pueda o nó depende en buena medida de donde ha sido creado y su legislación. No es ningún problema para el software procesar ambas clases de monedas.


La red de cripto-creds

Los criptos se usan de forma diferente a los créditos. Los créditos se pagan como una transferencia normal a un destino (con todo lo que ya hablamos sobre esto) dejando un rastro en la malla como toda operación que se realiza. Los criptos en cambio, necesitan sí o sí otra forma de funcionar, ya que están diseñados para ser completamente anónimos;

- El emisor no conoce el destino del dinero (con créditos, puedes enviar dinero a una cuenta sin saber quien está detrás, pero sabes a que cuenta envías, aunque esta sea temporal y deje de existir, pero quedará algún registro si la operación es legal. Los criptos lo hacen automáticamente)
- El receptor no conoce el origen del dinero
- Todo ajeno a la transacción no ve el importe de la misma
- Todo ajeno a la transacción no ve quien es el receptor
- Todo ajeno a la transacción no ve quien es el emisor
- Todo ajeno a la transacción no ve el momento en que se realizó

Veremos mas adelante como logran esto, básicamente, necesitan una red de usuarios de cierto volumen para que las transferencias no se sepa de quien son, y puedan llegar a su destino enrutadas de múltiples formas posibles.) Veremos que la red de cripto-creds además de ser el ecosistema por donde los criptos se mueven, tiene también sus medidas de seguridad para impedir la inflacción y la devaluación. La red impide de forma distribuida ambas, pues parece que fue programada para que el cripto fuese una divisa común (su cambio tiende a 1, facilitando el uso cotidiano por cualquiera y asimilándolo al crédito). La red de forma autónoma emite y retira moneda según la fluctuación del cambio y también vigila la emisión de créditos en el sistema solar, intentando mantener el tipo de cambio estable. Cuando hay que emitir o retirar criptos, parece que la red simplemente ajusta de forma virtual el número de criptos existentes para que el tipo de cambio se ajuste, pero todo indica que no se crean realmente criptos en ningún billetero propio del sistema ni nada parecido. 

Como con las viejas criptodivisas de la vieja Tierra, existen otras variantes derivadas de él con otras particularidades, pero el cripto se ha instaurado como el standar que marca el camino, tanto para el submundo criminal como para los anarquistas enemigos del estado.
La definición y programación de estos protocolos es autoría de anarquistas y anarcocapitalistas de Locus y Extropia, idealistas que dieron importancia a gobernar tu propio dinero sin intromisiones, pero los programadores concretos que están detrás del cripto permanecen en el anonimato.


¿Qué es un cripto?

Un cripto-cred es un datagrama que se crea acorde a un patrón público que todo el mundo puede conocer, simplemente para que el software pueda decir "esto es un cripto".
Luego veremos que este datagrama es encriptado, por lo que al final es un ínfimo paquete de datos encriptados y por ello no legible en principio. Un cripto no se puede saber que es un cripto si no es desencriptado. Cualquier fichero encriptado podría ser un cripto, o muchisimos criptos (esto ayuda a que no sean detectados al surcar la malla).
También se envuelve dentro del cifrado datos a modo de ruido para variar su "peso", y que no se pueda reconocer que es un cripto o multiplos de cripto solo por el peso del paquete (misma cantidad de criptos, generaría un fichero del mismo peso cifrados de la misma manera si no hubiese aleatoriedad). 

En sí mismo no tiene valor, no representa una riqueza ni es un trabajo laborioso crearlo que nos permita establecerle al cripto un valor. Todo lo contrario, es un diseño público (un ingenioso trabajo de programación) y cualquier podría crear criptos si estuviese dispuesto a devaluar el cripto y que no valiese nada.
Alguien podría plantear que no es moneda real, ya que su valor no se respalda en nada mas que en el consenso que sus usarios alcancen (lo que estén dispuestos a pagar por un cripto, el valor que se le reconoce) pero como el crédito también es moneda fiduciaria (basada en deuda, no moneda mercancia, basada en algún material escaso y preciado, como el oro o el agua), eso de que "no es moneda real por que no se sostiene en riqueza real" es bastante discutible :-) ya que ¿ninguna? moneda del sistema solar lo és, y así ha sido desde la vieja Tierra :-)

El valor del cripto es 1 crédito. Al menos teóricamente. Con 100 créditos podrías comprar 100 criptos, y 100 criptos te darían 100 créditos... si no se cobrase históricamente una tasa del 10% en cada cambio (por 100 créditos recibes 90 criptos, y si los cambias a créditos recibes 81). Hay cambistas que pueden ofrecer cambios mas o menos favorables según si están aprovisionando criptos y quieren pagar mas por ellos, prefieren liquidez legal, etc.

Como vemos, el cripto es una moneda con un tipo de cambio asimétrico, que da relativa facilidad para entrar en ella, (0,9, 10% de pérdida) pero a la hora de abandonar la divisa requiere ser blanqueada y el tipo de cambio efectivo se ve afectado (0,8, 20% pérdida). Es evidente que esta "tasa de salida" se mantiene así por el dominio que los cárteles mantiene sobre los criptos, y el riesgo que se corre al blanquear los criptos. Vemos que es una moneda con demanda y mucha utilidad (anonimato), pero que su uso acaba mermando el poder adquisitivo si se pretende blanquear. Los cárteles están encantados con este modelo,que puede darles 20 créditos de beneficio por cada 100 que cambien, y no es para menos desde cierto punto de vista, ya que si se opera en ciertas legislaciones, estas actividades van a ser perseguidas como núcleo del mundo criminal.


Falsificar criptos

En teoría es posible crear criptos offline sin introducirlos a la malla y pagar con ellos en un dispositivo habiendo generado dinero de la nada y sin que la red sepa que existen, pero no es la forma normal de trabajar en la red de cripto-creds, y cuando esos criptos llegasen a la malla antes o después acabarían por devaluar la moneda. Esto es lo que se conoce como un cripto falsificado, una jugarreta a tu cobrador entregándole criptos que no salen del circuito normal. Es práctica habitual entre los cobradores comprobar si los criptos "son buenos" desencriptandoles (si no la red no les reconoce) y poniendoles en un billetero para ver como reacciona la red. 

Cosa diferente es, en vez de crear un cripto nuevo offline, copiar uno que ya existe (a fín de cuentas son objetos digitales) que es lo que se conoce como un cripto duplicado. Un cripto falsificado es un datagrama que no está reconocido por la red, la red no sabe que está en circulación. Un cripto duplicado es un cripto que se ha copiado para tener dos o más. Un cripto nulo es ambas cosas, una copia de una falsificación.

Cuando un billetero detecta criptos iguales (encriptados o no), borra todas las copias menos una, pero esta es una medida de protección bastante inutil, ya que las copias se habrán usado para pagar de forma repartida, no entregando copias al mismo cobrador, por lo que los criptos duplicados estarán repartidos en diferentes billeteros, sin detectarse como duplicados, y lo único que la economía cripto puede hacer es confiar en que la red elimine de la circulación moneda como ya vimos para contener la devaluación, lo cual precisamente podría ser un muy sencillo ataque para reducir el stock de moneda. Afortunadamente la red también reacciona a esto, con mayor o menor éxito, aprendiendo a cuando ignorar esto por tratarse de un ataque a la divisa.
Hay en desarrollo proyectos de los criptoanarquistas para dotar a la red cripto con algoritmos precog que permitan vaticinar  estos ataques preveyendolos en lugar de reaccionar a ellos.


Pagar con criptos

Esto se logra por que los criptos trabajan de forma distribuida sobre la propia malla, sobre el hardware que está "en la red de los cripto-creds". Si un hábitat tiene 2000 transhumanos, quizás 20 estén activos en la red de criptos (es el problema de los criptos, que requiere un volumen de usuarios para ser efectivo, aunque es posible e incluso normal que un usuario de criptos disponga de mas de una cuenta, con lo que el número de usuarios aumenta), y lo que los criptos hacen es lo siguiente;

Cada billetero de criptos (una cuenta, no un sujeto) tiene 2 claves, una privada y una publica (relacionadas entre sí). La pública se usa para encriptar datagramas por si alguien accediese a ellos (solo podrían ser desencriptados mediante la clave privada). La privada puede ser la misma, o no, que la de acceso al billetero. Finalmente en cada transacción (o incluso en cada subtransacción dentro de la misma transacción si se quiere mas seguridad) se genera otro par de claves temporales como luego veremos.  

Las cuentas generan cuentas temporales, de tal forma que para cobrar, nadie expone su cuenta, si no que en el momento, genera múltiples cuentas temporales y dice "págame en estas cuentas (para tal fecha)". El pagador entonces ordena el pago a su vez generando multiples cuentas temporales desde las que se paga a las destinatarias, pero no necesariamente al momento, si no que el pagador puede definir un "para cuando estará pagado" (o definir su propio pago de forma precisa) y el billetero va enviando criptos en el tiempo desde las cuentas creadas a las cuentas de destino, como un goteo, y va destruyendo las cuentas temporales a madida que han hecho sus envíos.

Cuanta mas gente sea parte de la red, mas opciones habrá de enrutar los paquetes, cada uno de una forma distinta, para que lleguen desde el origen hasta el destino, pudiendo repetir nodos por los que ya ha pasado, tardar diferente cantidad de tiempo en salir de cada nodo (retardo), y además la propia red envía siempre desde los billeteros paquetes cifrados (no se puede saber si son criptos) para "hacer ruido".
14 nodos. 108 posibles rutas sin repetir nodo y asumiendo que haya 4 saltos.

Entonces los criptos viajan por la malla, por la red de criptos hasta llegar a destino, donde las cuentas temporales también se destruyen. El emisor sabe las cuentas temporales a las que ha enviado, pero realmente no sabe que cuenta está detras de ellas, no sabe a quien de esos hipotéticos 20 usuarios de criptos de nuestro hábitat está pagando, y el receptor tampoco.
En el viaje hasta su destino, los criptos pueden ser interceptados, y si asumimos que lo que hemos interceptado es un cripto o fracción dé, es evidente que en ese momento se estaba produciendo un pago, ya que tenemos parte de él, pero ¿a que fecha debía estar completo el pago? ¿de cuando es esa transferencia? No podemos tener mas que el dato de que en este momento se estaba produciendo una transacción, pero no existe una fecha como tal en la cual se realizó la transacción. No podemos saber que eso interceptado es la totalidad de un pago realizado en ese momento concreto.
Los propios billeteros no almacenan la información de quien les envia criptos ni cuando, limitándose a recoger un balance de criptos en propiedad. Si un billetero fuese comprometido, no aporta información sobre la red.

Los propios billeteros generan pagos fantasma de forma (enfatizadamente) aleatoria. Van mal cifrados, de forma que el receptor no cobra realmente el dinero al no poder autenticarlo, de forma que incluso si pudiesemos saber que se están movimiento pagos, no tenemos ni el dato de que esté habiendo pagos, ya que podrían ser señuelos y/o pagos reales. Como los billeteros no almacenan un histórico de pagos salientes ni entrantes, esto no es percibido por los usuarios mas que a tiempo real.


Naturalmente, siempre existe la opción de estar recibiendo un pago, o haberlo recibido, y no cumplir tu parte del acuerdo, como con cualquier moneda. Solicitar un pagos muy diferidos en el tiempo suele ser visto con desconfianza mas que como seguridad, ya que en una red anónima en la que no puedan lanzarte represalias, la sombra de que vayas recogiendo parte del dinero y desaparezcas es demasiado real. Negociar un pago por adelantado es igualmente escabroso por esto mismo, por lo que un 50/50 suele ser habitual.

Para anonimizar los pagos, se aplica el principio básico de criptografía asimétrica, pero introduciendo mas billeteros en el proceso para formar un anillo de firmas.

Quien recibe, expone de alguna manera las direcciones temporales a las que se debe envíar (hay servidores seguros donde es habitual que los miembros de la comunidad tengan acceso, y puede publicarse la información temporalmente allí) una clave pública temporal, y el momento al cual debe estar completada la transferencia. En breve esta información es borrada.

Quien envía, tendrá en su billetero criptos (datagramas encriptados), los desencripta volviendo a convertirlos en datagramas, y los cifra de nuevo con la clave pública suministrada, pero el billetero automáticamente toma otros billeteros que también suministran automaticamente al billetero claves públicas temporales, usando propiedades matemáticas que garantizan que cualquiera de esas claves públicas será reconocida como clave pública del cifrado.

Esto es importante para el anonimato del cripto ya que incluso si tuviesemos esa clave pública temporal y la probasemos contra el cripto, solo podemos saber que ese billetero podría ser el emisor de la transferencia, pero podrían serlo también un número variable de billeteros, no es una certeza. (Si probamos el resto de claves señuelo, también podrían ser el firmante original, nuevamente sin certezas). E incluso sabiendo que una de esas N firmas ha sido la firmante real ¿que hacer a continuación? ¿que billetero hay tras las direcciones temporales del envio? ¿Y que identidad tras ese billetero? A efectos de quien recibe la transferencia, no puede saber quien le paga,los pagos no se reciben en clave de "Juanjo me ha pagado ya" si no "este pago se ha completado, digo yo que será Juanjo". Es habitual que existan en paralelo conversaciones seguras (vpn o similar) en las que las partes hablan, mientras los criptos se mueven por su propio ecosistema. La red de criptocreds no da soluciones integrales para comunicarse, solo para transferir criptos.

Cuando se recibe el cripto, el billetero automáticamente lo desencripta usando la clave privada temporal asociada a la pública que transmitio, y obtiene los datagramas, que automaticamente el billetero nuevamente encripta con su clave pública general por si alguien accediese a su billetero (necesitaría su clave privada general para desencriptarlos).


Billeteros no oficiales

Han surgido algunos billeteros derivados del protocolo formal de los criptos (forks, en la jerga de los programadores), que permiten si se desea, mantener un histórico de sus transacciones hacia y desde las direcciones temporales, algo que no sirve de mucho, pero mientras la transferencia está en curso, puede ser prueba de que la transacción se está realizando.
Solo durante ella, ya que luego un billetero sin histórico no será capaz de saber que esas direcciones estuvieron asociadas a él, y por tanto no se le prueba nada si no tiene histórico (salvo que el usuario recuerde las direcciones temporales de cada pago para poder revisar que el pago se le hizo).
Y si ambos billeteros mantienen histórico, eso es una pequeña falla de seguridad, en tanto teniendo ambos históricos, se tendría a la vista el pago entre ellos. Estos billeteros si que tienen la constancia de pagos incorrectos no cobrados ni pagados fruto de los billeteros enviando señuelos.

Por contra, los históricos permiten compartir, mediante otras 2 claves asimétricas (pública y privada) tu "calendario de pagos", todo tu historial, solo pasados, solo futuros, solo el referente a algún pago, o lo que quieras.
Sirve como "historial de crédito" para ver que pagaste (salvando el hecho de que no se puede saber las direcciones temporales a las que pagaste a quien pertenecían), informar de como estás pagando, y el motivo de que esto surgiese, poder tener un control de cuanto enviaste o recibiste tal día, en vez de simplemente tener tu capital actual sin saber lo que ha salido y entrado.

Son datos facilmente falsificables (por que los billeteros no guardan ningún control sobre esas direcciones temporales desechadas, simplemente es texto apuntado en tu billetero) que se envían encriptados para que solo quien quieras los vea. Muchos usan estos billeteros, pero no son parte del diseño de los criptocréditos como fueron planteados. 

Naturalmente, las autoridades se sabe que liberan billeteros con puertas traseras y troyanos para ganar acceso a la red, pero como los billeteros deben ser de código abierto para tener alguna consideración, cientos o miles de programadores revisando las diferentes aleternativas garantizan que estas farsas se descubran. También se infiltra hardware en la red que bloquea el trafico o lo analiza, lo cual es detectado por los algoritmos de la red y esto causa reconfiguraciones en el enrutamiento de la red, y alertas. Los propios billeteros son ilegales, intentando las autoridades perseguir el hardware que posee instalados billeteros, pero siendo facil utilizar p.ej ectos desechables, siendo paquetes encriptados cuyo contenido no puede conocerse, y estando la población educada en la cultura de la seguridad, hackear dispositivos buscando lo que tengan instalado es una tarea que las autoridades no logran abordar con éxito.


No hay comentarios:

Publicar un comentario