de Rogelio Segovia, Desperado Theory Blog, 10/08/2015
Contrato de moneda básica
El creador del contrato hace de Banco Central y emite toda la moneda que va a existir. Puede transferir esa cantidad, por ejemplo, al gobierno de esa comunidad, o, por ejemplo, distribuirlo entre todos los miembros.
La gran diferencia con las cripto-monedas de primera generación (bitcoin, faircoin) es que esa cantidad no hay que minarla como monedas. Basta declararla. Se minaran las transacciones y sus cambios a la cadena de bloques.
Un pago se dispara con un mensaje al contrato en la cadena de bloques. El mensaje incluye la cuenta del remitente, la cuenta del destinatario de la transferencia, y la cantidad a pagar. Si el remitente tiene saldo suficiente, su saldo tiene un decremento por el importe del pago, y el del destinatario tiene un incremento igual.
Contrato de moneda con linea de crédito sin reserva
- Tiene el saldo de cada cuenta, que puede ser negativo.
- Tiene el acumulado de la reputación de cada cuenta en emitir créditos exitosos. La reputación no se puede transferir, solo ganar. Solo el creador del contrato puede transferir reputación por criterios externos al mecanismo de la moneda.
- Tiene los parámetros necesarios para manejar los créditos, como son el monto del crédito, su fecha de caducidad, el coste en reputación al prestamista, y la cuenta del prestamista.
El crédito se diseña como una linea de crédito (como una tarjeta de crédito) y no como un deposito (como un crédito bancario). El prestatario, cuando pague, puede llegar a saldos negativos hasta el limite de la linea de crédito.
Un pago se dispara con un mensaje al contrato en la cadena de bloques. El mensaje incluye la cuenta del remitente, la cuenta del destinatario de la transferencia, y la cantidad a pagar. Si el remitente tiene saldo suficiente, contando su saldo, el limite de la linea de crédito mas la cantidad “lets”, su saldo tiene un decremento por el importe del pago, y el del destinatario tiene un incremento igual.
Como decimos, el criterio para saber si se ha pagado el crédito es que el saldo de la cuenta es positivo.
- En ese momento se anula la linea de crédito y su fecha se lleva a 0. A partir de entonces la cuenta no puede caer en saldos negativos.
- Se le restituye al prestamista todo su coste en reputación, aumentado por el factor de premio.
La autorización de un crédito se dispara con un mensaje al contrato en la cadena de bloques. El mensaje incluye la cuenta del remitente, la cuenta del destinatario del crédito, el monto del crédito y el tiempo para devolverlo.
- No se puede cancelar el contrato antes de tiempo. Aunque el saldo sea positivo la linea de crédito sigue activa.
- No se pueden tener dos lineas de crédito simultaneas. La existencia de una linea de crédito bloquea la concesión de otra.
- No se pueden programar pagos, es decir una linea de crédito con escalones decrecientes programables.
- Lo primero es calcular el coste del crédito en reputación del prestamista. Hemos utilizado el área total de la masa monetaria incrementada incluyendo la dimensión temporal. Es decir el monto por el tiempo. Otros diseños pueden usar otros algoritmos.
- Luego hay que ver si el prestamista tiene ganada reputación suficiente, añadiendo la reputación que se le supone a cada cuenta por defecto, para autorizar un crédito de tal calibre.
- Si es así, se le aparta de momento al prestamista el coste en reputación, hasta que el crédito se devuelva con éxito.
- Finalmente, se le rellenan a la cuenta del prestatario todos los parámetros del crédito.