La informacion en los bloques

En los bloques, aparte de la informacion relativa al bloque, se almacenan todas las operaciones que involucren un movimiento de monedas y hayan sido realizadas desde la emision del ultimo bloque. 

Transferencia entre direcciones.

Lo mas comun es el envio directo de monedas desde una direccion a otra. Esto se llama transferencia, y debe incluir la siguiente informacion:

  • El timestamp en que se realiza la operacion.
  • La clave publica de quien realiza el envio. Ya que la direccion se obtiene a partir de la clave publica, enviar esta en lugar de la direccion hace mas eficiente el proceso de verificacion de la operacion.
  • La direccion que recibira las monedas.
  • El monto de monedas disponible en la direccion que envia antes de realizar la transferencia. Esto evita las posibilidades de doble gasto.
  • El monto que desea transferir.
  • El concepto, si el remitente desea incluir alguno.
  • La firma con la clave privada que autentifica la operacion.
  • Finalmente, el identificador (ID) de la transferencia. Este se obtiene mediante un proceso de hash de los datos anteriores, y cumple cierto formato conocido que facilitara despues su acceso.
Hay sin embargo situaciones en las que una transferencia no es suficiente para completar una orden de envio. Pongamos que en su cartera, una direccion posee 100 monedas y otra 150, pero desea enviar 200 a una sola direccion. Es por esto que la informacion se guarda en Ordenes dentro de los bloques.

Una orden es una operacion dentro de la red que puede contener una o mas transferencias hacia el mismo destinatario. La orden recopila los datos de todas las transferencias de monedas que contiene. Asi, en el ejemplo anterior, una orden contendria los datos de ambas transferencias simultaneamente, generando un identificador unico que tanto remitente como receptor pueden consultar facilmente. Mientras que cada transferencia genera su propio ID, el ID de una orden engloba a todas las transferencias que la componen y posee tambien su formato distintivo.

Pero aparte de las transferencias, tambien hay otras ordenes dentro de la red Paskal que involucraran movimientos de monedas.

Personalizar direcciones.

El propietario de una direccion puede personalizarla para asociarla con un texto legible. Supongamos que la empresa 'Autopartes Confiables' desea asociar una direccion especifica a su nombre. En estos casos, puede crear un 'alias', esto es, que una direccion cualquiera de su cartera sera tambien reconocible por toda la red con el nombre que quiera darte. En nuestro ejemplo, supongamos que eligen el alias 'AutoCon' para la direccion P400BC0E068D8D549849EA7C501F4C6DD44.

Una vez la personalizacion es incluida en la cadena de bloques, cualquier transferencia posterior que tenga como receptor a 'AutoCon' sera acreditado a la direccion anterior. Desde luego, aun ser podran realizar envios a la direccion usando el formato estandard. Empresas o profesionales tendran asi una forma de enviar sus datos de cobro que pueda facilmente asociarse a ellos. La personalizacion de direcciones tendra lo siguiente en cuenta:
  • Los alias seran insensibles a mayusculas: AutoCon y AUTOCON seran lo mismo.
  • No pueden existir alias repetidos en la red.
  • Los alias no podran contener espacios en blanco (como las direcciones de correo electronico)
  • Un alias no podra ser una direccion Paskal valida.
  • Los alias no pueden cambiarse; una vez una direccion tiene un alias, este sera para siempre.
  • Solo se podran personalizar las direcciones que ya tengan un saldo suficiente para pagar ellas mismas la solicitud.
  • Por contra, a las direcciones que tengan un alias asociado, se les descontara el doble de comision por transferencia recibida; esto debido a que la utilizacion del alias aumenta el requerimiento de calculo que los usuarios de la red deben usar para autentificar dichas transferencias. (El doble de comision sera cobrado solo cuando el alias se use como destinatario; si la transferencia es con destino a la direccion paskal, la comision sera normal)

Comisiones por inactividad.

En la red bitcoin hay muchas monedas que por diversas razones se consideran perdidas. (Puede leer una nota sobre esto aqui) La inmensa mayoria de ellas estan en lo que denomina 'direcciones zombies', que son aquellas direcciones que no se han movido en años, en la mayor parte de los casos por que los usuarios perdieron las claves privadas y no pueden acceder a ese dinero. Mantener esta informacion tiene un elevado costo computacional para preservar una informacion que (seguramente) nunca sera usada y, ademas, disminuye el total de monedas circulante. Como comentamos con anterioridad, diseñar una criptomoneda significa pensar a largo plazo, mas aun con esta situacion que ya hemos visto que es un problema (la perdida de claves privadas sobre todo) inevitable.

Una manera de mitigar esto es descontar una tarifa a las direcciones inactivas; esto, a pesar de ser polemico ya que implica una especie de 'comision de mantemiento' a cada direccion, tiene muchas ventajas:
  • Minimiza hasta eliminar a largo plazo las direcciones zombies.
  • Desincentiva el uso indiscriminado de direcciones, manteniendo la red mas saludable y disminuyendo el consumo de energia.
  • Previene que el sumario de cuentas escale hasta el infinito.
Las comisiones por mantenimiento siempre tendrian como receptor al minero del bloque correspondiente y serian añadidas de ultimas como transacciones sin necesidad de firma por parte del emisor.

Comentarios

Entradas populares de este blog

Funcionamiento interno

Como funciona una criptomoneda?

Año nuevo, nuevo nombre