discreetlogcontracts / dlcspecs

Specification for Discreet Log Contracts
Creative Commons Attribution 4.0 International
239 stars 36 forks source link

Create `oracle_attestation` TLV #126

Closed benthecarman closed 3 years ago

benthecarman commented 3 years ago

Closes #116

rorp commented 3 years ago

Should we add a field for a signing timestamp and a signature for the whole TLV?

nkohen commented 3 years ago

Should we add a field for a signing timestamp and a signature for the whole TLV?

@rorp could you elaborate on what this would provide as a benefit? It isn't immediately obvious to me why either would be useful.

rorp commented 3 years ago

Should we add a field for a signing timestamp and a signature for the whole TLV?

@rorp could you elaborate on what this would provide as a benefit? It isn't immediately obvious to me why either would be useful.

Timestamps can be useful for audit, and signatures can used to prevent timestamps from forging.

nkohen commented 3 years ago

but there's no way to validate that the timestamp is real, they can easily lie about it can't they?

rorp commented 3 years ago

They can lie about the outcome as well, and if the outcome is timestamped it's easier to verify it.

Also if they issue multiple attestations for the same event, timestamps can help the users to develop some meaningful prioritization strategy.

Tibo-lg commented 3 years ago

They can lie about the outcome as well, and if the outcome is timestamped it's easier to verify it.

I don't follow what is easier to verify with a timestamp?

Also if they issue multiple attestations for the same event, timestamps can help the users to develop some meaningful prioritization strategy.

I also don't understand what kind of strategy could be developed using timestamps? If I have two signatures available from a single oracle, my strategy would be to use the one that gives me the highest payout regardless of the timestamp (and also exclude the oracle from future contracts :) ).

I could see the usefulness of a signature over the whole TLV as to guarantee that it hasn't been tampered with, although I'm not sure it would be worth it since one can just verify each signature individually (and check that they match the value included in the TLV).

benthecarman commented 3 years ago

I agree with @Tibo-lg & @nkohen. I don't see how a timestamp or signature over the entire tlv will make any real benefit