Skip to content

Commit 8d1261e

Browse files
Merge pull request #258826 from taicchoumsft/tachou/acl-ledger-explorer
[Confidential Ledger] Quick start for Ledger Explorer feature
2 parents e735b92 + d8f2246 commit 8d1261e

8 files changed

+97
-0
lines changed
133 KB
Loading
9.2 KB
Loading
125 KB
Loading
43 KB
Loading
125 KB
Loading
49.9 KB
Loading
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
---
2+
title: Use Ledger explorer to visually verify your transactions
3+
description: Learn to use the Microsoft Azure confidential ledger through Azure portal
4+
author: taicchoumsft
5+
ms.author: tachou
6+
ms.date: 11/08/2023
7+
ms.service: confidential-ledger
8+
ms.custom:
9+
ms.topic: how-to
10+
---
11+
12+
# Quickstart: Upload, view and list ledger data with the Azure ledger explorer
13+
14+
In this quickstart, learn how to use the [Azure portal](https://portal.azure.com) to list, view and verify the integrity and authenticity of the data stored in your Azure confidential ledger.
15+
16+
## Prerequisites
17+
18+
The ledger explorer is accessible through the Azure Portal for your confidential ledger resource. You need to be logged in with an Entra ID user which has a Reader, Contributor or Administrator role assigned to access the ledger explorer. For help managing Entra ID users for your ledger, please see [Manage Microsoft Entra token-based users in Azure confidential ledger](./manage-azure-ad-token-based-users.md).
19+
20+
21+
## How to use the ledger explorer
22+
The ledger explorer allows you to a list of all transactions on your ledger with their IDs and contents, filtered by collections. You can click on a transaction row to see more details, such as the transaction ID, the transaction receipt, and the cryptographic proof.
23+
24+
As the ledger is an append-only, sequential datastore, data fetched sequentially starting from Transaction ID `2.1`, the start of the ledger.
25+
26+
To use the ledger explorer, follow these steps:
27+
28+
1) Open the Azure portal and log in as an Entra ID user who has a Reader, Contributor or Administrator role assigned for the confidential ledger resource.
29+
1) On the Overview page, navigate to the "Ledger explorer (preview)" tab
30+
:::image type="content" source="./media/ledger-explorer-entry.png" alt-text="Screenshot of Ledger explorer Item in the Menu bar." lightbox="./media/ledger-explorer-entry.png":::
31+
32+
### Searching for a transaction
33+
[CCF Transaction IDs](https://microsoft.github.io/CCF/main/use_apps/verify_tx.html#verifying-transactions) require both a view and a sequence number, separated by a `.`. e.g. `2.15`
34+
35+
Valid Transaction IDs start at `2.1`. Your transactions will receive a unique sequence number assigned by the system, and will be associated with a view.
36+
37+
If you have previously recorded the specific Transaction ID of a past transaction, you may enter that Transaction ID in the search box to locate that transaction.
38+
39+
- Search: You can use the filters and the search box to start your transaction search from any Transaction ID.
40+
:::image type="content" source="./media/ledger-explorer-search.png" alt-text="Screenshot of how to search for a transaction in Ledger explorer." lightbox="./media/ledger-explorer-search.png":::
41+
42+
### Creating an entry
43+
Entries can be created from ledger explorer if you have Administrator or Contributor roles. You can use Ledger explorer to quickly create a new ledger entry by clicking on the `Create` button in the command bar.
44+
45+
Every entry requires a `Collection ID` along with some content. A default Collection ID `subledger:0` is assigned if you do not specify one.
46+
47+
You can change the Collection ID using the dropdown, or specify a completely new collection by typing it in the `Collection Id` field.
48+
49+
![Screenshot of how to post an entry in Ledger explorer.](./media/ledger-explorer-post.png)
50+
51+
> [!WARNING]
52+
> Ledger entries are immutable. Once you have committed a transaction you cannot delete it.
53+
>
54+
55+
## How to verify your ledger data
56+
One of the key features of Azure confidential ledger is that it provides cryptographic evidence that your ledger data has not been tampered with via Transaction Receipts.
57+
58+
A transaction receipt is a JSON document that contains the metadata of a transaction, such as the transaction ID, cryptographic proofs and certificate information. You can use the transaction receipt to verify that a transaction exists on your ledger and that it has not been modified. To learn more about transaction receipts, please read [Write Transaction Receipts](./write-transaction-receipts.md).
59+
60+
Ledger explorer performs the verification steps listed in [Verify Azure Confidential Ledger write transaction receipts](./verify-write-transaction-receipts.md) to verify the transaction receipt.
61+
62+
To begin verifying a transaction:
63+
1. Click on a transaction in Ledger explorer
64+
1. Click on the `Proof` tab.
65+
66+
### 1. Leaf node computation:
67+
The transaction digest is computed from the `Claims Digest`, `Commit Evidence` and `Write Set Digest`. This transaction digest is inserted as a leaf node into the merkle tree.
68+
69+
![Screenshot of the calculated transaction digest in Ledger explorer.](./media/ledger-explorer-transaction-digest.png)
70+
71+
This step corresponds to [Leaf Node Computation](./verify-write-transaction-receipts.md#leaf-node-computation) in [Verify Azure Confidential Ledger write transaction receipts](./verify-write-transaction-receipts.md).
72+
73+
### 2. Root node computation
74+
The transaction receipt provides a cryptographic proof with the Merkle tree branches that leads to the root of the Merkle tree.
75+
76+
![Screenshot of the calculated Merkle root in Ledger explorer.](./media/ledger-explorer-calculated-root.png)
77+
78+
This step corresponds to [Root node Computation](./verify-write-transaction-receipts.md#root-node-computation) in [Verify Azure Confidential Ledger write transaction receipts](./verify-write-transaction-receipts.md)
79+
80+
### 3. Verify signature
81+
When this transaction is committed, the primary node signs the Merkle root. To verify that this transaction was committed by your ledger and has not been tampered with, Ledger explorer uses the public key of the signing node and the digital signature to verify that the calculated Merkle root matches the signed value.
82+
83+
Finally, we check that the signing node is endorsed by the ledger. If the transaction is committed and has not been tampered with, Ledger explorer will indicate that the `Globally Committed Status` is `verified`.
84+
85+
![Screenshot of a verfified signature in Ledger explorer.](./media/ledger-explorer-committed-status.png)
86+
87+
This step corresponds to [Verify signature over root node](./verify-write-transaction-receipts.md#verify-signature-over-root-node) and [Verify signing node certificate endorsement](./verify-write-transaction-receipts.md#verify-signing-node-certificate-endorsement) in [Verify Azure Confidential Ledger write transaction receipts](./verify-write-transaction-receipts.md)
88+
89+
## Next steps
90+
91+
Learn more about using the SDK to write to and read from the ledger, and verify write transaction receipts:
92+
93+
- [Quickstart: Microsoft Azure confidential ledger client library for Python](./quickstart-python.md)
94+
- [Verify write transaction receipts - Code Walkthrough](./verify-write-transaction-receipts.md#code-walkthrough)
95+

articles/confidential-ledger/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@
4747
href: manage-azure-ad-token-based-users.md
4848
- name: Manage certificate-based users
4949
href: manage-certificate-based-users.md
50+
- name: Upload, view and list ledger data with the Azure ledger explorer
51+
href: quickstart-ledger-explorer.md
5052
- name: References
5153
items:
5254

0 commit comments

Comments
 (0)