Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize metadata #48

Open
Dreyhh opened this issue Jan 26, 2024 · 7 comments
Open

Generalize metadata #48

Dreyhh opened this issue Jan 26, 2024 · 7 comments
Assignees

Comments

@Dreyhh
Copy link
Collaborator

Dreyhh commented Jan 26, 2024

The transaction metadata can be generalized to vault metadata, this will allow metadata for vaults such as name and description. This will also help by separating the vault and its metadata so that PublishedPolicy objects are only constructed when needed.

@Dreyhh Dreyhh self-assigned this Jan 26, 2024
@sebastianmontero
Copy link
Contributor

@Dreyhh pero tienes multiples transacciones por vault, donde guardarias el metadata del vault(nombre, description) en su propio evento?

@Dreyhh
Copy link
Collaborator Author

Dreyhh commented Jan 26, 2024

@Dreyhh pero tienes multiples transacciones por vault, donde guardarias el metadata del vault(nombre, description) en su propio evento?

el contenido del evento puede ser cualquier JSON, se puede definir algo como { vaultMetadata: {} , transactionsMetadata : { trx1: {} , trx2: {}, ... } }, basicamente usar el mismo kind y logica del metodo actual solo que en lugar de generar un evento por cada trxid, seria un solo evento por vault.

@sebastianmontero
Copy link
Contributor

Tendria 2 preocupaciones principales:

  • No exisitiria la posibilidad de que se pase el limite de tamaño de un evento?
  • Es posible que se pierda información porque dos versiones diferentes del evento se sobrescriban?

@Dreyhh
Copy link
Collaborator Author

Dreyhh commented Jan 26, 2024

Tendria 2 preocupaciones principales:

  • No exisitiria la posibilidad de que se pase el limite de tamaño de un evento?
  • Es posible que se pierda información porque dos versiones diferentes del evento se sobrescriban?
    • Si existe la posibilidad de alcanzar el limite actual cuando se tengan muchas trx, tendria que hacer el calculo pero estimo que estaria en la centenas, aunque seria un trade-off ya que se reduciria el almacenamiento de 100 eventos
      ( asumiendo 100 trxs ) por uno solo.
    • Te refieres a que dos usuarios hagan cambios incompatibles al metadata (e.g sobreescribir labels) ? Eso es posible, pero tambien lo es en la implementacion actual.

@sebastianmontero
Copy link
Contributor

1.- Si habria que ver cual es el limite, teniendo en cuenta que es posible que en un futuro queramos guardar mas metadata relacionada a una trx
2.- Si, aunque el impacto esta limitado a solo la metadata de una trx

@Dreyhh
Copy link
Collaborator Author

Dreyhh commented Jan 29, 2024

  1. Ok hare unos pruebas para tener una idea del numero
  2. El problema es mas general, dado cualquier metadata creado usando el mismo sourceId (txid, oupoint, vaultId, etc) cualquier usuario con el shared key puede hacer cambios, no importa si es un solo evento o varios, una solucion seria publicar cada metadata event usando el auth del user, pero tendriamos n veces mas eventos (n siendo el numero de participantes en el vault ) la implementacion actual sin embargo tiene el beneficio de que basta que un solo participante haga el fetch de los btc exchanges para los accouting details, igual tiene la ventaja de no requerir la aprobacion del usuario para decrypts y publish de metadata

@sebastianmontero
Copy link
Contributor

  1. Creo que por el momento podemos asumir que los participantes de un vault son honestos y que no sobrescribirían mal intencionadamente la metadata

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants