Repository navigation
Strawman ladder - #17
yuval-block wants to merge 1 commit into
Conversation
arminsabouri
left a comment
There was a problem hiding this comment.
I'm pretty sure I have read and reviewed this document in its current form. I will re-review after state-chain things have been updated
| [^sudoku]: K. Atlas, [*CoinJoin Sudoku*](https://www.coinjoinsudoku.com/) | ||
| [^boltzmann]: LaurentMT, [*Boltzmann*](https://gist.github.com/LaurentMT/d361bca6dc52868573a2), specifically the link-probability matrix. | ||
| [^maurer]: F. K. Maurer, T. Neudecker, M. Florian, [*Anonymous CoinJoin Transactions with Arbitrary Values*](https://www.researchgate.net/publication/318128387_Anonymous_CoinJoin_Transactions_with_Arbitrary_Values) | ||
| [^sudoku]: K. Atlas, [*CoinJoin Sudoku*](https://www.coinjoinsudoku.com/) |
There was a problem hiding this comment.
Double citation w/ L156
|
|
||
| Constructing transactions that provide privacy this way inherently requires the participation of multiple parties, or there is no crowd for individuals to blend in. The purpose of these protocols is to allow the honest parties to agree on the inputs they intend to spend and the outputs they intend to create, with no arbitrary restrictions and without linking any one input or output to any other. This requires that all outputs are paid for by the inputs being spent, any uncovered output is by definition malicious. | ||
|
|
||
| Beyond that this protocol suite does not perscribe ay specific strategy for optimizing privacy. Although specific recommendations to improve privacy are provided in this repository, following those recommendations is a matter of incentives and client policy, not protocol rules. |
There was a problem hiding this comment.
| Beyond that this protocol suite does not perscribe ay specific strategy for optimizing privacy. Although specific recommendations to improve privacy are provided in this repository, following those recommendations is a matter of incentives and client policy, not protocol rules. | |
| Beyond that this protocol suite does not perscribe any specific strategy for optimizing privacy. Although specific recommendations to improve privacy are provided in this repository, following those recommendations is a matter of incentives and client policy, not protocol rules. |
This sentence is a bit confusing. Are you just referring to the fact that this is a document is strawmans and not a protocol spec?
There was a problem hiding this comment.
more that the cost function is client policy
|
|
||
| # Multi sender, single receiver payjoin | ||
|
|
||
| At the cost of one more round trip, where the senders submit signatures for their inputs, BIP 77 can be [modified](https://github.com/payjoin/rust-payjoin/pull/923) to support multiplexing of several senders' payments to one shared receiver. |
There was a problem hiding this comment.
The PR that adds ns1r might be more informative. Or even the gh discussion
There was a problem hiding this comment.
what would be your preferred link? there's also a citation for ns1r in #7 that links to the removal issue, but i dunno if that's the best discussion entry point
|
|
||
| # generalized coinjoin with randomization mechanism | ||
|
|
||
| [verifiable randomization mechanism](https://gist.github.com/nothingmuch/f5b9a559958c6116606d9da0d4d884f2) provides sybil resistance and improved graph properties, as well as useful symmetry breaking properties for the protocol in both the low volume (up to one tx per block) and high volume (more than one tx per block) regimes |
There was a problem hiding this comment.
| [verifiable randomization mechanism](https://gist.github.com/nothingmuch/f5b9a559958c6116606d9da0d4d884f2) provides sybil resistance and improved graph properties, as well as useful symmetry breaking properties for the protocol in both the low volume (up to one tx per block) and high volume (more than one tx per block) regimes | |
| [verifiable randomization mechanism](https://gist.github.com/nothingmuch/f5b9a559958c6116606d9da0d4d884f2) provides sybil resistance and improved graph properties, as well as useful symmetry breaking properties for the protocol in both the low volume (up to one tx per block) and high volume (more than one tx per block) regimes. the randomization promotes disjoint paths probabilistically; the [max flow / path count metric](https://github.com/nothingmuch/tx-graph-anonymity-sets/blob/main/07_path_like_anonymity_set.md) is what verifies they actually materialized, telling a client whether another round is needed. |
i think it would make this rung self contained
|
|
||
| ## Informal Problem Definition | ||
|
|
||
| Transacting privately means that the funding or spending of a specific transaction output must be plausibly attributable to a sufficiently large number of [wallet clusters](https://spiralbtc.substack.com/p/the-scroll-2-wallet-clustering-basics) under reasonable assumptions. For a more comprehensive and nuanced discussion of the problems these protocols aim to solve, see [./collaborative_txn_privacy.md] which, similarly to this one, builds up from PayJoin. |
There was a problem hiding this comment.
./collaborative_txn_privacy.md is not part of this commit's tree (git ls-files lists only README.md and strawman_ladder.md), so the pointer cannot be resolved.
It is also written as [...] without (), so it renders as literal text instead of a clickable link.
|
Typos in what this pull request adds (automated):
|
|
|
||
| Fees paid by consenting users, and understood to be in the service of privacy, have unfortunately not gone towards fixing these flaws. Instead, among other things, were awarded to DoS attackers (through successful extortion) as well as funded misleading marketing efforts, which arguably includes a years long twitter feud that has alienated users and fostered a cult like mentality with regards to Bitcoin privacy technology among the remaining proponents. | ||
|
|
||
| The evidence for centralized CoinJoins being flawed and predatory is overwhelming, despite not being inherent it appears inevitable. It is not just harmful to directly exploited users, but to privacy and fungibility as a whole. Weak privacy is antithetical to censorship resistance, the chilling effects of surveillance lead to self-censrship, and it is antithetical to self sovereign custody due to the lack of informed consent and perhaps more importantly because such misinformation exposes users to unnecessary risk with real safety concerns, as indicated by the alarming rise of $5 wrench attacks. |
There was a problem hiding this comment.
The unpaired $ before 5 wrench opens inline math that mdbook-katex closes at the next $ on line 226, so the intervening prose is treated as a LaTeX expression and KaTeX rejects it, leaving the affected content unrendered. Escape it as \$5.
|
|
||
| While even poorly implemented centrally coordinated coinjoins have demonstrated that $n$ on the order of hundreds is achievable, in the decentralized setting this is more costly for peers who can't rely on communicating with just one trusted coordinator. If one of the peers is selected as a leader, the additional communication overhead. Coordinating such a transaction also requires sharing information about the previous outputs, the message validity proofs, etc, and the leader must broadcast all of this information to all parties, which for large transaction any be too taxing on the chosen leader, necessitating failover and incurring significant communication overhead. | ||
|
|
||
| Since traditional leader based consensus imposes asymmetric resource utilization, placing more of burden on the leader, another useful probability to think about is that of the leader being able to communicate successfully during one run of the underlying consensus protocol. Naively the probability of consensus succeeding under this leader is $q^n$, if the probability of error was independent, but network congestion is likely to cause correlated transmission failures for a leader that lacking sufficient resources in reality things will fare worse. Although such leader faults do not break the unanimity requirement, they delay progress of the overall protocol and consume more resources from all peers, which in turn negatively $p$. |
There was a problem hiding this comment.
Undefined q leaves leader success probability unevaluable
q is never defined anywhere in the document, so the stated leader success probability q^n cannot be evaluated.
oak · automated · e2b8cec
This document was previously called "overview" but it's not an overview since it describes many strawmen that are not in the protocol, it is a strawman ladder for didactic purposes
TODO