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

Using TLV to enable lightning network to be aware of OmniBOLT TXs #7

Open
neocarmack opened this issue May 22, 2020 · 0 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@neocarmack
Copy link
Member

TLV -- Type Length Value

https://github.com/lightningnetwork/lightning-rfc/blob/master/01-messaging.md#type-length-value-format

A TLV (Type-Length-Value) format is used to allow for the backwards-compatible addition of new fields to existing LN message types.

Motivation

OmniBOLT transaction can be embeded into LN messages, so that current ln network can benifit from the liquidity of Omnilayer assets.

Rationale

  • OmniLayer issues assets on Bitcoin network, it can be used as a settlement system, which has proven mechanism to provent double spent or any other malicious activities onchain.

  • OmniBOLT transactions are constructed on top of raw omni transactions, and can be used as a quick circulation network. It has it own communication spec, but need to be compatible with existing LN network.

  • TLV is a right place to put OmniBOLT tx info in. A lnd node will be omni asset aware, if it work with obd, in which case obd works like a plugin to lnd.

A simple workflow is:

  1. lnd receives a message, which contain a TLV field, then lnd redirect it to its obd plugin.
  2. obd parses the value of TLV field,
  3. if it is an OmniBOLT message, obd will execute it.
@neocarmack neocarmack self-assigned this May 22, 2020
@neocarmack neocarmack added the enhancement New feature or request label Jun 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant