You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When querying Kamu user can ask for response to include a cryptographic commitment that will hold Kamu node that provided it forever accountable for the returned data and allow other nodes on the network to reproduce and verify the request.
Client applications (LLM chat bots) that provide end-users some information based on queries executed in Kamu should be able to provide end user a link that takes them to Kamu and shows them:
The query that was executed
Input datasets that were used in the query
The identity of the node that originally executed the query
Whether the commitment is valid
If commitment is NOT valid it should indicate what part of the commitment failed the validation (e.g. invalid signature, data hash mismatch, etc.)
Sample of the output data
Query explainer page available only for admin
Data Flow
Client application queries Kamu with include=proof parameter and displays data to the end user
Client application also presents end user a URL that will take them to Kamu and show the explanation and verification info of the query
This link should somehow include the commitment data (e.g. encoded as a query parameter)
Example
This is just an rough idea - exact implementation TBD:
Client app makes a query:
echo '{
"query": "select * from \"kamu/covid19.quebec.case-details\" limit 1",
"include": ["proof"]
}' | xh POST "https://api.demo.kamu.dev/query"
Context
When querying Kamu user can ask for response to include a cryptographic commitment that will hold Kamu node that provided it forever accountable for the returned data and allow other nodes on the network to reproduce and verify the request.
See for details:
Requirements
Client applications (LLM chat bots) that provide end-users some information based on queries executed in Kamu should be able to provide end user a link that takes them to Kamu and shows them:
Data Flow
include=proof
parameter and displays data to the end userExample
Client app makes a query:
Response:
To take the end user to query explanation the client app takes the commitment part of the response:
It base-64 encodes it into:
And presents end user a link pointing to:
When user clicks on the link the Web UI will:
Verification statuses are currently not documented but can all be found in this test.
Technological Uncertainty
The biggest question is whether we can fit the entire commitment data into a URL parameter.
Investigation is needed on the typical HTTP URL length limits to ensure we will be safely within them.
Otherwise an alternative way to redirect user to the platform with commitment data should be designed.
Tasks
The text was updated successfully, but these errors were encountered: