From b7093fff3679bb8629e62ac49ae010c2927820bf Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 31 Dec 2024 11:58:47 -0600 Subject: [PATCH 01/13] Add initial exact-weight-tss.md Signed-off-by: Michael Tinker --- .../docs/assets/rcs-bootstrap-schematic.png | Bin 0 -> 78398 bytes .../docs/assets/rcs-handoff-schematic.png | Bin 0 -> 99794 bytes .../docs/assets/rcs-transition-schematic.png | Bin 0 -> 92498 bytes hedera-node/docs/exact-weight-tss.md | 120 ++++++++++++++++++ 4 files changed, 120 insertions(+) create mode 100644 hedera-node/docs/assets/rcs-bootstrap-schematic.png create mode 100644 hedera-node/docs/assets/rcs-handoff-schematic.png create mode 100644 hedera-node/docs/assets/rcs-transition-schematic.png create mode 100644 hedera-node/docs/exact-weight-tss.md diff --git a/hedera-node/docs/assets/rcs-bootstrap-schematic.png b/hedera-node/docs/assets/rcs-bootstrap-schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..cc0a17860bb9369474a8d0d7751e8922532286a1 GIT binary patch literal 78398 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

?YGeCG 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 RgG<0eLseI$ROwOhe*rEE_sakP literal 0 HcmV?d00001 diff --git a/hedera-node/docs/assets/rcs-handoff-schematic.png b/hedera-node/docs/assets/rcs-handoff-schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..719baad4b56cb6ada6b52b529ee14724f15b4a10 GIT binary patch literal 99794 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%0A2I^zYMQ?S%t7d9Rc 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 literal 0 HcmV?d00001 diff --git a/hedera-node/docs/assets/rcs-transition-schematic.png b/hedera-node/docs/assets/rcs-transition-schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..f1de7e899cd24c0f29dd58a19efbb85bbd5b8af6 GIT binary patch literal 92498 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 z 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 Date: Thu, 2 Jan 2025 20:08:39 -0600 Subject: [PATCH 02/13] Complete design doc Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 44 ++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index d8130072abe7..8982c7f74156 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -82,14 +82,14 @@ same time it is doing tasks scoped to the current roster. ### The `HintsService` as a `RosterCompanionService` We first map the `HintsService` to the `RosterCompanionService` abstraction. At a high level, -- The **primary state** of the `HintsService` consists of roster-scoped hinTS construction. Each includes a source +- The **primary state** of the `HintsService` consists of a roster-scoped hinTS construction. Each includes a source roster hash; a target roster hash; the target roster mapping from node ids to hinTS party ids; a consensus time for the next aggregation attempt (if the construction is waiting on hinTS keys); the consensus time of the final aggregation time (if the construction is waiting for votes on preprocessing outputs); and finally, if the construction is complete, the hinTS aggregation and verification keys for the construction. To simplify connecting secondary state with primary state, each construction may also have a unique numeric id. - The **secondary state** of the `HintsService` is everything needed to facilitate deterministic progress on a -construction; and in particular, for nodes that reconnect during the construction. This likely includes, +construction; in particular, for nodes that reconnect during the construction. This likely includes, 1. _Per construction size $M = 2^k$_ : For as many parties as possible, for party with id $i \in [0, M)$, the party's hinTS key; the node id that submitted that hinTS key; the consensus time the hinTS key was adopted in the ongoing construction; and, if applicable, a revised hinTS key the same node wishes to use in subsequent constructions of @@ -114,6 +114,46 @@ signature for a set of partial signatures whose parties are nodes with at least ### The `HistoryService` as a `RosterCompanionService` +Next we map the `HistoryService` to the `RosterCompanionService` abstraction. At a high level, +- The **primary state** of the `HistoryService` includes both the ledger id, and a roster-scoped construction of a +proof that certain metadata and roster were derived from the ledger id. Each construction includes a source roster hash; +a target roster hash; a proof that the source roster derived from the ledger id; a consensus time for the next attempt +to assemble the Schnorr keys for the target roster (if the construction is waiting on Schnorr keys); the consensus final +assembly time for the Schnorr keys; and finally, if the construction is complete, the proof that the target roster and +metadata are derived from the ledger id. +- The **secondary state** of the `HistoryService` is everything needed to facilitate deterministic progress on a +construction; in particular, for nodes that reconnect during the construction. This likely includes, +1. _Per node id $i$_ : The node's Schnorr key; the node's consensus time for the Schnorr key; and, if applicable, a +revised Schnorr key the same node wishes to use in subsequent constructions. +2. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction +$c$ accounting for at least 1/3 of its weight, their signatures on a particular metadata and roster derivation for +construction $c$. +3. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction +$c$ accounting for at least 1/3 of its weight, their consensus vote for a particular proof output for construction $c$. +- The **reconciliation loop** of the `HistoryService` evolves this secondary state by a combination of scheduling +expensive cryptographic operations to run off the `handleTransaction` thread, and gossiping the results of these +operations (or votes on those results) to other nodes. These node operations likely include, +1. `HistoryProofKeyPublication` - a transaction publishing the node's Schnorr key for use in the next construction. +2. `HistoryAssemblySignature` - a transaction publishing the node's signature on a particular metadata and roster +assembly for a certain construction id. +3. `HistoryProofVote` - a transaction publishing the node's vote for a particular proof output for a certain +construction id. +- The `HistoryService` is **ready** when it has completed a proof that the current roster and metadata were derived from +the ledger id. +- The **roster-scoped work** of the `HistoryService` is to accept a byte string which must match the metadata of the +current roster, and return the proof that this metadata and the current roster were derived from the ledger id. + +### Integration with protocol components + +The TSS system is then just the combination of the `HintsService` and `HistoryService` with the `RosterService`, with +the `HistoryService` metadata always set to the verification key of the `HintsService` for the current roster. + +There are only a few other details; namely, +- The `HandleWorkflow` is responsible for driving the reconciliation loops of both companion services. +- The `IngestWorkflow` must reject user transactions during the bootstrap phase. +- The `BlockStreamManager` must include every round in the genesis block until the TSS system is ready. (And thus it +must be possible to tell the platform not to use any of these rounds for state saving or reconnect.) + ## References 1. Garg, S., Jain, A., Mukherjee, P., Sinha, R., Wang, M., & Zhang, Y. (2023). *hinTS: Threshold Signatures with Silent From 7b7d4d35dff331e0ae139dbaf318d961713eeb27 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Mon, 6 Jan 2025 09:35:01 -0600 Subject: [PATCH 03/13] Address reviewer comments Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 141 +++++++++++++++++++-------- 1 file changed, 98 insertions(+), 43 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index 8982c7f74156..92680c019408 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -24,13 +24,12 @@ This document provides the high-level design of how Hiero TSS is implemented. Since the very identity of the ledger in Hiero TSS depends on the ids, weights, and Schnorr keys of the nodes in the network roster at the time of adoption, the TSS implementation is naturally guided by the lifecycle of the - -`RosterService`. From the TSS perspective, this lifecycle has three distinct phases: +`RosterService`. This lifecycle has three phases: 1. **Bootstrap**: Only a genesis roster exists, and although the nodes have secure communication channels, there is no consensus state with the Schnorr or hinTS public keys of the nodes. In this phase, the TSS system must -derive this state from gossip, complete preprocessing for the hinTS scheme, and prove the initial hinTS verification -key and fully active roster were derived from the ledger id using Schnorr signatures from nodes with at least 1/3 of -the weight in the genesis roster. +derive this state from gossip; finish preprocessing for the hinTS scheme; and prove the initial hinTS verification +key is embedded as metadata at the start of the chain of rosters blessed by Schnorr signatures from nodes in the +previous roster with at least 1/3 of the weight. 2. **Transition**: The current roster is fully active; the TSS state includes a consensus proof that its hinTS verification key was derived from the ledger id. There is also a candidate roster that reflects the latest dynamic address book changes and HBAR stake adjustments. In this phase, the TSS system must repeat hinTS preprocessing for @@ -66,63 +65,103 @@ the prime objective of any `RosterCompanionService` during the bootstrap phase. ![RCS bootstrap schematic](assets/rcs-bootstrap-schematic.png) -Completing bootstrap is equivalent to starting in a handoff phase, where a `RosterCompanionService` has no primary -state to derive. Its only required function is to do **roster-scoped work** for the current roster on behalf of other -protocol infrastructure components; though it may also use the reconciliation loop to purge obsolete state. +Completing bootstrap is equivalent to starting in a handoff phase, where a `RosterCompanionService` (`RCS`) has no +primary state to derive. Its only required function is to do **roster-scoped work** for the current roster on behalf of +other protocol infrastructure components; though it may also use the reconciliation loop to purge obsolete state. ![RCS handoff schematic](assets/rcs-handoff-schematic.png) At distinguished points (e.g., at a stake period boundary), the Hiero protocol creates a candidate roster that reflects -dynamic address book changes and HBAR stake adjustments. This initiates a transition phase, where the -`RosterCompanionService` must use the reconciliation loop to derive its primary state for the candidate roster, at the -same time it is doing tasks scoped to the current roster. +dynamic address book changes and HBAR stake adjustments. This initiates a transition phase, where the `RCS` must use the +reconciliation loop to derive its primary state for the candidate roster, at the same time it is doing tasks scoped to +the current roster. + +#### A note on performance + +In the first release of Hiero TSS, revisions to the candidate roster only happened at consensus midnight; and handoffs +in the chain of trust only happened at upgrade boundaries scheduled 12 or more hours after UTC midnight. So new nodes +after a handoff had an entire release to successfully gossip their hinTS and Schnorr keys; and there were many hours +between the latest revision to the candidate roster and the next handoff to complete the work for each transition. + +If Hiero networks move to a much more compressed schedule for roster revisions and transitions, `RCS` implementations +may want to do some transition phase work preemptively, even before the next revision to the candidate roster.For +example, +- A node new to the network could estimate the size of the next candidate roster and preemptively publish its hinTS +key for that size. +- A node new to the network could immediately publish its Schnorr key when going `ACTIVE`. + +But these optimizations were not necessary in the first release of Hiero TSS. ![RCS transition schematic](assets/rcs-transition-schematic.png) ### The `HintsService` as a `RosterCompanionService` -We first map the `HintsService` to the `RosterCompanionService` abstraction. At a high level, -- The **primary state** of the `HintsService` consists of a roster-scoped hinTS construction. Each includes a source -roster hash; a target roster hash; the target roster mapping from node ids to hinTS party ids; a consensus time for -the next aggregation attempt (if the construction is waiting on hinTS keys); the consensus time of the final -aggregation time (if the construction is waiting for votes on preprocessing outputs); and finally, if the construction -is complete, the hinTS aggregation and verification keys for the construction. To simplify connecting secondary state -with primary state, each construction may also have a unique numeric id. -- The **secondary state** of the `HintsService` is everything needed to facilitate deterministic progress on a -construction; in particular, for nodes that reconnect during the construction. This likely includes, -1. _Per construction size $M = 2^k$_ : For as many parties as possible, for party with id $i \in [0, M)$, the party's -hinTS key; the node id that submitted that hinTS key; the consensus time the hinTS key was adopted in the ongoing -construction; and, if applicable, a revised hinTS key the same node wishes to use in subsequent constructions of -size $M$. (Note that a node's assigned party id for a particular construction size never changes; so this implies +We first map the `HintsService` to the `RCS` abstraction. Its **primary state** for each roster is a +**hinTS construction** with everything needed for deterministic progress toward the hinTS scheme for that roster. +The main features of a hinTS construction are items such as, +1. A unique numeric id $c$ for the construction to help connect related hinTS state like votes to the construction. +2. The source roster hash. +3. The target roster hash (needed by a reconnecting node to recover weight information for nodes, and hence parties, +in the ongoing construction). +4. If the construction is complete, the hinTS aggregation and verification keys for the scheme. +5. If the construction is complete, the final mapping of node ids to hinTS party ids in the target roster. +6. If the construction is still collecting hinTS keys, the consensus time for the next aggregation attempt. +7. If the construction has stopped accepting hinTS keys, the adoption time of the last accepted hinTS key. + +Note that despite the strong functional analogy between the constructions that make up the roster-scoped primary state +for the `HintsService` and `HistoryService`, they have quite distinct goal states and need not have a one-to-one +correspondence. In particular, even if the Hiero signing mechanism were to change from hinTS to something else, this +would not require any change to the structure of a `HistoryService` proof construction. + +The `HintsService` **secondary state** is everything else needed to facilitate deterministic progress on a +construction; in particular, for nodes that reconnect during the construction. Main types of secondary state are +items such as, +1. _Per construction size $M = 2^k$_ : For as many parties as possible, for a party with id $i \in [0, M)$, the +party's hinTS key; the node id that submitted that hinTS key; the consensus time the hinTS key was adopted in the +ongoing construction; and, if applicable, a revised hinTS key the same node wishes to use in subsequent constructions +of size $M$. (Note that a node's assigned party id for a particular construction size never changes; so this implies such secondary state is fully purged before reusing a party id for a new node id.) 2. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction $c$ accounting for at least 1/3 of its weight, their consensus vote for a particular preprocessing output with aggregation and verification keys for construction $c$. -- The **reconciliation loop** of the `HintsService` evolves this secondary state by a combination of scheduling + +The **reconciliation loop** of the `HintsService` evolves this secondary state by a combination of scheduling expensive cryptographic operations to run off the `handleTransaction` thread, and gossiping the results of these operations (or votes on those results) to other nodes. These node operations likely include, 1. `HintsKeyPublication` - a transaction publishing the node's hinTS key for a particular construction size for use in the next construction of that size (or an ongoing construction of that size, if this is the first such -publication for the node). +publication for the node). In general, storing node's hinTS keys for multiple party sizes may lead to some mild +duplication of information about the node's public BLS key; but this will be rounding error compared to the size of +the hints, which are proportional to the number of parties. 2. `HintsAggregationVote` - a transaction publishing the node's vote for a particular preprocessing output for -a certain construction id. -- The `HintsService` is **ready** when it has completed a hinTS construction for the current roster. -- The **roster-scoped work** of the `HintsService` is to accept a message (generally a block hash) and return a +a certain construction id; that is, the `(aggregation key, verification key)` output of the hinTS preprocessing +algorithm. + +The `HintsService` is **ready** when it has completed a hinTS construction for the current roster. + +The **roster-scoped work** of the `HintsService` is to accept a message (generally a block hash) and return a future that resolves to the hinTS signature on the message. This will require gossiping partial signatures via a `HintsPartialSignature` node transaction so the node can run the hinTS aggregation algorithm to produce a succinct signature for a set of partial signatures whose parties are nodes with at least 1/3 weight in the current roster. ### The `HistoryService` as a `RosterCompanionService` -Next we map the `HistoryService` to the `RosterCompanionService` abstraction. At a high level, -- The **primary state** of the `HistoryService` includes both the ledger id, and a roster-scoped construction of a -proof that certain metadata and roster were derived from the ledger id. Each construction includes a source roster hash; -a target roster hash; a proof that the source roster derived from the ledger id; a consensus time for the next attempt -to assemble the Schnorr keys for the target roster (if the construction is waiting on Schnorr keys); the consensus final -assembly time for the Schnorr keys; and finally, if the construction is complete, the proof that the target roster and -metadata are derived from the ledger id. -- The **secondary state** of the `HistoryService` is everything needed to facilitate deterministic progress on a -construction; in particular, for nodes that reconnect during the construction. This likely includes, +Next we map the `HistoryService` to the `RosterCompanionService` abstraction. Its **primary state** has one global +entry, the ledger id. Its roster-scoped primary state is a **proof construction** with everything needed for +deterministic progress toward the proof that this roster extends the chain of trust, incorporating any requested +metadata for the roster. The main features of a proof construction are items such as, +1. An id $c$ for the construction to help connect related proof state like votes to the construction. +2. The source roster hash. +3. The target roster hash. +4. If the construction is complete, the proof that the target roster and metadata belong to the chain of trust. +5. If the construction is waiting on Schnorr keys, the consensus time for the next attempt to assemble the next +`(roster, metadata)` pair in the chain of trust. +6. If the construction is no longer accepting Schnorr keys, the consensus final assembly time for the next +`(roster, metadata)` pair in the chain of trust. +7. If the construction is complete, the proof extending the chain of trust to the target roster and metadata. + +The **secondary state** of the `HistoryService` is everything needed to facilitate deterministic progress on a +construction; in particular, for nodes that reconnect during the construction. This includes items such as, 1. _Per node id $i$_ : The node's Schnorr key; the node's consensus time for the Schnorr key; and, if applicable, a revised Schnorr key the same node wishes to use in subsequent constructions. 2. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction @@ -130,7 +169,8 @@ $c$ accounting for at least 1/3 of its weight, their signatures on a particular construction $c$. 3. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction $c$ accounting for at least 1/3 of its weight, their consensus vote for a particular proof output for construction $c$. -- The **reconciliation loop** of the `HistoryService` evolves this secondary state by a combination of scheduling + +The **reconciliation loop** of the `HistoryService` evolves this secondary state by a combination of scheduling expensive cryptographic operations to run off the `handleTransaction` thread, and gossiping the results of these operations (or votes on those results) to other nodes. These node operations likely include, 1. `HistoryProofKeyPublication` - a transaction publishing the node's Schnorr key for use in the next construction. @@ -138,15 +178,30 @@ operations (or votes on those results) to other nodes. These node operations lik assembly for a certain construction id. 3. `HistoryProofVote` - a transaction publishing the node's vote for a particular proof output for a certain construction id. -- The `HistoryService` is **ready** when it has completed a proof that the current roster and metadata were derived from + +The `HistoryService` is **ready** when it has completed a proof that the current roster and metadata were derived from +the ledger id. + +The **roster-scoped work** of the `HistoryService` is to accept a byte string which must match the metadata of the +current roster, and return the proof that this `(roster, metadata)` pair belongs to the chain of trust starting with the ledger id. -- The **roster-scoped work** of the `HistoryService` is to accept a byte string which must match the metadata of the -current roster, and return the proof that this metadata and the current roster were derived from the ledger id. ### Integration with protocol components The TSS system is then just the combination of the `HintsService` and `HistoryService` with the `RosterService`, with -the `HistoryService` metadata always set to the verification key of the `HintsService` for the current roster. +the `HistoryService` metadata always set to the verification key of the `HintsService` for the current roster. The +complete ledger signature $S_L$ on a message $\textrm{msg}$ thus combines a hinTS signature $S_h$ on $\textrm{msg}$ with +a proof $P_{\textrm{vk}}$ that the verification key $\textrm{vk}$ in $S_h$ is exactly the metadata in a chain of trusted +`(roster, metadata)` pairs extending from a well-known ledger id `I`. That is, + +$$ S_L[\textrm{msg}] = (S_h[\textrm{msg}], P_{\textrm{vk}})$$ + +An entity interested in verifying the signatures of a Hiero network will then, +- Validate out-of-band through some means that `I` is, in fact, the ledger id of the Hiero network in question. +- Deploy a generic hinTS verifier, *extended with* the ability to verify proofs asserting a chain-of-trust from `I`. +- Given a signature $S_L$ on $\textrm{msg}$ message $\textrm{msg}$, first check that $P_{\textrm{vk}}$ is valid, and +hence the hinTS scheme producing $S_h$ was in fact produced by nodes inheriting a chain of trust from the nodes that +constituted `I`. Second, verify that $S_h$ is a valid hinTS signature on $\textrm{msg}$. There are only a few other details; namely, - The `HandleWorkflow` is responsible for driving the reconciliation loops of both companion services. From 14875ea717d32426df596c8dc4bb172b96679cb7 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 15:08:06 -0600 Subject: [PATCH 04/13] Incorporate feedback from Leemon Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 66 +++++++++++++++++++++++----- 1 file changed, 54 insertions(+), 12 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index 92680c019408..cc6c903c8231 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -1,13 +1,14 @@ ## Exact-weight TSS -A **threshold signature scheme (TSS)** allows a group of parties to collectively sign a message by aggregating their +A **threshold signature scheme (TSS)** lets a group of parties collectively sign a message by aggregating their partial signatures. The **access structure** of a TSS is the set of subsets of the parties whose partial signatures can be combined to form a valid signature. For an aBFT proof-of-stake blockchain, the ideal access structure at any -point in the protocol includes any set of nodes holding at least 1/3 of the total stake. This means the TSS must support -arbitrarily precise (in the case of Hiero, 64-bit) party weights. +point in the protocol includes any set of nodes holding at least 1/3 of the total consensus weight. In a Hiero network, +consensus weights are the whole number of HBARs staked to each node, and hence require 64-bit precision since each +network has a fixed supply of 50B HBAR. Ignoring the amount of work and party interactions required of a verifier, it is relatively straightforward to design -such a TSS. It is enormously harder to design an **efficient** TSS with this property. Efficiency demands, +such a TSS. It is much harder to design an **efficient** TSS with this property. Efficiency demands, - A stable, succinct **ledger identity** that verifiers can trust during any period since adoption of the TSS in which the network's aBFT properties are not compromised; no matter how many nodes are added or removed, or change their signing keys. @@ -15,8 +16,8 @@ signing keys. - **Fixed-cost, non-interactive verification** that is again independent of the size of the network. Hiero uses an efficient exact-weight TSS where signing works via the **hinTS** scheme published in [1], and the -ledger's identity is the hash of the ids, weights, and Schnorr public keys of the permissioned nodes in the network at -the time the TSS was adopted. +ledger's identity is the hash of the ids, weights, and Schnorr public keys of the permissioned nodes in the network +at the time the TSS was adopted. This document provides the high-level design of how Hiero TSS is implemented. @@ -51,8 +52,12 @@ proving via recursive SNARK that a set of node ids, weights, Schnorr keys; and a from the ledger id with each transition in the derivation having valid Schnorr signatures from nodes with at least 1/3 of the weight in the source roster. -The node software combines these services to achieve TSS by setting the binary strings in the `HistoryService` proofs -to the verification keys computed by the `HintsService` for the corresponding rosters. +The node software combines these services to achieve TSS by setting the binary strings in the `HistoryService` proof +for each roster to the concatenation of two items: +1. The verification key computed by the `HintsService` for that roster. +2. The minimum trustable threshold weight that must be presented to a verifier along with a signature for this +verification key. **Important:** This means 1/3 of the total weight in the roster, which is _not_ necessarily 1/3 of +50B HBAR (unless all HBAR were in fact staked to nodes in the roster). Despite their separate responsibilities, both the `HintsService` and `HistoryService` share a high-level design that we call the `RosterCompanionService`. This abstraction is a service whose goal is to derive some **primary state** for @@ -190,13 +195,14 @@ the ledger id. The TSS system is then just the combination of the `HintsService` and `HistoryService` with the `RosterService`, with the `HistoryService` metadata always set to the verification key of the `HintsService` for the current roster. The -complete ledger signature $S_L$ on a message $\textrm{msg}$ thus combines a hinTS signature $S_h$ on $\textrm{msg}$ with -a proof $P_{\textrm{vk}}$ that the verification key $\textrm{vk}$ in $S_h$ is exactly the metadata in a chain of trusted +complete ledger signature $S_L$ on a message $\textrm{msg}$ thus combines a hinTS signature $S_h$ with proven +threshold $\mathcal{T_S}$ at least a claimed minimum threshold $\mathcal{T}$ on $\textrm{msg}$ with a proof +$P_{\textrm{vk},\mathcal{T}}$ that the pair $(\textrm{vk}, \mathcal{T})$ is exactly the metadata in a chain of trusted `(roster, metadata)` pairs extending from a well-known ledger id `I`. That is, -$$ S_L[\textrm{msg}] = (S_h[\textrm{msg}], P_{\textrm{vk}})$$ +$$ S_L[\textrm{msg}] = (S_h[\textrm{msg}], P_{\textrm{vk},\mathcal{T}})$$ -An entity interested in verifying the signatures of a Hiero network will then, +An verifier of the signatures of a Hiero network will then, - Validate out-of-band through some means that `I` is, in fact, the ledger id of the Hiero network in question. - Deploy a generic hinTS verifier, *extended with* the ability to verify proofs asserting a chain-of-trust from `I`. - Given a signature $S_L$ on $\textrm{msg}$ message $\textrm{msg}$, first check that $P_{\textrm{vk}}$ is valid, and @@ -209,6 +215,42 @@ There are only a few other details; namely, - The `BlockStreamManager` must include every round in the genesis block until the TSS system is ready. (And thus it must be possible to tell the platform not to use any of these rounds for state saving or reconnect.) +#### Implied limitations on the transition phase + +Consider a transition from roster $A$ with nodes $\{A_1, \ldots, A_n\}$ and hinTS aggregation key $\textrm{ak}_A$ to +a candidate roster $B$ with nodes $\{B_1, \ldots, B_m\}$ and hinTS aggregation key $\textrm{ak}_B$. + +Furthermore, let +$$w_A = \sum_{i=1}^n w(A_i)$$ +be the total weight of roster $A$, and similarly for $B$. Also, +- Let $\mathcal{A} \subset A$ be the set of nodes in $A$ that have a Schnorr signature on the +pair $(B, \textrm{ak}_B)$. +- Let $\mathcal{B} \subset B$ be the set of nodes in $B$ that have a hinTS key in $\textrm{ak}_B$. + +Now, to preserve aBFT security, we must have Schnorr signatures on the pair $(B, \textrm{ak}_B)$ from at least 1/3 of +the weight in $A$. That is, +$$w_\mathcal{A} = \sum_{A_i \in \mathcal{A}} w(A_i) \geq \frac{1}{3} w_A$$ + +This implies that at least one honest node with non-zero weight signed off on the transition. + +However, there are two further conditions that `(B, m)` must satisfy for the network to remain operational after +adopting it. + +First, $\mathcal{B}$ must contain strictly more than 2/3 of the weight in $B$, so that even if just less +than 1/3 of the weight in $B$ is malicious, there will remain 1/3 honest weight that can construct hinTS signatures +and keep signing blocks. +$$w_\mathcal{B} = \sum_{B_i \in \mathcal{B}} w(B_i) > \frac{2}{3} w_B$$ + +Second, if $\mathbb{B} \subset B$ is the set of nodes in $B$ with a published Schnorr key, we must again have +$$w_\mathbb{B} = \sum_{B_i \in \mathbb{B}} w(B_i) > \frac{2}{3} w_B$$ +so that again, even if just less than 1/3 of the weight +in $B$ is malicious, there will remain at least 1/3 honest weight that can sign off on the next transition. (It is, +of course, not necessary that $\mathcal{B} = \mathbb{B}$; only that these weight conditions are satisfied.) + +**Important:** Given the current set of Heiro admin transactions, and the requirement that staking elections be +done to only active nodes, it is not possible to satisfy the above inequalities on $\mathcal{B}$ and $\mathbb{B}$ +while changing more than 1/3 of the weight in the network in a single transition. + ## References 1. Garg, S., Jain, A., Mukherjee, P., Sinha, R., Wang, M., & Zhang, Y. (2023). *hinTS: Threshold Signatures with Silent From 49b71daf7d282e0608742ca1d41ebe8a9b571844 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 15:40:52 -0600 Subject: [PATCH 05/13] spotless Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index cc6c903c8231..ad90e0ee42b4 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -55,9 +55,9 @@ of the weight in the source roster. The node software combines these services to achieve TSS by setting the binary strings in the `HistoryService` proof for each roster to the concatenation of two items: 1. The verification key computed by the `HintsService` for that roster. -2. The minimum trustable threshold weight that must be presented to a verifier along with a signature for this -verification key. **Important:** This means 1/3 of the total weight in the roster, which is _not_ necessarily 1/3 of -50B HBAR (unless all HBAR were in fact staked to nodes in the roster). +2. The minimum threshold weight that a verifier should accept for a signature by this +verification key. (This will 1/3 of the total weight in the roster, which is _not_ necessarily 1/3 of +50B HBAR---unless all HBAR were, in fact, staked to nodes in the roster). Despite their separate responsibilities, both the `HintsService` and `HistoryService` share a high-level design that we call the `RosterCompanionService`. This abstraction is a service whose goal is to derive some **primary state** for @@ -243,9 +243,7 @@ $$w_\mathcal{B} = \sum_{B_i \in \mathcal{B}} w(B_i) > \frac{2}{3} w_B$$ Second, if $\mathbb{B} \subset B$ is the set of nodes in $B$ with a published Schnorr key, we must again have $$w_\mathbb{B} = \sum_{B_i \in \mathbb{B}} w(B_i) > \frac{2}{3} w_B$$ -so that again, even if just less than 1/3 of the weight -in $B$ is malicious, there will remain at least 1/3 honest weight that can sign off on the next transition. (It is, -of course, not necessary that $\mathcal{B} = \mathbb{B}$; only that these weight conditions are satisfied.) +so that again, even if just less than 1/3 of the weight in $B$ is malicious, there will remain at least 1/3 honest weight that can sign off on the next transition. (It is, of course, not necessary that $\mathcal{B} = \mathbb{B}$; only that these weight conditions are satisfied.) **Important:** Given the current set of Heiro admin transactions, and the requirement that staking elections be done to only active nodes, it is not possible to satisfy the above inequalities on $\mathcal{B}$ and $\mathbb{B}$ From fa1fb9d460149a03901f0a6d1194faf84a6fe022 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 15:44:43 -0600 Subject: [PATCH 06/13] spotless Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index ad90e0ee42b4..34e6b2bb0474 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -227,9 +227,9 @@ be the total weight of roster $A$, and similarly for $B$. Also, pair $(B, \textrm{ak}_B)$. - Let $\mathcal{B} \subset B$ be the set of nodes in $B$ that have a hinTS key in $\textrm{ak}_B$. -Now, to preserve aBFT security, we must have Schnorr signatures on the pair $(B, \textrm{ak}_B)$ from at least 1/3 of +Now, to preserve aBFT security, we must have Schnorr signatures on the pair $(B, \textrm{ak}\_B)$ from at least 1/3 of the weight in $A$. That is, -$$w_\mathcal{A} = \sum_{A_i \in \mathcal{A}} w(A_i) \geq \frac{1}{3} w_A$$ +$$w\_\mathcal{A} = \sum\_{A\_i \in \mathcal{A}} w(A\_i) \geq \frac{1}{3} w\_A$$ This implies that at least one honest node with non-zero weight signed off on the transition. @@ -239,10 +239,13 @@ adopting it. First, $\mathcal{B}$ must contain strictly more than 2/3 of the weight in $B$, so that even if just less than 1/3 of the weight in $B$ is malicious, there will remain 1/3 honest weight that can construct hinTS signatures and keep signing blocks. + $$w_\mathcal{B} = \sum_{B_i \in \mathcal{B}} w(B_i) > \frac{2}{3} w_B$$ Second, if $\mathbb{B} \subset B$ is the set of nodes in $B$ with a published Schnorr key, we must again have + $$w_\mathbb{B} = \sum_{B_i \in \mathbb{B}} w(B_i) > \frac{2}{3} w_B$$ + so that again, even if just less than 1/3 of the weight in $B$ is malicious, there will remain at least 1/3 honest weight that can sign off on the next transition. (It is, of course, not necessary that $\mathcal{B} = \mathbb{B}$; only that these weight conditions are satisfied.) **Important:** Given the current set of Heiro admin transactions, and the requirement that staking elections be From e3a293bdb19f6367fa8dd42b91273f33ba25e98a Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 15:54:30 -0600 Subject: [PATCH 07/13] spotless Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index 34e6b2bb0474..85df7aa8518c 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -223,33 +223,36 @@ a candidate roster $B$ with nodes $\{B_1, \ldots, B_m\}$ and hinTS aggregation k Furthermore, let $$w_A = \sum_{i=1}^n w(A_i)$$ be the total weight of roster $A$, and similarly for $B$. Also, -- Let $\mathcal{A} \subset A$ be the set of nodes in $A$ that have a Schnorr signature on the +- Let $SA \subset A$ be the set of nodes in $A$ that have a Schnorr signature on the pair $(B, \textrm{ak}_B)$. -- Let $\mathcal{B} \subset B$ be the set of nodes in $B$ that have a hinTS key in $\textrm{ak}_B$. +- Let $SB \subset B$ be the set of nodes in $B$ that have a Schnorr key in $B$. +- Let $HB \subset B$ be the set of nodes in $B$ that have a hinTS key in $\textrm{ak}_B$. Now, to preserve aBFT security, we must have Schnorr signatures on the pair $(B, \textrm{ak}\_B)$ from at least 1/3 of the weight in $A$. That is, -$$w\_\mathcal{A} = \sum\_{A\_i \in \mathcal{A}} w(A\_i) \geq \frac{1}{3} w\_A$$ +$$w\_{SA} = \sum\_{A\_i \in {SA}} w(A\_i) \geq \frac{1}{3} w\_A$$ This implies that at least one honest node with non-zero weight signed off on the transition. However, there are two further conditions that `(B, m)` must satisfy for the network to remain operational after adopting it. -First, $\mathcal{B}$ must contain strictly more than 2/3 of the weight in $B$, so that even if just less +First, $HB$ must contain strictly more than 2/3 of the weight in $B$, so that even if just less than 1/3 of the weight in $B$ is malicious, there will remain 1/3 honest weight that can construct hinTS signatures and keep signing blocks. -$$w_\mathcal{B} = \sum_{B_i \in \mathcal{B}} w(B_i) > \frac{2}{3} w_B$$ +$$w_{HB} = \sum_{B_i \in HB} w(B_i) > \frac{2}{3} w_B$$ -Second, if $\mathbb{B} \subset B$ is the set of nodes in $B$ with a published Schnorr key, we must again have +Second, we must again have -$$w_\mathbb{B} = \sum_{B_i \in \mathbb{B}} w(B_i) > \frac{2}{3} w_B$$ +$$w_{SB} = \sum_{B_i \in SB} w(B_i) > \frac{2}{3} w_B$$ -so that again, even if just less than 1/3 of the weight in $B$ is malicious, there will remain at least 1/3 honest weight that can sign off on the next transition. (It is, of course, not necessary that $\mathcal{B} = \mathbb{B}$; only that these weight conditions are satisfied.) +so that again, even if just less than 1/3 of the weight in $B$ is malicious, there will remain at least 1/3 honest weight that +can sign off on the next transition. (It is, of course, not necessary that $SB = HB$; only that these weight conditions +are satisfied.) **Important:** Given the current set of Heiro admin transactions, and the requirement that staking elections be -done to only active nodes, it is not possible to satisfy the above inequalities on $\mathcal{B}$ and $\mathbb{B}$ +done to only active nodes, it is not possible to satisfy the above inequalities on $SB$ and $\mathbb{B}$ while changing more than 1/3 of the weight in the network in a single transition. ## References From 154e2f1a88b12ae10c8119420bba579254afc097 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 16:05:28 -0600 Subject: [PATCH 08/13] typo Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index 85df7aa8518c..87ab272d3cd0 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -56,7 +56,7 @@ The node software combines these services to achieve TSS by setting the binary s for each roster to the concatenation of two items: 1. The verification key computed by the `HintsService` for that roster. 2. The minimum threshold weight that a verifier should accept for a signature by this -verification key. (This will 1/3 of the total weight in the roster, which is _not_ necessarily 1/3 of +verification key. (This will be 1/3 of the total weight in the roster, which is _not_ necessarily 1/3 of 50B HBAR---unless all HBAR were, in fact, staked to nodes in the roster). Despite their separate responsibilities, both the `HintsService` and `HistoryService` share a high-level design that From ebb4ac38397b95673e4f7d5aa6fb2016a4ff844b Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 16:06:40 -0600 Subject: [PATCH 09/13] typo Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index 87ab272d3cd0..b2c1e4d4a62b 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -251,7 +251,7 @@ so that again, even if just less than 1/3 of the weight in $B$ is malicious, the can sign off on the next transition. (It is, of course, not necessary that $SB = HB$; only that these weight conditions are satisfied.) -**Important:** Given the current set of Heiro admin transactions, and the requirement that staking elections be +**Important:** Given the current set of Hiero admin transactions, and the requirement that staking elections be done to only active nodes, it is not possible to satisfy the above inequalities on $SB$ and $\mathbb{B}$ while changing more than 1/3 of the weight in the network in a single transition. From cd17fef8498195559b49f526e1033ce13d427753 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 21:08:22 -0600 Subject: [PATCH 10/13] Address reviewer comments Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 57 ++++++++++++++++------------ 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index b2c1e4d4a62b..b93f5ce1998b 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -29,13 +29,14 @@ the network roster at the time of adoption, the TSS implementation is naturally 1. **Bootstrap**: Only a genesis roster exists, and although the nodes have secure communication channels, there is no consensus state with the Schnorr or hinTS public keys of the nodes. In this phase, the TSS system must derive this state from gossip; finish preprocessing for the hinTS scheme; and prove the initial hinTS verification -key is embedded as metadata at the start of the chain of rosters blessed by Schnorr signatures from nodes in the -previous roster with at least 1/3 of the weight. -2. **Transition**: The current roster is fully active; the TSS state includes a consensus proof that its hinTS -verification key was derived from the ledger id. There is also a candidate roster that reflects the latest dynamic -address book changes and HBAR stake adjustments. In this phase, the TSS system must repeat hinTS preprocessing for -the candidate roster; and collect enough Schnorr signatures from the current roster to (recursively) prove the new -hinTS verification key was also derived from the ledger id. +key and weight threshold are embedded as metadata at the start of the chain of rosters blessed by Schnorr signatures +from nodes in the previous roster with at least 1/3 of the weight. (Since bootstrap begins the chain, verifiers must +trust the genesis roster's members for prior reasons.) +2. **Transition**: The current roster is fully active; the TSS state includes a consensus proof that the roster, +its hinTS verification key, and minimum weight threshold were all blessed by a previous roster. There is also a +candidate roster that reflects the latest dynamic address book changes and HBAR stake adjustments. In this phase, the +TSS system must repeat hinTS preprocessing for the candidate roster; and collect enough Schnorr signatures from the +current roster to (recursively) prove _that_ roster's hinTS construction and minimum weight threshold. 3. **Handoff**: The current roster is fully active, but there is no candidate roster because the network has just replaced its current roster with the candidate roster. In this phase, the TSS system may, for example, purge any obsolete state accumulated during its previous transition phases; but it has no urgent responsibilities besides, of @@ -48,16 +49,20 @@ We structure the TSS system as two services with distinct responsibilities: string (CRS)** grounding the protocol; that is, preprocessing, key generation, hint generation, partial signing, partial verification, and signature aggregation. 2. The `HistoryService`, which is unaware of its role in specifically TSS, and implements a more general function of -proving via recursive SNARK that a set of node ids, weights, Schnorr keys; and an arbitrary binary string, were derived +proving via recursive SNARK that a set of node ids, weights, Schnorr keys; and some arbitrary metadata, were derived from the ledger id with each transition in the derivation having valid Schnorr signatures from nodes with at least 1/3 of the weight in the source roster. -The node software combines these services to achieve TSS by setting the binary strings in the `HistoryService` proof +The node software combines these services to achieve TSS by setting the metadata in the `HistoryService` proof for each roster to the concatenation of two items: 1. The verification key computed by the `HintsService` for that roster. 2. The minimum threshold weight that a verifier should accept for a signature by this -verification key. (This will be 1/3 of the total weight in the roster, which is _not_ necessarily 1/3 of -50B HBAR---unless all HBAR were, in fact, staked to nodes in the roster). +verification key; in particular, 1/3 of the total weight in the roster, which is _not_ necessarily 1/3 of +50B HBAR---unless all HBAR were staked to nodes in the roster. + +(Note the full message that nodes sign with their Schnorr keys in each `HistoryService` proof is the concatenation of +the above metadata with the hash of a canonical serialization of the list of `(node id, weight, Schnorr key)` triples +defining the next roster.) Despite their separate responsibilities, both the `HintsService` and `HistoryService` share a high-level design that we call the `RosterCompanionService`. This abstraction is a service whose goal is to derive some **primary state** for @@ -83,10 +88,10 @@ the current roster. #### A note on performance -In the first release of Hiero TSS, revisions to the candidate roster only happened at consensus midnight; and handoffs -in the chain of trust only happened at upgrade boundaries scheduled 12 or more hours after UTC midnight. So new nodes -after a handoff had an entire release to successfully gossip their hinTS and Schnorr keys; and there were many hours -between the latest revision to the candidate roster and the next handoff to complete the work for each transition. +In the first release of Hiero TSS, revisions to the candidate roster only happened at consensus midnight; and roster +handoffs only happened at upgrade boundaries scheduled 12 or more hours after UTC midnight. So new nodes after a handoff +had an entire release to successfully gossip their hinTS and Schnorr keys; and there were many hours between the latest +revision to the candidate roster and the next handoff to complete the work for each transition. If Hiero networks move to a much more compressed schedule for roster revisions and transitions, `RCS` implementations may want to do some transition phase work preemptively, even before the next revision to the candidate roster.For @@ -110,7 +115,10 @@ The main features of a hinTS construction are items such as, in the ongoing construction). 4. If the construction is complete, the hinTS aggregation and verification keys for the scheme. 5. If the construction is complete, the final mapping of node ids to hinTS party ids in the target roster. -6. If the construction is still collecting hinTS keys, the consensus time for the next aggregation attempt. +6. If the construction is still collecting hinTS keys, the consensus time for the next aggregation attempt (an +**attempt** is a deterministic point in consensus time at which honest nodes pause and evaluate if they have enough +hinTS keys to satisfy the weight inequalities discussed in the [section](#implied-limitations-on-the-transition-phase) +below and begin the hinTS preprocessing algorithm). 7. If the construction has stopped accepting hinTS keys, the adoption time of the last accepted hinTS key. Note that despite the strong functional analogy between the constructions that make up the roster-scoped primary state @@ -124,8 +132,9 @@ items such as, 1. _Per construction size $M = 2^k$_ : For as many parties as possible, for a party with id $i \in [0, M)$, the party's hinTS key; the node id that submitted that hinTS key; the consensus time the hinTS key was adopted in the ongoing construction; and, if applicable, a revised hinTS key the same node wishes to use in subsequent constructions -of size $M$. (Note that a node's assigned party id for a particular construction size never changes; so this implies -such secondary state is fully purged before reusing a party id for a new node id.) +of size $M$. (A node operator might wish to rotate their key for security reasons and trigger such a revision.) +Note that a node's assigned party id for a particular construction size never changes; so this implies such secondary +state is fully purged before reusing a party id for a new node id. 2. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction $c$ accounting for at least 1/3 of its weight, their consensus vote for a particular preprocessing output with aggregation and verification keys for construction $c$. @@ -156,7 +165,7 @@ entry, the ledger id. Its roster-scoped primary state is a **proof construction* deterministic progress toward the proof that this roster extends the chain of trust, incorporating any requested metadata for the roster. The main features of a proof construction are items such as, 1. An id $c$ for the construction to help connect related proof state like votes to the construction. -2. The source roster hash. +2. The source roster hash; and if this is not the ledger id, the proof from the ledger id to the source roster. 3. The target roster hash. 4. If the construction is complete, the proof that the target roster and metadata belong to the chain of trust. 5. If the construction is waiting on Schnorr keys, the consensus time for the next attempt to assemble the next @@ -178,9 +187,9 @@ $c$ accounting for at least 1/3 of its weight, their consensus vote for a partic The **reconciliation loop** of the `HistoryService` evolves this secondary state by a combination of scheduling expensive cryptographic operations to run off the `handleTransaction` thread, and gossiping the results of these operations (or votes on those results) to other nodes. These node operations likely include, -1. `HistoryProofKeyPublication` - a transaction publishing the node's Schnorr key for use in the next construction. -2. `HistoryAssemblySignature` - a transaction publishing the node's signature on a particular metadata and roster -assembly for a certain construction id. +1. `HistorySchnorrKeyPublication` - a transaction publishing the node's Schnorr key for use in the next construction. +2. `HistoryMessageSignature` - a transaction publishing the node's signature on the serialization of a +metadata and roster concatenation for a certain construction id. 3. `HistoryProofVote` - a transaction publishing the node's vote for a particular proof output for a certain construction id. @@ -206,8 +215,8 @@ An verifier of the signatures of a Hiero network will then, - Validate out-of-band through some means that `I` is, in fact, the ledger id of the Hiero network in question. - Deploy a generic hinTS verifier, *extended with* the ability to verify proofs asserting a chain-of-trust from `I`. - Given a signature $S_L$ on $\textrm{msg}$ message $\textrm{msg}$, first check that $P_{\textrm{vk}}$ is valid, and -hence the hinTS scheme producing $S_h$ was in fact produced by nodes inheriting a chain of trust from the nodes that -constituted `I`. Second, verify that $S_h$ is a valid hinTS signature on $\textrm{msg}$. +hence the hinTS scheme producing $S_h$ was in fact produced by nodes inheriting a chain of trust starting from the +nodes that established the trusted ledger id. Second, verify that $S_h$ is a valid hinTS signature on $\textrm{msg}$. There are only a few other details; namely, - The `HandleWorkflow` is responsible for driving the reconciliation loops of both companion services. From 8e6b6ffee6058a2839a25d890ec997db5cc09fe2 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 21:57:26 -0600 Subject: [PATCH 11/13] Fix typo Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index b93f5ce1998b..d02aa4847360 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -214,9 +214,10 @@ $$ S_L[\textrm{msg}] = (S_h[\textrm{msg}], P_{\textrm{vk},\mathcal{T}})$$ An verifier of the signatures of a Hiero network will then, - Validate out-of-band through some means that `I` is, in fact, the ledger id of the Hiero network in question. - Deploy a generic hinTS verifier, *extended with* the ability to verify proofs asserting a chain-of-trust from `I`. -- Given a signature $S_L$ on $\textrm{msg}$ message $\textrm{msg}$, first check that $P_{\textrm{vk}}$ is valid, and -hence the hinTS scheme producing $S_h$ was in fact produced by nodes inheriting a chain of trust starting from the -nodes that established the trusted ledger id. Second, verify that $S_h$ is a valid hinTS signature on $\textrm{msg}$. +- Given a signature $S_L$ on $\textrm{msg}$ message $\textrm{msg}$, first check that $P_{\textrm{vk},\mathcal{T}}$ is +valid, and hence the hinTS scheme producing $S_h$ was in fact produced by nodes inheriting a chain of trust starting +from the nodes that established the trusted ledger id. Second, verify that $S_h$ is a valid hinTS signature on +$\textrm{msg}$. There are only a few other details; namely, - The `HandleWorkflow` is responsible for driving the reconciliation loops of both companion services. From 16b995d4570240931cf7bbc60bab72f9cfca86f7 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Tue, 7 Jan 2025 21:59:21 -0600 Subject: [PATCH 12/13] Fix typo Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index d02aa4847360..c5ac0d297353 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -202,12 +202,13 @@ the ledger id. ### Integration with protocol components -The TSS system is then just the combination of the `HintsService` and `HistoryService` with the `RosterService`, with -the `HistoryService` metadata always set to the verification key of the `HintsService` for the current roster. The -complete ledger signature $S_L$ on a message $\textrm{msg}$ thus combines a hinTS signature $S_h$ with proven -threshold $\mathcal{T_S}$ at least a claimed minimum threshold $\mathcal{T}$ on $\textrm{msg}$ with a proof -$P_{\textrm{vk},\mathcal{T}}$ that the pair $(\textrm{vk}, \mathcal{T})$ is exactly the metadata in a chain of trusted -`(roster, metadata)` pairs extending from a well-known ledger id `I`. That is, +The TSS system is then just the combination of the `HintsService` and `HistoryService` with the `RosterService`; with +the `HistoryService` metadata always set to the verification key of the `HintsService` for the current roster, +concatenated to the weight threshold $T$ required for signatures with that key. The complete ledger signature +$S_L$ on a message $\textrm{msg}$ thus combines a hinTS signature $S_h$ with proven threshold $\mathcal{T_S}$ at +least a claimed minimum threshold $\mathcal{T}$ on $\textrm{msg}$ with a proof $P_{\textrm{vk},\mathcal{T}}$ that +the pair $(\textrm{vk}, \mathcal{T})$ is exactly the metadata in a chain of trusted `(roster, metadata)` pairs +extending from a well-known ledger id `I`. That is, $$ S_L[\textrm{msg}] = (S_h[\textrm{msg}], P_{\textrm{vk},\mathcal{T}})$$ From 347d6278f830e4492cc33550048edf1290fcad72 Mon Sep 17 00:00:00 2001 From: Michael Tinker Date: Sun, 12 Jan 2025 11:23:40 -0600 Subject: [PATCH 13/13] Adjust wording Signed-off-by: Michael Tinker --- hedera-node/docs/exact-weight-tss.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/hedera-node/docs/exact-weight-tss.md b/hedera-node/docs/exact-weight-tss.md index c5ac0d297353..c35cb34e6e79 100644 --- a/hedera-node/docs/exact-weight-tss.md +++ b/hedera-node/docs/exact-weight-tss.md @@ -86,6 +86,8 @@ dynamic address book changes and HBAR stake adjustments. This initiates a transi reconciliation loop to derive its primary state for the candidate roster, at the same time it is doing tasks scoped to the current roster. +![RCS transition schematic](assets/rcs-transition-schematic.png) + #### A note on performance In the first release of Hiero TSS, revisions to the candidate roster only happened at consensus midnight; and roster @@ -102,8 +104,6 @@ key for that size. But these optimizations were not necessary in the first release of Hiero TSS. -![RCS transition schematic](assets/rcs-transition-schematic.png) - ### The `HintsService` as a `RosterCompanionService` We first map the `HintsService` to the `RCS` abstraction. Its **primary state** for each roster is a @@ -129,13 +129,13 @@ would not require any change to the structure of a `HistoryService` proof constr The `HintsService` **secondary state** is everything else needed to facilitate deterministic progress on a construction; in particular, for nodes that reconnect during the construction. Main types of secondary state are items such as, -1. _Per construction size $M = 2^k$_ : For as many parties as possible, for a party with id $i \in [0, M)$, the +1. _Per construction size `M = 2^k`_ : For as many parties as possible, for a party with id $i \in [0, M)$, the party's hinTS key; the node id that submitted that hinTS key; the consensus time the hinTS key was adopted in the ongoing construction; and, if applicable, a revised hinTS key the same node wishes to use in subsequent constructions of size $M$. (A node operator might wish to rotate their key for security reasons and trigger such a revision.) Note that a node's assigned party id for a particular construction size never changes; so this implies such secondary state is fully purged before reusing a party id for a new node id. -2. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of +2. _Per construction id `c`_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction $c$ accounting for at least 1/3 of its weight, their consensus vote for a particular preprocessing output with aggregation and verification keys for construction $c$. @@ -147,7 +147,7 @@ use in the next construction of that size (or an ongoing construction of that si publication for the node). In general, storing node's hinTS keys for multiple party sizes may lead to some mild duplication of information about the node's public BLS key; but this will be rounding error compared to the size of the hints, which are proportional to the number of parties. -2. `HintsAggregationVote` - a transaction publishing the node's vote for a particular preprocessing output for +2. `HintsPreprocessingVote` - a transaction publishing the node's vote for a particular preprocessing output for a certain construction id; that is, the `(aggregation key, verification key)` output of the hinTS preprocessing algorithm. @@ -176,19 +176,20 @@ metadata for the roster. The main features of a proof construction are items suc The **secondary state** of the `HistoryService` is everything needed to facilitate deterministic progress on a construction; in particular, for nodes that reconnect during the construction. This includes items such as, -1. _Per node id $i$_ : The node's Schnorr key; the node's consensus time for the Schnorr key; and, if applicable, a +1. _Per node id `i`_ : The node's Schnorr key; the node's consensus time for the Schnorr key; and, if applicable, a revised Schnorr key the same node wishes to use in subsequent constructions. -2. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction +2. _Per construction id `c`_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction $c$ accounting for at least 1/3 of its weight, their signatures on a particular metadata and roster derivation for construction $c$. -3. _Per construction id $c$_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction +3. _Per construction id `c`_ : For a subset of node ids $\{ i_1, \ldots, i_n \}$ in the source roster of construction $c$ accounting for at least 1/3 of its weight, their consensus vote for a particular proof output for construction $c$. The **reconciliation loop** of the `HistoryService` evolves this secondary state by a combination of scheduling expensive cryptographic operations to run off the `handleTransaction` thread, and gossiping the results of these operations (or votes on those results) to other nodes. These node operations likely include, -1. `HistorySchnorrKeyPublication` - a transaction publishing the node's Schnorr key for use in the next construction. -2. `HistoryMessageSignature` - a transaction publishing the node's signature on the serialization of a +1. `HistoryProofKeyPublication` - a transaction publishing the node's Schnorr key for use in the next construction. +2. `HistoryProofSignature` - a transaction publishing the node's signature for the proof of a particular history (that +is, address book and associated metadata). metadata and roster concatenation for a certain construction id. 3. `HistoryProofVote` - a transaction publishing the node's vote for a particular proof output for a certain construction id.