Nimiq 2.0, recording and verifying custom internet requests in the blockchain

Imagine that you could ask a validator node to make an internet request on your behalf with some custom parameters, and then to record in the blockchain something that can be used to verify at a later time what the request and the result were.

Which use cases, downside, limitations do you see for something like that?

Think, for instance, accessing a public API from the client side on a web application through a Nimiq node and recording in the blockchain a hash calculated taking the request parameters and the result. Then at a later time, if the browser cache or local storage was cleared or if that information was tampered with, the app should still be able to verify that the request took place and that the input data used for that request corresponds to the one stored locally in the web application.

2 Likes

What you are describing is basically a decentralized oracle. But it wouldn’t be that desirable because 1) it doesn’t actually provide the data to the blockchain, it only stores a hash and 2) it only uses one validator node which might be malicious.
A further problem is that you don’t want validator nodes running arbitrary requests from random users.
There are consensus-based oracles that are similar to this (SchellingCoin for example, https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/) and are a very secure way of getting information into the chain.
But they are very high latency and normally can’t support user-generated requests.

3 Likes

Thanks for your reply. Indeed, having a validator node sending request from random users without any security mesures could be a problem. Thanks for sharing the information.

2 Likes