@did-btcr2/method 0.65.1 → 0.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/browser.js +3 -3
- package/dist/browser.mjs +3 -3
- package/dist/cjs/index.js +58 -35
- package/dist/esm/core/beacon/smt-beacon.js +37 -31
- package/dist/esm/core/beacon/smt-beacon.js.map +1 -1
- package/dist/esm/core/resolver.js +56 -21
- package/dist/esm/core/resolver.js.map +1 -1
- package/dist/types/core/beacon/smt-beacon.d.ts +8 -6
- package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -1
- package/dist/types/core/interfaces.d.ts +27 -14
- package/dist/types/core/interfaces.d.ts.map +1 -1
- package/dist/types/core/resolver.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +4 -2
- package/dist/types/core/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/beacon/smt-beacon.ts +40 -34
- package/src/core/interfaces.ts +27 -14
- package/src/core/resolver.ts +57 -21
- package/src/core/types.ts +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,15 +28,17 @@ export declare class SMTBeacon extends SinglePartyBeacon {
|
|
|
28
28
|
/**
|
|
29
29
|
* Implements {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-smt-beacon | 7.2.e.1 Process SMT Beacon}.
|
|
30
30
|
*
|
|
31
|
-
* For each signal, the signalBytes contain the hex-encoded SMT root hash
|
|
32
|
-
* This method looks up the SMT Proof from the sidecar by root
|
|
33
|
-
*
|
|
34
|
-
* signed update
|
|
31
|
+
* For each signal, the signalBytes contain the hex-encoded SMT root hash
|
|
32
|
+
* (`smt_root`). This method looks up the SMT Proof from the sidecar by root
|
|
33
|
+
* hash, checks that the id of the proof is the root, verifies the proof with
|
|
34
|
+
* the SMT Proof Verification algorithm, and retrieves the signed update by the
|
|
35
|
+
* proof's updateId. A proof with no updateId announces no update for the DID.
|
|
35
36
|
*
|
|
36
37
|
* @param {Array<BeaconSignal>} signals The array of Beacon Signals to process.
|
|
37
38
|
* @param {SidecarData} sidecar The sidecar data associated with the SMT Beacon.
|
|
38
39
|
* @returns {BeaconProcessResult} Successfully resolved updates and any data needs.
|
|
39
|
-
* @throws {SMTBeaconError} if
|
|
40
|
+
* @throws {SMTBeaconError} `INVALID_SIGNAL_DATA` if the id of the proof is not the
|
|
41
|
+
* signal root, or if the proof does not verify.
|
|
40
42
|
*/
|
|
41
43
|
processSignals(signals: Array<BeaconSignal>, sidecar: SidecarData): BeaconProcessResult;
|
|
42
44
|
/**
|
|
@@ -52,7 +54,7 @@ export declare class SMTBeacon extends SinglePartyBeacon {
|
|
|
52
54
|
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
53
55
|
* @param {BroadcastOptions} [options] Optional broadcast configuration (e.g. fee estimator).
|
|
54
56
|
* @return {Promise<BroadcastResult>} The signed update, the signal txid, and the SMT
|
|
55
|
-
*
|
|
57
|
+
* proof (with the leaf nonce embedded). The proof MUST be captured for sidecar
|
|
56
58
|
* distribution: the nonce exists only here, so the on-chain signal is unresolvable without it.
|
|
57
59
|
* @throws {BeaconError} if the bitcoin address is invalid, unfunded, or UTXO cannot cover the fee.
|
|
58
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smt-beacon.d.ts","sourceRoot":"","sources":["../../../../src/core/beacon/smt-beacon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,KAAK,EAAE,mBAAmB,EAAY,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"smt-beacon.d.ts","sourceRoot":"","sources":["../../../../src/core/beacon/smt-beacon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,KAAK,EAAE,mBAAmB,EAAY,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAWlF;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C;;;;OAIG;gBACS,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;IAI/C;;;;;;;;;;;;;;OAcG;IACH,cAAc,CACZ,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,EAC5B,OAAO,EAAE,WAAW,GACnB,mBAAmB;IAmEtB;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,CACnB,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;CAqB5B"}
|
|
@@ -69,22 +69,26 @@ export interface ResolutionOptions extends DidResolutionOptions {
|
|
|
69
69
|
/**
|
|
70
70
|
* {@link https://dcdpr.github.io/did-btcr2/terminology.html#smt-proof | SMT Proof}
|
|
71
71
|
* a set of SHA-256 hashes for nodes in a Sparse Merkle Tree that together form
|
|
72
|
-
* a path from a leaf in the tree to the Merkle root
|
|
72
|
+
* a path from a leaf in the tree to the Merkle root. The proof shows the value of
|
|
73
|
+
* the leaf at the index of the DID: an update, no update, or an empty index.
|
|
73
74
|
* See {@link https://dcdpr.github.io/did-btcr2/data-structures.html#smt-proof | SMT Proof (data structure)}.
|
|
74
75
|
*
|
|
75
|
-
* All
|
|
76
|
-
*
|
|
77
|
-
*
|
|
76
|
+
* All fields are "base64url" [RFC4648] encoded without padding. `id`, `updateId`,
|
|
77
|
+
* `collapsed`, and the entries of `hashes` decode to 32 bytes (43 chars each).
|
|
78
|
+
* `nonce` has any length. The presence of `nonce` and `updateId` selects the leaf
|
|
79
|
+
* value that the SMT Proof Verification algorithm walks from:
|
|
80
|
+
* `hash(hash(nonce) + updateId)`, `hash(hash(nonce))`, `updateId`, or the value of
|
|
81
|
+
* an empty leaf.
|
|
78
82
|
*
|
|
79
83
|
* @example
|
|
80
84
|
* ```json
|
|
81
85
|
* {
|
|
82
|
-
* "id": "
|
|
83
|
-
* "nonce": "
|
|
84
|
-
* "updateId": "
|
|
85
|
-
* "collapsed": "
|
|
86
|
+
* "id": "ZSN-lAyRpXG72aK1xLC9sAuRhFGsILupaQXxpkITJuo",
|
|
87
|
+
* "nonce": "WYVxNuwz3RBEhnJKM4LvVh2tOdXI9WRUPYqA_qa0klM",
|
|
88
|
+
* "updateId": "_YDKmjcnIkHDY6rnRwrO86id5H1Onycy7Bz62jYq6GA",
|
|
89
|
+
* "collapsed": "-_________________________________________8",
|
|
86
90
|
* "hashes": [
|
|
87
|
-
* "
|
|
91
|
+
* "s-2LV-dfS-x___DBpNeH4KaBBSJj0xCSpn8ZlusZwLo"
|
|
88
92
|
* ]
|
|
89
93
|
* }
|
|
90
94
|
* ```
|
|
@@ -92,23 +96,32 @@ export interface ResolutionOptions extends DidResolutionOptions {
|
|
|
92
96
|
export interface SMTProof {
|
|
93
97
|
/**
|
|
94
98
|
* base64url (no padding) SHA-256 hash of the root node of the Sparse Merkle Tree.
|
|
99
|
+
* The resolver compares it to the Signal Bytes of the SMT beacon signal.
|
|
95
100
|
*/
|
|
96
101
|
id: string;
|
|
97
102
|
/**
|
|
98
|
-
* Optional
|
|
103
|
+
* Optional nonce, one for each index in each Beacon Signal, of any length.
|
|
104
|
+
* base64url, no padding. Without the nonce that the DID controller used, the
|
|
105
|
+
* proof of that signal cannot be verified. Absent in no-nonce mode.
|
|
99
106
|
*/
|
|
100
107
|
nonce?: string;
|
|
101
108
|
/**
|
|
102
|
-
* Optional base64url (no padding)
|
|
109
|
+
* Optional base64url (no padding) JSON Document Hash of the BTCR2 Signed Update.
|
|
110
|
+
* Present when the signal announces an update for the DID. Absent when it does not.
|
|
103
111
|
*/
|
|
104
112
|
updateId?: string;
|
|
105
113
|
/**
|
|
106
|
-
* base64url (no padding) bitmap of
|
|
107
|
-
*
|
|
114
|
+
* base64url (no padding) 256-bit bitmap of the empty siblings on the path from
|
|
115
|
+
* the leaf to the root. Bit `i` set = the sibling at level `i` is an empty subtree;
|
|
116
|
+
* bit `i` clear = the next entry of `hashes` is the sibling. Bit `i` is `bitAt(i)`
|
|
117
|
+
* of the decoded value, counted from the left: bit `0` is the root level, bit
|
|
118
|
+
* `255` the leaf level. The number of entries in `hashes` plus the number of set
|
|
119
|
+
* bits is `256`.
|
|
108
120
|
*/
|
|
109
121
|
collapsed: string;
|
|
110
122
|
/**
|
|
111
|
-
* Array of
|
|
123
|
+
* Array of the SHA-256 hashes of the non-empty sibling nodes on the path from the
|
|
124
|
+
* leaf to the root, in that order.
|
|
112
125
|
*/
|
|
113
126
|
hashes: string[];
|
|
114
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,8 +43,10 @@ export type Sidecar = {
|
|
|
43
43
|
*/
|
|
44
44
|
casUpdates?: Array<CASAnnouncement>;
|
|
45
45
|
/**
|
|
46
|
-
* Optional array of SMT Proofs
|
|
47
|
-
*
|
|
46
|
+
* Optional array of SMT Proofs: one proof for each SMT beacon signal that the
|
|
47
|
+
* resolver finds for the DID, with an update announced or not. The DID
|
|
48
|
+
* controller keeps every proof for the life of the DID. Sidecar is the only
|
|
49
|
+
* channel for a proof.
|
|
48
50
|
*/
|
|
49
51
|
smtProofs?: Array<SMTProof>;
|
|
50
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAElC;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAEpC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAElC;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAChE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,SAAS,EAAE,0BAA0B,CAAC;IAEtC;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC;IAE7B;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC;CAC9B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GAAG,oBAAoB,GAAG,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@did-btcr2/method",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.66.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Reference implementation for the did:btcr2 DID method written in TypeScript and JavaScript. did:btcr2 is a censorship resistant DID Method using the Bitcoin blockchain as a Verifiable Data Registry to announce changes to the DID document. This is the core method implementation for the did-btcr2-js monorepo.",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -69,11 +69,11 @@
|
|
|
69
69
|
"@scure/base": "^1.2.6",
|
|
70
70
|
"@scure/btc-signer": "^1.8.1",
|
|
71
71
|
"@web5/dids": "^1.2.0",
|
|
72
|
-
"@did-btcr2/common": "^9.6.0",
|
|
73
72
|
"@did-btcr2/bitcoin": "^0.11.1",
|
|
74
|
-
"@did-btcr2/smt": "^0.
|
|
73
|
+
"@did-btcr2/smt": "^0.4.0",
|
|
75
74
|
"@did-btcr2/keypair": "^0.13.1",
|
|
76
|
-
"@did-btcr2/cryptosuite": "^10.0.0"
|
|
75
|
+
"@did-btcr2/cryptosuite": "^10.0.0",
|
|
76
|
+
"@did-btcr2/common": "^9.7.0"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@eslint/js": "^9.39.4",
|
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
import type { BitcoinConnection } from '@did-btcr2/bitcoin';
|
|
2
|
-
import {
|
|
2
|
+
import { canonicalHashBytes, INVALID_SIGNAL_DATA } from '@did-btcr2/common';
|
|
3
3
|
import type { SignedBTCR2Update } from '../btcr2-update.js';
|
|
4
4
|
import type { Signer } from '@did-btcr2/keypair';
|
|
5
|
-
import { base64UrlToHash,
|
|
5
|
+
import { base64UrlToHash, BTCR2MerkleTree, hashToHex, verifyProof } from '@did-btcr2/smt';
|
|
6
6
|
import { randomBytes } from '@noble/hashes/utils';
|
|
7
7
|
import type { BeaconProcessResult, DataNeed } from '../resolver.js';
|
|
8
|
+
import type { SMTProof } from '../interfaces.js';
|
|
8
9
|
import type { SidecarData } from '../types.js';
|
|
9
10
|
import type { BroadcastOptions, BroadcastResult } from './beacon.js';
|
|
10
11
|
import { SinglePartyBeacon } from './beacon.js';
|
|
11
12
|
import { SMTBeaconError } from './error.js';
|
|
12
13
|
import type { BeaconService, BeaconSignal, BlockMetadata } from './interfaces.js';
|
|
13
14
|
|
|
15
|
+
/** The hex of the base64url `id` of a proof, or `undefined` if the id does not decode to 32 bytes. */
|
|
16
|
+
function proofIdHex(proof: SMTProof): string | undefined {
|
|
17
|
+
try {
|
|
18
|
+
return hashToHex(base64UrlToHash(proof.id));
|
|
19
|
+
} catch {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
14
24
|
/**
|
|
15
25
|
* Implements {@link https://dcdpr.github.io/did-btcr2/terminology.html#smt-beacon | SMT Beacon}.
|
|
16
26
|
*
|
|
@@ -36,15 +46,17 @@ export class SMTBeacon extends SinglePartyBeacon {
|
|
|
36
46
|
/**
|
|
37
47
|
* Implements {@link https://dcdpr.github.io/did-btcr2/operations/resolve.html#process-smt-beacon | 7.2.e.1 Process SMT Beacon}.
|
|
38
48
|
*
|
|
39
|
-
* For each signal, the signalBytes contain the hex-encoded SMT root hash
|
|
40
|
-
* This method looks up the SMT Proof from the sidecar by root
|
|
41
|
-
*
|
|
42
|
-
* signed update
|
|
49
|
+
* For each signal, the signalBytes contain the hex-encoded SMT root hash
|
|
50
|
+
* (`smt_root`). This method looks up the SMT Proof from the sidecar by root
|
|
51
|
+
* hash, checks that the id of the proof is the root, verifies the proof with
|
|
52
|
+
* the SMT Proof Verification algorithm, and retrieves the signed update by the
|
|
53
|
+
* proof's updateId. A proof with no updateId announces no update for the DID.
|
|
43
54
|
*
|
|
44
55
|
* @param {Array<BeaconSignal>} signals The array of Beacon Signals to process.
|
|
45
56
|
* @param {SidecarData} sidecar The sidecar data associated with the SMT Beacon.
|
|
46
57
|
* @returns {BeaconProcessResult} Successfully resolved updates and any data needs.
|
|
47
|
-
* @throws {SMTBeaconError} if
|
|
58
|
+
* @throws {SMTBeaconError} `INVALID_SIGNAL_DATA` if the id of the proof is not the
|
|
59
|
+
* signal root, or if the proof does not verify.
|
|
48
60
|
*/
|
|
49
61
|
processSignals(
|
|
50
62
|
signals: Array<BeaconSignal>,
|
|
@@ -57,7 +69,8 @@ export class SMTBeacon extends SinglePartyBeacon {
|
|
|
57
69
|
const did = this.did;
|
|
58
70
|
|
|
59
71
|
for(const signal of signals) {
|
|
60
|
-
//
|
|
72
|
+
// "Process SMT Beacon": the signal bytes are smt_root, the hex SMT root hash.
|
|
73
|
+
// The smtMap is keyed by the hex of proof.id. No entry = a need for the proof.
|
|
61
74
|
const smtProof = sidecar.smtMap.get(signal.signalBytes);
|
|
62
75
|
|
|
63
76
|
if(!smtProof) {
|
|
@@ -70,39 +83,32 @@ export class SMTBeacon extends SinglePartyBeacon {
|
|
|
70
83
|
continue;
|
|
71
84
|
}
|
|
72
85
|
|
|
73
|
-
//
|
|
74
|
-
|
|
86
|
+
// The id of the proof must equal smt_root. The resolver keys the map by the
|
|
87
|
+
// hex of the id, so its entries pass. A caller-built map is checked here too.
|
|
88
|
+
if(proofIdHex(smtProof) !== signal.signalBytes) {
|
|
75
89
|
throw new SMTBeaconError(
|
|
76
|
-
|
|
77
|
-
|
|
90
|
+
`SMT proof id does not equal the signal root ${signal.signalBytes}.`,
|
|
91
|
+
INVALID_SIGNAL_DATA, { smtProof, did, smtRootHash: signal.signalBytes }
|
|
78
92
|
);
|
|
79
93
|
}
|
|
80
94
|
|
|
81
|
-
// Verify the
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
const index = didToIndex(did);
|
|
86
|
-
const nonceHash = base64UrlToHash(smtProof.nonce);
|
|
87
|
-
const candidateHash = smtProof.updateId
|
|
88
|
-
? blockHash(blockHash(nonceHash), base64UrlToHash(smtProof.updateId))
|
|
89
|
-
: blockHash(blockHash(nonceHash));
|
|
90
|
-
const valid = verifySerializedProof(smtProof, index, candidateHash);
|
|
91
|
-
|
|
92
|
-
if(!valid) {
|
|
95
|
+
// Verify the proof with the SMT Proof Verification algorithm. The nonce and
|
|
96
|
+
// updateId fields of the proof select the leaf value (four arms). A proof that
|
|
97
|
+
// does not decode, or that does not walk to the root, is INVALID_SIGNAL_DATA.
|
|
98
|
+
if(!verifyProof(smtProof, did)) {
|
|
93
99
|
throw new SMTBeaconError(
|
|
94
|
-
|
|
95
|
-
|
|
100
|
+
`SMT proof verification failed for the signal root ${signal.signalBytes}.`,
|
|
101
|
+
INVALID_SIGNAL_DATA, { smtProof, did, smtRootHash: signal.signalBytes }
|
|
96
102
|
);
|
|
97
103
|
}
|
|
98
104
|
|
|
99
|
-
//
|
|
100
|
-
if(
|
|
105
|
+
// No updateId: the signal announces no update for this DID. No tuple.
|
|
106
|
+
if(smtProof.updateId === undefined) {
|
|
101
107
|
continue;
|
|
102
108
|
}
|
|
103
109
|
|
|
104
110
|
// Look up the signed update in sidecar updateMap (keyed by hex canonical
|
|
105
|
-
// hash). The proof's updateId is
|
|
111
|
+
// hash). The proof's updateId is the same hash in base64url.
|
|
106
112
|
const updateHashHex = hashToHex(base64UrlToHash(smtProof.updateId));
|
|
107
113
|
const signedUpdate = sidecar.updateMap.get(updateHashHex);
|
|
108
114
|
|
|
@@ -135,7 +141,7 @@ export class SMTBeacon extends SinglePartyBeacon {
|
|
|
135
141
|
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
136
142
|
* @param {BroadcastOptions} [options] Optional broadcast configuration (e.g. fee estimator).
|
|
137
143
|
* @return {Promise<BroadcastResult>} The signed update, the signal txid, and the SMT
|
|
138
|
-
*
|
|
144
|
+
* proof (with the leaf nonce embedded). The proof MUST be captured for sidecar
|
|
139
145
|
* distribution: the nonce exists only here, so the on-chain signal is unresolvable without it.
|
|
140
146
|
* @throws {BeaconError} if the bitcoin address is invalid, unfunded, or UTXO cannot cover the fee.
|
|
141
147
|
*/
|
|
@@ -148,14 +154,14 @@ export class SMTBeacon extends SinglePartyBeacon {
|
|
|
148
154
|
// The DID keys this beacon's leaf index in the tree.
|
|
149
155
|
const did = this.did;
|
|
150
156
|
|
|
151
|
-
// Build a single-entry SMT
|
|
152
|
-
|
|
157
|
+
// Build a single-entry SMT in nonce mode: the leaf value is
|
|
158
|
+
// hash(hash(nonce) + updateId), with updateId the JSON Document Hash of the update.
|
|
153
159
|
const nonce = randomBytes(32);
|
|
154
160
|
const tree = new BTCR2MerkleTree();
|
|
155
|
-
tree.addEntries([{ did, nonce,
|
|
161
|
+
tree.addEntries([{ did, nonce, updateId: canonicalHashBytes(signedUpdate) }]);
|
|
156
162
|
tree.finalize();
|
|
157
163
|
|
|
158
|
-
// Serialize the
|
|
164
|
+
// Serialize the proof (carrying the nonce and updateId) before
|
|
159
165
|
// broadcasting: it is the only artifact that can link the on-chain root back
|
|
160
166
|
// to the update, and the nonce it embeds is irrecoverable once dropped.
|
|
161
167
|
const proof = tree.proof(did);
|
package/src/core/interfaces.ts
CHANGED
|
@@ -76,22 +76,26 @@ export interface ResolutionOptions extends DidResolutionOptions {
|
|
|
76
76
|
/**
|
|
77
77
|
* {@link https://dcdpr.github.io/did-btcr2/terminology.html#smt-proof | SMT Proof}
|
|
78
78
|
* a set of SHA-256 hashes for nodes in a Sparse Merkle Tree that together form
|
|
79
|
-
* a path from a leaf in the tree to the Merkle root
|
|
79
|
+
* a path from a leaf in the tree to the Merkle root. The proof shows the value of
|
|
80
|
+
* the leaf at the index of the DID: an update, no update, or an empty index.
|
|
80
81
|
* See {@link https://dcdpr.github.io/did-btcr2/data-structures.html#smt-proof | SMT Proof (data structure)}.
|
|
81
82
|
*
|
|
82
|
-
* All
|
|
83
|
-
*
|
|
84
|
-
*
|
|
83
|
+
* All fields are "base64url" [RFC4648] encoded without padding. `id`, `updateId`,
|
|
84
|
+
* `collapsed`, and the entries of `hashes` decode to 32 bytes (43 chars each).
|
|
85
|
+
* `nonce` has any length. The presence of `nonce` and `updateId` selects the leaf
|
|
86
|
+
* value that the SMT Proof Verification algorithm walks from:
|
|
87
|
+
* `hash(hash(nonce) + updateId)`, `hash(hash(nonce))`, `updateId`, or the value of
|
|
88
|
+
* an empty leaf.
|
|
85
89
|
*
|
|
86
90
|
* @example
|
|
87
91
|
* ```json
|
|
88
92
|
* {
|
|
89
|
-
* "id": "
|
|
90
|
-
* "nonce": "
|
|
91
|
-
* "updateId": "
|
|
92
|
-
* "collapsed": "
|
|
93
|
+
* "id": "ZSN-lAyRpXG72aK1xLC9sAuRhFGsILupaQXxpkITJuo",
|
|
94
|
+
* "nonce": "WYVxNuwz3RBEhnJKM4LvVh2tOdXI9WRUPYqA_qa0klM",
|
|
95
|
+
* "updateId": "_YDKmjcnIkHDY6rnRwrO86id5H1Onycy7Bz62jYq6GA",
|
|
96
|
+
* "collapsed": "-_________________________________________8",
|
|
93
97
|
* "hashes": [
|
|
94
|
-
* "
|
|
98
|
+
* "s-2LV-dfS-x___DBpNeH4KaBBSJj0xCSpn8ZlusZwLo"
|
|
95
99
|
* ]
|
|
96
100
|
* }
|
|
97
101
|
* ```
|
|
@@ -99,23 +103,32 @@ export interface ResolutionOptions extends DidResolutionOptions {
|
|
|
99
103
|
export interface SMTProof {
|
|
100
104
|
/**
|
|
101
105
|
* base64url (no padding) SHA-256 hash of the root node of the Sparse Merkle Tree.
|
|
106
|
+
* The resolver compares it to the Signal Bytes of the SMT beacon signal.
|
|
102
107
|
*/
|
|
103
108
|
id: string;
|
|
104
109
|
/**
|
|
105
|
-
* Optional
|
|
110
|
+
* Optional nonce, one for each index in each Beacon Signal, of any length.
|
|
111
|
+
* base64url, no padding. Without the nonce that the DID controller used, the
|
|
112
|
+
* proof of that signal cannot be verified. Absent in no-nonce mode.
|
|
106
113
|
*/
|
|
107
114
|
nonce?: string;
|
|
108
115
|
/**
|
|
109
|
-
* Optional base64url (no padding)
|
|
116
|
+
* Optional base64url (no padding) JSON Document Hash of the BTCR2 Signed Update.
|
|
117
|
+
* Present when the signal announces an update for the DID. Absent when it does not.
|
|
110
118
|
*/
|
|
111
119
|
updateId?: string;
|
|
112
120
|
/**
|
|
113
|
-
* base64url (no padding) bitmap of
|
|
114
|
-
*
|
|
121
|
+
* base64url (no padding) 256-bit bitmap of the empty siblings on the path from
|
|
122
|
+
* the leaf to the root. Bit `i` set = the sibling at level `i` is an empty subtree;
|
|
123
|
+
* bit `i` clear = the next entry of `hashes` is the sibling. Bit `i` is `bitAt(i)`
|
|
124
|
+
* of the decoded value, counted from the left: bit `0` is the root level, bit
|
|
125
|
+
* `255` the leaf level. The number of entries in `hashes` plus the number of set
|
|
126
|
+
* bits is `256`.
|
|
115
127
|
*/
|
|
116
128
|
collapsed: string;
|
|
117
129
|
/**
|
|
118
|
-
* Array of
|
|
130
|
+
* Array of the SHA-256 hashes of the non-empty sibling nodes on the path from the
|
|
131
|
+
* leaf to the root, in that order.
|
|
119
132
|
*/
|
|
120
133
|
hashes: string[];
|
|
121
134
|
}
|