Cómo funciona la red de confianza

Duniter es un software que permite la creación de una moneda libre como se describe en la TRM (Teoría Relativa de la Moneda). Esta teoría implica que las unidades monetarias son coproducidas por cada uno de los miembros de una comunidad determinada. Por lo tanto, es esencial que los miembros de la comunidad sean identificados y re(conocidos).

En un mundo sin gente deshonesta, una simple declaración de identidad podría ser suficiente para convertirse en miembro (y así coproducir unidades monetarias). Pero en nuestro mundo, cuando se trata de dinero, casos de engaño son susceptibles de aparecer.

En realidad, es tentador registrarse con muchas identidades y así producir un extra de unidades monetarias para su propio beneficio. Esto es aún más cierto cuando hablamos de identidades digitales y cuando es fácil crear tantas como queramos. En teoría de sistema de identificación única a tal cosa un “ataque Sybil” (en recuerdo a un popular libro). Hay que asegurarse de que los miembros solo disponen de una única identidad digital.

¿En quién confiar?

¿Cómo asegurarse de que los miembros poseen una sola identidad digital? ¿Qué organización es necesaria?

Hay dos tipos de organización posible: las organizaciones mediante un tercero de confianza, y las organizaciones autorreguladas.

Para ilustrar la organización mediante un tercero de confianza, tomemos el ejemplo del censo de población. Se trata de la administración del Estado quien “crea” las identidades y las registra en diferentes archivos (las llamadas bases de datos) del Estado. Estos funcionarios actúan como “terceros de confianza” en nombre del Estado. Los medios de control utilizados pueden ser documentos administrativos (certificado de nacimiento, prueba de domicilio, …). Estos medios están lejos de ser infalibles ya que es trivial crear documentos falsos (y luego obtener papeles reales). Este sistema se basa en el sistema judicial para disuadir comportamientos fraudulentos.

Para ilustrar una organización autorregulada, podemos usar el ejemplo de una cola de espera. Los individuos llegan uno tras otro, y aunque nadie está realmente encantado de esperar su turno, cada uno respeta la regla, que regula una cola; el primero en llegar es el primero que se atiende. Dado que todo el mundo sabe quién llegó antes y quién después, cualquiera puede controlar que no haya trampas. Violar estas reglas nos expone a una fuerte desaprobación social, y a una exclusión de la cola.

Red de confianza

Duniter hace la elección de un sistema autorregulado por sus propios miembros.

No olvidemos el objetivo que es asegurar que los individuos sólo puedan registrarse con una sola identidad digital.

El sistema distingue dos tipos de identidades digitales: las identidades de los miembros y las identidades de los no miembros. Sólo las identidades de los miembros son coproductores de moneda.

Cualquier ser humano que ya sea miembro está en condiciones, gracias a un documento digital firmado, de certificar otras identidades (miembros y no miembros). Esto equivale a emitir certificados de autenticidad.

Estos certificados, dados de unos a otros, forman una malla llamada “red de confianza”. Esta red de confianza es utilizada por Duniter para determinar quién es miembro y quién no.


La red global de confianza de la moneda de prueba Meta Brozouf en junio de 2015

Reglas de funcionamiento de la red de confianza

Las reglas que rigen la red de confianza de una moneda Duniter se parametrizan cuando la moneda es creada (inicializada) por sus fundadores, y no pueden ser modificadas más tarde. Por lo tanto, es importante prestar especial atención a estos parámetros.

La autodeclaración de una identidad digital

Un individuo que desea convertirse en miembro de una comunidad tiene que emitir su identidad digital.

En Duniter, una identidad digital se compone de :

  • una clave criptográfica privada, conocida sólo por el individuo y no difundida a la red, se utiliza para firmar documentos digitales.
  • una clave criptográfica pública, conocida por cualquiera, se utiliza para comprobar que un documento ha sido firmado por la clave privada del individuo.
  • un seudónimo.

La autodeclaración de identidad por sí misma no es suficiente para convertirse en miembro, sino que es el primer paso del proceso.

Como cualquier tarjeta de identidad, tiene una fecha de caducidad. Si no se renueva regularmente, se convierte en inválida.

En una moneda creado con Duniter, la duración máxima de la validez de la identidad de un miembro se configura con los parámetros msValidity (Membership expiry Delay)

Certificaciones

Para hacerse miembro, una persona debe reunir un número determinado de certificaciones de los miembros existentes. Estas certificaciones tienen una fecha de caducidad. Para mantener la condición de miembro, su identidad digital debe ser continuamente(cada 2 años) renovada por miembros.

Ejemplo del primer miembro en el estado español(sevilla)

En este mapa podŕas ver en vivo las relaciones de toda la Red de Confianza.

El número de certificaciones necesarias para convertirse en miembro está configurado por el parámetro sigQty (Min Required Certs), en la Ğ1 este número siempre será 5(no se puede cambiar). La esperanza de vida de una certificación se configura con el parámetro sigValidity (Cert Expiry Delay), en la Ğ1 es 2 años.

La regla de la distancia de los 5 pasos

Se aplican reglas complementarias para garantizar la seguridad de la red de confianza contra un grupo de atacantes.

Protecciones anti-Sybil

Un grupo de miembros podría asociarse para crear identidades falsas y certificarlas para que se conviertan en miembros. Más aún, podrían usar estos miembros falsos para certificar nuevas identidades falsas, creando así un gran número de miembros ilegítimos.

image

Red Sybil

Para prevenir este ataque, Duniter se asegura de que los miembros estén lo suficientemente cerca unos de otros en la red de confianza. En el ejemplo siguiente, el miembro C está a dos pasos de A.

image
2 pasos

Cuando un individuo es susceptible de convertirse en miembro (es decir, ha obtenido suficientes certificaciones), Duniter ejecuta el siguiente procotolo de verificación:

  • Los miembros que han expedido y recibido suficientes certificaciones se utilizan como “puntos de control” (miembros referentes/referidos). (actualmente en junio de 2021 se necesita haber recibido y emitido al menos 6 certificaciones, hasta que se llegue a los 7777 miembros). El número de certificaciones a emitir y recibir depende del número de miembros actuales. N es el número de miembros, Y(N) es el número de certificaciones a emitir y también recibir para que el miembro sea considerado “referente/referido”.

Para que una identidad se convierta en miembro, debe haber un camino de stepMax pasos para al menos una cantidad del xpercent % de miembros referentes/referidos a la identidad en cuestión.

En el caso de la moneda Ğ1 stepMax = 5 y xpercent = 0.8 (80%) . Es decir, siempre ha de haber un camino de 5 pasos hasta el 80% de los miembros referentes/referidos.

Y (N) = REDONDEO.SUPERIOR (N^ (1 / stepMax) )

Para la G1 que tiene stepMax = 5

N REDONDEO(N^(1/stepMax)) = Y(N)
1 REDONDEO(1^1/5) = 1
2 REDONDEO(2^0.2) = 2
33 REDONDEO(33^0.2) = 3
244 REDONDEO(244^0.2) = 4
1025 REDONDEO(1025^0.2) = 5
3126 REDONDEO(3126^0.2) = 6
7777 REDONDEO(7777^(0.2)) = 7

Limitando los poderes

Para protegerse contra la creación masiva de miembros Sybil, se les da un stock limitado de firmas. Este stock disminuye cuando el miembro emite certificaciones, y se llena a medida que las certificaciones expiran.

El stock de certificaciones se configura con el parámetro sigstock (Max cert stock), en la Ğ1 son 100 certificaciones activas máximo.

Además, para detener un eventual ataque, Duniter no permite a un miembro emitir muchas certificaciones simultáneamente. Duniter las maneja una por una y aplica una pausa entre cada procesamiento.

Este período se configura con el parámetro sigPeriod (Retraso entre dos certificaciones aplicadas), establecido como 5 días para la red Ğ1 y 1 día en la red Ğtest.

Vencimiento de las certificaciones en curso

Se destruye un certificado que no ha sido usado/tratado en un tiempo determinado. Este periodo de vencimiento se configura con el parámetro sigWindow (Cert Time Window), establecido como 2 meses para la red Ğ1 y 12 días en la red Ğtest.

Hay un parámetro similar que se utiliza cuando se registran nuevos miembros:

Como vimos anteriormente, para convertirse en miembro, un individuo debe : • publicar su declaración de identidad (emitir la candidatura a miembro) • recoger un número suficiente de certificaciones • respetar la regla de los pasos

Estos tres pasos deben realizarse en una ventana de tiempo configurada por idtyWindow, que también es de 2 meses para la red Ğ1.

Resumiendo:

Como miembro puedo enviar varias certificaciones al mismo tiempo, pero la blockchain de Duniter aplica una pausa de 5 días (sigPeriod) entre cada una.

Si una certificación a una candidatura en espera no se trata/usa antes de 2 meses (sigWindow), esta es cancelada.

Si una candidatura no es aceptada durante idtyWindow (2 meses), se deberá volver a solicitar de nuevo y pedir nuevas certificaciones.

Por eso se recomienda a los candidatos a miembro a pedir certificaciones de más de 5 miembros (para asegurarse más probabilidad de éxito en la candidatura). Para los miembros que van a certificar, se recomienda esperar hasta que el candidato ya tiene al menos 4 promesas de certificaciones de otros miembros.


image

Resumen del artículo original (en / fr)

3 Me gusta