-
Notifications
You must be signed in to change notification settings - Fork 119
Conversation
It should be noted that yield generators using the hidden service will be at a disadvantage when transactions are initiated by users of this code, since liquidity providers are incentivised to use unique IPs. If anything, this is a net benefit, because connecting via the hidden service incurs higher latency without tangible privacy benefit: hidden services conceal the location of the server, but provide no better privacy for clients. |
@@ -290,7 +293,7 @@ def choose_sweep_orders(db, | |||
txfee, | |||
n, | |||
chooseOrdersBy, | |||
ignored_makers=None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment also applies to L305-307.
See:
joinmarket/joinmarket/__init__.py
Lines 716 to 729 in dc8cfd0
ignored_makers=None): | |
''' | |
choose an order given that we want to be left with no change | |
i.e. sweep an entire group of utxos | |
solve for cjamount when mychange = 0 | |
for an order with many makers, a mixture of absorder and relorder | |
mychange = totalin - cjamount - total_txfee - sum(absfee) - sum(relfee*cjamount) | |
=> 0 = totalin - mytxfee - sum(absfee) - cjamount*(1 + sum(relfee)) | |
=> cjamount = (totalin - mytxfee - sum(absfee)) / (1 + sum(relfee)) | |
''' | |
if ignored_makers is None: | |
ignored_makers = [] |
@ghtdak explained to me that this change is due to a 'feature' in Python; see: http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments
I suggest reverting these changes.
eeff894
to
b5e7951
Compare
As discussed on IRC:
So this PR is pending: fixing this test, alerting in the forum, and an 🆗 from @chris-belcher. |
as described (incorrectly!) in JoinMarket-Org/joinmarket#362 (comment)
as described (incorrectly!) in JoinMarket-Org/joinmarket#362 (comment)
I agree in principle I guess. Although its trivial for an attacker to get around this, at least they have to work for it a bit. I'd say merge but when the multiirc branch is finalized maybe have some check to make this only fire for cyberguerilla. I haven't even started looking for other IRC networks to use so I don't know how multiirc will end up looking like. The multiirc branch probably makes this kind of attack easier anyway. |
This commit makes naive sybil attacks more difficult by keying counterparty deduplication off IRC hostmasks, disincentivising running multiple yield generators from the same machine or network. It also fixes a minor bug: the transaction initiator must deduplicate BEFORE counting the number of liquid counterparties. It also tidies a bit of suboptimal yapfage, and factors out a rhyming utility.
Rebased onto develop (e0f7c59) |
as described (incorrectly!) in JoinMarket-Org/joinmarket#362 (comment)
This commit makes naive sybil attacks more difficult by keying counterparty
deduplication off IRC hostmasks, disincentivising running multiple yield
generators from the same machine or network.
It also fixes a minor bug: the transaction initiator must deduplicate BEFORE
counting the number of liquid counterparties.
It also tidies a bit of suboptimal yapfage, and factors out a rhyming utility.
It is a revival of #313, neé #311