Decred Journal – September 2023

Decred network has switched to BLAKE3 and now supports GPU mining. Bison Relay v0.1.9 came out with initial mobile design and DCRDEX is marching forward with development of the Polygon integration and trading bots.

Decred Journal – September 2023
Decred Journal – September 2023
Image: Circuit by @Exitus

Highlights of September:

  • Decred network has switched to BLAKE3 proof of work and 89% proof of stake reward, but it took 3 days to start mining new blocks.
  • Decred GPU mining support has been added to gominer and BzMiner, leading to an explosion in hashrate.
  • Bison Relay v0.1.9 came out with numerous fixes and initial mobile design.
  • DCRDEX v0.6.3 has been released with fixes for BTC wallet and bond maintenance. Development of the Polygon integration, trading bots, and other features is marching forward.

Contents:

Network Upgrade and Service Outage

On August 29, consensus changes Change PoW to BLAKE3 and ASERT and Change PoW/PoS Subsidy Split To 1/89 activated on Decred mainnet at block 794,368. The initial difficulty value was reset to target 1.45 TH/s with the expectation that GPU hashrate would start mining on the fork day. This assumption had basis in history, as at the launch of Decred in February 2016, GPU mining started without any announcement. Also, the upcoming switch to BLAKE3 was publicly known for around 5 months since April 2023. GPU mining did not start as expected, however, and the network was left with a difficulty that was extremely high for CPUs. As a result, the chain stopped producing blocks for a couple of days.

Any services depending on the chain getting new blocks got suspended, for example:

  • Deposits and withdrawals at centralized exchanges were temporarily disabled
  • DCR swaps at DCRDEX could not start or complete
  • Timestamping services were suspended
  • Politeia could not start or stop proposal voting
  • Politeia voting software was not operating normally (casting votes required hacks and tricks)
  • LN channels could not be opened or closed
  • Bison Relay functionality was restricted (could not deposit or withdraw to/from wallets, could not open/close LN channels)

After 24 hours of no blocks, miners faced an issue where dcrd would refuse to mine on top of old blocks. The workaround for the issue was to set back the system clock and regenerate certificates if necessary.

Block 794,369 was eventually mined on September 1st and the chain got moving again. Some dcrd nodes had to be restarted due to hitting a path where they weren't trying to fetch new blocks. After that last issue was resolved, the new ASERT algorithm adjusted the difficulty and restored normal block production speed within hours.

This 2.9 day outage has set a new record, beating the previous outage in April 2017 when it took 9.6 hours to mine block 127,072.

Decred GPU Mining Software

GPU mining kicked in one week after the hardfork and quickly displaced CPU mining. Two software options for GPU mining Decred were publicly released in September:

  • gominer supports Decred mining on OpenCL and CUDA devices, including AMD and Nvidia GPUs. Binaries are currently not available, but the build and setup process is well-documented.
  • BzMiner supports mining Decred on AMD, Nvidia and Intel GPUs since version 17.0.0. The source code is not public, but BzMiner has a long list of features and can achieve higher hashrates compared to gominer. The binaries are available on GitHub and bzminer.com.

For any help, join the #pow-mining chat on Matrix or Discord.

BzMiner GUI running on HiveOS
Image: BzMiner GUI running on HiveOS

Bison Relay v0.1.9 Release

This release improves posts UX, key exchange maintenance, and fixes bugs reported in v0.1.8.

Notable changes in both GUI and text apps:

  • Automatic handshakes with users idle for 21 days to keep the contacts alive
  • Automatic unsubscribing and kicking from group chats of users idle for 60 days
  • Exclude list to prevent automatic unsubscriptions for certain users, such as well-known bots

GUI app highlights:

  • Improved listing of user's posts
  • A button to reset all old key exchanges
  • First round of mobile UI design implementation (can be tested by reducing the window width below 500 px)
  • Fixed: getting stuck on the setting up flow, opening of URL links, and incorrect visibility of unread indicators

There is a short video demonstrating what's new in the GUI app.

Text app highlights:

  • Fixed various issues with Simplestore
  • Fixed browsing of local pages
  • Fixed UI bugs with chat

Full release notes and downloads can be found on the release page. It is recommended to verify the files as described in the README.

Improved notifications in Bison Relay v0.1.9
Image: Improved notifications in Bison Relay v0.1.9

DCRDEX v0.6.3 Release

This release contains several important fixes and improvements. All users are advised to update. Highlights for the standalone app:

  • Trade limits scale with bond level
  • Fixed a common error that arose when rescanning the built-in BTC wallet
  • Fixed a scenario where bonds could fully expire before being replaced

Read the full release notes here.

Note: As of writing, dexc binaries are also available as part of the core v1.8.1 release. These binaries offer a number of advantages: they are signed with Decred Release key, support more operating system and CPU architectures, and are built with a newer and more optimized Go toolchain.

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.

Changes backported to the v1.8.1 release:

  • Added the new proof of work hash to the verbose outputs of getblock and getblockheader.
  • Changed the getnetworkhashps to treat -1 as a default value (120 blocks back). Previous meaning of -1 "the number of blocks since last difficulty change" no longer makes sense given that the difficulty is now calculated every block as opposed to every 144 blocks with the old difficulty algorithm.

Changes merged in master towards future releases:

  • Updated Docker image to Go 1.21.1.
  • Improved internal error handling in rpcserver to make the code cleaner and harder to misuse.
  • Changed sampleconfig package to use Go's embed functionality. It allows to have sample configs as separate files that are easier to work with, while retaining convenient access to their contents from code.
  • Added functions to access the R and S values of signatures in the secp256k1/ecdsa package, these values can be useful in some computations.
  • Added a couple of new tests to push test coverage to 99.6%.

dcrwallet

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

Changes backported to the v1.8.1 release:

Changes merged in master towards future releases:

  • Updated VSP fee calculation for the new block reward split in DCP-12 (proof of stake reward increased from 80% to 89%). This piece of code is only used by vspd servers so this didn't need to be backported.

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).

All changes below have been included in the v1.8.1 release (published in October).

Progress towards Ledger integration:

  • Added backend functions for interacting with Ledger. This is using WebUSB API which allows Electron-based apps to access USB devices.
  • Added Ledger UI for testnet.
  • Enabled Ledger on mainnet. This has been tested on Linux, Windows and macOS on Nano X and Nano S Plus devices.
  • Rolled back Electron to v21.2.3 because the newer version caused issues with the DEX window. This will need to be investigated and fixed in a future release, because Electron v23 is needed for WebUSB support, which powers Ledger integration in Decrediton.

Other:

  • Updated the DCRDEX module to v0.6.3 and enabled its new "extension mode" to protect Decrediton's wallet from being misconfigured in the DEX window.
  • Updated the Chinese translation.
  • ~8 changes updating web dependencies and fixing small bugs.

vspd

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

September's vspd work has made incremental quality of life improvements for users, admins and developers.

All changes listed below have been included in v1.3.0 and v1.3.1 releases, which came out in September.

User-facing changes:

  • Added separate expired and missed ticket counts on the VSP home page and in the /vspinfo response. The "revoked tickets" reported previously was a sum of expired and missed tickets; having missed tickets listed separately is a better metric for evaluating VSP's reliability, because expired tickets are not the VSP's fault.
  • Updated VSP fee calculations to consider the new block reward split specified in DCP-12.
  • A new yellow top banner will appear if the VSP is running on testnet or simnet. Debug banner has been changed to the color red, because debug mode should not be used in production.

Changes for VSP admins:

Internal and developer changes:

  • Restored the ability to run vspd on simnet, which is needed by DCRDEX to test new staking features.
  • Small performance optimizations by making better use of dcrd.
  • Unexported some code and moved it to internal packages since it is not suitable for consumption by third parties. Small public API surface makes development and maintenance easier.
  • Reworked how components are created, started, and stopped to decouple and simplify code.
  • Fixed database backup running only once instead of running periodically (unreleased bug).
  • ~20 commits with smaller improvements and code cleanup.
Missed tickets in vspd admin panel
Image: Missed tickets in vspd admin panel

gominer

gominer is a Decred proof of work miner for solo and pool mining with OpenCL and CUDA devices.

The main goal of September's gominer development was to quickly react to the first GPU miners who did not share their code publicly and thus began to dominate the hashrate. The updates to gominer allow anyone to mine with their GPUs. Besides adding BLAKE3 GPU mining support, an effort has been made to automate or document the setup process to address multiple pain points reported by the miners.

BLAKE3 GPU mining:

  • Added support for BLAKE3 GPU mining via OpenCL. It includes a custom optimized BLAKE3 OpenCL kernel based on midstates for supporting GPUs that work with OpenCL and OpenCL with ADL. "Kernel" is a program written in a specialized OpenCL kernel language that runs on the GPU. This change also improves discovery of CL devices, randomizes nonces to ensure each device is doing different work, and improves hashrate values display.
  • Added support for BLAKE3 GPU mining with CUDA on Linux. CUDA is a platform for high-performance computing on GPUs. The OpenCL kernel has been adjusted to compile with the CUDA toolkit. Unlike OpenCL, CUDA is proprietary, closed-source, and only works on Nvidia cards. However, CUDA allows control of overclocks and fan speeds to potentially significantly increase efficiency (gigahashes per watt). Given the cost of electricity is a huge factor in profitability, such tradeoffs often make sense.
  • Added a script and instructions for building the CUDA-enabled version of gominer on Windows. Building a Go program with CUDA support is more complicated on Windows than on Linux, but the new builder goes to great lengths to automate the process as much as possible. If a missing dependency or environment configuration is detected, the builder will print human-readable directions on how to resolve the issue. Manual instructions have been added as a fallback in case the automatic builder does not work. This change also removes a dependency on GNU Make.
  • Added support for CUDA versions older than 10. This enables building gominer on more configurations, although performance will be significantly degraded with older CUDA versions. Installed CUDA toolkit version and GPU architecture will be detected automatically during build to use the best possible GPU features, specifically the fast funnel shift intrinsic.
  • Fixed an issue where autocalibration could not release the device and make the actual mining loop fail.

GPU programming is not something the Decred developers do every day, but this OpenCL kernel has shown to be quite fast. For example, it achieves 10-12 GH/s on an RTX 3070, which is close to 12 GH/s reported by WhatToMine for IronFish, another mining algorithm based on BLAKE3. A better comparison would need to consider the details (size of the hashed data, number of hashing rounds, etc.), but the hashrates reported so far suggest that gominer is good enough to make GPU mining fairer and accessible to more people.

README updates:

Other changes:

dcrpool

dcrpool is server software for running a Decred mining pool.

Similar to gominer, dcrpool development has been reactivated after a period of low activity since summer 2021 when release v1.2.0 came out. The developers upgraded the codebase to the latest Go features, fixed multiple concurrency and shutdown edge cases, and paid off some technical debt, all in preparation for adding pooled GPU mining support.

Upgrades and changes:

  • Added BLAKE3 support to the internal CPU miner, which is used for testing.
  • Improved accuracy when calculating the number of possible iterations.
  • Improved log messages to trace clients that time out.
  • Improved signal handling to shut down more cleanly on more variants of Unix, as well as on Windows, in response to events such as the user logging off, the terminal being closed, or the system shutting down.
  • Updated build code to use Go 1.21 and PostgreSQL 16.0.
  • Removed all bbolt database upgrades and reset the database version to 1. This allows removing a significant amount of code which no longer needs to be maintained, gives developers flexibility to change the database format before the next release, and may avoid potential bugs and support issues caused by inconsistent data. This change assumes there have been no known public deployments of dcrpool and suggests labeling the next release v2.0.0 to reflect that the database format is incompatible with the last major version v1.2.0.

Fixes:

  • Corrected shutdown logic to ensure that log files are properly closed if the process exits due to an error.
  • Fixed some cases where configuration errors were not being logged as expected, and removed code duplication.
  • Ensure the database is closed on all error paths.
  • Fail fast if the GUI web server's listen port is already in use. Before this change, if the GUI could not start normally dcrpool process would continue to run, which was not expected behavior. Now the process will terminate quickly and allow the admin to resolve any issues immediately.
  • Fixed edge cases where duplicate work share IDs and payment IDs could be generated. Random numbers have been added to these IDs to ensure they are unique. This fixes test failures on fast hardware.
  • ~9 miscellaneous fixes in concurrency, cancellation, shutdown logic, and error handling.

Refactoring:

  • Removed unused code for running dcrpool as a Windows service.
  • ~11 commits cleaning up code and enabling new linters.
  • Reworked how app version numbers are handled to use a more robust approach from dcrd and dcrwallet.
  • Reworked lifecycles of several subsystems to make their startup and shutdown more reliable, easier to reason about, and protected from unintended future changes. The subsystems are: pool hub, GUI web server, pool endpoint and client, and chain state. Handling of disconnecting pool clients has been simplified.
  • Made the gui package internal since it is not intended for external consumers.
  • ~9 commits including small improvements in memory management and concurrency.

Documentation:

Test code:

  • Read from compressed test data archive in chunks - a good practice to avoid uncontrolled allocations.
  • Made test harness easier to run on Windows.
  • Made endpoint tests more robust.
  • Allow keeping the test database for inspection after test failure.
  • Removed all code related to ASICs that can no longer mine Decred and are no longer supported by dcrpool.

Lightning Network

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

DCRDEX

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

September changes included in the v0.6.3 release:

  • Added extension mode, a restricted mode where DCRDEX won't allow changes to settings like wallet type, wallet password, or wallet accounts. This will protect the wallet from misconfiguration while the DEX is running as part of Decrediton.
  • Removed "bonus tiers", which were an "accounting curiosity" on the server that didn't do anything for the client but did introduce a bug where the client's bonds could fully expire before being replaced.

Work listed below has been merged to master towards future releases.

Decred:

  • Added a minimalist GUI for VSP staking with the following features: select a VSP, view current ticket price and voting rewards, purchase tickets, view all-time staking stats, view a list of owned tickets, view and set voting preferences (consensus agendas, treasury spends, and treasury keys).
  • Allow specifying a custom VSP that is not listed in the VSP API.

Firo:

  • Implemented Firo block parsing to enable fee estimation on testnet.

Ethereum:

  • Implemented WebSocket subscriptions so the DEX server could get new block headers from chain data provider more efficiently than by polling them. When HTTP polling is still used, the poll interval will automatically increase for non-local sources. Previously, changing this interval required the server to be rebuilt.
  • Implemented a smart contract for getting balances of ETH and any number of tokens to greatly reduce the request rate to providers. Also, added a cache for responses to further reduce requests to providers between blocks.

Polygon (MATIC):

  • Changes across the board to finish the initial Polygon support: generalized the Ethereum wallet and server backend to reuse common code, added RPC compatibility tests, added Polygon token support to the test harness and gas estimation, deployed USDC swap contract on Polygon mainnet, updated token-related UI code. For user convenience, Polygon and Ethereum wallets will use the same seed and derive the same private keys and addresses as discussed here.
  • Added support for wrapped tokens WBTC and WETH and adjusted gas rates based on testing results.

Client GUI:

  • Improved active orders UI: show live orders and recent orders in one table, and show buttons when hovering an order, so the user could perform actions without expanding the rows.
  • Show average traded rate in several places.
  • Skip redundant password entry step when creating an account on the DEX server if the password is cached.

Client backend:

  • Implemented asynchronous notifications that wallets can send to the GUI. This will allow to solve some issues and keep the GUI up-to-date in more situations.
  • Allow the client to connect to DEX servers using certificates provided by trusted Certificate Authorities. Previously, server certificate had to be configured manually.
  • Optimized exchange rates fetching logic and timeouts.
  • Fixed the possibility of unexpected bond expiration and cancellation of all orders, which was caused by the concept of "bonus tiers" and incorrect guessing of account's trading tier on the client side.

Client, trading bots:

  • Implemented an arbitrage bot with a simple strategy which only places orders when there is an arbitrage opportunity between the DEX and a centralized exchange (initially supporting Binance).
  • Updated market making UI, which now includes an overview page with all configured bots and settings pages for each one. The configuration is stored in a JSON file. The markets page was also updated not to allow users to place orders manually while market making is running.
  • Fixed the market maker bot to rebalance a bit later, when the necessary matches data is available.

Documentation:

Server:

  • Allow disabling a market in the config file.
  • Allow the server to run without TLS encryption, for example for setups where encryption is handled by nginx.
  • Added a reverse tunnel for obtaining chain data services. Instead of DEX server connecting to data providers, they can initiate connections to a public DEX server and provide RPC services. This allows obtaining chain data from private nodes that cannot accept connections. Having an integrated reverse tunnel offers some advantages over SSH tunneling used previously to achieve the same goal, such as simple configuration. DEX server can consume from multiple source nodes for redundancy.

Other:

  • Increased the minimum Go version to 1.19.
  • Fixed desktop build for Debian.
  • Added a script for setting up two wallets for manual testing on mainnet and testnet. This allows to test more scenarios.
  • ~11 smaller changes and fixes.
Decred staking UI in DCRDEX
Image: Decred staking UI in DCRDEX
Polygon integration in DCRDEX
Image: Polygon integration in DCRDEX

Cryptopower

Cryptopower is a multi-coin desktop GUI wallet for DCR, BTC, and LTC. It runs in a privacy-preserving light SPV mode without needing full blockchains, supports Decred staking, mixing, voting, and other unique features.

All changes listed below have been merged to master towards future releases.

New Overview page:

DEX integration:

User-facing changes:

User-facing fixes:

Decred:

  • Fixed incorrect percentage of Yes/No votes shown on proposal vote bar.
  • Fixed log spam on the Staking page if the wallet is not synced.

Litecoin:

Android:

Internal and developer changes:

Bug reports and feedback are welcome via GitHub Issues or the #cryptopower Matrix chat!

Proposal voting in Cryptopower
Image: Proposal voting in Cryptopower
Image: Recent trades in Cryptopower use centralized instant exchange service
DCRDEX onboarding pages in Cryptopower
Image: DCRDEX onboarding pages in Cryptopower
Image: Design for the upcoming Overview page in Cryptopower (actual implementation may differ)

Documentation

dcrdocs is the source code for Decred user documentation.

  • Updated the Proof-of-Work page removing the legacy documents related to ASICs and added information about BLAKE3 and CPU mining.
  • Updated the project history timeline adding notable events like the launch of Bison Relay, GPU mining for BLAKE3, and the block reward change.
  • Added the blake3pow and changesubsidysplitr2 agendas to the Consensus Vote Archive.

decred.org

dcrweb is the source code for the decred.org website.

Bison Relay

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

September changes in both GUI and text apps included in v0.1.9 release:

GUI app changes included in v0.1.9 release:

  • Implemented first round of mobile-optimized UI design. This covers the unlock screen, LN overview, feed posts, mobile drawer/sidebar, chat lists, and new icons. Mobile layouts can be tested by reducing the window width below 500 px.
  • Updated mobile design for direct and group chats and added a date change indicator.
  • Improved listing of user's posts. Previously, it was just text in the direct chat window. The new listing will look similar to News Feed and indicate whether posts have been downloaded or not. User menu has been tuned to show "Subscribe to Posts" item if not subscribed and "List Posts" and "Unsubscribe to Posts" items if subscribed.
  • Added a button to the Settings page that attempts to reset all old key exchanges with stale users. The period of no activity that is considered "stale" is taken from the server.
  • Fixed inability to add LN capacity after all LN channels had been closed and the app had been restarted.
  • Fixed new comments indicator not disappearing when a post has been viewed, fixed new chat indicator not appearing on new messages.
  • Fixed unnecessary redrawing of messages.
  • Fixed crash of the unlock page on small (mobile) screens.

brclient changes included in v0.1.9 release:

  • Made /list runningtips command return an error if no tip attempts are running.
  • Fixed issues when interacting with local Pages and Stores. /ln payinvoice command now understands the lnpay:// prefix in invoice links. "Order Completed" page enhanced to show order details and the validity of the invoice (1 hour). If LN invoice creation fails, for example if the seller does not have enough inbound LN capacity, an on-chain payment address will be created instead as a fallback.

In other news, @vctt is making a poker game proof of concept built on top of brclient. In the second iteration, the poker logic has been converted to a bot, which is easier to integrate in existing clients. The code can be found here.

First iteration of mobile design in Bison Relay v0.1.9
Image: First iteration of mobile design in Bison Relay v0.1.9
Pages in brclient v0.1.9
Image: Pages in brclient v0.1.9
Poker bot PoC game in Bison Relay GUI
Image: Poker bot PoC game in Bison Relay GUI

People

Welcome the new first-time contributors:

  • minizilla (development, dcrd)
  • omahs (development, dcrdex)
  • Clopas (development, dcrweb)

Community stats as of Oct 2 (compared to Sep 2):

  • Twitter followers: 53,407 (+101)
  • Reddit subscribers: 12,757 (+6)
  • Matrix #general users: 819 (+14)
  • Discord users: 1,795 (+134), verified to post: 744 (+67)
  • Telegram users: 2,321 (+18)
  • YouTube subscribers: 4,640 (+0), views: 240K (+5.4K)

Governance

In September the new treasury received 8,374 DCR worth $111K at September's average rate of $13.23.

No treasury spend transactions were mined in September due to a slip in the admin approval timeframe, but a treasury spend tx spending 8,411 DCR was mined on Oct 1 after being approved with 99.9% Yes votes and 64% turnout, the highest so far. This TSpend covers July and the majority of August's billing, in an effort to close the expanding gap between work being completed and being paid. It has 53 outputs ranging in size from 7 DCR to 1,719 DCR. The billing rate for July was $15.40/DCR and for August $13.89/DCR, at the average of $14.65/DCR the payment would cover about $123K of costs for both months combined.

As of Oct 5, the combined balance of legacy and new treasury is 866,862 DCR (11.4 million USD at $13.20).

Treasury monthly balance in USD; note that it heavily depends on the exchange rate
Image: Treasury monthly balance in USD; note that it heavily depends on the exchange rate

Voting was completed for two proposals in September, but the voting period was disrupted by the activation of DCP-0011 and a period of around 3 days when the blockchain was stalled waiting for a new block to be found with the new hashing function, followed by a period of rapid block production as GPU miners began operating on the network. The delay of greater than 24 hours without a block caused certain safeguards to activate in the wallet software, which became convinced that the client must be offline and would have prevented normal voting behavior.

  • The Cryptopower multi-asset Golang wallet for Desktop and Mobile proposal with a budget of $61,600 was approved with 69.6% Yes votes and 62% turnout.
  • The Cake Wallet integration proposal requesting $80,000 to integrate basic DCR functionality in Cake Wallet failed to reach the quorum requirement with 18% turnout, although it was at 87% approval. Cake Wallet voting was authorized and started after the Cryptopower proposal was already voting for more than 1 day, and as a result the Cake Wallet vote was more severely affected by the voting system problems.

There were two proposals published this month, although one of them is a repeat of the Cake Wallet integration proposal.

More events and details surrounding the above proposals have been covered in Politeia Digest issue 64.

Mining

Decred mining was rebooted on August 29th when ASICs mined their last block and the chain switched to BLAKE3 proof of work.

Since the switch would remove all ASIC hashrate from the network, the mining difficulty had to be reset to a low enough value to allow commodity hardware to mine new BLAKE3 blocks. For comparison, ASICs mined their last block at difficulty of 3.5 billion while the next block had the difficulty value of 101 thousand, or 35,068 times lower.

The initial difficulty value was manually set to target about 1.45 TH/s hashrate in anticipation of GPU hashrate, but it didn't immediately join the network and only CPU miners were active upon BLAKE3 activation. A single CPU achieves between ~5-75 megahashes per second (from old laptops to high-end CPUs). Assuming an "average CPU" as 20 MH/s, getting 1.45 terahashes would require some 72,500 CPUs. The first BLAKE3 block (794,368) was extremely lucky to be found in only 50 minutes, assuming it was found with CPUs, but afterwards the chain stalled.

In a positive development, this incident activated many old and new community members to come together and push the chain forward. The #pow-mining chat became very busy as people converted any available hardware to Decred miners and endured the generated excess heat. Devices ranged from tiny Raspberry Pi's (1 MH/s), to old laptops (2-5 MH/s), to new laptops and desktops (10-20 MH/s), to monstrous 120 Watt+ processors with 16 and 32 cores (60-75 MH/s).

I have to say, I love how this is bringing everyone together. I've missed this collaborative spirit. [@jazzah]

By the end of August 31st around 25 individuals reported a total of 550 MH/s, but that (and any unreported hashrate) was still not enough. On early September 1st, @grumlin and @davecgh turned to cloud hashrate and within ~3 hours block 794,369 was found. It was 324 KB in size and included 240 transactions accumulated over the days. Since no blocks had been mined for so long, the ASERT algorithm only needed one block to reduce the mining difficulty from ~97,000 to ~1,800 and from there CPUs had no problem finding new blocks and the target block time was restored in just a few hours.

September 1-5th was the short period when CPU mining was feasible as the difficulty settled around 500 and the corresponding network hashrate stayed between 6-10 GH/s, the equivalent of ~300 CPUs or just 1 mid-range GPU. Mining address distribution became significantly more decentralized compared to the ASIC era.

Mining difficulty during the CPU days
Image: Mining difficulty during the CPU days
Block distribution by mining address as of September 6th
Image: Block distribution by mining address as of September 6th

However, the CPU mining days did not last long. Developers anticipated that GPU miners would show up soon given that even a single GPU mines as fast as roughly 500 CPUs, and GPU farms are quite common. First signs of GPU mining got spotted around September 2nd but it wasn't definitive because they seemed to be intentionally keeping it in the range of plausible deniability. With a more reliable confirmation on the 5th, the developers rushed to add GPU mining support to gominer.

On September 6th, a significant increase in block production rate was a clear indicator of GPU mining happening on the network. The hashrate increased to ~32 GH/s by 15:00, from ~9 GH/s just one day before. In about one day, rewards for ~150 blocks were collected by a single address (normally ~288 blocks are mined per day). First GPU mining patch was merged in gominer around 14:30 and by 15:30 first community members got their GPUs up and running. After GPU mining was made available to everyone the hashrate went straight up, reaching ~52 GH/s by 18:30 and ~700 GH/s by 20:00. New blocks were being mined as fast as 100 per hour (the normal rate is 12 blocks/hour).

By late September 7th the hashrate reached the level expected on the fork day, around 1,500 GH/s or 150 GPUs (assuming a 10 GH/s GPU like RTX 3070). This was a good test of the new difficulty algorithm, which was designed in anticipation of such a scenario. It worked well, ASERT managed to return block times to normal by September 10th, despite the hashrate increasing to ~3,000 GH/s in the same period. With the old algorithm it would take 2 weeks in the best case.

Soon after gominer was in good shape enough that the developers switched to refreshing the codebase and adding BLAKE3 support to dcrpool. BzMiner developer @iedoc released BzMiner v17.0.0 with Decred mining support, capable of squeezing out a few extra gigahashes from the GPU compared to gominer.

BzMiner v17 managing 8 GPUs mining Decred
Image: BzMiner v17 managing 8 GPUs mining Decred

The rest of September was not as dramatic, but nevertheless the hashrate continued to grow and reached ~8,000 GH/s by the end of the month.

Mining difficulty increased x200 in just 2 days, and did another x5 through the rest of September
Image: Mining difficulty increased x200 in just 2 days, and did another x5 through the rest of September
Average block time was wild for a few days, but stabilized quickly
Image: Average block time was wild for a few days, but stabilized quickly
This chart shows just how centralized the mining was before the fork, only ~5 unique mining addresses
Image: This chart shows just how centralized the mining was before the fork, only ~5 unique mining addresses
Another view at mining (de)centralization, each color represents a unique mining address
Image: Another view at mining (de)centralization, each color represents a unique mining address

Network

Decred's network upgrade and the corresponding technical issues have created volatility in several metrics as shown on the charts below, but most metrics have normalized by the end of September or early October.

Hashrate: September's hashrate opened at ~0 TH/s and closed at ~8.8 TH/s, bottoming at 0 TH/s and peaking at 8.8 TH/s throughout the month.

No information about DCR mining pools operating in September is available.

Staking: Ticket price varied between 141-278 DCR.

The locked amount was 8.52-9.82 million DCR, meaning that 54.9-63.5% of the circulating supply participated in proof of stake.

Low ticket buying activity caused a drop in locked DCR and stake participation
Image: Low ticket buying activity caused a drop in locked DCR and stake participation
Ticket price went down to stimulate ticket buying again
Image: Ticket price went down to stimulate ticket buying again

VSP: The 15 listed VSPs collectively managed ~7,550 (+650) live tickets, which was 18.0% of the ticket pool (+3.5%) as of Oct 1.

The biggest gainers of September are bass.cf (+495 tickets or +54%), stakeminer.com (+357 tickets or +107%), and stakey.net (+336 tickets or +128%).

Distribution of tickets managed by VSPs
Image: Distribution of tickets managed by VSPs

Nodes: Decred Mapper observed between 147 and 159 dcrd nodes throughout the month. Versions of 153 nodes seen on Oct 1: v1.8.0 - 89%, v1.7.x - 4%, v1.9.0 dev builds - 2.6%, v1.8.0 dev builds - 0.7%, other - 4%.

The majority of nodes are running dcrd v1.8.0. The red area before Jan 2023 indicates incomplete data we had at that time.
Image: The majority of nodes are running dcrd v1.8.0. The red area before Jan 2023 indicates incomplete data we had at that time.

The share of mixed coins varied between 60.7-62.6%. Daily mix volume varied between 40-906K DCR and made a new all-time high.

Daily mixed DCR dropped during the chain stall, but came back with a vengeance marking a new ATH
Image: Daily mixed DCR dropped during the chain stall, but came back with a vengeance marking a new ATH
Total mixed and unspent DCR dipped, but quickly recovered
Image: Total mixed and unspent DCR dipped, but quickly recovered

Decred's Lightning Network explorer saw 211 nodes (-2), 429 channels (-2) with a total capacity of 190 DCR (+4), as of Oct 2. These stats are different for each node. For example, @karamble's node reported 213 nodes (-4), 446 channels (-7) and 191 DCR (-1) capacity on same day Oct 2.

Decred's Lightning Network capacity remains stable
Image: Decred's Lightning Network capacity remains stable
Uptick in missed tickets in September was likely due to technical issues after the hard fork
Image: Uptick in missed tickets in September was likely due to technical issues after the hard fork
Monthly DCR emission was slightly higher than usual due to a period of fast blocks
Image: Monthly DCR emission was slightly higher than usual due to a period of fast blocks

Thanks to @bochinchero for providing and improving these charts. About 40 other charts not used in this Decred Journal issue are available in the dcrsnapshots repository; everyone is welcome to share them on social media.

Ecosystem

Voting Service Providers:

  • A warm welcome to vote.dcr-swiss.ch, a new VSP listed in the VSP API and on the VSP page. DCR Swiss has a low fee of 0.25%. Out of 15 existing VSPs this is the fourth lowest fee after dcrhive.com (0.15%), dcr.farm (0.15%), and vspd.bass.cf (0.2%). As of writing, the VSP reports 391 voted, 0 revoked, and 334 live tickets.

Exchanges:

  • Poloniex users who transacted in DCR in 2017-2019 may be eligible for compensation if claims are submitted by October 31, 2023. This is a result of the SEC's proceedings against Poloniex from 2021. See more details on the Poloniex Fair Fund website and its FAQ section.
  • KuCoin and Huobi have been re-added to the Exchanges page. Apparently, Huobi never delisted DCR as planned, while KuCoin had fixed DCR issues some time ago. Hotbit has been removed following its closure in May 2023.
  • Changelly.com was observed to no longer offer DCR trading as of September 19th. Their System Health dashboard did not list DCR either, even in maintenance mode. In a response to a support ticket, Changelly replied that DCR was switched off due to "its maintenance" (possibly referring to the Aug 29 hardfork) and that it would be back at some point.
  • Binance is selling the entirety of its Russia business to CommEx, according to their tweet and a blog post. The stated reason is "operating in Russia is not compatible with Binance's compliance strategy". A gradual migration process has been announced to move Russian users to CommEx, after which Binance could sunset all exchange services and business in Russia. The impact on DCR services and whether CommEx will list DCR is currently unknown.

Other news:

  • A phishing site that was a near perfect clone of the official decred.org, but with an added "community airdrop" was briefly advertised in Decred's Telegram channels. These messages were taken down within minutes after being posted. Site's page source suggested it was targeting the users of MetaMask, Coinbase and other browser-based wallets. As a reminder, do not click any random links, and ignore DMs instructing to do otherwise. The official Decred website is decred.org with a certificate from Gandi. Official social media links are listed on decred.org/community.

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

Decred Vanguard

Decred Vanguard is a community-based marketing effort with the goal of increasing Decred's outreach and social media presence.

Updates: We ran a successful meme competition and gave out $200 in DCR for prizes. The other recipients of the monthly Decred Vanguard reward of $100 in DCR were @tothemoon for his Decred Discord server contributions, and @PubPete for his high activity.

Are you a meme creator, artist, strategist, or just someone passionate about the Decred Project? We're expanding our community-driven marketing program, and we want YOU!

What's in it for you?

  • Earn $100 in DCR every month just for participating.
  • We'll cover the cost of your X Premium.
  • No strict rules on participation. Contribute in your own unique way, whenever you can.
  • Win potential prizes for contributions.

Interested? Contact @Exitus on Twitter/Matrix/Discord.

Cypherpunk Times

Engagement stats for September:

  • Total number of articles on CT: 539
  • Newsletter subscribers: 110
  • New CT posts and newsletters sent: 23
  • Active social media campaigns: 81
  • Completed social media campaigns: 18
  • Social media posts: 263
  • Social media followers across all platforms and accounts: 1,627
  • @decredsociety Twitter: followers - 981, Tweet impressions - 17.3K, likes - 295, retweets - 89
  • @decredmagazine Twitter: followers - 490, Tweet impressions - 15.6K, likes - 464, retweets - 125
  • @cypherpunktimes Twitter: followers - 156, Tweet impressions - 22.0K, likes - 461, retweets - 151
  • Posts by project for September: General crypto - 9, Firo - 3, Decred - 10, Updated Decred post - 1

Other

  • After publishing their first Decred article, the next step of BTC-ECHO proposal's plan was to publish the podcast ad script for community's review but then BTC-ECHO disappeared for more than a month.
  • utxostudios proposal is complete; a total of 14 short videos have been created: 2 in English, 11 in different languages, and 1 compilation. All have been uploaded to Decred's YouTube channel and mirrored on IPFS.

Events

Attended:

@arij has signed a partnership agreement with National Institute of Innovation and Advanced Technology (NIIAT) based in Casablanca, Morocco. This 1-year agreement will facilitate cooperative efforts like workshops, study sessions, and various interactive events. One of the key topics of the event was the introduction of Islah.city, a platform where citizens of Casablanca can identify and collaboratively resolve urban challenges. The potential to integrate blockchain technology and timestamping has been discussed. The event garnered attention on the national TV news channel Al Aoula, the video clip is available on Twitter and YouTube. See more in the full report.

Media

Selected articles:

Decred:

General crypto:

Guides:

Videos:

Audio versions of some videos are published on the Cypherpunk Times Spotify podcast.

Check out the new Shorts section on @DecredTV!

Translations:

Non-English content:

  • Makertronic created French tutorials for Decred GPU mining on Linux and Windows and on HiveOS (English subtitles available). The videos got pretty good views for Decred content.
  • A video clip from Moroccan national TV news channel Al Aoula covering the partnership agreement event between Decred and the National Institute of Innovation and Advanced Technology (NIIAT) has been published on Abdellatif Belmkadem's YouTube and @arij's Twitter.

Discussions:

A reality check from @Tivra:

This is not "crypto" this is some trashy reality show some of you follow on X. Crypto happens on GitHub and on chain not on video. You control where your attention goes, it's ultimately your responsibility [tweet

Other:

Art and fun:

Merch design by @lewildbeast for the hero miner who solved block 794,369 (DCR reward needs to be updated
Image: Merch design by @lewildbeast for the hero miner who solved block 794,369 (DCR reward needs to be updated)
Interpretation of the UP ONYL paradigm by @Void
Image: Interpretation of the UP ONYL paradigm by @Void

Markets

In September DCR was trading between USDT 12.33-15.25 and BTC 0.00048-0.00057. The average daily rate was $13.23.

Historical DCR/USD accumulation zones by @saender
Image: Historical DCR/USD accumulation zones by @saender
Recent DCR/BTC, data from Coin Metrics
Image: Recent DCR/BTC, data from Coin Metrics
Recent DCR/USD, data from Coin Metrics
Image: Recent DCR/USD, data from Coin Metrics
DCRDEX monthly volume in USD
Image: DCRDEX monthly volume in USD

Relevant External

The debate around Drivechains for Bitcoin and BIP-300 was reignited after Luke Dashjr wrote an implementation. There are discussions about whether this kind of sidechain which would allow for flexible creation and use of other assets would be a positive for Bitcoin, whether there are technical downsides or if allowing people to create scam-like assets on Bitcoin is the worst aspect. There are also discussions about how to activate the soft fork, with already some miners signaling support. A new player entered the mix in September with claims of being able to operate a sidechain with a two-way peg on Bitcoin without any soft fork changes, but they as yet had no explanation which people could make sense of.

Paxos accidentally paid 19.8 BTC for a Bitcoin transaction, but F2Pool apparently returned the BTC.

The Brave browser announced a partnership with Electric Coin Company to add Zcash support to its wallet, and to develop a "private and decentralized messaging feature" with the support of Filecoin and the InterPlanetary File System (IPFS).

Nouns DAO, which auctions one NFT a day to fund a treasury and had amassed a sum of around $50 million in this fashion, underwent a fork which saw over half of this value exiting through a newly introduced quit mechanism. The Nouns DAO is controlled by voting of the holders of Noun NFTs, and this community has long been split between a camp which embodied the original spirit of using the fund to promote the Nouns meme, and a camp which was disturbed by frivolous spending amounts as high as $90,000 on naming a frog species, and which saw themselves as entitled to some share of the fund proportional to the number of Nouns NFTs and voting power they had. As the product of a long-running discussion, v3 of the Nouns DAO's contracts incorporated a mechanism that allowed 20% of the NFTs to trigger a week-long forking discussion and voting period. The majority of Nouns holders chose to exit and their share of the funds is now moved to a new DAO that has a ragequit mechanism, in addition to the familiar mechanisms of Nouns DAO, which will allow them to further exit and claim their individual share of that balance, if they so desire.

Terra Classic is to cease minting and reminting USTC in hopes of returning it to parity with the US dollar, after a vote with 59% in favour of the proposal. Since the the decline of the price of LUNC, there are concerns about spam and a proposal to increase the minimum deposit amount to 5 million LUNC was approved with 93% support.

Coinbase, in its role as an Ethereum validator, received a 570 ETH MEV payment from the Curve hackers in July to prioritize the transactions which allowed them to profit from the attack. That's about $1 million profit for Coinbase at the moment, and they seem reluctant to return it to the affected party, Alchemix, citing a legal opinion that they are under no obligation to do so.

The SEC has reached a settlement in which the makers of the Stoner Cats NFT collection and associated web series were fined $1 million and had to kill all the Cats in its possession. The case attracted attention because it featured celebrities Ashton Kutcher and Mila Kunis promoting the project and participating in the creation of the comedy series, which the $800 NFT would allow holders to access. The token sale generated 3,650 ETH ($8.2 million at the time) for the company, and they received a further $20 million in royalties in transactions where holders sold their NFTs on the secondary market. After the news broke, the price for the NFTs rose substantially, possibly because people expect the holders to be able to access part of the settlement, but $1 million seems quite small in the scheme of things. The people who lost out in this situation are those who bought the NFTs at their all-time high prices of around 0.3 ETH, they are unlikely to benefit from any financial penalties, and the recent rise in price to 0.05 ETH is little consolation.

Claimants in the ongoing bankruptcy processes of FTX, BlockFi and Genesis have had their details leaked by Kroll, a provider of bankruptcy services. A hacker performed a SIM swap attack on a Kroll employee and was able to access files with details of all the claimants. This further raises concerns that participants in the claims process for bankrupt crypto companies are being targeted by scammers who attempt to gain access to whatever crypto the claimants might hold off the exchange. The leaked details allow the scammers to produce more convincing materials which reference compromised information, one reported example is offering marks a way to speed the claims process or get a better outcome.

The Commodity Futures Trading Commission (CFTC) has announced settlements with three DeFi operations (Opyn, ZeroEx, and Deridex), who it charged with offering illegal derivatives trading. The companies agreed to shutting down these services and paying fines of $100,000 to $250,000 after cooperating with the CFTC's investigations.

The CFTC is hampering the development of prediction markets by objecting to any markets relating to political outcomes. These are explicitly banned in over 10 states but the CFTC has a broader objection in that it does not want to become an "election cop" adjudicating disputes about how the contracts have been operated.

Senator Elizabeth Warren has gathered support of 9 other senators for her Digital Asset Anti-Money Laundering Act, which would crack down on non-custodial wallets, extend Bank Secrecy Act responsibilities, and other measures to tackle illicit use of crypto.

Chase bank in the UK, owned by JP Morgan, has announced a ban on crypto-related transactions for its customers, who from mid-October will no longer be able to make debit card or bank transfers to crypto companies like exchanges. The reason given was that this is a response to a growing number of scams targeting UK users with a crypto component.

The UK's Online Safety Bill has been passed by Parliament and is on track to become law. The legislation will require the UK's regulator Ofcom to produce a code of conduct detailing how providers of online messaging platforms must pro-actively police illegal content on those platforms. One particular aspect which has been criticised would undermine end to end encryption by requiring service providers to sift through encrypted private content for evidence of illegal activity. Both Signal and WhatsApp have indicated that they would leave the UK market rather than comply with the new rules which would require them to undermine their encryption.

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

About

This is issue 63 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, kozel, l1ndseymm, phoenixgreen, richardred, zippycorners
  • reviews and feedback: davecgh, Dominic, jholdstock
  • title image: Exitus
  • funding: Decred stakeholders