Skip to content

Commit 000c6f7

Browse files
authored
fix typographical errors across architecture design records (#24972)
1 parent 67a1a13 commit 000c6f7

7 files changed

+11
-11
lines changed

docs/architecture/adr-028-public-key-addresses.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ We must be able to cryptographically derive one address from another one. The de
179179

180180
```go
181181
func Derive(address, derivationKey []byte) []byte {
182-
return Hash(addres, derivationKey)
182+
return Hash(address, derivationKey)
183183
}
184184
```
185185

@@ -319,7 +319,7 @@ Algorithm for complex / composed keys:
319319

320320
Module addresses: Should module addresses have different size to differentiate it?
321321

322-
* we will need to set a pre-image prefix for module addresse to keept them in 32-byte space: `hash(hash('module') + module_key)`
322+
* we will need to set a pre-image prefix for module addresse to kept them in 32-byte space: `hash(hash('module') + module_key)`
323323
* Aaron observation: we already need to deal with variable length (to not break secp256k1 keys).
324324

325325
Discussion about arithmetic hash function for ZKP
@@ -331,7 +331,7 @@ Post quantum signature size
331331

332332
* Alan suggestion: Falcon: speed / size ratio - very good.
333333
* Aaron - should we think about it?
334-
Alan: based on early extrapolation this thing will get able to break EC cryptography in 2050 . But that’s a lot of uncertainty. But there is magic happening with recurions / linking / simulation and that can speedup the progress.
334+
Alan: based on early extrapolation this thing will get able to break EC cryptography in 2050 . But that’s a lot of uncertainty. But there is magic happening with recursions / linking / simulation and that can speedup the progress.
335335

336336
Other ideas
337337

docs/architecture/adr-038-state-listening.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* 10/14/2022:
88
* Add `ListenCommit`, flatten the state writes in a block to a single batch.
99
* Remove listeners from cache stores, should only listen to `rootmulti.Store`.
10-
* Remove `HaltAppOnDeliveryError()`, the errors are propagated by default, the implementations should return nil if don't want to propogate errors.
10+
* Remove `HaltAppOnDeliveryError()`, the errors are propagated by default, the implementations should return nil if don't want to propagate errors.
1111
* 26/05/2023: Update with ABCI 2.0
1212

1313
## Status
@@ -354,7 +354,7 @@ var Handshake = plugin.HandshakeConfig{
354354
MagicCookieValue: "ef78114d-7bdf-411c-868f-347c99a78345",
355355
}
356356

357-
// ListenerPlugin is the base struc for all kinds of go-plugin implementations
357+
// ListenerPlugin is the base struct for all kinds of go-plugin implementations
358358
// It will be included in interfaces of different Plugins
359359
type ABCIListenerPlugin struct {
360360
// GRPCPlugin must still implement the Plugin interface

docs/architecture/adr-039-epoched-staking.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Applying it immediately can be viewed as offering greater consensus layer securi
4545

4646
* For threshold based cryptography, this setting will have the threshold cryptography use the original epoch weights, while consensus has an update that lets it more rapidly benefit from additional security. If the threshold based cryptography blocks liveness of the chain, then we have effectively raised the liveness threshold of the remaining validators for the rest of the epoch. (Alternatively, jailed nodes could still contribute shares) This plan will fail in the extreme case that more than 1/3rd of the validators have been jailed within a single epoch. For such an extreme scenario, the chain already have its own custom incident response plan, and defining how to handle the threshold cryptography should be a part of that.
4747
* For light client efficiency, there can be a bit included in the header indicating an intra-epoch slash (ala https://github.com/tendermint/spec/issues/199).
48-
* For fairness of deterministic leader election, applying a slash or jailing within an epoch would break the guarantee we were seeking to provide. This then re-introduces a new (but significantly simpler) problem for trying to provide fairness guarantees. Namely, that validators can adversarially elect to remove themself from the set of proposers. From a security perspective, this could potentially be handled by two different mechanisms (or prove to still be too difficult to achieve). One is making a security statement acknowledging the ability for an adversary to force an ahead-of-time fixed threshold of users to drop out of the proposer set within an epoch. The second method would be to parameterize such that the cost of a slash within the epoch far outweights benefits due to being a proposer. However, this latter criterion is quite dubious, since being a proposer can have many advantageous side-effects in chains with complex state machines. (Namely, DeFi games such as Fomo3D)
48+
* For fairness of deterministic leader election, applying a slash or jailing within an epoch would break the guarantee we were seeking to provide. This then re-introduces a new (but significantly simpler) problem for trying to provide fairness guarantees. Namely, that validators can adversarially elect to remove themself from the set of proposers. From a security perspective, this could potentially be handled by two different mechanisms (or prove to still be too difficult to achieve). One is making a security statement acknowledging the ability for an adversary to force an ahead-of-time fixed threshold of users to drop out of the proposer set within an epoch. The second method would be to parameterize such that the cost of a slash within the epoch far outweighs benefits due to being a proposer. However, this latter criterion is quite dubious, since being a proposer can have many advantageous side-effects in chains with complex state machines. (Namely, DeFi games such as Fomo3D)
4949
* For staking derivative design, there is no issue introduced. This does not increase the state size of staking records, since whether a slash has occurred is fully queryable given the validator address.
5050

5151
### Token lockup
@@ -100,7 +100,7 @@ Then we add methods to the end blockers, to ensure that at the epoch boundary th
100100

101101
When querying the staking activity of a given address, the status should return not only the amount of tokens staked, but also if there are any queued stake events for that address. This will require more work to be done in the querying logic, to trace the queued upcoming staking events.
102102

103-
As an initial implementation, this can be implemented as a linear search over all queued staking events. However, for chains that need long epochs, they should eventually build additional support for nodes that support querying to be able to produce results in constant time. (This is do-able by maintaining an auxilliary hashmap for indexing upcoming staking events by address)
103+
As an initial implementation, this can be implemented as a linear search over all queued staking events. However, for chains that need long epochs, they should eventually build additional support for nodes that support querying to be able to produce results in constant time. (This is do-able by maintaining an auxiliary hashmap for indexing upcoming staking events by address)
104104

105105
**Step-3**: Adjust gas
106106

docs/architecture/adr-041-in-place-store-migrations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ app.UpgradeKeeper.SetUpgradeHandler("my-plan", func(ctx sdk.Context, plan upgrad
134134
Assuming a chain upgrades at block `n`, the procedure should run as follows:
135135

136136
* the old binary will halt in `BeginBlock` when starting block `N`. In its store, the ConsensusVersions of the old binary's modules are stored.
137-
* the new binary will start at block `N`. The UpgradeHandler is set in the new binary, so will run at `BeginBlock` of the new binary. Inside `x/upgrade`'s `ApplyUpgrade`, the `VersionMap` will be retrieved from the (old binary's) store, and passed into the `RunMigrations` functon, migrating all module stores in-place before the modules' own `BeginBlock`s.
137+
* the new binary will start at block `N`. The UpgradeHandler is set in the new binary, so will run at `BeginBlock` of the new binary. Inside `x/upgrade`'s `ApplyUpgrade`, the `VersionMap` will be retrieved from the (old binary's) store, and passed into the `RunMigrations` function, migrating all module stores in-place before the modules' own `BeginBlock`s.
138138

139139
## Consequences
140140

docs/architecture/adr-044-protobuf-updates-guidelines.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ The SDK requires the Protobuf comment of the new addition to contain one line wi
4949
// Since: cosmos-sdk <version>{, <version>...}
5050
```
5151

52-
Where each `version` denotes a minor ("0.45") or patch ("0.44.5") version from which the field is available. This will greatly help client libraries, who can optionally use reflection or custom code generation to show/hide these fields depending on the targetted node version.
52+
Where each `version` denotes a minor ("0.45") or patch ("0.44.5") version from which the field is available. This will greatly help client libraries, who can optionally use reflection or custom code generation to show/hide these fields depending on the targeted node version.
5353

5454
As examples, the following comments are valid:
5555

docs/architecture/adr-046-module-params.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ are read on a consistent basis.
143143

144144
However, this methodology will require developers to implement more types and
145145
Msg service metohds which can become burdensome if many parameters exist. In addition,
146-
developers are required to implement persistance logics of module parameters.
146+
developers are required to implement persistence logics of module parameters.
147147
However, this should be trivial.
148148

149149
### Backwards Compatibility

docs/architecture/adr-048-consensus-fees.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ This mechanism can be easily composed with prioritization mechanisms:
7272
* we can add extra tiers out of a user control:
7373
* Example 1: user can set tier 0, 10 or 20, but the protocol will create tiers 0, 1, 2 ... 29. For example IBC transactions will go to tier `user_tier + 5`: if user selected tier 1, then the transaction will go to tier 15.
7474
* Example 2: we can reserve tier 4, 5, ... only for special transaction types. For example, tier 5 is reserved for evidence tx. So if submits a bank.Send transaction and set tier 5, it will be delegated to tier 3 (the max tier level available for any transaction).
75-
* Example 3: we can enforce that all transactions of a sepecific type will go to specific tier. For example, tier 100 will be reserved for evidence transactions and all evidence transactions will always go to that tier.
75+
* Example 3: we can enforce that all transactions of a specific type will go to specific tier. For example, tier 100 will be reserved for evidence transactions and all evidence transactions will always go to that tier.
7676

7777
### `min-gas-prices`
7878

0 commit comments

Comments
 (0)