Los inversores ahora podrán invertir en un fondo de Bourbon Insignia, tras una asociación entre NEM y Wave Financial Group.
NEM y Wave
Financial Group han anunciado que lanzarán el token Kentucky Whiskey Digital
Fund en la plataforma Symbol cuando ésta se ponga en marcha a finales de
este año.
Este último
desarrollo se produce después de que el administrador de activos digitales Wave
Financial Group revelara que está trabajando con Wilderness Trail Distillery,
con sede en Kentucky, para lanzar un fondo de unos 25.000 barriles de bourbon
de 2020 estilo tradicional sureño de EE.UU., lo que equivale al valor de un año
de producción.
Este fondo
permitirá a los inversores comprar tokens respaldados por activos vinculados a
un inventario anual estimado de cuatro millones de botellas de bourbon.
Comentando
sobre las noticias, el presidente financiero de Wave y gerente de Fund,
Benjamin Tsai: “Kentucky Bourbon representa una gran oportunidad para los
inversores – ya que muchos activos pierden valor con el tiempo, el whisky
acumula valor debido a su proceso único de envejecimiento del barril. Los
inversores de todo el mundo accederían al creciente mercado estadounidense del
whisky, introduciendo liquidez y accesibilidad en un mercado de productos finos
que normalmente no ha proporcionado ninguno de los dos”.
Las
inversiones en el fondo están abiertas a inversores estadounidenses no
estadounidenses y acreditados y serán una emisión de dos tokens para garantizar
el cumplimiento de las regulaciones de la SEC.
Como asesor de
inversiones registrado en California, Wave Financial previamente ha realizado
tokens en Ethereum, pero están aprovechando las capacidades únicas de Symbol
para este fondo.
David Siemer, CEO de Wave Financial, añadió: “Después de lanzar el fondo, estábamos en la búsqueda de un protocolo que facilitara esta oferta única. Symbol, de NEM, es una decisión prácticamente natural, debido a sus capacidades técnicas, construida específicamente con la emisión de tokens de seguridad en su arquitectura de red.”
NEM es uno de
los signatarios fundadores del Blockchain Token Association’s Verified Token
Framework, que está creando un marco normativo para la emisión de tokens.
NEM lanzó su
propio token en 2015, con que constantemente mantiene un lugar en el top 50 por
capitalización de mercado de criptomonedas con una capitalización actual de
$431 millones.
Dave Hodgson, Director de Inversiones de NEM Group y Director General de NEM Ventures, concluyó: “Estoy encantado de ver la primera emisión de seguridad comprometida en Symbol desde NEM, incluso antes de su lanzamiento. Hemos estado trabajando con Wave Financial desde principios de 2020 para tokenizar esta clase de activos único y es emocionante ver este progreso. El equipo de Wave tiene experiencia previa en la tokenización de activos digitales son profesionales consumados, el socio perfecto para nuestro primer token de seguridad“.
La popular plataforma de criptomonedas NEM entró en el sector STO esta semana después de que los desarrolladores publicaron estándares para la emisión de tokens de seguridad. Es importante destacar que los estándares son para la muy esperada plataforma blockchain de NEM: Symbol. La maniobra demuestra la mayor expansión del sector de tokens de seguridad, específicamente en Asia.
Según los desarrolladores, los nuevos estándares detallan exactamente cómo las empresas pueden registrar y controlar un token de seguridad dentro de la red Symbol. En una entrevista reciente, Pedro Gutiérrez, miembro del Consejo de la Fundación NEM habló sobre los desarrollos. Se tomó un momento para explicar la importancia de esta publicación. En particular, afirmó que los estándares proporcionan una “descripción clara” de qué tipos de tokens funcionarán en el mercado. Curiosamente, Gutiérrez afirmó que estos estándares coincidían estrechamente con los del protocolo ERC1411 (Ethereum).
Symbol Blockchain
El proyecto Blockchain de Symbol ha recibido una gran cobertura como una plataforma de próxima generación capaz de satisfacer las necesidades de las empresas de inversión institucional. La plataforma está programada para lanzarse más adelante este año. Es importante destacar que Symbol brinda mayor seguridad, escalabilidad y velocidades de transacción más rápidas al sector empresarial. En particular, los desarrolladores afirman que cualquiera podrá configurar un sistema de tokenización de activos utilizando la interfaz fácil de entender de la plataforma.
Hablando sobre el nuevo sistema, Grégory Saive, Jefe de Desarrollo de la Fundación NEM, calificó los desarrollos como una “mejora importante”. Señaló que el nuevo sistema permite restricciones más granulares en las acciones. Además, los usuarios ahora pueden definir un método de gobierno en torno a los tokens. Por último, describió el sistema como más flexible que su predecesor. En consecuencia, Symbol se puede usar para una multitud de casos de uso de negocios.
El auge de las blockchains corporativas
Esta noticia coincide con la tendencia creciente de las cadenas de bloques centradas en la empresa. Recientemente, las empresas expresaron preocupaciones con respecto al uso de blockchains abiertos al validar las transacciones de token de seguridad. Específicamente, a las compañías les preocupa que esas transacciones puedan ser validadas por mineros en países bajo sanciones de los Estados Unidos. En consecuencia, estas preocupaciones continúan impulsando el desarrollo de blockchains solo de token de seguridad en el sector.
NEM
La plataforma de criptomonedas NEM ingresó al mercado durante la moda de las criptomonedas de 2017. Esta plataforma con sede en Singapur introdujo una serie de nuevas funcionalidades en el mercado. En particular, el algoritmo de prueba de importancia (POI) de la moneda es exclusivo de la plataforma. NEM ha construido un sistema económico que pone el control total en manos de los usuarios.
Fundación NEM
Es importante destacar que la Fundación NEM es el grupo sin fines de lucro encargado de promover y apoyar los esfuerzos de desarrollo que rodean la plataforma. El objetivo de este grupo de desarrollar un ecosistema vibrante de usuarios y desarrolladores de NEM en los gobiernos, la academia, la industria y el público en general sigue teniendo éxito.
NEM entra en el flujo
NEM, que alguna vez fue promocionado como el “Ethereum of the East” parece estar listo para reclamar su título. El lanzamiento público de la cadena de bloques Symbol ayudará a la empresa a ganar más seguidores corporativos. Teniendo en cuenta el gran tamaño del mercado asiático de STO, puede esperar ver a NEM obtener un aumento de confianza de este lanzamiento.
Este documento tiene como objetivo proporcionar un estándar para la emisión y gestión de tokens de seguridad en Symbol. Este estándar se estructurará de tal manera que las interfaces estándar se definirán para facilitar las operaciones e interrogatorios relacionados con los tokens de seguridad.
Motivación
Facilitar y acelerar los procesos de emisión y gestión de tokens de seguridad en Symbol.
Para emitir y administrar valores en Symbol, este estándar aprovechará varias características de Symbol. Los detalles de implementación se describirán en un documento conjuntamente con esta definición estándar.
Requisitos
Los estándares de token de seguridad que se describirán en este documento se basarán en las funciones disponibles con las redes Symbol. Además, para cada estándar, definiremos los requisitos que se aplicarán a la clase de activo subyacente.
DEBE tener una interfaz estándar para consultar la viabilidad de una transferencia y devolver un motivo de fallas.
DEBE poder realizar transferencias forzadas para acciones legales o recuperación de fondos.
DEBE definir notificaciones estándar para los procesos de emisión y reembolso.
DEBE poder adjuntar metadatos a un subconjunto del saldo del titular del token.
DEBE poder modificar los metadatos en el momento de la transferencia en función de los datos fuera de la cadena, los datos dentro de la cadena y los parámetros de la transferencia.
DEBE admitir consultas y suscribirse a actualizaciones en cualquier documentación relevante para la seguridad.
PUEDE requerir que los datos firmados se pasen a una transacción de transferencia para validarlos en la cadena.
NO DEBE restringir el rango de clases de activos en las jurisdicciones que pueden representarse.
La siguiente tabla de características se utilizará para definir las características obligatorias del paquete de software publicado:
Característica
Motivación
Emisión
La emisión de tokens de seguridad se gestiona a través del propietario
Delegación de poder del emisor
Se puede permitir a los operadores tareas de administración específicas de los tokens de seguridad
Transferencia
Los tokens de seguridad se pueden transferir (cambiar de propietario)
Transferencia por lotes
Los tokens de seguridad se pueden transferir en lotes (cambiar de propietario)
Transferencia con metadatos
Se pueden agregar metadatos a las transferencias de tokens de seguridad
Gestión de metadatos
Los metadatos se pueden administrar para tokens de seguridad
Restricciones de transferencia
Las transferencias de tokens de seguridad pueden restringirse (restricciones)
Congelar / Bloquear
Los operadores pueden congelar / bloquear los saldos de tokens de seguridad
Cumplimiento del operador
A los operadores se les puede permitir tareas de ejecución (como transferencias)
Transferencia de fuerza
Se pueden aplicar transferencias de tokens de seguridad.
Señal de error
La señalización de error se describe para cada estándar
Gestión de documentos
Los documentos se pueden adjuntar a tokens de seguridad [propietarios]
Comandos de token de seguridad NEM
Los estándares de token de seguridad de NEM introducen el término de comandos que se ejecutan para tokens específicos. Por ejemplo, la transferencia del token se realiza ejecutando el comando TransferOwnership para dicho token.
Este concepto de comandos estará disponible para todos los estándares de token de seguridad NEM. Como tal, definiremos una lista de comandos que también se definirán técnicamente en los detalles de implementación.
Comando del Token
Base Lógica
PublishToken
Emitir / publicar un token creado previamente (no reversible)
TransferOwnership
Transfiere un token a un nuevo propietario
TransferOwnershipWithData
Transfiera un token a un nuevo propietario, agregando datos firmados como mensaje
BatchTransferOwnership
Tokens de transferencia por lotes a nuevos propietarios
ForcedTransfer
Forzar la transferencia de un token a un nuevo propietario, con una cuenta de operador
LockBalance
Congelar / Bloquear un saldo de token
UnlockBalance
Descongelar / Desbloquear un saldo de token
ModifyRestriction
Enviar modificaciones a la cuenta / restricciones de mosaico
ModifyMetadata
Enviar modificaciones a los metadatos de cuenta / mosaico
DelegateIssuerPower
Delegar autorizaciones de emisión a la (s) cuenta (s) del operador
AttachDocument
Adjuntar documentos a una instancia de token
Restricciones del Token de Seguridad de NEM
⚠️ Las restricciones específicas de token y cuenta deben describirse aquí.
Metadatos de token de seguridad NEM
⚠️ El uso estándar de metadatos para tokens, cuentas y espacios de nombres debe describirse aquí.
Estándares de NameSpaces
Debido a que cada uno de los estándares de token de seguridad de NEM se comportará de manera diferente a los demás con respecto a las integraciones del conjunto de características, implementaremos comandos de tal manera que cada estándar pueda definir su propia extensión al flujo de ejecución de comandos estándar.
Los comandos se agruparán en espacios de nombres de modo que cada Estándar de token de seguridad de NEM pueda implementar comandos con sus propias prácticas de integración de conjuntos de características. Los siguientes ejemplos PUEDEN aplicarse:
Use el estándar NIP13 y ejecute el comando PublishToken
// Import NIP13 namespace
import { NIP13 } from 'symbol-security-tokens';
// prepare
const tokenId = new TokenIdentifier();
const command = new NIP13.PublishToken();
const options = [Option.create('tokenId', tokenId.toString())];
// now execute command
const result = command.execute(tokenId, options);
Estandares NEM
Las siguientes funciones están disponibles con nuestro estándar de token de seguridad:
NIP # 13 presenta un estándar de token de seguridad NEM que se implementará principalmente con mosaicos, cuentas y transacciones de múltiples firmas. El trabajo en este estándar no ha comenzado en el momento de la escritura.
Notas de integración
Comando
Flujo de ejecución
PublishToken
1) Crea una cuenta de operador determinista 2) Convierta la cuenta del operador en firma múltiple 3) Publique la transacción de prueba de creación en una cuenta determinista 4) Crear mosaico con cuenta de operador
TransferOwnership
1) Cambiar la propiedad del token a través de la modificación de múltiples firmas utilizando la transacción como prueba de ejecución
TransferOwnershipWithData
1) Preparar datos firmados (lado del cliente de terceros) 2) Cambie la propiedad del token a través de la modificación de firma múltiple utilizando la transacción como prueba de ejecución y adjunte datos firmados dentro de la transacción de transferencia desde la cuenta del operador
ForcedTransfer
1) TBD: debe usar restricciones de mosaico
BatchTransferOwnership
1) Cambiar la propiedad de tokens con múltiples transacciones de prueba de ejecución
DelegateIssuerPower
1) Modificar una cuenta de firma múltiple para agregar / eliminar operadores
AttachDocument
1) Publicar hash criptográfico de documento 2) Enviar mensaje en transacción a cuenta determinista
Biblioteca de tokens de seguridad NEM
Este documento define un propósito general NEM Security Token Standards (NST). Esos estándares definidos aprovecharán diferentes conjuntos de características de redes Symbol. Se deben describir detalles de implementación más detallados en el documento de detalles de implementación.
Especificaciones
Para generalizar y facilitar la emisión y administración de tokens de seguridad con Symbol, publicaremos un paquete de software que integra todos los Estándares de tokens de seguridad NEM.
Aún así, cada uno de nuestros diferentes estándares implementará características de manera diferente para ser más flexible y permitir un alcance más amplio de integraciones o implementaciones de casos de uso.
El paquete de software lanzado se desarrollará con Typescript, utilizando el paquete symbol-sdk @> = 0.17.3 para integrar las últimas características de Symbol. La biblioteca DEBE proporcionar interfaces y clases, que los desarrolladores pueden aprovechar para administrar la emisión y el canje de tokens de seguridad en Symbol.
Como prueba de concepto para esta biblioteca, PODEMOS presentar una interfaz de línea de comando (CLI) o una aplicación web básica para proporcionar soporte de token de seguridad listo para usar para Symbol.
Paquetes
Se producirá un paquete entregable junto con este NIP. La denominación de este paquete aún no se ha definido.
Las siguientes son las sugerencias de nombre de paquete disponibles, se pueden agregar más en un momento posterior:
symbol-security-tokens
symbol-financial-instruments
symbol-financial-tools
symbol-derivatives
symbol-instruments
El proceso de toma de decisiones para esta selección de nombre de paquete se realizará internamente, se aceptan más sugerencias.
Propuesta de arquitectura
Cada uno de nuestros estándares de token de seguridad implementará características con un conjunto de características predefinido de Symbol. Es importante tener en cuenta que este conocimiento influirá en la arquitectura del paquete de lanzamiento. Se puede aplicar la siguiente propuesta de solución:
Se define una interfaz estándar que DEBE contener los siguientes métodos:
/**
* Creates a new Security Token with pre-defined Catapult feature set.
*
* @param {string} name
* @param {Address} owner
* @param {TokenSource} source
* @param {Array<Address>} operators
* @return {TokenIdentifier}
**/
public create(
name: string,
owner: Address,
source: TokenSource,
operators: [Address] = []): TokenIdentifier;
/**
* Publish a previously created Security Token with identifier `tokenId`.
*
* @internal This method MUST use the `PublishToken.execute()` method.
* @param {string} name
* @param {Address} owner
* @param {Array<Address>} operators
* @return {PublicProof}
**/
public publish(
tokenId: TokenIdentifier): PublicProof;
/**
* Notify an account `account` about
* Publish a previously created Security Token with identifier `tokenId`.
*
* @internal This method MUST use the `PublishToken` command.
* @param {string} name
* @param {Address} owner
* @param {Array<Address>} operators
* @return {PublicProof}
**/
public notify(
tokenId: TokenIdentifier,
account: Address,
notification: AccountNotification): NotificationProof;
/**
* Verifies **allowance** of `sender` to transfer `tokenId` security token.
*
* @param {Address} sender
* @param {TokenIdentifier} tokenId
* @return {AllowanceResult}
**/
public canTransfer(
sender: Address,
tokenId: TokenIdentifier): AllowanceResult;
/**
* Verifies **allowance** of `operator` to execute `command` with `tokenId` security token.
*
* @internal This method MUST use the `command.canExecute()` method.
* @param {Address} operator
* @param {Address} account
* @param {TokenIdentifier} tokenId
* @param {Command} command
* @param {Array<Option>} argv
* @return {AllowanceResult}
**/
public canExecute(
operator: Address,
account: Address,
tokenId: TokenIdentifier,
command: Command,
argv: [Option] = []): AllowanceResult;
/**
* Execute `command` for Security Token with identifier `tokenId`. Arguments
* the command execution can be passed in `argv`.
*
* @internal This method MUST use the `command.execute()` method.
* @param {Address} operator
* @param {Address} account
* @param {TokenIdentifier} tokenId
* @param {Command} command
* @param {Array<Option>} argv
* @return {CommandResult}
**/
public execute(
operator: Address,
account: Address,
tokenId: TokenIdentifier,
command: Command,
argv: [Option] = []): CommandResult;
/**
* Read metadata of a previously created Security Token with identifier `tokenId`.
*
* @param {TokenIdentifier} tokenId
* @return {Array<TokenMetadata>}
**/
public getMetadata(
tokenId: TokenIdentifier): [TokenMetadata];
/**
* Read restrictions of a previously created Security Token with identifier `tokenId`.
*
* @param {TokenIdentifier} tokenId
* @return {Array<TokenRestriction|AccountRestriction>}
**/
public getRestrictions(
tokenId: TokenIdentifier,
account: Address = null): [TokenRestriction|AccountRestriction];
La definición de las nuevas Normas de token de seguridad NEM debe seguir las pautas de contribución [CONTRIBUTING.MD] [Anexo 1: Pautas de contribución] y [CODE_OF_CONDUCT.md] [Anexo 2: Código de conducta].
Las clases que implementan la interfaz estándar DEBEN hacer uso del paquete symbol-sdk para aprovechar las funciones de Catapult.
Se define una interfaz de comando que DEBE contener los siguientes métodos:
/**
* Verifies **allowance** of `operator` to execute command with `tokenId` security token
* for `account`. Parameters `account` and `operators` will be the same when the account
* is supposed to execute the command directly.
*
* @param {Address} operator
* @param {Address} account
* @param {TokenIdentifier} tokenId
* @param {Array<Option>} argv
* @return {AllowanceResult}
**/
public canExecute(
operator: Address,
account: Address,
tokenId: TokenIdentifier,
argv: [Option] = []): AllowanceResult;
/**
* Execute `command` for Security Token with identifier `tokenId`. Arguments
* the command execution can be passed in `argv`. Parameters `account` and `operators`
* will be the same when the account is supposed to execute the command directly.
*
* @param {Address} operator
* @param {Address} account
* @param {TokenIdentifier} tokenId
* @param {Array<Option>} argv
* @return {CommandResult}
**/
public execute(
operator: Address,
account: Address,
tokenId: TokenIdentifier,
argv: [Option] = []): CommandResult;
⚠️ La definición de los nuevos comandos de token de seguridad NEM debe seguir las pautas de contribución [CONTRIBUTING.MD] [Anexo 1: Pautas de contribución] y [CODE_OF_CONDUCT.md] [Anexo 2: Código de conducta].
Las clases que implementan la interfaz de comandos DEBEN hacer uso del paquete symbol-sdk para aprovechar las funciones de Catapult.
Cumplimiento de requisitos
Siguiendo la lista de requisitos, esta sección definirá las opciones de implementación que DEBEN estar disponibles en NEM Security Token Standards.
DEBE tener una interfaz estándar para consultar la viabilidad de una transferencia y devolver un motivo de fallas.
canTransfer()
canExecute()
DEBE poder realizar transferencias forzadas para acciones legales o recuperación de fondos.
DEBE definir notificaciones estándar para los procesos de emisión y reembolso.
canExecute(... new PublishToken(), [Option.create('tokenId', '...')])
DEBE poder adjuntar metadatos a un subconjunto del saldo del titular del token.
execute (… new ModifyMetadata (), [Option.create (‘data’, ‘…’)])
DEBE poder modificar los metadatos en el momento de la transferencia en función de los datos fuera de la cadena, los datos dentro de la cadena y los parámetros de la transferencia.
execute(... new ModifyMetadata(), [Option.create('data', '...')])
DEBE admitir consultas y suscribirse a actualizaciones en cualquier documentación relevante para la seguridad.
notify()
PUEDE requerir que los datos firmados se pasen a una transacción de transferencia para validarlos en la cadena.
execute(... new TransferOwnershipWithData(), [Option.create('data', '...')])
NO DEBE restringir el rango de clases de activos en las jurisdicciones que pueden representarse.