Decred Journal – June 2023

Governance like no other. In June, Decred coin holders approved funding to develop DCRDEX’s mesh network and a huge chunk of the network upgraded, preparing for two consensus changes.

Decred Journal – June 2023
Decred Journal – June 2023
Image: Artwork by @Exitus

Highlights of June:

  • Decred core software v1.8.0 was released, unlocking new consensus voting options and features.
  • DEX v0.6.2 was also released, preparing for the new consensus votes and deploying many other improvements.
  • Voting started for the two new consensus proposals (change subsidy split and proof of work hashing function) once the upgrade process had progressed sufficiently in early July.
  • Funding for development of decentralized mesh architecture for DCRDEX was approved.

Contents:

Upgrade and Vote on New Consensus Changes!

Everyone is encouraged to upgrade to the latest core software version to be able to vote on the two new consensus changes and follow the chain after they activate, if approved. To stay synced with the network, it is important to upgrade even if you don't intend to vote in favor of the agendas.

For a refresher on Decred governance, consensus changes, and hardforks that don't split the network, check out the docs.

You can learn about the latest consensus changes in the following documents:

Additional details, code implementation, and code review and testing results can be found in GitHub pull requests #3115 and #3092 which implement the changes.

The voting has started on July 4 and will run until around August 1 (block 786,303).

Vote progress can be tracked at the Voting Dashboard or dcrdata's Agendas page.

Core Software v1.8.0 Release

Highlights of the v1.8.0 release aka "The Forkening":

dcrd: Two new consensus upgrades (which will hardfork the chain if approved), BLAKE3 CPU mining, low fee transaction rejection, numerous optimizations resulting in the reduction of initial sync time by about 20% and better runtime memory management, improved vote times, and many other updates.

dcrwallet: Support for the two new consensus changes (e.g. when validating blocks or creating votes), mixed ticket buying with trickling support for extra privacy, fetching of treasury spends in SPV mode (needed for TSpend voting in SPV mode), new gRPC methods for use by GUI apps, and multiple bug fixes.

Decrediton: Ability to vote on individual TSpend transactions, updated DCRDEX module, updated layouts and styling, numerous bug fixes and refinement across all pages/tabs.

Visit the GitHub release for the full list of changes and downloads. As always, we recommend to verify the files before running.

DCRDEX v0.6.2 Release

It is important to update to DEX v0.6.2 to stay on the chain after any possible hardforks in the coming months. If you don't use the built-in (aka native) DCR wallet older DEX versions might work but updating is still recommended.

Highlights of the new release:

  • Support for Decred 1.8 consensus changes
  • More accurate fee estimates for built-in SPV wallets for BTC, LTC, and BCH (be sure to enable "External fee rate estimates" in the wallet settings)
  • The suggested BTC amount for the registration bond has been significantly reduced
  • Fixes and optimizations

Check the updated client guide for step by step instructions.

Get the latest DEX client as a standalone app, or as part of Decrediton, or install it from Decred's custom Umbrel App Store. As always, we recommend to verify the files before running.

Development

The work reported below has the "merged to master" status unless noted otherwise. It means that the work is completed, reviewed, and integrated into the source code that advanced users can build and run, but is not yet available in release binaries for regular users.

dcrd

dcrd is a full node implementation that powers Decred's peer-to-peer network around the world.

First let's look at June changes included in the new 1.8.0 release.

The biggest user-facing changes are the incentives to upgrade full nodes:

Next are some major parts implementing the DCP-11 consensus upgrade, "Change PoW to BLAKE3 and ASERT":

  • Made the block hash and proof of work hash separate and independent so that each hash can be modified without changing the other. A great practical consequence is that block hash consensus will remain unchanged with DCP-11, meaning that all software which handles block hashes will need no modification. Smaller, focused upgrades mean minimal downstream effects for consumers.
  • Added support for the BLAKE3 hash function and split methods for computing the old PowHashV1 (BLAKE256) and the new PowHashV2 (BLAKE3). Notably, it is not possible to completely remove PowHashV1 and other old-consensus code. Even when blockchain consensus changes, it must remain possible to validate the old chain. Therefore, legacy concensus code is maintained to be able to validate the entire Decred blockchain prior to newer consensus changes. The third party dependency chosen for BLAKE3 is lukechampine.com/blake3 - an implementation that balances performance and code readability, hoping to eventually land in Go standard library. In addition to pure-Go version, the package also provides AVX-512 and AVX2 routines for increased performance. Another added dependency is cpuid - a Go package for detecting available CPU features.
  • Updated the getwork command and notifywork websocket notification. These are used by the mining code to fetch new data for hashing.
  • Implemented ASERT difficulty calculation in consensus code that validates the chain, and separately in block generation mining code. Normally code duplication is avoided but in this case two copies were created intentionally. The main reason is to use one copy for catching bugs in the other, a principle known as dissimilar redundancy. The other reason is to implement different optimizations in consensus and mining code in the future. For those who love fast math and bit tricks, make sure to read the ASERT code here.
  • Implemented the DCP-11 consensus vote. It will show up as blake3pow in voting software.

In addition to the BLAKE3 PoW hash change which will make current Decred ASIC miners useless, the new ASERT algorithm will adjust the difficulty with each new block instead of every 144 blocks (the current adjustment frequency). For reference, Bitcoin's mining difficulty is updated every 2,016 blocks, or roughly every two weeks. ASERT stands for Absolutely Scheduled Exponentially weighted Rising Targets.

The ASERT algorithm is also exponential, and can handle surging hashrate much better than the existing algorithm. This will greatly disincentivize "hit and run" miners who are only looking for a quick reward at a low difficulty. Large drops of hashrate which cause slow blocks and poor user experience as a result are also handled much better. The network is stronger when miners are consistently creating new blocks and maintain the target block time of 5 minutes. See also the relevant discussion on Matrix.

To illustrate the new difficulty adjustment speed, we asked @davecgh how the new algorithm would perform in a hypothetical scenario where the hashrate suddenly drops from 100 PH/s to 20 PH/s. The improvement is massive: restoring the target block time of 5 minutes would take ~75 hours (~3.1 days) under the old algorithm versus 20-30 mins under the new ASERT algorithm.

If DCP-11 is approved, after the 1-month upgrade period the difficulty will be reset to a hard-coded value which equates to an initial target hashrate of about 1.45 TH/s. This number doesn’t matter much though because it will very quickly adjust due to the new difficulty algorithm.

Image: Simulation of the ASERT difficulty algorithm reacting to stable, rapidly increasing and rapidly decreasing hashrate.

For reference, the work for DCP-12 "Change PoW/PoS Subsidy Split to 1/89" was completed and discussed in the April issue. The DCP itself has been reviewed and published in June, it is now available in the DCPs repository.

Like all previous consensus changes, the consensus code will remain dormant and only activate if the respective voting agendas pass.

Two hard-coded values have been updated as part of the release development cycle: AssumeValid block and MinKnownChainWork.

For reference, as of May 2022, AssumeValid has replaced the legacy "checkpoints" method to optimize initial blockchain downloads. With AssumeValid, very old blockchain forks are rejected, and some validation checks are skipped for blocks which are ancestors of the assumed valid block. This can significantly speed up initial blockchain downloads. The updates to AssumeValid and MinKnownChainWork are externally verified and hardcoded by the devs, and used by default without any action required by node admins. Note: It is possible to change this behavior using the flags --allowoldforks and --assumevalid as described in dcrd --help or in the code, but this is not recommended for typical node admins.

MinKnownChainWork has replaced the legacy checkpoints as a better way to determine if the blockchain is current. Unlike AssumeValid, it cannot be disabled and there is no reason to since this value cannot be invalidated by a chain reorganization. While a certain block may or may not become part of the main blockchain, minimum known chain work can never go down.

Finally, below are v1.8.0 changes relevant for developers:

Image: Optimized memory allocation in dcrd v1.8.0. Less allocation is better, it translates to lower CPU usage and faster sync times.

The following work has been merged in master towards future releases:

  • Updated the Docker image to build the dcrd binary with newer Go and Alpine Linux. It's noteworthy to mention that the dcrd Docker template does not persist the Alpine Linux OS. After building the binary, the OS is removed, and dcrd runs in a scratch Docker container by itself. No OS, no root user, not even a shell. A lightweight container with maximum security.
  • Added release notes for v1.8.0.
  • Improved test flag handling, especially in cases where default home directories are inaccessible (such as with NixOS) and need to be changed. Additionally, a DCRD_APPDATA environment variable can now be used to override the default directory. Environment variables are generally the preferred approach for overriding defaults in containers.

Developer and internal changes merged in master:

  • Updated to use latest dcrtest, and excluded unused modules from regular builds.
  • Cleaned up database test logic.
  • Added release notes templates.
  • Added CI support for test and module caches, which will result in faster CI runs. CI is Continuous Integration, a service that continuously builds and tests the code to ensure all changes integrate well. Faster CI runs reduce developers' wait time to see if their changes pass all tests. The cache cuts CI run time from ~10 to ~1 minute.
  • Updated module hierarchy diagram to accurately reflect module dependencies.

Changes merged in the dcrtest framework:

  • Updated the voting wallet to support DCP-12 block reward split semantics on simnet.
  • Updated the voting wallet to support DCP-11 proof of work semantics on simnet.
  • Updated to use latest released Decred module dependencies and latest main dcrd module.

dcrwallet

dcrwallet is a wallet server used by command-line and graphical wallet apps.

Changes that were included in the new 1.8.0 release:

  • Ensured that the wallet can correctly validate blocks mined with either the original BLAKE-256 or the upcoming BLAKE3 proof of work hashes, and updated the vote version.
  • Mixed ticket purchases now have a random 20-60 second delay before the wallet publishes each transaction to the mempool. This trickle effect will improve privacy by making it much harder for anyone surveilling the mempool to link tickets together based on published timestamp.
  • Updated dcrd and cspp modules to their latest versions. dcrwallet v3.0.0 module has been released for consumers like vspd, DCRDEX, or Politeia.

The following work has been merged in master towards future releases:

  • Updated the README for people building from source.
  • Bumped the major module version of the in-dev dcrwallet module to v4 to prepare for future changes.
  • Removed a deprecated option from the internal wallet config which enabled automatic AddressReuse in some functions like the auto ticket buyer. The option was originally deprecated in v1.5 and removed from the main package in v1.6 because reusing addresses is bad for privacy. The wallet stopped using the AddressReuse option, but it was left deprecated in the internal package to preserve code compatibility at the time.
  • Maintenance: tweaked logging, code cleanup, test code updates for Go 1.21.

Work done to consolidate VSP code into the vspd repository:

  • Brought dcrwallet up to date with vspd, and reduced dependencies between the VSP client and dcrwallet.
  • Moved the logic of selecting unmanaged tickets out of the VSP client module and into the wallet module.
  • Internal refactoring, cleanup, added more tests.

The end goal of these changes is to extract the VSP client out of dcrwallet and into vspd so that it can be reused in DCRDEX, enabling DCRDEX to purchase tickets and register them with a VSP. VSP client will allow DCRDEX to provide Decred staking and voting features in light (SPV) mode without requiring full blockchain download. Other wallets written in Go can benefit from this as well.

dcrctl

dcrctl is a command-line client for dcrd and dcrwallet.

  • Updates for the v1.8.0 release: use the latest released dcrd and dcrwallet modules so that all their new functionality can be accessed.

Decrediton

Decrediton is a full-featured desktop wallet app with integrated voting, StakeShuffle mixing, Lightning Network, DEX trading, and more. It runs with or without a full blockchain (SPV mode).

Changes that were included in the new v1.8.0 release:

  • Updated DCRDEX module to the v0.6.1 release.
  • Removed staking pages for hardware wallets, since they can't participate in staking. Also added warnings to not use hardware wallets to receive staking or treasury funds, since hardware wallets can't spend those funds.
  • Added in-app release notes for v1.8.0.
  • Updated the Polish translation.
  • Fixed an error that occurs when people break the connection between Decrediton and the DEX wallet. The default behavior when using the DEX from Decrediton is that there is only one wallet controlled by Decrediton and the DEX module simply uses that. However, it's possible for users to break that connection and force the DEX wallet type to "SPV", which creates a brand new wallet fully managed by the DEX. Decrediton's main wallet will still work, but it can no longer control the new wallet created by the DEX and will throw errors in certain cases. The error is fixed by not allowing Decrediton to attempt to change the password on the DEX wallet it no longer controls. However, users should still avoid this uncommon configuration and not change the wallet type from within the DEX module.
  • Other minor updates and fixes including some typos, and bumping dependencies.
  • Updated app metadata for official publications, as part of the work done to add Decrediton to the winget package repository.

The following work has been merged in master towards future releases:

  • Updated DEX module to v0.6.2, which is required to follow the Decred 1.8.0 hardforks due to consensus changes. In addition, this fixes the "response buffer too short" error reported by some users.
  • Updated the Arabic translation.
  • Fixed placeholder text in the intro tutorials. This also adds proper release artwork for v1.8.
  • Updated web dependencies.
  • Updated to Electron v23 from v18. Among other things, this allows Decrediton to communicate with USB devices, which is required for some hardware wallets like Ledger. Since WebUSB is built-in to the newer versions of Electron, it means devs don't have to use external dependencies, which is good for security.

In progress:

  • As mentioned last month, work is ongoing to add Ledger support, particularly the Ledger UI. The most interesting new developments for June have been work to add the Ledger backend functions so that the UI can actually interact with the Ledger itself. The primary difficulty isn't simply verifying that the functions work as intended, but rather removing as many dependencies as possible to reduce the massive risk of dependency supply chain attacks. Ledger software uses numerous dependencies, and if any of those dependencies were to be compromised by a bad actor, it could put wallet security at risk. Therefore, the Decred devs are taking great care to get this integration right.

Politeia

Politeia is Decred's proposal system. It is used to request funding from the Decred treasury.

  • Fixed a bug where the Politeia webserver would crash when trying to process a new user's registration payment if the transaction couldn't be found. Now, if the transaction cannot be found, the server will simply respond that the user hasn't paid yet.
  • Internal dev updates: require either Go 1.19 or 1.20; improved linting and logging.

vspd

vspd is server software used by Voting Service Providers. A VSP votes on behalf of its users 24/7 and cannot steal funds.

Changes that were included in the v1.2.0 release:

Changes merged to master towards future releases:

  • Updated the admin web UI to show human-readable fee transactions instead of just raw bytes. This quality-of-life improvement for VSP admins also included some extra features like a nicer ticket search input and better JSON formatting.

dcrpool

dcrpool is server software for running a mining pool.

  • Updated CI config and dependencies to use Go 1.20, PostgreSQL 15, dcrd and dcrwallet modules from v1.8.0 release, newer third party dependencies, and enabled additional code checkers (aka linters).

Lightning Network

dcrlnd is Decred's Lightning Network node software. LN enables instant and low-cost transactions.

  • Updated to use latest dcrd and dcrwallet modules from v1.8.0 release.
  • Improved startup time of dcrlnd and ported a few upstream changes to make it easier. The optimization is based on providing fast access to in-flight payments and skipping the expensive scan of all historical payments on startup.
  • Updated output of dcrlncli --version to be consistent with other Decred software.
  • Updated CI configs for normal builds and Docker builds.
  • Bumped version to v0.4.0 to reflect breaking changes since v0.3.8.
  • Switched tests from the old rpctest package from dcrd repository to use the new dcrtest framework.

cspp

cspp is a server for coordinating coin mixes using the CoinShuffle++ protocol. It is non-custodial, i.e. never holds any funds. CSPP is part of StakeShuffle, Decreds privacy system.

  • Changed mix server's send and receive timeouts to be calculated ahead of time based on the start of the mix. This implements a more robust schedule of deadlines of each step of the mixing protocol. Client-side timeouts have been greatly increased. Clients don't need to precisely track protocol deadlines because they are coordinated by the server. Bigger client-side timeouts allow flexibility to adjust deadlines on the server without having to update client software.
  • Added StartSolver function which allows RPC clients to start the solver background process and detect its startup issues earlier before beginning a mixing session.
  • Updated dependencies.

DCRDEX

DCRDEX is a non-custodial, privacy-respecting exchange for trustless trading, powered by atomic swaps.

Changes included in the v0.6.2 release:

  • Improved help text explaining bonds in the registration flow. This is based on feedback from the community and other users new to Decred.
  • Significantly reduced the initial deposit required for bonds, from 0.056 BTC ($1,500) to 0.0035 BTC ($100). This will make it easier to onboard new users. Note that bonds can be funded with DCR too.
  • Updated to latest dcrd and dcrwallet modules from the v1.8.0 release.
  • Enabled use of external fees information for SPV wallets such as built-in DEX wallets or Electrum wallets. This works for BTC-based assets: BTC, LTC, and BCH. Before this change it was possible to pay unreasonably high fees in some scenarios.
  • Optimized loading of static GUI assets in the browser. CSS, JavaScript, images, and font files will now load faster.
  • Fixed a bug where registration flow could proceed without waiting for sufficient bond funds to be deposited.
  • Fixed a bug where the Settings page was using incorrect fund amounts for bonds.
  • Added a workaround for a Badger database truncation error which may happen on Windows after a crash. The Badger database aims to be crash-resilient without any data loss, and one way it does this is by aggressively saving all data to memory-mapped files and recovering from them after a crash. Windows handles memory-mapped files differently from other operating systems and Badger has to overallocate a huge chunk of the file upfront. After a crash, Badger needs to truncate (remove) the excess allocation before resuming normal operation. On Unix-based OS the need to truncate the file might indicate data loss, but on Windows it is just how it works and there almost zero risk of data loss in this scenario.

All changes reported below are towards the next release.

Client:

  • Added support for HTTPS connection between client's front-end (browser UI) and back-end (the dexc process). When dexc is running on a public network HTTPS will be enabled by default, otherwise it can be forced with --webtls flag. The browser will show a scary warning about a self-signed certificate but it can be overridden.
  • Added tooltips to explain various wallet balances (Available, Locked, Immature, Bond Reserves).
  • Added a system tray option to keep the DEX running even after all windows are closed.
  • Updated the Client Installation and Configuration wiki page to make it clearer, more concise, and up-to-date with the latest release. One notable addition is a table summary of wallet types supported for each asset.
  • Added release notes for v0.6.1.
  • Fixed a bug where Accelerate button was showing for revoked (canceled) trades.

Bitcoin:

  • Recycle unused redemption and refund addresses. DEX generates new Bitcoin addresses to be used for redemptions (trade completed normally) and refunds (trade was canceled and refunded). Many addresses end up being unused. In Hierarchical Deterministic (HD) wallets this may create gaps between used addresses that are bigger than the gap limit, which may cause problems with discovering funds and restoring wallets from seed. To avoid exceeding the gap limit, generated addresses that were not used for redemptions or refunds will be saved and used for future trades.
  • Fixed a crash of the built-in BTC wallet when syncing. Testing DEX walllets revealed a crash in the upstream btcwallet code. DEX developers contributed to investigating and fixing it.
  • Implemented a function to place multiple orders in one go. This will be used by the market making bots and may unlock trading optimizations.

Polygon (MATIC):

  • Implemented several low-level primitives and a test harness to aid in developing Polygon support. The harness was able to sync balances and send funds on simnet and testnet. Existing Ethereum code has been refactored to be more generic and reusable by Polygon code.
  • Extended the test harness to create two nodes, connect them together, and mine blocks.

App packaging:

  • Added packaging scripts to build a DMG installer for macOS.
  • Created a DCRDEX package in Arch User Repository (AUR). On Arch or Arch-based Linux distributions like Manjaro it can be installed with an optimistic command like $ yay dcrdex. Documentation has been updated with a list of existing and upcoming packages for various packaging systems.

Server:

  • Changed order limits to be based on bond strength. Increasing the bond tier by locking more funds will unlock bigger order sizes. Order limit is also reduced by bad behavior like not completing the swaps. This change should fix inability to submit orders for some users. The penalty and reward system is still a work in progress.

Developer and internal changes:

  • Updated simnet blockchain with new proof of work.
  • Added scripts to automatically update cache busters.
  • Enabled caching of Go build outputs produced by GitHub Actions. This avoids unnecessary recompilation and speeds up builds and tests, which run for every pull request. As a result, it takes less time to see if a change being developed breaks any tests.
Image: Improved intro to bonds in DCRDEX
Image: Wallet types supported by DCRDEX

dcrdata

dcrdata is an explorer for Decred blockchain and off-chain data like Politeia proposals, markets, and more.

  • Updated to use latest dcrd modules released in v1.8.0. This makes dcrdata and its clients like Decrediton aware of the new consensus votes, and also adds them to the Agendas page.
  • Updated block rewards math to be aware of the DCP-12 activation date, as well the new block reward split.
  • Fixed a bug where TSpend transactions were included in coin supply data shown on Charts page. Combined with a fix for coin supply reporting in dcrd this fixes supply discrepancy between dcrdata's Home and Charts pages.
  • Updated CI build config, Docker config, and linters.

Timestamply

Timestamply is a free service for timestamping files powered by Decred blockchain. A timestamp proves that a certain file has existed at a certain moment of time. This has a range of applications in protecting data integrity.

Documentation

dcrdocs is the source code for Decred user documentation.

Bison Relay

Bison Relay is a new social media platform with strong protections against censorship, surveillance, and advertising, powered by Decred Lightning Network.

All work reported below is merged to master towards the next release.

GUI and CLI apps:

  • Create new group chats version 1 by default. This is the latest version that supports multiple admins in one group chat.
  • Persist received but not fully processed group chat messages. This helps to show messages in the correct order, especially after app restart.
  • Reduced max number of idle HTTP connections from 100 to 2. HTTP connections to the "normal web" are used to fetch DCR/BTC and BTC/USD exchange rates.
  • Made server reconnection loop faster.
  • Fixed some issues with key exchanges (KX). Improved reporting of completed KX in direct and group chats. Avoid multiple KX attempts with same user when joining multiple group chats. Added automatic KX attempts when sending messages to group chat members, this should fix message delivery issues due to missed KX with target user.

GUI app:

  • Added Address Book that lists all known users and group chats. Recent chats list was optimized to hide empty chats and show newer chats on top. Hidden empty chats can be brought back from the address book.
  • Added search and filter function to the Address Book page.
  • Added ability to hide non-empty chats. Hidden chats can be shown again via the address book.
  • Create config directory if it is missing.
  • Store and load invoices to better track tip status across app restarts.
  • Improved sorting of Feed posts to take recent comments into account.
  • Improved post commenting UX to better visualize if the user is adding a top-level comment or a reply to another comment.
  • Refined chat list UX.
  • Optimized vertical space on inbound and outbound channel pages.
  • Updated Flutter dependencies.
  • Fixed loading of history for contacts that have not completed a key exchange.
  • Fixed a bug that could prevent errors from being properly shown on the onboarding page.
  • Fixed a bug where the Chats page was not aware of hidden chats and would erroneously show "Funds Needed" or "Invite Needed" pages.
  • Fixed Suggest KX action not working properly. This also adds hidden users to the dropdown.
  • Fixed possibility to open multiple file pickers in places like creating posts or generating invites.

CLI app:

Stores implementation:

  • Added a page to see information about one order.
  • Allow store admin and customer to add comments to the order, and show them on both admin and customer order pages.

Preparations for mobile app builds:

  • Configured the embedded dcrlnd to not include IP or hostname in generated TLS certificates. This is needed to make the Android version compile.
  • Updated gomobile library.
  • Fixed compilation of golib with gomobile. golib is an adapter for the low level Bison Relay code in Go for reuse by the high level GUI code, which is written in Dart and Flutter.
  • Moved and adapted some desktop code to a shared location to enable reuse on mobile.
  • Made multiple changes specific to iOS and Android builds.
  • First pass of making views responsive and usable on smaller screens and mobile platforms. A more thorough design implementation will be done in the future once UX specs are finalized.

Developer and internal changes:

Other

  • Testnet coin faucet updated to Go 1.20 and Decred modules released with v1.8.0. Faucet is used by developers to obtain testnet DCR.
  • gominer was updated for latest Decred modules, linters, and GitHub Actions build config.
  • Voting Dashboard: updated for Go 1.20 and newer Decred and third party dependencies, added display of consensus voting agendas in v1.8.0, fixed voted versions for testnet3.
  • dcrinstall, an automatic installer/updater for command-line apps, has been updated to v1.8.0. Latest version can be downloaded on the Releases page.
  • dcrseeder, a service for bootstrapping Decred node discovery, has been updated for Go 1.20 and Decred modules from v1.8.0 release.

People

Community stats as of ~Jul 2 (compared to Jun 2):

  • Twitter followers: 53,558 (+450)
  • Reddit subscribers: 12,738 (+15)
  • Matrix #general users: 787 (+13)
  • Discord users: 1,586 (-4), verified to post: 635 (+1)
  • Telegram users: 2,362 (-108)
  • YouTube subscribers: 4,640 (+0), views: 231.1K (+1.5K)

Governance

In June the new treasury received 7,760 DCR worth $111K at June's average rate of $14.25. 4,604 DCR was spent to pay contractors, worth $66K at same rate.

A treasury spend tx was approved with 7,456 Yes votes and 52% turnout, and mined on Jun 13. It had 20 outputs making payments to contractors, ranging from 4 DCR to 1,308 DCR. Most of this DCR was likely paid for April work, at its billing exchange rate of $20.22 the TSpend is worth around $93K.

As of July 9, combined balance of legacy and new treasury is 863,788 DCR (13.9 million USD at $16.06).

Image: Decred Treasury balance in DCR
Image: Decred Treasury balance in USD

There were 4 proposals published in June, and one from May which finished voting:

  • A proposal to fund development of the Decred.club website with Chinese language content and grow a community around it for $2,400.
  • A proposal to rebrand Decred Magazine to Cypherpunk Times and continue producing it for another year with an increased budget of $44,000.
  • A proposal to produce 90-second videos of someone in a ski mask talking about Decred in one of 12 languages at a cost of $23,650.
  • A proposal to produce a promotional website for DCRDEX at a cost of $2,000.
  • The proposal to fund exploration of Mesh architecture for DCRDEX with a budget of $164,000 was approved with 94% Yes votes and 44% turnout.

See Politeia Digest issue 61 and issue 62 for more details on the month's proposals.

Network

Hashrate: June's hashrate opened at ~66 PH/s and closed ~63 PH/s, bottoming at 69 PH/s and peaking at 46 PH/s throughout the month.

Image: Decred hashrate

Distribution of 64 PH/s hashrate reported by the pools on Jul 1: F2Pool 49%, Poolin 30%, AntPool 16%, BTC.com 5%.

Distribution of 1,000 blocks actually mined by Jul 1: F2Pool 46%, Poolin 31%, AntPool 18%, BTC.com 5%.

Staking: Ticket price varied between 175-328 DCR.

Image: Ticket price making more swings
Image: Ticket price swings naturally correlate with volatile ticket purchasing activity

The locked amount was 9.34-9.77 million DCR, meaning that 61.2-63.8% of the circulating supply participated in proof of stake.

Image: Percentage of coins locked in proof of stake is a good indicator of holder conviction

VSP: The 14 listed VSPs collectively managed ~6,630 (-20) live tickets, which was 16.5% of the ticket pool (-0.3%) as of Jul 1.

Biggest gainers of June are dcrhive.com (+652 tickets or +58%), stakey.net (+182 tickets or +59%), and ultravsp.uk (+131 tickets or +37%).

Image: Distribution of tickets managed by VSPs

Nodes: Decred Mapper observed between 144 and 172 dcrd nodes throughout the month. Versions of 170 nodes seen on Jul 1: v1.8.0 - 77%, v1.7.x - 14%, v1.8.0 dev builds - 3.5%, other - 6%.

The network has been quick to deploy v1.8.0 and start mining new blocks as shown on the next two charts.

Image: Node operators have been quick to upgrade to v1.8.0. The red area before Jan 2023 indicates incomplete data we had at that time.
Image: Block version 10 quickly took over to unlock consensus voting

The share of mixed coins varied between 61.8-62.1%. Daily mixed volume varied between 298-699K DCR.

Image: Spikes in daily StakeShuffle volume
Image: Biggest monthly StakeShuffle volume so far

Decred's Lightning Network explorer has seen 212 nodes (+1), 427 channels (+4) with a total capacity of 191 DCR (+15), as of Jul 1. These stats are different for each node. Compare this to Litecoin LN stats reported on same date: 95 nodes, 170 channels and a total capacity of 35 LTC. In USD terms the capacity was $3,010 for DCR and $3,710 for LTC.

Image: Decred's Lightning Network node count growth has stopped
Image: Decred's Lightning Network capacity crawling up

Ecosystem

Voting Service Providers:

  • VSP operators have been upgrading quickly to support the upcoming consensus upgrades. 7 out of 14 VSPs have upgraded in just 3 days after new vspd was released. By Jun 30 all VSPs have been running v1.2.0.
  • New VSP at vote.dcr-swiss.ch has started their testnet and mainnet testing to get added to the VSP list.

Wallets:

  • DCRDEX has been added to decred.org Wallets page as a "multi-coin light wallet with DEX support".
  • Atomic Wallet has been compromised around June 2-3. Losses are estimated between $67 million and over $100 million by third party researchers, while Atomic Wallet prefers to measure it as "less than 0.1% of users", that is less than 5,000 users based on the 5 million users claimed on the website. The root cause has not been identified as of June 20. Estonia-registered Atomic Wallet has DCR support since August 2018. DCR was not in the list of affected coins posted by ZachXBT on June 4 and we have not seen any loss reports from DCR users. If you know any please share in the #ecosystem chat.
  • Ledger Live users may want to set a password because until it is set, Ledger Live may leak an unencrypted extended public key to the file system. This single key allows to find all addresses and transactions used by the wallet.

Exchanges:

  • A brief outage of DCR deposits has been observed at Binance on June 14 with a notice about "undergoing maintenance". This was likely due to a misunderstanding about Decred's forking process and the v1.8.0 release which came out on June 13. The issue was resolved in less than 12 hours.
  • Binance has reverted its decision to delist DCR in France, Italy, Poland, and Spain starting June 26. Customers received an updated list of coins that do not allow to "fully monitor transactions" with only 5 out of the 12 coins originally planned for delisting. DCR is not in the updated list, possibly due to its privacy system being opt-in.
  • Binance and CZ have been sued by U.S. SEC for violating securities laws. The charges are similar to those filed against Binance by CFTC in March. The news has triggered massive withdrawals from Binance and Binance.US. DCR is still not in the updated list of 50+ assets mentioned as "securities" by the SEC at different points in time. Binance is still the biggest market for DCR if the reported traded volume can be trusted.
  • Other Binance news include deregistering in Cyprus, leaving Netherlands, an order to stop services from a Belgian regulator, and an upcoming change of the SEPA banking provider. The latter may require users to accept new terms and update their banking details after September 25, 2023.
  • KuCoin is adding mandatory KYC for all users starting July 15, 2023. Their first verification level called "Basic Personal Info" may be sufficient but it needs testing - reports are appreciated! This change may have an unfortunate effect of ending support for U.S.-based users who were allowed previously as long as they remain unverified, according to Forbes and a couple of user reports we have seen. KuCoin is based in Seychelles and has DCR trading pairs since September 2018. As of July 7 the DCR/BTC market reported a $20K 24-hour volume.

Communication systems:

  • Decred's Discord was saved from death and continues to operate with stricter rules. On May 1 it has been announced that chat bridges to Discord were disabled and that Discord is likely to be shut down due to the difficulties of preventing and removing bad content. @tothemoon stepped in to fix that, resulting in the new user verification flow that is much better at preventing spam. New rules require users to link a social media account like Reddit, Twitter, or GitHub, or request a special manual approval from the admins. All existing members went back to unverified state if they did not meet the rules, which affected ~300 out of 900 members.
  • Telegram and Discord support channels have been removed from the Community page to reflect the recent changes. All support requests are now redirected to Matrix chat.
  • Decred announcements are now available on Bluesky. As of July 4 Bluesky is still in the invite-only beta and you need an account to follow Decred. Bluesky source code was made public in May 2023.
  • Decred Twitter community has been created. Twitter Communities allow to have dedicated, moderated spaces where only members can tweet and reply, while the activity is visible publicly. Communities compete with Reddit and Facebook Groups.

Other news:

Services discovered but not tested by the community yet:

Join our #ecosystem chat to get more news about Decred services.

Warning: the authors of the Decred Journal have no idea about the trustworthiness of any of the services above. Please do your own research before trusting your personal information or assets to any entity.

Outreach

BTC-ECHO has shared drafts of the 2 articles secured by their approved proposal. German speakers are welcome to help improve the articles before they are published.

Monde PR's achievements:

  • Pitched 1 commentary opportunity
  • Pitched 2 story ideas to target crypto publications
  • Secured 2 media interviews
  • Secured 1 media opportunity

Below is an update from Decred Vanguard team.

The Vanguard strides forward, brainstorming new ideas, creating art, and looking for opportunities to push the Decred Protocol.

@Tivra has been experimenting with recruiting new members from Reddit. These individuals give us interesting perspectives on how outsiders, new to Decred, view Decred's value proposition and overall tech stack. They are eager to learn, and some have already done a commendable job promoting DCR on their own.

We have been discussing the best ways to handle the monthly prizes, which total $400, and we think doing some giveaways with prize money will be an interesting way to help promote DCR.

$100 prize winners for June:

  • @PubPete - Exceptional activity
  • @TallAmericano - Exceptional activity

We then decided to spend the remaining prize money on contests:

Decred Vanguard is recruiting! Participants get a flat stipend of $100/month and their Twitter Blue paid for by the Decred DAO. See the proposal for more details and contact @Tivra or @Exitus about joining.

Events

Attended:

  • @arij and @khalidesi attended GITEX Africa Digital Summit in Marrakech, Morocco. There was no Decred stand due to high cost, instead @arij and @khalidesi represented the project less formally by networking with the visitors and made some valuable contacts. Here is the report.

Media

Selected articles:

Decred Magazine engagement stats for June 2023:

  • Total number of articles on DM: 479
  • Newsletter subscribers: 101
  • New DM posts and newsletters sent: 19
  • Active social media campaigns: 66
  • Completed social media campaigns: 44
  • Social media posts: 160
  • Likes: 1,070
  • Re-tweets: 256
  • Social media followers across all platforms and accounts (including @DecredSociety): 1,410

Videos:

Live stream:

Audio:

Art and fun:

Translations:

  • Decred Journal March-May got a total of 3 new translations to Arabic (@arij, @abdulrahman4), Chinese (@Dominic) and Polish (@kozel). Thank you folks!

Discussions:

Selected non-Decred articles posted on Cypherpunk Times:

Image: Leading the DAO pack by @OfficialCryptos

Markets

In June DCR was trading between USDT 12.01-17.84 and BTC 0.00046-0.00067. The average daily rate was $14.25.

Community's DCR price analysis posted in the #trading chat:

Image: DCR/USD accumulation zones analysis by @saender
Image: Market Valuations (USD) based on Decred-specific Staked Realized Value metric from @bochinchero
Image: Decred-specific SASRV/RV Ratio metric by @bochinchero provides a lagging indicator of the direction that the market is trending

And one new chart from @bochinchero:

another interesting one I had been tinkering with before, estimating what the realized value would be without tickets/votes (e.g. RV-SRV), it looks a lot like the BTC RV does... and seems to indicate local bottoms pretty well

obviously given the manipulated markets a lot of this can be taken as a grain of salt, trying to read rigged tea leaves
Image: Realized Value minus Staked Realized Value by @bochinchero
Image: DCRDEX monthly volume in USD

Relevant External

Bittrex US was allowed to re-open customer withdrawals, these would usually be frozen during liquidation but Bittrex argued to allow customers to withdraw their funds and a judge agreed, although stating that this did not make a determination that the customers (still) owned the assets and there may be clawbacks as the liquidation process continues.

The SEC has sued Binance and CZ in a long-anticipated move which declares a number of the assets Binance lists as securities and alleges that they were allowing US citizens to trade on the platform, even encouraging the whales. The SEC's complaint lists 10 crypto tokens with a page or more of explanation about its origins and why the SEC considers it a security. The tokens listed as securities are: SOL, ADA, MATIC, FIL, ATOM, SAND, MANA, ALGO, AXS, and COTI.

In the day or so following the suit being brought by SEC, both Binance ($1.43 billion) and Coinbase ($1.18 billion) saw significant net outflows of assets, with customers withdrawing much more than they were depositing, in response to the news.

Some of the consequences of the SEC pursuit are transfer of control of assets to staff of Binance US, such that staff of Binance Holdings no longer have any access to crypto assets or internal systems. This was part of a deal reached to avoid a freezing of all Binance assets in the US, which threatened Binance US's ability to process dollar transactions.

There was more bad news for Binance, with the loss of its EUR banking partner after pulling out of Netherlands after failing to acquire a license, giving up on licenses in UK and Cyprus and being ordered to stop offering crypto services in Belgium.

Binance has reversed its decision to delist several privacy-oriented crypto-assets for users from some European countries to comply with the new MiCA regulations. After listening to user feedback and from the communities for those projects, they decided they could continue to support them as they have transparent public ledgers.

Binance is also working to integrate Bitcoin Lightning Network for deposits and withdrawals.

The SEC's long running suit against Ripple has brought to light behind the scenes feedback to Bill Hinman's (in)famous speech in which he said that Ether did not look like a security and declared that networks which are "sufficiently decentralized" didn't have to worry about securities law, going on to list some things the SEC would look at in making such a determination. The emails surrounding the speech reveal that Bill ignored concerns from colleagues about some aspects of it, including the freedom with which he was adding new factors and using Ether as a named example, which they cautioned would make it difficult to pursue ETH related securities violations in future.

The SEC also sued Coinbase for operating as an unregistered securities exchange, to which Coinbase has responded arguing that the SEC has no jurisdiction over the assets on its platform, because Coinbase only hosts secondary markets and does not offer any cryptos for sale directly from their issuer.

While the SEC has been going after many established crypto exchanges for alleged securities violations, a new player has emerged, Prometheum, which appears to be on a fast track to getting the sorts of approval that the likes of Coinbase have been trying to obtain for years. The Prometheum co-CEO turned up on Capitol Hill to testify before Congress and what he said was widely seen as parroting the SEC's position, raising questions about where this new unknown entrant was coming from and why they were getting along so well with the SEC. The company claims to have been working on its regulatory approvals for years but has remained largely unknown because its "crawl-walk-run-approach" means it doesn't actually offer any BTC or ETH trading yet. It has been suggested that hiring insiders from FINRA and the SEC is the key to why Prometheum got approved and then started showing up to hearings with pro-SEC talking points.

One of the two Chinese entities with links to and an ownership stake in Prometheum is Wanxiang, an organisation which lists Vitalik Buterin as one of its co-founders. Vitalik's relationship to Wanxiang dates back to Ethereum's early days in 2015 when then-CEO made an investment of $500,000 in ETH, which helped to cover some developers' salaries.

The "Electric Coin Company" (ECC) has announced (in May) that it is restructuring to serve Zcash in different ways, with a much smaller team (13 staff, 50% are being made redundant) and focused on core specialisms like the transition to proof of stake consensus. Many of the functions of the ECC will be transferred to other entities within the ZEC community.

MakerDAO has voted to remove the USDP stablecoin provided by Paxos from its reserves, these currently include $500 million of USDP and that is half of the token's supply.

Payment processor Mastercard has set up a testbed dubbed the "Multi-Token Network" (MTN) for tokenizing bank deposits, turning them into digital tokens on blockchains which are programmable like crypto tokens. A beta version of MTN will be available to industry partners in the UK from summer 2023 and they are setting up an innovation spring where selected teams will be given access to MTN so they can develop use cases. Mastercard plans to experiment with stablecoins and CBDCs on MTN also.

Watchers of CRV noted on Twitter that over 30% of its circulating supply had been deposited as collatoral for loans in the AAVE protocol by one user, the founder, prompting concern that if the position were liquidated the market would be flooded with CRV and the Aave protocol would end up with a lot of bad debt. The CRV price did decline further but the borrower in question repaid some of the debt and decreased the liquidation risk.

Many users of Atomic Wallet had their assets stolen in an apparent hack on June 3, with early estimates of $35 million and later $100 million of the losses incurred by users. However, it remains unclear what the cause of the hack was, and a blog post from the wallet's developers on June 22 left a lot of unanswered questions - they offered four possibilities for how users funds were stolen but weren't sure which one was the real cause. They suggested that all of the thefts occurred on June 3, but they are just going from user testimony and reports the same as the community researchers who have been looking into it and giving more timely updates.

Users of the web 3 betting platform Polymarket have drawn attention for gambling on the outcome of the lost Titan submersible, with several hundred thousand dollars worth of cryptocurrency being wagered, making it the site's most active market at the time. The Polymarket event betting on whether the Titan submersible would be found by June 23 went to dispute resolution after resolving to "Yes" when pieces of the submarine were indeed found, but several stories about the event reference people making money from "betting that the Titan submersible would not be found". It has not been possible to locate the dispute resolution outcome on Polymarket itself.

There is a long-running court battle between ConsenSys, the Ethereum development organisation led by Joe Lubin, and employees of its original Swiss entity (ConsenSys AG). The dispute is about a transfer of assets (ConsenSys owns several major Ethereum infrastructure providers like Infura) in 2020 to a new US based entity which JP Morgan invested in - the employees of ConsenSys AG held equity in the company, and claim that the assets were given an absurdly low valuation ($47 million) so that they would receive very little of the money coming from JP Morgan (indirectly) for those assets. This month, ConsenSys held a shareholder vote to retroactively approve the transfer - something they were instructed to do by a Swiss court, which will allow the employees to proceed with the next step of their multi-year legal proceedings.

The IMF has decided that banning crypto "may not be effective in the long run", after previously suggesting this as an option all the way back in Feb 2023. They now suggest addressing demand for digital payments in other ways to decrease demand for crypto, but not to ban it because that stops the country from gaining any benefits.

The SEC has reduced the financial penalty imposed on LBRY from $44 million to $111,000 - but rather than a change of heart this reflects acknowledgement that the entity is now defunct and being wound down, not capable of paying millions of dollars in fines. The marathon case against LBRY by the SEC dragged on for years until it was resolved in November 2022 with a loss for LBRY and the judge establishing precedents that cast a wide net in terms of securities violations. LBRY sold tokens before their network was operational, and so the courts decided that any sale of LBRY tokens by the organisation would constitute an illegal securities offering, even for a $5 transaction to tip some video creators - a primary intended purpose of LBRY tokens.

The Israeli government has seized $1.7 million in crypto from wallets linked to the Iranian military and the Iran-backed Hezbollah militant group in Lebanon. Chainalysis assisted in tracking the USDT on the Tron network to 40 different addresses, which were frozen on the authority of the Defence Minister. In May Israel reported the freezing of 190 Binance accounts associated with Hamas and Daesh since 2021.

The European Commission has published its legislative plans to underpin a digital Euro, identifying some advantages like facilitating transactions between people at higher data protection standards than banks, and making free access to payments available everywhere including remote locations. While the Commission wants a privacy-preserving digital Euro it is down to the European Central Bank to issue one, and there remains much opposition to the idea within banking circles. The proposals have been criticised as being significantly more prone to surveillance than cash.

A newly declassified report from the Office of the Director of National Intelligence has revealed that the federal government is buying data about Americans in bulk, secretly amassing a "large amount" of "sensitive and intimate information" on its own citizens. Avril Haines, the director of national intelligence, was informed about this a year ago after commissioning a panel of experts, but the report has been kept secret until now.

A new crypto exchange has emerged, backed by major financial markets players Citadel Securities, Fidelity and Charles Schwab. The exchange is unusual in that it is noncustodial, the marketplace allows traders to agree on trades but then the firms move crypto and cash between them directly to settle the trade - although EDX plans to launch a clearinghouse later in the year to facilitate this process (though still without touching the assets directly, using other service providers for this). As such, EDX will not serve individual investors directly, but retail brokerages may send orders to its marketplace for fulfillment.

That's all for June. Suggest news for the next issue in our #journal chat room.

About

This is issue 60 of Decred Journal. Index of all issues, mirrors, and translations is available here.

Most information from third parties is relayed directly from the source after a minimal sanity check. The authors of the Decred Journal cannot verify all claims. Please beware of scams and do your own research.

Credits (alphabetical order):

  • writing, editing, publishing: bee, bochinchero, Exitus, jz, karamble, l1ndseymm, phoenixgreen, richardred, zippycorners
  • reviews and feedback: davecgh, jholdstock
  • title image: Exitus
  • funding: Decred stakeholders