Documentaci贸n de la Capa de Contabilidad (Settlement Layer- SL) Cardano. Perspectiva general de Cardano. Diferencias entre el documento del Protocolo de Ouroborous y su aplicaci贸n. Traducci贸n al espa帽ol 馃嚜馃嚫

Ver Documento Original aqu铆.

Diferencias entre el documento del Protocolo de Ouroboros y su aplicaci贸n

El objetivo de este documento es esbozar las formas en que la implementaci贸n de Cardano SL difiere de las especificaciones presentadas en el documento de protocolo de Ouroboros y aclarar cualquier cuesti贸n pendiente despu茅s de leer el documento.

El presente documento se divide en cuatro partes:

  1. Aclaraciones - aclara todos los detalles que no se especifican en el documento, pero que son importantes para las implementaciones pr谩cticas.
  2. Modificaciones - describe los elementos que se especifican en el documento, pero que se implementan de forma diferente en Cardano SL.
  3. Caracter铆sticas a帽adidas - describe brevemente las nuevas caracter铆sticas que no se describen en el documento, pero que han sido implementadas en Cardano SL.
  4. Omisiones - lista los temas descritos en el documento pero que a煤n no han sido implementados en Cardano SL.

Aclaraciones

Esta secci贸n describe los temas que requieren aclaraciones.

Hora, franjas horarias y sincronizaci贸n

En un modelo b谩sico del protocolo el tiempo se divide en unidades discretas llamadas franjas (slots). Sin embargo, no hay detalles sobre c贸mo obtener el valor de tiempo actual de forma segura y con la suficiente precisi贸n.

En Cardano SL, el valor de tiempo actual se obtiene a partir del valor de tiempo del sistema inform谩tico del usuario.

Tambi茅n tenemos una funci贸n para notificar a los usuarios si la hora de su sistema es incorrecta (la comparamos con el valor de tiempo que se obtiene de los servidores NTP). Esta caracter铆stica est谩 planeada para una versi贸n futura.

Lanzamiento de Monedas y Compartir Secreto Verificable

El documento sugiere el esquema PVSS (Publicly Verifiable Secret Sharing) de Schoenmakers para Cardano SL. Sin embargo, actualmente Cardano SL utiliza 鈥SCRAPE: Esquema PVSS "Scalable Randomness Attested by Public Entities鈥 (Aleatoriedad Escalable Atestiguada por Entidades P煤blicas).

Uno de los retos al utilizar un esquema VSS (Verifiable Secret Sharing) es asociar la clave p煤blica utilizada para la firma con la clave p煤blica utilizada para el esquema VSS (VssPublicKey). Esto se resuelve introduciendo VssCertificates. Este certificado es una firma dada por una clave de firma para un par formado por VssPublicKey y la 茅poca hasta la cual este certificado es v谩lido. Inicialmente, todas las partes interesadas con suficiente inter茅s para participar en la generaci贸n de aleatoriedad poseen certificados. Cuando aparece una nueva parte interesada con suficiente inter茅s, o cuando expira un certificado existente, se debe generar un nuevo certificado y enviarlo a la red. Los certificados VssCertificates se almacenan en bloques.

El esquema PVSS utiliza informaci贸n de verificaci贸n de acciones que tambi茅n incluye un compromiso con el secreto. Tambi茅n se utiliza como un compromiso en el protocolo. El esquema PVSS se ha implementado sobre la curva el铆ptica secp256r1. Por favor, consulte la implementaci贸n de PVSS en Cardano SL para m谩s detalles.

Tiempo de generaci贸n de bloques

En el documento, no indican expl铆citamente cu谩ndo un l铆der de franja (slot) debe generar un nuevo bloque y enviarlo a la red: se puede hacer al principio de una franja, al final de una franja, en el centro de una franja, etc. En Cardano SL existe una constante especial llamada 鈥渄i谩metro de red鈥 que se aproxima al tiempo m谩ximo necesario para emitir un bloque a todos los nodos de la red. Por ejemplo, si el di谩metro de la red es 3, el bloque se genera y se anuncia 3 segundos antes del final de una franja.

Delegaci贸n de participaci贸n (stake)

El esquema de delegaci贸n, tal como se describe en el documento, no indica expl铆citamente si los certificados de firma por poderes deben almacenarse dentro de la cadena de bloques (blockchain) (aunque se sugiere almacenar la lista de revocaci贸n en la cadena de bloques). Sin almacenar certificados de firma proxy en la cadena de bloques, apenas es posible considerar la participaci贸n delegada en la comprobaci贸n del umbral de elegibilidad. Por otro lado, si todos los certificados se almacenan en la cadena de bloques, puede conducir a una hinchaz贸n de la cadena de bloques cuando una gran parte de los bloques estar谩n ocupados por certificados proxy. El env铆o de un certificado es gratuito, por lo que los adversarios pueden generar tantos certificados como deseen.

Hay dos tipos de delegaci贸n en Cardano SL: de peso pesado y ligero. Hay un umbral en juego que hay que tener en cuenta para participar en la delegaci贸n de peso pesado. Los certificados de firma de proxy de la delegaci贸n de peso pesado se almacenan dentro de la cadena de bloques. Por el contrario, la delegaci贸n de peso ligero est谩 disponible para todo el mundo, pero los certificados no se almacenan en la cadena de bloques y no se tienen en cuenta al comprobar el umbral de elegibilidad. Como se sugiere en el documento, se utiliza un sistema de delegaci贸n por poderes.

Por favor, lea acerca de la Delegaci贸n de participaci贸n en Cardano SL para obtener m谩s detalles sobre la implementaci贸n.

Modificaciones

Proceso de selecci贸n de l铆deres

En el documento, el Proceso de Selecci贸n de L铆deres se describe como voltear una (1 - p鈧)鈥 (1 - p獗尖倠鈧) p獗- moneda segada para ver si la p獗 parte interesada (stake holder) es seleccionada como el l铆der de la franja dada. Aqu铆 p獗 es la probabilidad de seleccionar 獗 parte interesada.

En Cardano SL, se implementa de una manera ligeramente diferente. Se generan n煤meros aleatorios R en un rango [0鈥 totalMonedas], donde R es un n煤mero de franja en una 茅poca. Los grupos de inter茅s ocupan diferentes subsegmentos de esta gama, proporcionales a sus participaciones. De esta manera, cada n煤mero aleatorio se mapea en partes interesadas. Adem谩s, como sugiere el documento, se utiliza una semilla corta (short seed) (32 bits) para inicializar PRG en lugar de usar n 鈱坙og 位鈱 bits aleatorios.

Por favor, lea acerca de Selecci贸n de L铆der en Cardano SL para m谩s detalles sobre la implementaci贸n.

Compromisos, aperturas, env铆o de acciones

El tiempo de env铆o se asigna al azar dentro de un peque帽o intervalo. Se hace para evitar la sobrecarga de la red cuando todos los participantes en el lanzamiento de monedas env铆an sus datos al mismo tiempo. Este intervalo se elige para que sea lo suficientemente peque帽o como para que el protocolo permanezca seguro. Si estos datos se env铆an demasiado tarde y hay muchos adversarios que lideran las 煤ltimas franjas horarias de una determinada fase, puede ocurrir que los datos no se incluyan en el bloque.

Multipartes

En el documento, cada parte interesada se presenta como exactamente un participante del esquema VSS subyacente. Sin embargo, es natural que una parte interesada con m谩s inter茅s sea m谩s importante que una parte interesada con menos inter茅s con respecto al intercambio de secretos. Por ejemplo, si tres partes interesadas honestas controlan el 60% de la participaci贸n en total (cada una de ellas controla el 20%) y hay 40 partes interesadas adversarias que tienen cada una el 1% de la participaci贸n, entonces el adversario tiene control total sobre el intercambio de secretos.
Para superar este problema, se genera un n煤mero de acciones por cada accionista proporcional a su participaci贸n en Cardano SL.

Falla en la generaci贸n de aleatoriedad

El documento no cubre la situaci贸n en la que no pueden recuperarse los compromisos. Sin embargo, una aplicaci贸n pr谩ctica deber铆a tener en cuenta estas hip贸tesis. La implementaci贸n de Cardano SL utiliza una semilla que consiste en todos los ceros si no hay compromisos que puedan ser recuperados.

Caracter铆sticas a帽adidas

Sistema de actualizaci贸n

Ver el art铆culo sobre el sistema de actualizaci贸n.

Seguridad de P2P

Ver el art铆culo sobre implementaci贸n y endurecimiento de P2P.

Omisiones

Todav铆a no se han implementado las secciones sobre Endosos de Insumos y Estructura de Incentivos. Estas secciones se implementar谩n junto con la investigaci贸n pendiente sobre las cadenas laterales (sidechains) y se publicar谩n en la versi贸n de cadenas laterales.

1 Like