Advancing the security of Neutrino using minimally trusted oracles



Summary:

The use of oracles to provide a moderate level of confidence to lightweight clients in the filters they have received from an untrusted source has been outlined in a design document which inspired Neutrino. The determinism of the filter headers allows for them to be simply and compactly attested by a potentially large number of authoritative sources with minimal loss in privacy. These sources could be exchanges, hardware wallet manufacturers, block explorers, or other well-known parties. The most obvious transport for these oracles is DNS, several implementations of tools exist which provide either headers or raw filter data to clients by encoding it in record responses. Clients could consider their view of the current network state to be strong when several of their oracle sources present agreeing signatures, or display an error to their user if no suitable number of attestations could be found. Fault or fraud proofs can be generated by any party by simply collecting differing signatures, for example, if an oracle was presenting disjoint filter headers from its peers the error would be readily apparent and provable. Host names and their associated keys would be baked into the binaries of client software supporting the system, but their location and credentials could be attested in a text file of their primary domain. Oracles would return the current block hash, hash of the tip of the neutrino header chain, and an ECDSA signature over the data including the requesting quantized timestamp. In totality giving the client sufficient and portable evidence that their view of the state of the network has not been tampered with, while maintaining as much privacy as possible.This would be very useful for the Validating Lightning Signer project since it allows the signer to make sure the channel is still active. The related design doc is available at https://gitlab.com/lightning-signer/docs/-/blob/master/oracle.md. It would be useful if the oracles were non-interactive, so that they can communicate with the world over a one-way connection. Instead of signing over a client-provided timestamp, the timestamp could be pre-quantized and emit attestations for each quantum time step.


Updated on: 2023-06-15T16:26:51.703943+00:00