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

Oracle Info TLV Specification #61

Closed
nkohen opened this issue Aug 17, 2020 · 2 comments
Closed

Oracle Info TLV Specification #61

nkohen opened this issue Aug 17, 2020 · 2 comments

Comments

@nkohen
Copy link
Contributor

nkohen commented Aug 17, 2020

We need standard ways of serializing Oracle Info in our P2P messages (see #59).

I foresee that there will be many different oracle info types including

  • Oracle with single R value
  • Oracle with multiple R values
  • Multiple oracles (n-of-n)
  • Multiple oracles (m-of-n)

and likely more in the future. As such, I propose we use different TLV types for these different cases.

To allow test vectors to be written and development to begin without being blocked on this, I also propose type 0 oracle information to be a single oracle with a single R value serialized as the concatenation of the oracle signing key and the R value (32 bytes each for a total of 64 bytes + type and length prefix).

@LLFourn
Copy link
Contributor

LLFourn commented Aug 18, 2020

I am not following the design of the p2p layer closely but I have some queries on this.

The oracle signing key is to identify the oracle right (It is not actually used by the other party)? Why would you send the R values; Shouldn't they just fetch them themselves?
If you are saying parties may send the oracle announcement message (signed by the oracle themselves) with its R values(s) then that's a nice idea but then I think the serialization should just be the announcement message itself.

@nkohen
Copy link
Contributor Author

nkohen commented Sep 29, 2020

The current v0 type is to help get development off the ground while oracle discussions are still in flux, it allows for the construction of DLCs for testing and manual play, in the future I assume better types will be introduced that make more sense and are more robust

@nkohen nkohen closed this as completed Dec 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants