Decred Journal – December 2023

Another month of BUIDL at Decred, in detail.

Decred Journal – December 2023
Decred Journal – December 2023
Image: December cover by @Exitus

Dear readers, sorry for taking so long to complete this December issue. In recent months, finding time to work on the Journal has been a big challenge. We are discussing an overhaul of DJ to optimize our efforts. I hope this issue still has unique and useful information for you. Happy reading! – @bee

Highlights of December:

  • Two proposals have been approved, for continuing the Bug Bounty program and Video Content creation in 2024.
  • Two new mining pools have launched, but data suggests mining is becoming more centralized again.
  • Wallet apps and Bison Relay are getting polished for their next releases, Cake integration is ongoing.

Contents:

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.

Developer and internal changes:

  • Updated the Docker image to build with Go 1.21.5.
  • Marked cfilter version 1 messages as deprecated in the wire package. This is just general cleanup, since V1 cfilter messages are already invalid. V2 cfilter messages have been the standard since DCP-5 activated in Jan 2020.

In progress:

dcrwallet

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

User-facing changes:

  • Only request block notifications after the wallet is fully synced. This solves a race issue where the wallet might try to look at blocks before the underlying dcrd instance was fully synced. This could happen when dcrwallet is started very quickly after dcrd (for example, from within Decrediton). The result would be missed transaction notifications and the wallet's balance to be wrong, requiring a rescan to be fixed.
  • When the wallet is syncing in SPV mode, process header batches in parallel. This resulted in a 32% faster sync on average when tested in the real world.
  • When the wallet is in SPV mode and the initial sync has already finished, request headers from each newly connected peer. This speeds up re-syncing after initial sync when the local client has been offline for some time (for example, due to an intermittent network connection) by ensuring any and all new headers are requested immediately, instead of waiting until a new block is announced to begin the catchup process.
  • Fixed a bug where a restored wallet would miss discovering transactions if those transactions were in the tip block after restoring from seed. This was quite a rare bug, because having more blocks in the chain post-restoration (common case) would prevent the issue from being hit. The bug would've likely only impacted automated dev tests, although rescans would also have fixed the issue for any users who might've experienced the bug.

Internal and developer changes:

  • Modify the pruning procedure to prune partial sidechains instead of pruning entire trees. This does not have a functional change yet, but in the future will allow SPV clients to process chains asynchronously.
  • Use Go 1.19 atomic types wherever possible. These types prevent misuse by only allowing access through the provided methods and guarantee proper use even if the variables are reorganized in the struct layout.
  • If a peer gives the wallet a new block, ensure that block has a known ancestor either in the main chain or a side chain. If no known ancestor exists, this means the wallet missed some blocks and should resync headers. Previously, the wallet only looked for ancestors in the main chain, instead of all side chains too. This caused getHeaders to run unnecessarily often, especially for devs simulating large reorgs with side chains.
  • Fix the gRPC logger, which wasn't correctly removing prefixes when logging message arguments. This error was caught by a friendly passerby who is writing a custom golang linter.

In progress:

vspd

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

dcrpool

dcrpool is server software for running a Decred mining pool.

  • Display the connected miners' IP and port on the pool account page. This makes it a little bit easier to distinguish clients from each other.
  • Allow dcrpool to gracefully handle errors if dcrd's GetTxOut method can't find an output for a given transaction.

Lightning Network

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

  • Added automatic closing of channels that have not been reestablished for some time. Normally peers keep their channels healthy by "reestablishing" them. If channel peer is seen online for some time but it is not sending a message to reestablish the channel, such channel is a good candidate for being force closed, because it is likely the remote peer has lost the ability to use the channel (for example, due to restoring the node after data loss without the use of an SCB backup file). By default, if channel's remote counterparty is seen online for 72 hours without reestablishing the channel, it will be auto closed. This should be a reasonable compromise between not closing channels too fast on hubs (that are online 24/7) and ephemeral nodes (that may be online only for an hour or two a day). Integration test has been added to assert the correct behavior.

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, Decred's privacy system.

  • Updated C headers to support the third major version of the fast math library flint (released October 2023). Newer versions of flint may provide performance and other improvements to the CSPP server.

DCRDEX

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

Changes backported to the next v0.6.x release:

  • Fixed a bug where a trade could get stuck after a server disconnect. The full list of affected markets is unknown, but it is known that the bug affected LTC/DCR market and did not affect the DCR/BTC market.

Market maker bots:

  • Implemented low-level CEX management functions: deposit, withdraw, and balance tracking. Automatic rebalancing has been added to the simple arbitrage strategy where the bot initiates deposits and withdrawals to/from the CEX to maintain the configured balances. Binance is the first CEX supported by this functionality.
  • Modified Binance code to track 1,000 order book entries instead of 20.

General client changes:

Other:

In progress highlights:

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.

Newly implemented UI elements:

Trading:

DEX trading:

Privacy:

  • Updated privacy pages. By default, mixing will be off, mixing-related accounts won't be created, and sending from the default account will be allowed.

Mobile UI implementation, the following pages have been updated/fixed for mobile screens:

Fixes:

  • Fixed an error when visting Treasury page without creating a DCR wallet.
  • Fixed mobile UI elements showing in desktop mode.
  • Fixed crash when visiting Staking pages after restoring a Decred wallet.
  • Fixed request rate limit errors when querying instant exchange orders.
  • Other minor UI fixes.

Internal and developer changes:

In other news:

  • Test builds of Android and iOS apps have been submitted to Google Play Store and Apple TestFlight.
Cryptopower will support trading via the privacy-friendly Trocador.app
Image: Cryptopower will support trading via the privacy-friendly Trocador.app
Cryptopower is adding a lightweight UI for trading on DCRDEX
Image: Cryptopower is adding a lightweight UI for trading on DCRDEX
Cryptopower getting ready for mobile screens
Image: Cryptopower getting ready for mobile screens

Cake Wallet Integration

In progress:

  • Integrating libwallet into the build process of Cake Wallet.
  • Code branch with most other coins removed has been created to speed up the development process.
  • Discussing how to call Go code from Cake's Dart code. The plan so far is to connect the layers using simple JSON strings.
  • Discussing which APIs should be provided by libwallet for Cake and Cryptopower.
  • First change adding initial Decred screens has been merged in the upstream integration branch. This branch is an intermediate location to test and polish Decred code before adding it to Cake Wallet's main branch.

decred.org

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

Four wallet choices reflect a lot of development going on but users need guidance to find what's best for them
Image: Four wallet choices reflect a lot of development going on but users need guidance to find what's best for them

Bison Relay

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

Work listed below has been merged to master towards the next release.

Changes in both GUI and text apps:

Changes in the GUI app:

Text-based app (brclient):

  • Grouped various invite handling subcommands under the /invite meta-command.
  • Fixed client-side message filtering hiding client's own messages.

Internal and developer changes:

  • Updated to latest dcrlnd and improved tracking of dcrlnd readiness during startup.

Other

People

Community stats as of Jan 14* (compared to Dec 3):

  • Twitter followers: 54,595 (+656)
  • Reddit subscribers: 12,768 (-5)
  • Matrix #general members: 842 (+9)
  • Discord members: 1,924 (+62), verified to post: 772 (+3)
  • Telegram members: 2,327 (+8)
  • YouTube subscribers: 4,670 (+10), views: 247.1K (+2.4K) **

* Due to the late snapshot taken on Jan 14 (Jan 9 for YouTube) the deltas represent ~1.5 months instead of the usual 1-month period.

** Decred's YouTube channel has more than 300 videos now!

Governance and Finances

In December the new treasury received 7,467 DCR worth $119K at December's average rate of $15.89. 8,427 DCR was spent to pay contractors, worth $134K at same rate.

A treasury spend tx was approved with 99.5% Yes votes and 58% turnout, and mined on Dec 19. It had 29 outputs making payments to contractors, ranging from 7.5 DCR to 2,182 DCR. Most of this DCR was likely paid for October and November work. Estimating the average billing exchange rate for the two months at $13.54, the billed amount in this TSpend represents around $114K USD equivalent.

As of Jan 1, combined balance of legacy and new treasury is 870.9K DCR (15.7 million USD at $17.98).

Treasury inflows and outflows in DCR
Image: Treasury inflows and outflows in DCR
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

Two proposals were submitted and approved in December:

  • Bug Bounty Program 2024 by @jholdstock requested a budget of $105,000, split between $100,000 for bounty payments and $5,000 for administrative costs. In practice, only a small fraction of the requested budget has been used in previous iterations. The proposal reported that the expenses for the last 18 months were $415 paid for bounties and $1,750 for the operations. Overall the program has spent around $11K since its launch in 2019. The proposal has been approved with 98% Yes and a very high 74% turnout.
  • Decred Video Content 2024 by @phoenixgreen requested a budget of $71,000 for the creation and dissemination of video content for 2024. This proposal has been approved with 85% Yes and 64% turnout.

One proposal author reported a problem with purchasing proposal credits but it was resolved within a few days. A November issue with the registration fee not getting detected persisted in December, and it is unknown if it affects just one unlucky new account or possibly others.

See Politeia Digest issue 65 for more details on the month's proposals.

PD's publishing workflow has been reworked to improve reach and engagement: the main release channel is now Cypherpunk Times (main link is posted on Twitter and other places), Medium release is now posted in Decred's main publication (instead of the lesser known Politeia Digest publication), and companion Twitter threads are now being produced so that the highlights can be consumed without leaving Twitter.

Network

This section tracks key health metrics of the Decred infrastructure.

Mining

December's hashrate opened at ~5.5 TH/s and closed ~10.2 TH/s, bottoming at 3.8 TH/s and peaking at 11.6 TH/s throughout the month.

Decred hashrate is seeking a new equilibrium after the initial influx of GPU miners
Image: Decred hashrate is seeking a new equilibrium after the initial influx of GPU miners

Distribution of 1,000 blocks actually mined by Jan 7: miningandco.com 26%, pooltronic.tech 21%, gopool.cash 2.7%, losmuchachos.digital 1.3%, and 49% of blocks were not identified by miningpoolstats.stream.

The decline of unique mining addresses suggests it is getting more centralized again
Image: The decline of unique mining addresses suggests it is getting more centralized again

Staking

Ticket price varied between 234-243 DCR.

Ticket price has been very stable in December
Image: Ticket price has been very stable in December

The locked amount was 9.74-9.82 million DCR, meaning that 62.0-62.6% of the circulating supply participated in proof of stake.

DCR locked in tickets is staying near its ATH
Image: DCR locked in tickets is staying near its ATH

VSP Staking

The 14 listed VSPs collectively managed ~5,750 (-100) live tickets, which was 14.0% of the ticket pool (-0.3%) as of Jan 1.

The biggest gainers of December were vote.dcr-swiss.ch (+290 tickets or +105%) and vsp.stakeminer.com (+67 tickets or +11%).

Distribution of tickets managed by VSPs
Image: Distribution of tickets managed by VSPs
Solo tickets continue to dominate, only 14% of tickets use VSPs
Image: Solo voters continue to dominate, only 14% of tickets use VSPs
VSPs are better at not missing tickets than solo voters
Image: VSPs are better at not missing tickets than solo voters

Nodes

Decred Mapper observed between 141 and 151 dcrd nodes throughout the month. Versions of 145 nodes seen on Jan 1: v1.8.0 - 65%, v1.8.1 - 27%, v1.9.0 dev builds - 3%, v1.7.x - 2%, other - 3.4%.

Nodes are slowly upgrading to v1.8.1. The red area before Jan 2023 indicates incomplete data we had at that time.
Image: Nodes are slowly upgrading to v1.8.1. The red area before Jan 2023 indicates incomplete data we had at that time.

StakeShuffle

The share of mixed coins varied between 62.2-62.3%. Daily mix volume varied between 346-541K DCR.

62% of circulating supply opts in to protect privacy and fungibility
Image: 62% of circulating supply opts in to protect privacy and fungibility

Lightning Network

Decred's Lightning Network explorer saw 220 nodes (+0), 415 channels (-5) with a total capacity of 202 DCR (-4), as of Jan 8. Mind that these stats are different for each LN node.

The Decred Lightning Network capacity remains around 200 DCR
Image: The Decred Lightning Network capacity remains around 200 DCR

Ecosystem

Mining Pools

  • losmuchachos.digital has been launched, it is a Germany based DCR mining pool supporting the PPLNS payment model with a pool fee of 3%.
  • dcr.gopool.cash has been spotted. MiningPoolStats reports that the Brazil based pool uses the PPLNS model with a fee of 1%. DCR is one of the 15 coins supported by the pool.
  • There are (at least) 5 public mining pools now, all running dcrpool software.

Exchanges

  • All trading activity on Bittrex Global has been terminated according to the shutdown plan published on November 20th. If our interpretation of chain activity is correct, the amount held at Bittrex when the trading stopped (December 4th) was ~17.5K DCR, and it looks like withdrawals have been working smoothly.
  • MEXC has been added to decred.org Exchanges list after DCR withdrawals were confirmed to work. The exchange works over VPNs and allows some trading without KYC. MEXC added spot DCR/USDT market back in June 2019 and 5x leveraged DCR/USDT pair in December 2020, but there was little community feedback to confirm it is working.
  • MEXC attracted some controversy after several users reported seizure of funds, account freezing, and withdrawals getting blocked. MEXC denied all claims in their response. Two common patterns in the reports were very profitable leveraged trading and large withdrawals, both getting flagged as "abnormal" activity by MEXC. We cannot verify if the reports are true, but it's a good reminder to always do your own research and be very careful when dealing with custodial services.
  • DCR withdrawals on Poloniex and HTX continued to be suspended for a total of about 1.5 months and have not been fixed in December, based on the information published on their support sites and one user report in the #trading channel. All withdrawals, including DCR, were suspended in November in response to the two hacks on these exchanges.
  • Indian financial authorities announced the decision to block URLs of 9 offshore exchanges for not complying with local AML regulations. If the block will be implemented, accessing DCR markets on Binance, KuCoin, and other exchanges from India will become more difficult.

Wallets

  • Users of hardware wallet Ledger fell victim to a supply chain attack on December 14th. A compromised npmjs.com account of a former Ledger employee was used by an attacker to upload a malicious version of the Ledger Connect Kit library used by many DApps, which tricked EVM DApp users into signing transactions that drain their wallets. The vulnerability was patched quickly, but it took around ~5 hours for the fix to propagate. The exploit was limited to third party DApps which use the library, it did not affect the integrity of Ledger hardware or Ledger Live. Ledger tweeted that around $600K worth of assets has been affected and promised to make victims whole if they claim refunds (this process requires ID verification). To the best of our knowledge, no DCR wallets were affected by the exploit.
  • Guarda has been removed from the list of known-to-work wallets at decred.org after several users complained that DCR was not working for 3 months. Timing suggests Guarda's DCR wallet stopped working around September 2023 because they failed to upgrade to Decred v1.8.0 (released June 13th, 2023) and missed the hardfork (completed September 1st, 2023). A person from Guarda confirmed that DCR is still considered a supported asset, but they're working on "some issues post-Decred's network upgrade". Until that is fixed, Guarda users can export the private key and import it in another wallet like dcrwallet or Exodus.

Other news

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

Vanguard ran two different DCR giveaways in an attempt to spread outreach: A Meme Contest and a New Year's giveaway.

Other notable activities:

  • Reached out via Twitter/e-mail to Alchemy Pay for Decred integration, it is a service that performs crypto purchases with fiat payment cards.
  • Applied and reached out to Biconomy, a Canada based exchange with a US license.
  • Applied to Crypto.com for a listing.

The 2023 proposal concluded on December 31st. A new proposal for 2024 was developed that includes contributor tiers, funds for ads on X, increased discretionary funds for things like giveaways and other experimentation, while keeping things from the first proposal like DAO funded tools.

Cypherpunk Times

The content creation process at Cypherpunk Times is undergoing changes to become more open to the community. The public #writers chat is now being actively used to plan and review upcoming articles, or discuss the overall direction and operation of the site. The process of selecting and creating content is being standardized and documented to guide existing and future authors.

Engagement stats for December:

  • Total number of articles on CT: 606
  • Newsletter subscribers: 114
  • New CT posts and newsletters sent: 18
  • Social media followers across all platforms and accounts: 1,206
  • @decredsociety Twitter: followers - 1,007, posts - 48, tweet impressions - 47.9K, likes - 992, retweets - 136
  • @cypherpunktimes Twitter: followers - 199, posts - 47, tweet impressions - 13.5K, likes - 230, retweets - 53
  • Posts by project for December: Zcash - 1, Decred - 9, Other crypto news - 4

Media

Articles

Decred:

General crypto articles on Cypherpunk Times:

Videos

Live streams:

Audio

Non-English content

Random

Custodial wallets will require KYC/AML in the U.S. Full node wallets are not feasible for normal users for $BTC or $ETH. Others are questionable too. Decred DEX has struck a balance, using SPV technology to reduce 100s of GBs to < 4GB for BTC, with good privacy and sync times.

For $ETH, there's a no-privacy culture based on infrastructure providers (infura etc.). We've improved upon this slightly by enabling multiple infrastructure providers simultaneously. Full information about wallet activity would require collaboration between providers.

Our $DCR, $LTC, and $BCH wallets are also SPV, so good privacy and sync times there too. #Polygon has a multi-provider wallet like $ETH. All other wallets are full node, which is fine, since they are not Bitcoin, though $ZEC full node is still challenging.

Financial self-sovereignty MUST be an option for everybody. Decred DEX is battling to keep it possible. We've still got work to do, but is any other project sticking to blockchain principles like Decred DEX?

Did I mention that our wallet has new privacy options? We've added #Decred mixing, fully integrated with trading so that swap redemptions are re-mixed, adding to the (already huge) anonymity set. #Zcash is going shielded-by-default too, unified addresses and all. [@blockchainbuck on Twitter]

Art and Fun

Markets

In December DCR was trading between USDT 14.12-26.50 and BTC 0.0032-0.00063 on Binance. Using the weighed daily close data from Coin Metrics the price ranges were USD 14.40-22.66 and BTC 0.00033-0.00052. The average daily rate as calculated for contractor payments was $15.89.

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
Market valuations (USD) based on @bochinchero's Staked Realized Value model
Image: Market valuations (USD) based on @bochinchero's Staked Realized Value model
3rd attempt to leave the perfect accumulation zone, by @saender
Image: 3rd attempt to leave the perfect accumulation zone, by @saender

Relevant External

Ledger's Connect Kit library, used heavily by DeFi applications like SushiSwap, Balancer and Zapper to allow users to interact with their wallets, was hacked when a staff member's credentials were compromised and malicious code was introduced to the GitHub repository. This allowed the hacker to steal $484K from users who accessed their wallets during the critical 2-hour period before the red flag was raised and many of the DeFi protocols using the library paused operations amid a general panic about the safety of any Ethereum transaction made on the day of the attack.

As of Jan 1 2024 new regulations come into effect which treat digital assets as cash in the sense that receiving more than $10,000 "in one transaction (or a series of related transactions)" will mandate reporting the transaction event and the identity of the sender to the IRS on a Form 8300. This was a provision of the Infrastructure Investment and Jobs Act ("Infrastructure Act") that was passed in 2021, and it is widely seen as presenting a problematic increase in the level of admin work involved in receiving cryptocurrency as a business.

Tether has started freezing the assets held by wallet addresses sanctioned by OFAC, and has also blacklisted the contract address for Tornado Cash. Tether has also been happily "onboarding" the US Secret Service and FBI to their platform, while bragging about the 435 million USDT it has so far frozen at law enforcement's behest.

Binance has been running half-day courses in France that introduce people to blockchain concepts and software like Metamask, and get them to sign up to Binance to receive their "NFT diploma", and in some of the poorer regions which they have targeted attendees are being forced to sign up for this "education" as part of a state-sponsored retraining effort. This is one of the outcomes of French PM Macron's relatively welcoming attitude towards the company which saw Binance pledge to invest 100 million euros in the country's burgeoning crypto scene in 2021, as detailed in this article.

That's all for December. Thank you for reading!

About

This is issue 66 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, kozel, phoenixgreen, richardred, zippycorners
  • title image: Exitus
  • funding: Decred stakeholders