Restricción de Tokens

Las restricciones de tokens permiten a los creadores de tokens decidir qué cuentas pueden realizar transacciones con el activo.

Esta característica ha sido especialmente diseñada para Ofertas de Tokens de Seguridad (STO). A diferencia de los tokens no regulados que se introdujeron a través de las ICO, los tokens de seguridad son representaciones basadas en blockchain de valor que están sujetas a regulaciones bajo leyes de seguridad, y por lo tanto necesitan una forma de pasar por alto la autonomía de la blockchain.

No todos los tokens de una red estarán sujetos a restricciones de tokens. La característica solo afectará a aquellos a los que el emisor agregue explícitamente la propiedad “restrictable�?Propiedades del Token en el momento de su creación. Esta propiedad aparece desactivada de forma predeterminada, ya que no es deseable para tokens autónomos como la moneda de la red pública.

Note

Un token solo admite la función de restricciones de tokens si la propiedad “restrictable�?se ha establecido en verdadero en el momento de su creación.

Las restricciones de tokens son editables con el tiempo, lo que permite al creador del token controlar quién puede enviar y recibir el token según sea necesario.

Restricción global

Las restricciones globales de tokens son las reglas a nivel de red que determinarán si una cuenta podrá enviar o recibir un determinado token.

Un token puede manejar hasta 20 restricciones globales, siendo este parámetro configurable por red. Una transacción de restricción global de token está compuesta por:

Propiedad

Tipo

Descripción

Token Id

TokenId

Identificador del token afectado. El creador del token debe ser el firmante de esta transacción.

Restriction Key

uint64

Clave de restricción.

Restriction Value

uint64

Valor de restricción.

Restriction Type

uint8

Tipo de restricción a aplicar. Por ejemplo, el valor de restricción debe ser igual (EQ). Ver más detalles en tipos de restricciones.

Solo las cuentas etiquetadas con los identificadores de clave y los valores que cumplan con las condiciones podrán ejecutar transacciones que involucren al token.

Además, el creador del token puede definir restricciones que dependan directamente de restricciones globales establecidas en otro token, conocido como token de referencia. El token de referencia y el token restringido no necesariamente tienen que ser creados por la misma cuenta, lo que permite la delegación de permisos de tokens a un tercero.

Restricción de dirección

Habilitar que las cuentas realicen transacciones con el token es similar al proceso de agregar permisos elevados a un usuario en una red informática de una empresa.

El creador del token puede modificar los permisos de una cuenta enviando una transacción de restricción de token que apunte a la dirección de la cuenta. La transacción de restricción de dirección de token está compuesta por:

Propiedad

Tipo

Descripción

Token Id

TokenId

Identificador del token afectado. El creador del token debe ser el firmante de esta transacción.

Target Address

address

Dirección de la cuenta afectada.

Restriction Key

uint64

Clave de restricción.

Restriction Value

uint64

Valor de restricción.

Si las condiciones coinciden con los valores apropiados establecidos en las restricciones globales, la cuenta podrá realizar transacciones con el token.

De lo contrario, la cuenta deberá solicitar al creador del token que le otorgue permisos elevados o esperar a que se cambien las restricciones globales.

Ejemplos

Verificación de cuentas que pueden comprar activos

../_images/token-restriction.png

Ejemplo de una restricción de token

ComfyClothingCompany crea el token “comfyclothing.shares�? Por razones regulatorias, la empresa desea que solo los participantes que hayan pasado el proceso KYC puedan comprar y realizar transacciones con el activo. Por lo tanto, la empresa agrega la restricción “Can_Buy�?a “comfyclothing.shares�?

Alice, una posible inversora, está interesada en invertir en ComfyClothingCompany, así que pasa el proceso KYC. Una vez que Alice ha sido verificada, la empresa etiqueta la cuenta de Alice con la transacción de restricción de dirección de token “{comfyclothing.shares, Alice, Can_Buy, 1}�?

Ahora, Alice puede comprar “comfyclothing.shares�?y comenzar a realizar transacciones con otras cuentas. Por otro lado, Bob no podrá comprar ni recibir el activo porque no está verificado ni etiquetado correctamente.

Delegar el proceso KYC a una empresa especializada

../_images/token-restriction-delegated.png

Ejemplo de una restricción de token delegada

Siguiendo el ejemplo anterior, ComfyClothingCompany delega el proceso KYC a una empresa especializada en KYC y AML.

El proveedor de KYC registra un token llamado “kyc�?y agrega la restricción global del token “{kyc, Is_Verified, EQ = 1}�?

El proveedor de KYC también define los siguientes niveles de permisos:

Clave

Operador

Valor

Descripción

Is_Verified

EQ

1

El cliente ha emitido un pasaporte válido.

Is_Verified

EQ

2

El cliente ha emitido una prueba válida de dirección y pasaporte.

ComfyClothingCompany decide que solo las cuentas con la restricción “{kyc::Is_Verified, 2}�?deben poder transferir “cc.shares�? Por esta razón, la empresa agrega la restricción global de token “{comfyclothing.shares, kyc::Is_Verified, EQ = 2}�?

El proveedor de KYC encuentra 3 posibles inversores:

  • Alice proporciona un pasaporte válido pero no tiene una prueba de dirección. El proveedor de KYC otorga a la cuenta de Alice la restricción de token “{kyc, Is_Verified, 1}�?

  • Bob proporciona un pasaporte válido y una prueba de dirección. El proveedor de KYC otorga a la cuenta de Bob la restricción de token “{kyc, Is_Verified, 2}�?

  • Carol proporciona un pasaporte válido y una prueba de dirección. El proveedor de KYC otorga a la cuenta de Carol la restricción de token “{kyc, Is_Verified, 2}�?

Ahora, Bob y Carol podrán comprar y enviar unidades de “comfyclothing.shares�?entre ellos. Sin embargo, Alice, quien no ha proporcionado una prueba válida de dirección, no podrá recibir acciones.

Transacciones relacionadas

Id

Tipo

Descripción

0x4151

TokenGlobalRestrictionTransaction

Establece reglas globales para transferir un token restringible.

0x4251

TokenAddressRestrictionTransaction

Establece reglas específicas de dirección para transferir un token restringible.

Guías relacionadas