Decred Journal — September 2021
dcrd is a full node implementation that powers Decred’s peer-to-peer network around the world.
September’s highlights:
- Work on the DCP-8 and DCP-9 consensus changes has been completed, they are ready to be introduced for an on-chain vote to ratify them.
- Politeia has been updated to v1.2, adding features like proposal updates and the capacity to make comparisons between any two versions of a proposal.
- The Android and iOS mobile wallets saw new releases in their respective app stores.
- GoDCR reached its first functional testnet build, demonstrating what has been achieved by that project so far, as the proposal for continued funding of GoDCR was published and discussed.
Contents:
· Development
· People
· Governance
· Network
· Ecosystem
· Outreach
· Media
· Markets
· Relevant External
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 is a full node implementation that powers Decred’s peer-to-peer network around the world.
Explicit Version Upgrades consensus change (DCP-8):
- new consensus rules have been implemented. Once activated, unknown transaction and script versions will be rejected until they have explicitly been enabled by another consensus change. Coins that were spendable before activation will remain spendable. This change will provide greater network security and allow developers to write more bug-proof code, as explained in proposal comments, DCP-8, and a recent dev discussion.
- @davecgh posted a proposal update that all dcrd development work is complete
Automatic Ticket Revocations consensus change (DCP-9):
- preparations: added tests, added agenda definitions, reorganized code to fit upcoming changes. A new transaction priority was introduced to ensure automatic revocations are always created. Full list of priorities becomes: votes (highest) > automatic revocations > tickets > regular transactions and revocations (lowest).
- implemented the actual consensus change. Once activated, blocks will be required to contain revocations for all tickets that become missed or expired as of that block. New rules will also allow unlocking some ~200K DCR that got stuck in unrevoked missed tickets.
- @rstaudt2 posted a proposal update that all dcrd development work is complete
Other merged work:
- implemented spend journal pruning that delays removal of spend journal entries until they are no longer used (this is needed for asynchronous indexing that will speed up block validation)
- added more tests for address manager and decoupled it from
wire
package, in preparation for upcoming changes in the wire protocol - pinned Docker images and GitHub Actions with hashes instead of tags for better supply chain security
- reworked Docker support to provide an image with a strong focus on security. It only includes Decred-specific binaries (“distroless”) and runs them as an unprivileged user. The new final image is around 10 MB, compared to ~1 GB for the previous version.
- code upgraded to use Go 1.16 features
- updated module hierarchy graph
Huge dcrd release brewing… including 3 consensus votes, ~30% faster syncing, and much more. (@rstaudt2)
dcrwallet is a wallet server used by command-line and graphical wallet applications.
- allow processing VSP fees for already bought tickets when the ticketbuyer is off
- changed the default
ticketbuyer
limit to 1 max tickets per block - allow to disable account discovery (allows to optimize clients that don’t need it such as dcrlnd)
- added config option for max log size before it is rotated
- code upgraded to Go 1.16 and latest dcrd modules
- fixed some issues with processing and confirming fee payments for VSP-managed tickets
- fixed fee calculation for multisig transactions
- fixed a potential race issue in SPV mode
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).
- implemented new UI design for LN Channels tab
- update all accounts’ passphrases on private passphrase change
- fixed some issues with syncing VSP fee payment status
- fixed 3 bugs when creating a wallet
- fixed legacy VSP errors being shown in new VSP mode
- fixed missing navigation links
- fixed blurring when restoring a Trezor wallet
- fixed crashes caused by processing very large transactions
- fixed change from mixed sends being sent to a wrong address
Politeia is Decred’s proposal system. It is used to request funding from the Decred treasury.
Another feature and bugfix release has landed on Politeia website! Highlights of v1.2.0:
- proposal author updates for approved proposals
- compare any two proposal versions
- embed image button
- optimistic instant comment vote updates
- server: proposal billing status, to formalize whether billing is allowed or not
- server: unified proposal status to simplify clients
- server: increased security and stability
For more details check the release notes in politeia and politeiagui repositories.
User-facing changes merged in September:
- integrated new proposal status and admin ability to set billing status
- improved UX of embedding images
- show login modal when user session expires
- added SEO meta tags to improve placement in search results and enable nice previews on Twitter and Facebook
- updated dark mode toggle design
- ~18 GUI bug fixes and ~3 enhancements
Backend, internal, and command-line changes:
- added unified proposal status that serves as a single source for proposal metadata from different plugins, thus removing complexity from clients and also reducing the load on the server. The new status can be queried with
pictl proposalsummaries
command. - added high-level interfaces for file system checks to verify data integrity and rebuild caches on startup. Implementations for individual components will be done separately.
- implemented cache rebuild for the record inventory when file system check is enabled with
--fsck
- added option to save
pictl
’s vote results output as CSV - added read and write timeouts for both
politeiad
andpoliteiawww
servers - refactored middleware in
politeiad
andpoliteiawww
servers and added read limits for client requests and WebSocket messages - added page sizes to policy responses
- added documentation: exported API docs, plugin system overview, and writing E2E tests
- fixed a memory leak
- ~4 other backend bug fixes
- increased backend and end-to-end UI test coverage
vspd is server software for running a Voting Service Provider. A VSP votes on behalf of its users 24/7 and cannot steal funds.
- added architecture diagram to the Deployment Guide
- updated handling of dcrd’s errors
- more reliable value comparison in tests
dcrpool is server software for running a mining pool.
dcrlnd is Decred’s Lightning Network node software. LN enables instant and low-cost transactions.
- added a switch to save memory profiles
DCRDEX is a non-custodial exchange for trustless trading, powered by atomic swaps.
User-facing:
- added historical candlestick chart
- recognize
rpcconnect
Bitcoin config parameter
Backend and internal changes:
- added infrastructure for paying the registration fee in assets other than DCR, implemented reg fees in BTC
- refactoring to prepare for Bitcoin SPV support
- more fine-grained rate limiting to protect against network attacks
- optimized restoring account from seed
- simplified the procedure of changing lot sizes (the minimum trade amount)
- discover accounts earlier in the flow (to support multi-asset fees)
- simplified check for wallet ownership when changing wallet settings
- added
usermatches
command-line app for retrieving match data and saving it as CSV
Work towards internationalization:
- added translation support to the web client UI
- improved system for translating notifications
- added a
dexc
switch to re-translate templates on the fly (allows faster iteration) - added Portuguese and Chinese translations
Internal changes towards Ethereum support:
- added a tool to verify swap contract deployed on the Ethereum network (can be used to detect an unexpected change of the contract)
- added decoding and validation of transactions while they are in the mempool (allows to fail fast before a malformed tx is mined)
- implemented estimation of max order the wallet may place
Decred Wallet v1.6.1 has been released on Google Play Store!
Privacy-minded users can now also get the signed APK directly from the GitHub release.
Merged in September:
Merged in dcrlibwallet library (shared by Android/iOS wallets and GoDCR):
- added various data queries to support multi-wallet staking overview
See the new mobile wallets proposal to learn about the development roadmap for 2021–2022.
Decred Wallet v1.6.1 has been released on App Store!
Merged in September:
- implemented dark mode
- notify users that accounts cannot be deleted once created
- allow wallet unlock attempts with an empty passphrase
- ~5 bug fixes and ~2 UI tweaks
GoDCR is a lightweight desktop wallet app with integrated staking, privacy, and Politeia browsing.
First testnet build is available for preview! Download it from the GitHub releaseand verify the signatures. If you plan to hunt for bugs, it is recommended to build from latest source to have all recent bug fixes.
User-facing changes merged:
- split big seed backup flow into steps
- added “Advanced mode” link to Send page, which allows to manually select coins to spend in the transaction (this privacy feature is also known as “coin control”)
- added hover effects to numerous widgets
- show rescan progress in Overview
- improved UX for creating wallets and accounts
- allow closing dropdowns by clicking outside
- improved rendering of Markdown tables
- refactored ticket fetching and display
- optimized UX of language and currency selection modals
- added Spanish translation
- fixed blurry icons on higher resolutions
- ~7 other UX tweaks and ~17 bug fixes
Internal and developer changes:
In progress:
Check the second GoDCR proposal for a status update and 2021–2022 roadmap.
dcrdata is an explorer for Decred blockchain and off-chain data like Politeia proposals, markets, and more.
User-facing changes:
- implemented DCRDEX candlestick chart on the Market page
- show transaction and script versions on tx page
- added support for Pay-to-Pubkey (P2PK) address type
- restored desktop notifications
- added SEO meta tags for prettier search results and previews in social media
- ~2 bug fixes
Internal changes:
- switched to a new trylock implementation
- reduced reliance on dcrd’s RPC packages
- upgraded to latest dcrd
- removed abandoned notify.js dependency
Tip: bleeding-edge development version of dcrdata can be accessed at tip.dcrdata.org.
dcrdevdocs is a source code for Decred developer documentation.
- added dark mode (of course)
- removed inline HTML (helps to detect broken links)
- updated MkDocs and Python versions
Other:
- Bug Bounty program got two scope updates: replaced dcrstakepool with vspd, removed dcrdocs, and clarified rules for atomicswap.
People
Welcome to new first-time contributors with code merged to master: @naveensrinivasan (dcrd)!
Community stats as of Oct 2:
- Twitter followers: 48,673 (+512)
- Reddit subscribers: 11,954 (+357)
- Matrix #general users: 535 (+13)
- Discord users: 2,077 (-47)
- Telegram users: 2,909 (+63)
- YouTube subscribers: 4,610 (+0), views: 196K (+2K)
Governance
In September the new treasury received 10,274 DCR worth $1.4M at September’s average rate of $139.56. 590 DCR was spent to pay contractors, worth $82K at September’s rate, or $95K at August’s billing rate of $161.24. As of Oct 2, combined balance of legacy and new treasury is 723,528 DCR (83.5 million USD at $115.45).
Two new proposals were submitted, both by @raedah, requesting renewed funding for GoDCR and Mobile Wallets.
Voter participation reached new heights, with both of the votes this month seeing turnout above the previous record level.
- The PR proposal from Monde was approved with 97.5% approval and a turnout of 75%.
- The proposal to fund an educational video series for the Indian market, from @finstreet21, was rejected with 45% approval and turnout of 77%.
The long-awaited proposal author updates feature is now live on Politeia and has already been used by two development proposals to report progress.
See Politeia Digest issue 46 and issue 47 for more details on the month’s proposals.
Network
Hashrate: September’s hashrate opened at ~355 Ph/s and closed ~228 Ph/s, bottoming at 190 Ph/s and peaking at 449 Ph/s throughout the month.
Distribution of hashrate reported by the pools on Oct 1: Poolin 36%, F2Pool 25%, AntPool 22%, BTC.com 5%, ViaBTC 5%, Luxor 3%, HuobiPool 1%, CoinMine 0.15%, OKEx 0.13%. Distribution of 1,000 blocks actually minedbefore Oct 1 confirmed the reported hashrate.
Staking: Ticket price varied between 192.8–210.8 DCR, with 30-day average at 199.4 DCR (+5.6).
The locked amount was 7.69–8.16 million DCR, meaning that 57.7–61.1% of the circulating supply participated in proof-of-stake.
Ticket prices seem to have hit a relative plateau between two extremes.
VSP: On Oct 1, ~7,600 (-500) live tickets were managed by listed vspd servers and ~220 (-30) by listed legacy dcrstakepool servers. Collectively the 8 legacy and 15 new VSPs managed 19% (-2%) of the ticket pool. Unlisted but still active legacy VSPs managed 29 (-11) live tickets.
Nodes: Throughout September there were around 204 reachable nodes according to dcrextdata.
Node versions as of Oct 1 snapshot (257 dcrd nodes): v1.6.2–55%, v1.6.0–13%, v1.6.1–12%, v1.7 dev builds — 14%, v1.6 dev builds — 2.7%, v1.5.2–2%, v1.5.1–1.2%.
The share of mixed coins varied between 50.3–52.2% and set a new all-time high while the sum of mixed unspent coins broke the 7 million mark.
Daily mixed amount varied between 240–550K DCR.
Ecosystem
Matrix users are advised to upgrade their clients (most notably Element) to patch security vulnerability disclosed on Sep 13. If a user’s account is compromised (by either a direct compromise of account credentials, or by a compromised homeserver), in certain circumstances it may be possible to read encrypted messages sent to such account from its vulnerable contacts. The disclosure noted, “The greatest risk is to users who are in encrypted rooms containing malicious servers. Admins of malicious servers could attempt to impersonate their users’ devices in order to spy on messages sent by vulnerable clients in that room.”. As an extra safety measure, you can review active sessions and remove any obsolete or suspicious ones.
Legacy decredvoting.com has been removed from the VSP list to facilitate user migration to the new vspd system. Voting wallets are still online to vote the remaining tickets (9 tickets as of Oct 1). Decred Voting has served since 2018and is known for developing advanced features like email notifications on voted tickets and custom ticket analytics dashboard, and for supporting small holders with education on ticket splitting and features to make it easier to use.
For anyone still using legacy VSP, it is recommended to switch to vspd providersto avoid the risk of missed tickets, e.g. in case the legacy VSP shuts down or stops working with the coming consensus upgrades. As of Oct 1, all legacy VSPs managed less than 250 tickets or 0.6% of the ticket pool.
u/daryledesilva shared a dollar-cost averaging calculator for Decred.
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 #services chat to follow Decred ecosystem updates.
Outreach
r/decred’s pinned post for newcomers has been updated: Welcome to Decred: Money Evolved.
@davecgh armed us with a new fantastic Decred pitch answering how Decred is valuable long term. Twitter version here.
Monde PR’s achievements for September:
- PR proposal passed September 14th
- updated the PR calendar to include upcoming announcements and PR activity
- pitched Decred to two PR opportunities
- secured two media interviews
Secured the following news articles:
- @lukebp was interviewed by the Cigars and Crypto Podcast, covering all things Decred
Media
Selected articles:
- Decred Blockchain Analysis — Part 3 by @richardred (blockcommons.red) — explores what insights can be found by applying address clustering to all the tickets in the pool at specific block heights. Note: there remain a couple of issues to be fixed with the results.
- Decred address clustering deep dive by @richardred (blockcommons.red) — sub-report specialized on the challenges of clustering, includes many graphs showing the voting behavior of different clusters (users), and what it looks like when something is wrong with a cluster.
- A deep dive into how the top 10 DAOs work by Andrey Sergeenkov (coinmarketcap.com)
Videos:
- Being fork resistant — Decred Fundamentals by @phoenixgreen (youtube)
- How is Decred fork resistant? — Decred Fundamentals @phoenixgreen (youtube)
- Decred in Depth Ep. 43 — Chris Dannen + design thinking + Decred’s future by @elima_iii (youtube)
- Decred Price Analysis — 15th September 2021 by Brave New Coin (youtube)
Audio:
- Cigars and Crypto 175 — Luke Powell of the Decred Project (cigarsandcrypto.com)
- Decred Society series by @phoenixgreen has gone live on Apple Podcasts.
Translations:
- Decred News August — in Chinese (@Dominic), published on Chinese video platforms like Bilibili, Weibo, and WeChat
- Decred Journal August 2021 was translated to Arabic (@arij, @abdulrahman4), Chinese (@Dominic), and Spanish (@francov_). Thank you to all translators for staying around!
Share your translations in our #translations chat room.
Markets
In September DCR was trading between USD 96.14–185.79 / BTC 0.0023–0.0038. The average daily rate was $139.56.
Relevant External
Sushi’s Miso app was exploited to steal the proceeds of an NFT drop ($3M for Kia Sedonas from Jay Pegs Auto Mart). The attacker was identified (through their use of ENS domain) as a Sushi developer, who had inserted code into the front end which would send funds to their own address. The funds were subsequently returned.
The Compound DeFi app deployed new smart contracts which gave away $80M worth of COMP tokens in unintended ways. Founder Robert Leshner asked recipients to send the tokens back, and described it as a moral dilemma, after initially intimating that people who don’t give the tokens back could have their details passed to tax collection authorities. One interesting aspect of the story is that the problem was identified quite quickly, but because changing the contracts requires a governance process there was no way to deploy a quick fix and all of the vulnerable funds were drained.
Coinbase users have been exploited, it seems that around 6,000 users whose login details had been compromised elsewhere then suffered losses from their Coinbase accounts after the attackers exploited a flaw in Coinbase’s SMS two-factor recovery process to bypass this safeguard and withdraw their victims’ funds. In a notification letter to customers, Coinbase said the flaw has been fixed and that all affected customers will be reimbursed. This follows on from more general discontent with Coinbase customer service in the summer.
The Digital Asset Market Structure and Investor Protection Act, which was introduced in July, continues to see coverage and discussion, indicating that it will receive serious consideration from lawmakers. The proposed Act is one of the broadest pieces of legislation to address digital assets, and would clarify how different types of asset would fall under the purview of different enforcement agencies. The proposed definition of a security would focus on equity or voting rights in the issuing (corporate) entity, excluding voting on blockchain matters like block creation. There is also an aspect whereby selling tokens for an unfinished product whose production will be funded by the token sale (i.e. the ICO model) would be considered securities. Stablecoins could not be created or used without being approved by the Secretary of the Treasury, and the Federal Reserve would receive the authority to issue a US central bank digital currency.
That’s all for September. Share your updates for the next issue in our #journalchat room.
About
This is issue 42 of Decred Journal. Index of all issues, mirrors, and translations is available here.
Most information from third parties is relayed directly from source after a minimal sanity check. The authors of the Decred Journal have no ability to verify all claims. Please beware of scams and do your own research.
Credits (alphabetical order):
- writing and editing: bee, degeri, l1ndseymm, richardred
- reviews and feedback: davecgh, lukebp
- title image: saender
- funding: Decred stakeholders
Comments ()