# Service Bus

This documentation outlines the workflows associated with the creation of confidential and integrity-focused event messages, all made possible through the **NotVault** Service Bus.

The **NotVault** Service Bus enables developers to establish event messages with guaranteed integrity in relation to:

1. **Event Source:** Ensuring the event's origin can be accurately traced.
2. **Event Timestamp:** Capturing the exact time the event message was created.
3. **Zero-knowledge Proof:** Allowing the event's source to prove they possess the information required to generate the event without revealing the underlying information.

### Workflow Steps

Creating an event message involves the following two critical steps:

1. **Event Message Generation:** Here, the source creates an event message, incorporating three key components:
   * *Key:* This serves as a unique identifier for the event.
   * *Hashed Value:* A secure hash derived from the original value, preserving its confidentiality.
   * *Proof:* A Zero-Knowledge Proof is created, verifying that the source knows the original value of the hash, but without disclosing it.
2. **Event Message Verification and Acceptance:** After the event message is generated, the Service Bus smart contract then verifies the Zero-Knowledge Proof. If the proof passes the verification process, the event message is accepted.

By following these steps and using the **NotVault** SDK effectively, developers can establish workflows for confidential and integrity-focused event messages.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.notcentralised.com/workflows/service-bus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
