Skip to content
Pre-release
Pre-release

@matheusd matheusd released this Mar 22, 2019

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.

Assets 7
Pre-release
Pre-release

@matheusd matheusd released this Feb 23, 2019

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.

Assets 7
Pre-release
Pre-release

@matheusd matheusd released this Dec 27, 2018 · 10 commits to master since this release

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.

Assets 5
Dec 26, 2018
version: Bump to 0.7.1
This version will be used to track issues in production.

@matheusd matheusd released this Dec 17, 2018 · 19 commits to master since this release

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.

Assets 9

@matheusd matheusd released this Oct 22, 2018 · 38 commits to master since this release

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
Assets 9
Aug 22, 2018
Version bump

@matheusd matheusd released this Aug 10, 2018 · 54 commits to master since this release

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
Assets 9

@matheusd matheusd released this Jul 23, 2018 · 75 commits to master since this release

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)
Assets 9

@matheusd matheusd released this Jul 17, 2018 · 88 commits to master since this release

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.

Assets 9
You can’t perform that action at this time.