Dcr Split Ticket Matcher Versions Save

Decred Split Ticket Matcher Service & Client

v0.7.6

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

macOS version provided by @girino.

Changelog for vesion 0.7.6

This changes the way utxo fetching is done when the UtxosFromDcrdata config option is enabled. This option is mostly used when using the buyer with a SPV wallet.

Previously, individual requests were done for each split input which is both inneficient and was causing problems with certain users.

This version changes the fetching process so that a single batched call to dcrdata is performed and the results are parsed and verified.

v0.7.5

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

Changelog for vesion 0.7.5

This adds more logging lines regarding inputs into the split transaction, for both matcher and buyer, to try and ease detecting the error condition causing missing sessions.

v0.7.2

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

Changelog for vesion 0.7.2

This is a service-only release.

This solves the issue of blocking waiting list notifications when a new session is started (this was shown as a warning in logs).

It also rate-limits waiting list change notifications to clients to at most once every five seconds and improves some log lines for better tracking possible misuses of the service.

v0.7.0

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

macOS version provided by @girino.

Changelog for vesion 0.7.0

Note: This version bumps the protocol version to 4 so it is incompatible to previous versions (see below for explanations).

User facing changes

  • OpenBSD support (thanks @dajohi!)
  • Send buyer errors back to service for easier debugging
  • Various log improvements (now using the same log format as other decred tools)
  • Reduce split tx overcommit requirement (from 0.3 DCR to ~0.01 DCR)
  • Support for SPV clients by using dcrdata for utxo fetching

Internal Changes

  • Add tests to prevent usage of too many inputs in split transaction
  • Better report error when testing for funds in buyer
  • Add tests to prevent users acting on the wrong stage of the session
  • Continuously test for blockchain sync between buyer and matcher
  • Ability to execute an arbitrary command on service after a session is successfully completed.

Session Token & Bump to Protocol V4

This version of the buyer and service adds a new return value to the FindMatches() grpc call: session_token.

This is an opaque blob of data that must be returned by the buyer to the service in the subsequent calls for building the split ticket session. If the values are different, then the service will drop the request from the buyer.

The main purpose of this change is to discourage attempts at disrupting the session by an impersonator guessing the session id of another participant.

While this couldn't allow stealing of funds, it could allow a service to mistakenly identify a buyer as disruptive and black list it.

Given that this is a new required field in all messages, the protocol version had to be bumped.

SPV Client Support

SPV client support has been added, with a few privacy caveats.

The main requirement for network connection on the buyer is to be able to fetch other participant's utxos, so that it can ensure the split transaction is being funded with the correct amount of coins and that the utxos haven't actually been spent (which would invalidate the whole session).

On SPV clients, given that the wallet does not actually have access to a full node daemon, we need a different way of fetching the utxos. For this version, spv clients will use dcrdata to fetch the outstanding utxo information.

While this shouldn't be a security issue, it is a privacy issue, since it is providing information to dcrdata operators of an upcoming split ticket being built with the given utxos. Users should evaluate the potential privacy implication of this when deciding whether to use the split service with spv wallets.

In the future, once header commitments include a utxo set commitment and we can check for inclusion via wallet grpc commands, this is likely to be dropped.

v0.6.2

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

Mac build provided by @girino.

Changelog for vesion 0.6.2

User facing changes

  • Show current time in GUI messages to ease debugging
  • Switch to saving the logs together with the default config file in %LOCALAPPDATA% in windows (logs were previously being saved in %USERPROFILE%)
  • Regularly ping local wallet while waiting for a session to detect wallet disconnects (should improve situation with long lived clients failing to complete a session once it's started)
  • Interpret daemon setting MaxSessionDuration as a time string (with a suffix for defining the time units) and change default to 30s (vs old 30)

Internal Changes

  • Use Go modules and require Go 1.11
  • Improve various unit tests in splitticket package
  • Specify the correct valueIn for ticket and split transactions (vs using the old fixed -1 value)
  • Support Simnet

v0.6.0

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

Mac version provided by @girino.

Changelog for vesion 0.6.0

  • Bump protocol version to 3
  • Service can now be restarted without stopping the process by receiving a SIGHUP signal
  • Service now shuffles participants after defining the actual contribution amounts of a new session
  • Switch to using pool fee contribution proportional to contribution to the ticket (previous versions used a fixed pool fee by participant)
  • Add a beta participation disclaimer before starting to wait for a session
  • Updated to testnet3
  • Fix GTK deprecation warning in GUI
  • Fix socket leak in websocket waiting list watcher
  • Add --version argument to service
  • Various other small tweaks and fixes

v0.5.2

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

Mac Release

Provided by @girino.

Changelog for version 0.5.2

  • Update dependencies to latest version
  • Add fee validation tests and voting pool fee validation in buyer
  • Add a small overhead to test for available funds before starting session in buyer
  • Add --version command line argument to buyer and service
  • Fix waiting list watcher
  • Allow MaxWaitTime to be zero in buyer, allowing a client to wait forever in queue
  • Add keepalive parameters to both buyer and service daemon, to allow better detection of stalled connections
  • Add websocket waiting list service and example page to allow voting pools to more easily show waiting sessions to users
  • Automatically initialize config on GUI buyer when there is a single decrediton and voting pool configured in the machine
  • Add log capabilities to buyer (both CLI and GUI)

v0.5.1

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

Mac Users

Mac build provided by @girino. Read the included readme file.

v0.5.1+dev6

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.

v0.5.1+dev5

5 years ago

Split Ticket Service & Client

This is a beta release of the split ticket buyer service and client. Please read the instructions for joining the beta.