diff --git a/README.md b/README.md index 5810263..a9571fb 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ The semi-honest setting can provide some degree of confidentiality, especially a Overcoming the community analysis concern requires a Sybil resistant, permissionless protocol where peers with no meaningful economic relationship can find each other. This involves an additional *coalition formation* protocol that sets up transaction construction using a market based mechanism. -While it is beneficial for privacy, interacting with strangers in a permissionless protocol invites distruption or attempts are survaillance. For honest peers to be able reliably transact, especially with the unanimity requirement, demands a byzantine fault tolerance from the transaction construction protocol. +While it is beneficial for privacy, interacting with strangers in a permissionless protocol invites distruption or attempts are surveillance. For honest peers to be able reliably transact, especially with the unanimity requirement, demands a byzantine fault tolerance from the transaction construction protocol. In the course of a BFT interaction with untrusted peers, a participant may still use the other variants of the protocol to coordinate activity with the subset of peers they do know or trust, for instance by performing net-settlement within a larger BFT CoinJoin. @@ -38,4 +38,4 @@ This body of work has, time and again, shown that misconceptions about privacy i The fungi protocol suite is designed to make arbitrary transactions possible between mutually consenting but distrusting peers. This means safety, liveness, and unlinkability of protocol messages. Within such a protocol peers are free to pursue whatever outcomes they desire. -Privacy does not simply emerge naturally from collaborative transactions. Peers must actively optimize for that. Optimization involves the use of a cost function, an extension or generalization of the kind used for coin selection. This repository makes specific reccomendations with which the protocols are designed to be compatible. The recommended privacy related terms address Sybil resistance, the transaction structure (for example how output values are chosen in relation to others' input values) and the graph structure. +Privacy does not simply emerge naturally from collaborative transactions. Peers must actively optimize for that. Optimization involves the use of a cost function, an extension or generalization of the kind used for coin selection. This repository makes specific recommendations with which the protocols are designed to be compatible. The recommended privacy related terms address Sybil resistance, the transaction structure (for example how output values are chosen in relation to others' input values) and the graph structure. diff --git a/bip-drafts/scrubber.md b/bip-drafts/scrubber.md index 77be72d..eb44669 100644 --- a/bip-drafts/scrubber.md +++ b/bip-drafts/scrubber.md @@ -166,7 +166,7 @@ This data may eventually appear on-chain; revealing it early leaks the spending #### MuSig Fields -MuSig2 signing parties neccecarily sit in the same trust scope. An untrusted party that learns the other signing parties’ keys can correlate them with the aggregate key and weaken MuSig’s single-key-spend obfuscation. +MuSig2 signing parties necessarily sit in the same trust scope. An untrusted party that learns the other signing parties’ keys can correlate them with the aggregate key and weaken MuSig’s single-key-spend obfuscation. `` | PSBT version | BIP | --- | --- | --- | @@ -214,7 +214,7 @@ In cases where multiple untrusting signers are participating in the signing proc ### Sorting -If signers use different libraries with different serialization implementations, an untrusting party can identify the signer by the order in which they encode fields. To prevent this, the scrubber must sort each map lexigraphically by `key` after it removes sensitive fields. +If signers use different libraries with different serialization implementations, an untrusting party can identify the signer by the order in which they encode fields. To prevent this, the scrubber must sort each map lexicographically by `key` after it removes sensitive fields. ### Field transfer sequence diff --git a/flake.nix b/flake.nix index 75d9c81..e5e1f62 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,7 @@ ./nix/preprocessors.nix ./nix/site.nix ./nix/devshell.nix + ./nix/spellcheck.nix ]; }; } diff --git a/nix/spellcheck.nix b/nix/spellcheck.nix new file mode 100644 index 0000000..3739ccf --- /dev/null +++ b/nix/spellcheck.nix @@ -0,0 +1,12 @@ +{ ... }: +{ + perSystem = + { pkgs, ... }: + { + checks.typos = pkgs.runCommand "typos" { nativeBuildInputs = [ pkgs.typos ]; } '' + cd ${../.} + typos + touch $out + ''; + }; +}