Decred Journal – October 2022

This month in the journal, Decred gains a seat at the political table when our timestamping service is used to combat fake news. The development team release a series of updates for Decred Core, DCRDEX and decred.org

Decred Journal – October 2022
Decred Journal – October 2022

Image: Untitled by @Exitus

Highlights of October:

  • Decred Core software v1.7.5 and DCRDEX v0.5.4 patches were released.
  • The Decred timestamping service (timestamp.decred.org) was used to timestamp political campaign documents for candidates in the Brazilian elections.
  • decred.org has received another round of updates, including the new News page where you can find all the latest Journal issues.
  • Monde PR's services were retained for another year after a successful proposal with 66% approval rate.

Contents:

Core Software v1.7.5 Released

Highlights of the v1.7.5 release:

dcrd got UTXO cache updates to improve its robustness, optimize it, and correct some hard to hit corner cases that involve a mix of manual block invalidation, conditional flushing, and successive unclean shutdowns.

dcrwallet gained a method for importing public keys to watching-only wallets, and gRPC methods to command VSPs how they should vote on treasury spends. Fixes include: signrawtransaction now respects the private keys passed to it, auto ticket buyer no longer attempts to mix change if the server is unknown, and the list of nodes discovered from seeders is no longer limited to a deprecated SPV version. Finally, this release enforces testnet3 hardfork to prevent ASICs from halting the test network.

Decredition was mainly updated due to a critical fix included in DCRDEX v0.5.4. Other changes include a fix of the never ending loading button on the Treasury Spending tab.

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

Users of the standalone DCRDEX app should upgrade to the latest release here, specifically to avoid issues with certain Taproot transactions on Bitcoin, which were fixed in v0.5.4 and v0.5.5.

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.

  • Utilize server context when connecting to peers to make shutdown more responsive.
  • Use context in RPC tests. It allows two things: test that cancellation and shutdown work correctly, and to be able to abort the test if necessary.
  • Make sure peer address is added to address manager. It helps speed up discovery of new nodes on the network by ensuring they are added to the list of addresses that need to be tried in order to build reputation when they haven't otherwise been seen before.

dcrwallet

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

  • Multiple fixes of context usage. "Contexts" are used to signal to various services running concurrently that they must stop as part of a graceful wallet shutdown.

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

  • Upgraded DCRDEX module to v0.5.3 and then to v0.5.4. The latter includes a critical fix to Bitcoin block parsing.
  • Updated English strings for translation. The codebase is periodically scanned for text shown on the UI and that text is collected in a special file that can be translated with an assistant web tool. In other words, the originals are fresh and now is good time to translate.

Politeia

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

politeiavoter command-line app:

  • Consolidated voting logic by creating unsigned votes first and then obtaining the signatures from the wallet. This approach is simpler and less error prone.

GUI remake on the new plugin architecture:

pi-ui library (shared by Politeia and Decrediton):

  • Optimized building and enabled compression, reducing bundle size from 740 KB to 430 KB.
  • Dependency and testing improvements.

Lightning Network

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

  • Timestamp of the last received gossip message is now persisted. Upon restarting, it is sent to a remote peer to request messages since that timestamp. This allows nodes that were offline for some time to fetch missed gossip messages (in particular, ChannelUpdates) to update their local view of the network correctly. Before this change, a node that remained offline long enough could miss many ChannelUpdate-s and incorrectly mark existing channels as zombies in the database.
  • Maintenance: updated minimum Go version to 1.18, updated to new formatting, dependency bumps.

DCRDEX

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

v0.5.4 release:

  • Updated upstream btcd to fix a critical Bitcoin block parsing failure. There are now blocks on Bitcoin mainnet and testnet that include bigger Taproot transactions that cannot be deserialized by btcd v0.23.1 and older. The issue affects takers that use full node (RPC) or SPV wallets.

User-facing changes merged in master:

  • Show new matches dynamically without having to reload the Orders page.
  • Restyled the Markets page and made it responsive across desktop, tablet and mobile layouts.
  • Reject invalid addresses on Send form. Also fixed handling when fee estimation is unsupported or has failed, so that sending is possible even without fee estimates.
  • Support custom wallet path for Electrum wallets. Also, support unprotected Electrum wallets (those having no password).
  • Show an error when the user attempts to logout while having active orders.
  • Added a form to delete archived records (orders and matches) from the client, and an option to export deleted records as CSV files.
  • Updated Chinese translation.
  • Fixed the accelerate order button not hiding after the swap tx is mined.
  • Fixed multiple UI bugs on the Markets page.
  • Fixed a case where clients could stay unaware that their orders have been revoked due to an upcoming market suspension.
  • ~2 other bug fixes.

Internal and developer changes:

  • Numerous improvements to test stability, localization system, and the documentation.
  • Expire request timeouts when WebSocket connection is closed, to avoid hangs on shutdown.
  • Fixed recovery for not connected wallets and added support for recovering disabled wallets.
  • Fixed locked balance calculation for ZEC. This required to implement a workaround for the wallet not unlocking spent coins automatically. Currently DOGE and ZEC require this quirk.
  • Fixed and improved simnet tests. Most tests will run twice, alternating the maker and taker between clients. This has helped to discover a few bugs.
  • Fixed HTML template parsing for keys containing dash (welcome to DCRDEX, @norwnd!).
  • ~2 other bug fixes.

Ethereum support:

  • Improved ETH wallet connection management.
  • Added gas limits in ETH and ETH token wallets so that at most 1/4 of the gas limit of a block can be filled up by a swap or redeem transaction. This should prevent some huge unswappable orders.
  • Implemented RPC client for communicating with an Ethereum node over WebSockets, HTTP or IPC connections.

Fidelity bonds:

  • Implemented foundations for DCR fidelity bonds: bond transaction structure, common interfaces to create/broadcast/refund bonds (for client), parsing and validation of bond tx (for server). Time-locked fidelity bonds will replace the current registration fee system. Bonds will be redeemable by the user who posted the bond after a certain time, to create an opportunity cost to use DCRDEX instead of a simple monetary cost. It also is a prerequisite for building a server mesh. To make the transition smoother, the client and server retain all the legacy registration fee machinery, and the clients continue to use the legacy registration system for now.

Image: Restyled market page on DCRDEX, desktop layout. Data shown is not real (just in case).

Documentation

dcrdocs is the source code for Decred user documentation.

  • Updated mkdocs-material theme. One of the new features is auto-generated social cards that are shown as link previews on e.g. Twitter.
  • Reworked some of the page titles to make more sense when displayed on their own (e.g. "Overview" becomes "Governance Overview").

decred.org

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

  • Moved Internationalization (translation) content into sub-directories. This fixes an issue where translated Press Releases were not displayed in non-English languages, and allowed the removal of over 100 empty files.
  • Added /vsp link to footer so users can easily find Voting Service Providers.
  • Renamed "Press" to "News" and added a link to /news in the header navigation bar, making Decred News more accessible.
  • Added a large number of news posts consisting of previous releases.
  • Ensure news items are always sorted by date.
  • Added category filters to /news. This allows viewers to easily switch between Software Releases, Decred Journal, Press Releases, and media Coverage of Decred. Each category has a direct link and they work without JavaScript.
  • Added "News" translation for Polish and Chinese.
  • Fixed overlapping text and buttons on press page.

Image: News page at decred.org.

Other

dcrseeder - node crawler that builds a list of reliable Decred nodes and is used by new nodes to bootstrap their connectivity:

  • Do not add RFC6598 (Carrier-Grade NAT) addresses. The global dcrseeder should not return these addresses to Decred nodes because they are reserved for private networks and cannot be reliably connected to from any node on the Internet.
  • Converted to use netip package for managing network addresses.
  • Check if node's uptime is long enough to be considered "Good".

release - automation tool for making reproducible builds of Decred software:

  • Updated to build core software v1.7.5, DCRDEX v0.5.4, Politeia v1.4.0.
  • Use system's native DNS resolver on Windows and on macOS and OpenBSD, instead of the Go fallback resolver.

People

We have two new interviews with Decred community members.

Tiago Alves Dulce (@tiagoalvesdulce) shared his story and thoughts on contributing as a Politeia developer.

Victor was pretty passionate about cryptocurrencies and used to pitch it to us all the time. Fernando and I were still skeptical about it. At the end of 2017, Victor started contributing to Decred, and we decided to take a look into it. We liked what we saw. It was a good opportunity to contribute to a cool open-source project, and we started doing it at the beginning of 2018. As time went by, I researched more and more about the project and got pretty passionate about it.

Eduardo Lima (@elima_iii) joined the State of the Market episode to talk about his legal research paper "But Who is in Charge of Decred?", his status with the project, and many other topics.

I believe that some of the heroes of all of this, of civil liberties, truthfully, are the software developers. The people who are building the technology. (...) Decred is kind of already future-proof, but if we don't fight for our right for peer-to-peer exchange, if we don't fight for our right for privacy, if we don't fight for our right to not be censored and not be banned, and have due process of law before you have your assets just taken and frozen, if we don't fight for these things, they will not be given to us. And so I say thank you to those developers out there.

Community stats as of Nov 1 (compared to Oct 1):

Governance

In October the new treasury received 8,850 DCR worth $232K at October's average rate of $26.27. 2,645 DCR was spent to pay contractors, worth $69K at October's rate, and $72K at September's billing rate of $27.19.

The treasury spend tx had 31 outputs making payments to contractors, ranging from 2.3 DCR to 1,028 DCR.

As of Nov 1, combined balance of legacy and new treasury is 824,840 DCR (22.5 million USD at $27.28).

A proposal to continue retaining the services of Monde PR for another year at a cost of $48,000 was approved with 66% Yes votes and voter turnout of 59%.

A proposal to fund work done on the @dcrtimestampbot Twitter bot at a cost of $1,955 was submitted by @coinshuffle_bot.

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

Network

Hashrate: October's hashrate opened at ~70 Ph/s and closed ~97 Ph/s, bottoming at 65 Ph/s and peaking at 97 Ph/s throughout the month.

Image: Decred hashrate.

Distribution of 84 Ph/s hashrate reported by the pools on Nov 1: F2Pool 59%, Poolin 26%, AntPool 5%, BTC.com 4.6%, CoinMine 0.6%.

Distribution of 1,000 blocks actually mined by Nov 1: F2Pool 57%, Poolin 33%, (likely) AntPool 6%, BTC.com 3.6%, CoinMine 0.9%.

Image: Pool hashrate distribution.

Staking: Ticket price varied between 224-246 DCR, with 30-day average at 233.7 DCR (+4.6).

The locked amount was 9.33-9.51 million DCR, meaning that 64.0-65.0% of the circulating supply participated in Proof of Stake.

Image: Staked DCR broke 9.5 million.

VSP: The 17 listed VSPs collectively managed ~6,800 (-1,020) live tickets, which was 16.7% of the ticket pool (-2.4%) as of Nov 1. Note: these figures exclude vspd.stakey.com, which is having API issues and reports outdated data. Its last fresh reporting was 1,332 live tickets on Oct 3, some of them have still been live and the real VSP stats were slightly higher on Nov 1.

Biggest gainers in October are 99split.com (+790), decredcommunity.org (+233), 123.dcr.rocks (+76) and big.decred.energy (+71).

Nodes: Decred Mapper observed 157 dcrd nodes on Nov 1: v1.7.0 - 10%, v1.7.1 - 27%, v1.7.2 - 15%, v1.7.4 - 10%, v1.7.5 - 23%, v1.8.0 dev builds - 4%, other 11%.

Image: Reachable dcrd node versions.

The share of mixed coins varied between 60.7-61.0%. Daily mixed amount varied between 293-461K DCR.

Decred's Lightning Network explorer has seen 69 nodes (-1), 112 channels (+7) with a total capacity of 46.9 DCR (+4.4), as of Nov 1. Thanks to @karamble for providing the data while the LN map is on maintenance.

Ecosystem

Biggest VSP stakey.com is having issues since around Sep 20 when it had 2,183 tickets, or 28% of all VSP tickets and 5% of all live tickets. The API endpoint does not respond and the data returned by decred.org VSP API is outdated. Service operator @dema501 commented that voting wallets are functional but the API server is in limbo. Missed Votes chart at dcrdata confirms there have been no spikes in missed tickets as of Nov 14.

Binance added DCR to its Simple Earn Flexible Products. The service allows one to deposit DCR for a flexible amount of time and receive daily rewards (about 2.5% APR according to one report). Simple Earn has replaced Binance Savings and Binance Staking platforms, and its Flexible Products component is a new name for Flexible Savings.

decred.org updates:

Decred adoption:

  • Government plans from Brazilian presidential candidate Lula da Silva and São Paulo government candidate Fernando Haddad were timestamped on Decred blockchain to combat fake news. This can be verified by downloading the PDFs from the announcement, computing their SHA-256 and checking those hashes on timestamp.decred.org. Previously in Brazil, Decred timestamping was used in Haddad's 2018 campaign for the president, and in 2020 São Paulo municipal elections via the VotoLegal platform.

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.

Join our #ecosystem chat to follow Decred ecosystem updates.

Outreach

Monde PR's achievements:

  • Pitched 1 news update.
  • Secured 2 media interviews.
  • Responded to 5 requests for comments.

Secured the following news articles:

  • @jy-p was interviewed on the Digital Cash Network Podcast, talking about Decred's hybrid consensus model.
  • An Axios article featuring comments from @jz on the future of crypto and privacy was posted on NYC Crypto.
  • An article in BeInCrypto on how Decred's blockchain was used in Brazil's presidential election to combat fake news.

Media

Selected articles:

Decred Magazine engagement stats for October:

  • Total number of articles on DM: 334
  • Current newsletter subscribers: 72
  • Total newsletters sent: 16
  • Active social media campaigns: 15
  • Completed social media campaigns: 17
  • Social media posts: 120
  • Likes: 557
  • Re-tweets: 110
  • Social media followers across all platforms and accounts: 1,020

Videos:

Many Decred videos are available in audio format on Decred Magazine podcast on Anchor and all the common podcast platforms like Spotify or Apple. It was renamed from Decred Society to make it a community podcast rather than a personal one. If you like listening on the go, give it a try.

Art and fun:

Translations:

  • Decred Journal August-September 2022 got 2 new translations. Thanks to @arij (Arabic) and @Dominic (Chinese)!

Non-English content:

Image: Decred merch by @OfficialCryptos.

Discussions

Selected Reddit posts:

  • Embrace Degeneracy - an idea by u/ersfbddfgwe to target marketing and branding to modern degen trends.

Markets

In October DCR was trading between USD 23.50-29.90 / BTC 0.00128-0.00152. The average daily rate was $26.27.

Image: DCRDEX monthly volume in USD.

Relevant External

October was a big month for crypto hacks and exploits, by the 13th there had already been 11 different DeFi attacks in which $718 million was obtained by hackers. One that stands out is Mango Markets, which was hit for a $100M exploit when a trader manipulated some prices to borrow all of the assets on the platform. One of the attackers tweeted about a "highly profitable trading strategy" which they had engaged in, after a settlement had been negotiated with the platform which would allow other depositors to regain access to their funds. Another quirk of the story is that the attacker made a proposal to resolve the situation with no criminal charges and then voted for it with some of the tokens they obtained from the exploit.

Kim Kardashian has settled with the SEC, agreeing to pay $1.26M over her undisclosed shilling of EthereumMax in 2021. SEC Chief Gary Gensler has been promoting this as a big win.

Rune's "Endgame" proposal for MakerDAO has been approved, and it has been noted that the majority of delegated MKR voting for it is controlled by Rune. MakerDAO has also voted to first approve a pilot transaction of $1 Million in US Treasury bonds custodied with Coinbase, following this up with confirmation that $1.6 Billion would be invested with Coinbase in this way, earning 1.5% yield that will support protocol development and other work.

That's all for October. Share your updates for the next issue in our #journal chat room.

About

This is issue 52 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
  • reviews and feedback: davecgh
  • title image: Exitus
  • funding: Decred stakeholders