Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Commit

Permalink
finalize release notes 0.2.2
Browse files Browse the repository at this point in the history
reset default minimum_makers to 2
  • Loading branch information
AdamISZ committed Oct 28, 2016
1 parent a579ff4 commit 78470c3
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 22 deletions.
130 changes: 109 additions & 21 deletions doc/release-notes-0.2.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ JoinMarket 0.2.2:

<https://github.com/joinmarket-org/joinmarket/releases/tag/v0.2.2>

This is a minor release with some workarounds to avoid the effect of non-responding makers and fixing bugs in 0.2.1, however there are also several bugfixes, and for some classes of users these bugs may be important, so please update immediately. Additionally, several defaults have been amended in the direction of better privacy.
This is a minor release with some workarounds to avoid the effect of non-responding makers,
some useful new features and fixing bugs in 0.2.1

Please report bugs using the issue tracker at github:

Expand All @@ -16,6 +17,85 @@ For users already running version 0.2.x it is only required to update the Joinma

Users updating from a version pre-0.2.0 **must** carefully follow the instructions for updating in the [previous release notes](https://github.com/JoinMarket-Org/joinmarket/blob/master/doc/release-notes-0.2.0.md)

Features, in approximate order of importance
============================================

### Complete-with-subset

In cases where one of the Maker bots you select, either accidentally or by malicious
intent, fails to complete the transaction negotiation process, pre-0.2.2, this would
result in a failure that costs one utxo commitment (see the 0.2.0 notes for details).
This can cause serious inconvenience for a Taker if it happens repeatedly, and this
has been observed due to a number of non-responsive Makers in the pit.
With this new feature, the transaction can still complete with a lower number of
Makers (i.e. the ones that did respond).

For example, with the default setting of minimum_makers=2 in the POLICY section of
the joinmarket.cfg file, then if you request 5 counterparties, but only 3 respond,
the transaction will go ahead with those 3 (and will still go ahead with as few as 2).
You will get a slightly smaller privacy effect, but also pay less fees.
In testing this has been seen to greatly reduce the chance of a transaction failure.
You can disable this feature by setting minimum_makers=0.

Do consider also using the -P feature for fine-grained counterparty selection,
where that's possible. Note also that a future upgrade may offer even better
"smart" counterparty selection.

### Direct Send

You can now send coins out of your Joinmarket wallet with the sendpayment.py script;
use the option -N 0 (means 0 counterparties). All other syntax is the same, e.g. set
amount 0 for sweeping. This sends coins from *1 mixdepth*; in Joinmarket we never
send coins from multiple mixdepths at the same time, for privacy.

This method of course does not connect to IRC, so it will be quicker, and of course
cheaper than using a normal Joinmarket transaction. Before the transaction gets
broadcast, it will be presented to you in raw and serialized form to check.

Yield generators and other heavy users should be careful not to use this to send
coins between mixdepths in the same wallet, as this could lead to unexpected and
undesirable privacy outcomes.

### Fast sync option

When using Bitcoin Core, if the wallet has lots of used addresses, it results in a
slow import and sync currently (the full context for this is a bit complex to explain).
If you are *not* recovering a wallet or using a new Core instance, where you must
start from scratch and *not* use this new feature, but are instead simply restarting
your script, it's recommend to append the option --fast to *all* scripts (yieldgen,
tumbler, sendpayment, wallet-tool). This uses a different, more efficient way of
gathering the history of all the addresses. In tests it's been reported to reduce
sync time by anything from 50-90% depending on your exact situation. If you are only
an occasional user (e.g. using sendpayment) and have only few used addresses, it
isn't important.

### Logging levels

By default, the logging messages *on the terminal* are now much reduced, corresponding
to log level "INFO". The logging messages in the log file still contain everything
("DEBUG" level).

You can change the logging level on the terminal to one of INFO, WARNING, ERROR or
DEBUG by setting the config variable console_log_level in section LOGGING. See the
default joinmarket.cfg for reference.

### Extra new default IRC server

For better censorship resistance and redundancy it's recommended to use more than one
"Message Channel" (at the moment only IRC is supported, but other messaging servers are
easy to code, PRs welcome!). Some bots have already been using the agora IRC server
(for donations, see: anarplex.net, address 12qvastA6FVod8L45Q3RPD8whbzvrZhxcQ).

This extra IRC server is now added to the default config, so it's suggested that all
participants use it as well as the existing CGAN. Note the rather ugly comma-separated
lists; this format is required, with the same number of entries for *all* settings in
the MESSAGING section.

### Dump individual private key

You can now use the method "dumpprivkey" to wallet-tool.py, in combination with the
-H option, to dump the private key of one address without a full wallet sync.

Bugfixes
========

Expand All @@ -29,29 +109,37 @@ The bugfixes are for these specific issues:
* tolerate counterparties using a dust threshold between our value and the network floor

0.2.2 Change log
=================
================

- `8d00f9c` Add gaplimit option for yield generators
- `d40d113` Add agora-irc to config: a second, default irc server to connect to
- `6210225` Add fast sync option for Core wallets
- `03fbcfd` Change logging system to only show relevant messages on console by default
- `c30c4cd` Add direct send feature from mixdepth using -N 0 in sendpayment script; includes sweep
- `fcc1c5e` Add command dumpprivkey to wallet-tool.py
- `baefc05` Modify default fee to 0.02% (yg-pe.py) and modify default maker_timeout_sec to 45 from 30 (bigger messages)
- `c89347a` Allow fewer maker responses to complete a coinjoin, if some makers do not answer
- `7b3b36a` Tolerate counterparties using the old DUST_THRESHOLD value
- `7a41623` Amend default number of counterparties to improve privacy
- `c7d692d` `5effddb` minsize bug fixed in ygs.
- `86d8c3a` `3506294` `b126535` handle too many requests to blockr
- `93dfefc` remove random-nick code, no longer used in 0.2
- `6210225` `7ecaa56` fast sync
- `e46cad9` `7b4b36a` bump dust threshold
- `51ed5a2` `908208f` `d40d113` add agora to default IRC config
- `ca245e8` bugfix for rpcwallet
- `961e817` `6aaa4c9` `6b14fa2` `2ce4d8c` cleanup
- `4195589` `e256672` update installation instructions
- `4ff5519` `03fbcfd` `033662f` `2f95d88` `481d9a4`
`e1ca488` `9fba63a` implementation of logging levels
- `502b6a8` prevent crash based on tumbler changing index_cache
- `c30c4cd` direct send
- `3387422` add hostid to debug log
- `fcc1c5e` dump individual privkey
- `baefc05` `ebf28ed` `7a41623` modify some defaults
- `c89347a` `a579ff4` complete transactions with subset

Credits
=======

Minor bugfixes and improvements by:
@AdamISZ
@adlai
@AlexCato
@CohibAA
Martino Salvetti
Bryan Stitt
Daniel Kraft
Thanks to everyone who directly contributed to this release -

- @AdamISZ
- @adlai
- @AlexCato
- @CohibAA
- @the9ull
- @WyseNynja

Thanks also to those who submitted bug reports, tested and otherwise helped out.

Thanks to those who submitted bug reports and otherwise helped out.
2 changes: 1 addition & 1 deletion joinmarket/configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def jm_single():
# to complete, accounting for the fact that some makers might not be
# responsive. Should be an integer >=2 for privacy, or set to 0 if you
# want to disallow any reduction from your chosen number of makers.
minimum_makers = 3
minimum_makers = 2
# the fee estimate is based on a projection of how many satoshis
# per kB are needed to get in one of the next N blocks, N set here
# as the value of 'tx_fees'. This estimate is high if you set N=2,
Expand Down

0 comments on commit 78470c3

Please sign in to comment.