Decred Journal – December 2021

abstract art by @saender

Image: Nodetropolis by @saender

December’s highlights:

Contents:

v1.7 Release Testing

Release candidate builds for the upcoming v1.7 “Based Bison” release are available for testing. Make sure to verify the downloads before running. For extra safety testnet coins can be used for testing until the final release is out.

All help to make the final release bug-free and polished is greatly appreciated. Please report any issues in #support chat in Matrix, Discord, Telegram, or directly in the appropriate GitHub repo. Good hunting!

Vote on Treasury Spends

Starting with the payment for November work, payments to contractors will from now on be made from the new treasury following the decentralized voting process.

If you use the command-line tools to solo vote please set your preference in the following manner:

dcrctl --wallet settreasurypolicy "03f6e7041f1cf51ee10e0a01cd2b0385ce3cd9debaabb2296f7e9dee9329da946c" "yes or no"

That command sets how your wallet votes for treasury spend transactions (“tspends”) signed by that key. The key 03f6e704... represents the current management of the treasury and the command sets your trust to it.

You can verify this key in the DCP-0006 or in the source code. The voting is semi-automated with this one-time configuration, but it is possible to vote on individual tspend transactions when more granular control is needed.

Currently, tspends can only be voted on by solo stakers, VSP support is in the pipeline to allow Decrediton users to participate.

Read the May issue on how the process works and the Governance section on how the first real tspend was executed in December.

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.

Development work for the upcoming “Change PoW/PoS Subsidy Split To 10/80” consensus change has been completed, including the agenda definitions, the consensus vote with new consensus rules and tests, and the DCP-10 document with technical details. A small geek bonus of this change is it will increase the theoretical supply limit from the uncomfortable 20,999,999.99800912 to a more satisfying 21,000,000.00015952 DCR.

The new primitives package has been kickstarted with initial proof-of-work functions, calculations of merkle tree roots, and functions for generating and verifying inclusion proofs (along with full tests, benchmarks, and docs). New PoW functions build upon the new optimized uint256 package and are much faster than the ones in use currently. primitives is a large refactoring plan to collect core consensus code in one place.

Other merged changes:

Maintenance, refactoring, and cleanup:

dcrwallet

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

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

User-facing:

Internal:

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

If you would like to add or update a Decrediton translation, please ask in our #translations chat room.

Politeia

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

Politeia v1.3.1 bugfix and polishing release is live on the proposals website. Check the release notes in politeia and politeiagui repositories for detailed changes.

User-facing changes merged in December:

Internal GUI changes:

politeiavoter command-line app:

Backend changes:

dcrlnd

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

cspp

cspp is a server for coordinating coin mixes using the CoinShuffle++ protocol. It is non-custodial, i.e. does not hold any funds.

DCRDEX

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

First release candidates for the massive upcoming v0.4 release have been tagged. Advanced users can check the release-v0.4 branch and read the release notes with upgrade instructions, or try DCRDEX integrated into Decrediton’s release candidates.

User-facing changes merged in December:

Internal changes:

Progress towards Ethereum support:

Check the new development proposal for a report of Phase 2 and the roadmap for Phase 3.

Decred Wallet (iOS)

GoDCR

GoDCR is a lightweight desktop wallet app with integrated staking, privacy, and Politeia browsing.

Merged in dcrlibwallet library (shared by Android/iOS wallets and GoDCR):

Progress towards the v1.0 release can be tracked here.

dcrdata

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

Other:

People

Community stats as of Jan 2:

Governance

In December the new treasury received 10,252 DCR worth $816K at December’s average rate of $79.59. 1,006 DCR was spent to pay contractors, worth $80K at December’s rate, or $109K at November’s billing rate of $108.13. As of Jan 6, combined balance of legacy and new treasury is 753,934 DCR (47.8 million USD at $63.37).

Decred’s first spend from the new treasury was approved by a decentralized vote!

On Dec 18 the transaction paying 1,006 DCR to contractors was broadcast to the network along with an announcement with instructions on how to vote and verify the treasury key. The vote started on late Dec 18 and finished on Dec 28 when the transaction was mined in block 619,776. Out of 17,280 max eligible tickets, 6,269 had voted Yes and 0 had voted No by Dec 28, which created an insurmountable tally of Yes votes and triggered the “short-circuit” system to finish the vote 2 days sooner than the maximum 12 days. This algorithm allowed to make the decision faster and pay the contractors earlier.

Back in June, the first attempt to pay from the new treasury failed due to a bug making the safety system too aggressive and blocking the payment. That voting was still notable for showing an impressive 69% ticket participation and 100% support. Since then the contractors have been paid from the legacy treasury, but recently the unintended limit of 0.15 DCR has ended and it allowed to start making full payments from the new treasury. A consensus change was developed to correct the behavior and prevent this scenario in the future, voting to activate it will start when enough users upgrade to the upcoming v1.7 release.

On Politeia, voting on the block reward change proposal exposed a bug that prevented some late votes from being counted. It started on Dec 9 18:36 UTC when the highest ever voter participation rate surpassed 32,767 votes (78% of all eligible tickets) and hit an unintended internal limit. In the remaining ~25 hours of voting, clients were unable to cast their votes or start new vote trickling processes with politeiavoter (trickling that had started prior to the last ~25 hours could still continue). Importantly, the bug could not have changed the vote outcome, e.g. even if 8,752 remaining eligible tickets all voted No it would still pass with 79% Yes. The fix was included and deployed with v1.3.1, see #1605 for technical details. This bug only related to the Politeia vote, it does not affect the consensus vote that will be triggered by the release of v1.7.0.

Proposal activity in December:

See Politeia Digest issue 50 for more details on the month’s proposals.

Network

Hashrate: December’s hashrate opened at ~430 Ph/s and closed ~380 Ph/s, bottoming at 247 Ph/s and peaking at 535 Ph/s throughout the month.

Distribution of hashrate reported by the pools on Jan 2: Poolin 47%, AntPool 26%, F2Pool 10%, ViaBTC 7%, Luxor 6%, BTC.com 3%, OKEx 0.3%, CoinMine 0.1%. Distribution of 1,000 blocks actually mined before Jan 2 closely matched the reported numbers.

Staking: Ticket price varied between 191.9-233.3 DCR, with 30-day average at 214.7 DCR (+11.1).

The locked amount was 8.07-8.60 million DCR, meaning that 59.2-62.7% of the circulating supply participated in proof-of-stake. Both absolute and percentage values made new all-time highs.

stake participation

What has been staked… Cannot be unstaked

VSP: On Jan 2, ~6,550 (-250) live tickets were managed by listed vspd servers and 171 (-28) by listed legacy dcrstakepool servers. Collectively the 7 legacy and 15 new VSPs managed 16.7% (-0.8%) of the ticket pool. The 3 unlisted but still active legacy VSPs managed 39 (-6) live tickets.

The count of VSP-managed tickets has been trending down since at least June 2021 when this observation started at ~9,300 tickets (22.7% of the ticket pool).

Nodes: Throughout December there were around 180 reachable nodes according to dcrextdata.

Node versions as of Jan 1 snapshot (216 total, dcrd only): v1.6.2 - 62%, v1.7 dev builds - 13%, v1.6.0 - 10%, v1.6.1 - 8%, v1.6 dev builds - 3%, v1.5.2 - 2.3%, v1.5.1 - 1.4%.

The share of mixed coins varied between 54.4-56.9% and set a new all-time high with the sum of mixed unspent coins above 7.8 million.

Year 2021 had the highest transaction volume:

monthly tx volume

Ecosystem

Bybit has tweeted that DCR/USDT trading is live. The exchange is based in Singapore.

PoolBay announced a new mining pool dashboard and charts for Decred, as an alternative to MiningPoolStats.

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 announcements are now also published on Odysee, in addition to all video content mirrored from YouTube. Users of Odysee or the LBRY network can support Decred content by tipping or staking LBC (staked coins can be withdrawn at any time).

The chat bridge between Telegram @Decred and Matrix #101 rooms was deactivated due to a large amount of spam. The spam was removed automatically by the moderation bots on the Telegram side but had to be manually cleaned up in the Matrix room. The bridge between Matrix and Discord #101 rooms remains.

The highly-discussed block reward change proposal made an appearance on Hacker News.

Monde PR’s achievements for December:

Secured the following news articles:

Media

Videos:

Translations:

Markets

In December DCR was trading between USD 60.05-110.95 / BTC 0.00129-0.00234. The average daily rate was $79.59.

DCRDEX monthly trading volume

Relevant External

The Sushiswap AMM DEX is the subject of a scandal after it emerged that 0xMaki had been forced out of their role by a clique of senior developers and that the team is riven by internal conflict.

BadgerDAO was the subject of a hack involving a compromised Cloudflare API key, which was used to inject malicious code for a subset of site users, leading to the loss of $130 million in assets, with $9 million being recovered thus far and a plea for more to be returned by the hacker. The funds were not returned, and the BadgerDAO community has moved to determining how to make restitution for victims of the hack. There is an interesting dynamic at play here where the stolen funds fall into three tranches with different remedy mechanisms - and the top 10 token holders were the most severely affected, representing a loss that the treasury cannot cover with available funds. One major victim of the BadgerDAO hack was the Celsius network, which reportedly lost $50 million.

Users of popular NFT trading platform OpenSea became eligible to claim a new token (SOS) on Dec 24, and by Dec 26 over 200,000 wallets had claimed it. The token was not produced by OpenSea themselves, who have instead hinted at an IPO, but was rather released by a pseudonymous developer, using the public record of OpenSea NFT trades to determine eligibility to claim SOS. The market cap of SOS hit $200 million within two days, as initial votes were passed to set up liquidity provision incentives and other token distribution details. The issuance plans for SOS include reserving 20% to provide support to OpenSea users, particularly hack victims.

The EOS validators have moved to block the payment of $250 million worth of EOS to Block.one. Block.one was due to receive 67 million EOS over a 6-7 year period, with half of these tokens going to Brock Pierce. This comes as part of an ongoing dispute over EOS intellectual property, which the community of validators wishes to acquire but which is currently held by the Bullish exchange (reasons unclear).

Public goods funding platform Gitcoin deactivated a grant for one of the recipient teams because the team conducted some activities in Iran and had recently been de-funded by Consensys. Gitcoin also completed round 12 of its grants program, which saw $3.1 million donated from 27.2K donors.

“The Internet Computer” held a major round of voting to approve future direction of research and development work, with 25 different proposals to vote on and DFINITY foundation abstaining from the vote. The voting period for these proposals was just 24 hours and all 25 were approved with 5-6% approval (minimum requirement of 3% voting power voting yes) and very little opposition.

That’s all for December. Thanks for reading!

The Future of Decred Journal

45 months of Decred Journal was a great ride but recent issues were getting increasingly harder to make due to lack of time and energy. I plan to stop producing DJ after this issue, take a break, and do other things I wanted to do in Decred and beyond.

I will be around in chats to help anyone willing to take over the production of DJ, either as it looks today, or in a refreshed form to make it better.

Thank you to all contributors, translators, and most importantly readers, for this amazing journey! (@bee)

About

This is issue 45 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):