Decred Journal – July 2022
DCRDEX added support for new type of Bitcoin wallet, Politeia is getting close to a new release, @jy-p mentioned in an interview something big is coming.
Highlights for July:
- DCRDEX has added support for a new type of Bitcoin wallet, support for the Electrum SPV wallet has been merged
- Politeia is getting close to a new release with legacy proposals imported and a new GUI plugin architecture
- After the rejection of a proposal to continue funding GoDCR, the team has announced that they will no longer be working on it
- @jy-p mentioned in an interview something he has been working on for Lightning Network, a novel way to use LN which is already feature-complete and should make its public debut within the next two months
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.
- Private key generation implemented directly for the secp256k1 curve to replace the generic version in the standard library with any adaptor code it required. Not only is this implementation significantly more efficient, both in terms of execution speed and memory allocations, it also is theoretically more secure since it does not have the modulo bias the implementation in the standard lib does.
- Significantly optimized CPU mining code that is useful for mining on testnet. Speed stat tracking code reworked to improve accuracy and performance. Before this change the hashrate was ~0.5 Mh/s and up to 2 cores could be used efficiently. Optimized code hashes at 1.2 Mh/s on a single core and over 10 Mh/s with 10 cores.
- Removed planetdecred.org seeders for both mainnet and testnet as requested by their maintainer.
- Reformatted doc comments in the entire repository with
gofmtin the new Go 1.19. Doing it all at once in a single commit saves future commits from extra diff clutter.
- Fixed broadcasting of winning tickets when there are multiple next block candidates ("chain tips") and some of them do not yet have their block data available. Voting wallets connected to dcrd in such state were unable to re-start voting for blocks due to an error.
- Smaller improvements.
dcrwallet is a wallet server used by command-line and graphical wallet apps.
- Do not attempt to mix change if CoinShuffle++ server is unset.
JSON-RPC and command-line use via
signrawtransasctioncommand not seeing the provided private keys for signing P2PKH inputs.
- Add requests to allow Decrediton to get and update the pending TSpend voting policies.
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).
In progress - voting on individual TSpend transactions is being introduced into Decrediton:
- The Treasury Spending tab will display pending TSpends and the ability to vote.
- On the Home view users will see notifications of new active and not yet voted TSpends.
- Ticket details page will show treasury key and TSpend vote choices that have been set on the VSP.
Politeia is Decred's proposal system. It is used to request funding from the Decred treasury.
Backend - tstore:
- Removed ability to use LevelDB as a key-value storage for tstore, which is now MySQL by default. Since MySQL is required by Trillian anyway, removing an alternative storage backend simplifies politeiad setup and makes the code easier to maintain.
- Updated the tstore backend to allow overwriting existing entries. tstore saves data in 2 steps: save data in the key-value store, and then append its hash onto the Trillian tree. Overwriting existing entries fixes the inability to resubmit unchanged data if the second step failed.
- Added the timestamp of the last vote status change to the vote summary structure. This allows to pull less data when rebuilding the vote inventory.
ticketvoteinventory cache with an improved API, better documentation, and saving data in the tstore database instead of the file system. Similarly, vote summaries cache and runoff vote submissions cache moved from the file system to the tstore provided plugin cache.
- Implemented the
ticketvoteplugin's fsck function that rebuilds all of its caches.
Backend - legacy proposals:
- Added an
importcommand to the
legacypoliteiatool. It imports the JSON data into the tstore backend that was generated during the execution of the
convertcommand. The two commands (
import) allow to migrate most data from the previous version of Politeia into the current version. Client and server signatures are not imported since they don't match the converted data. Some Trillian weirdness had to be investigated and addressed with extensive testing and workarounds.
Backend - other changes:
- Fixed bug where empty comments were accepted.
- Removed legacy websockets code which was never used for anything.
- Code cleanup and packaging.
- Various improvements, tweaking etc.
politeaivoter command-line app:
- Consolidated config error handling to cover more cases consistently.
- Removed hardcoded legacy proposals and code handling them, now that they have been migrated into the current Politeia database.
- Various tweaks, improvements, and ~8 fixes.
Politeia GUI progress towards the new plugin architecture:
- Show a warning modal for external links.
- Each plugin can now export "effects" that developers can reuse and compose in their Politeia-like apps. For example, when the user scrolls to the end of the list, code to fetch next batch of proposals/comments/vote summaries can be called from the plugins responsible for these pluggable features.
- Added a
politeiagui-scriptsCLI package. It deduplicates common configuration and provides 7 commands for developing and testing plugins and apps.
cspp is a server for coordinating coin mixes using the CoinShuffle++ protocol. It is non-custodial, i.e. does not hold any funds.
- @jy-p says he's made a lot of progress with @jrick on peer-to-peer mixing for Decred's StakeShuffle privacy service. Currently StakeShuffle relies on a central server at mix.decred.org.
DCRDEX is a non-custodial, privacy-respecting exchange for trustless trading, powered by atomic swaps.
General user-facing changes:
- Display fiat equivalents in various places of the UI.
- Added general support for live wallet reconfiguration and implemented it for BTC. This allows locked coins to be re-established after wallet configuration was changed. Prior to this change, reconfiguring a wallet with live orders was unlocking the funds but attempting to use them resulted in an error.
- Implemented fee rate caching and expiry to resolve a long-standing issue of using outdated fee rate. Also optimized how frequent fee rate is fetched from various sources (wallet, order book, external API).
- Clarified the message about disabling a DEX server. With the recent account discovery features, a server can be disabled and reenabled as needed without paying the registration fee again.
- Optimized high resource use when typing price.
- Fixed Filled percentage display for market buys.
- Fixed users getting order completion credit for revoked orders in rare circumstances.
General internal/other changes:
- Enforced code formatting check during CI builds for consistency.
- Other test infrastructure improvements, refactoring, and ~5 fixes.
- Support external source of transaction fee estimates for DCR wallets (dcrdata's Insight API), to serve as a fallback when the wallet cannot get the fee estimate locally.
- Fixed block monitoring for DCR SPV wallets and improved connectivity error messages.
Bitcoin and Bitcoin-like asset support:
- Added support for common Electrum SPV wallets (BTC, LTC, BCH). DEX client can communicate with a local Electrum wallet (min version 4.2) and use its funds for trading.
- Added a short delay for sending ZEC after a block is mined in load tests, to workaround an issue with Zcash output selection.
- Minimum required Bitcoin Core version bumped to v0.21 (and v22 for using descriptor wallets).
- Fixed native BTC SPV wallet getting wrecked after sending too small ("dust") amount, which should not be allowed.
- Fixed creating native BTC wallet with too small fee.
- Increased ETH gas fee cap for redemptions when base fee is too high.
- Added ability to export ETH wallet to Metamask.
- Changed how ETH wallet's private key is derived to have an extra step where Ethereum BIP-39 mnemonic is generated, and then the private key is derived from that seed. This leaves the door open to exporting both the seed words and the account private key in the future.
- Added a test for arithmetic overflow in the Ethereum Solidity contract. Starting with Solidity v0.8.0 the transaction should be reverted automatically if there is an overflow. The test is added just in case Solidity version used in DCRDEX is somehow reduced below v0.8.0, or if future Solidity versions remove this protection. However unlikely that may be, it's better to be safe than sorry.
GoDCR is a lightweight desktop GUI wallet with integrated staking, privacy, Politeia voting, consensus voting, and more.
Following the rejection of a proposal to fund future GoDCR development, the @raedah team has announced that it will no longer be actively developed by them.
- Updated Transactions page (improved tx row display, count of each tx type in the filter dropdown, etc.).
- Implemented a new Overview page design.
- Updated Wallet Settings page to the latest UI.
- Added DEX server selector, ability to use custom server, and payment of the registration fee.
- Fixed handling of wallet deletion.
- Implemented a new Staking tab design.
- Numerous bug fixes and UI tweaks.
- Translation updates.
- Streamlined API in dcrlibwallet for pulling data from the dcrdata block explorer and exchanges.
- New StakeShuffle page layout.
- New Transaction page design.
- Proposal search functionality.
dcrdata is an explorer for Decred blockchain and off-chain data like Politeia proposals, markets, and more.
- Added message signature verification page and two new HTTP API endpoints for use in scripts and apps. Request body limiter was also added with a default of 2 MiB, down from default 10 MiB.
- Expose more treasury mechanics like quorum progress, approx. vote start/end date, Pi keys used, and more.
- Devs are looking into pagination problems on the Treasury page.
dcrdocs is the source code for Decred user documentation.
- Updated docs related to command-line apps to match v1.7.2 release, and mentioned support of Apple M1 chip and BSD systems.
- Updated and reorganized the Using the Block Explorer guide to address some confusion on Reddit.
dcrweb is the source code for the decred.org website.
- Social media links were cleaned up. Notably, Chinese specific social media has been removed due to a lack of control and proper moderation over these channels.
In response to a community question "What would you like to see Decred develop next?" @jy-p dropped a teaser: "This one has a nuanced answer. I've developed it, and it's almost ready, and it fills a gap that we've had for a very long time, and it involves Lightning Network. I'm not gonna say a whole lot else. You can think about it like this. There's a whole bunch of problems around us today. There is one of them that makes me absolutely crazy and I'm going to try and address it.". Whatever it is, the remaining integration and GUI work was roughly estimated as "2 months".
Congratulations to new contractors granted the Decred Contractor Clearance (DCC) in May-June:
- @philemon (GitHub @ukane-philemon, Development)
- @zippycorners (GitHub @matthawkins90, Development)
Decred developers @dreacot (GoDCR) and @VictorGuedes (Politeia) were interviewed by @phoenixgreen on Decred Magazine.
Community stats as of Aug 1 (compared to Jul 1):
- Twitter followers: 54,306 (-74)
- Reddit subscribers: 12,633 (-3)
- Matrix #general users: 707 (+18)
- Discord users: 1,765 (-561 - purged inactive users)
- Telegram users: 2,773 (-37)
- YouTube subscribers: 4,630 (+0), views: 212K (+2K)
In July the new treasury received 9,204 DCR worth $220K at July's average rate of $23.93. 3,205 DCR was spent to pay contractors, worth $77K at July's rate, or $90K at June's billing rate of $28.06.
The treasury spend tx was mined on July 24, it had 20 outputs ranging from 2.8 DCR to 1,184 DCR. The transaction was approved with 4,590 Yes votes and 7 No votes.
As of Aug 8, combined balance of legacy and new treasury is 807,000 DCR (30.7 million USD at $38.01).
There were no new proposals in July. The Decred Magazine proposal was approved in July with approval of 87% and turnout of 28%. Two other proposals were rejected, for GoDCR (20% approval, 57% turnout) and Decred Brazil marketing (19% approval, 57% turnout).
See Politeia Digest issue 53 for more detail on the month's proposals.
Hashrate: July's hashrate opened at ~87 Ph/s and closed ~44 Ph/s, bottoming at 28 Ph/s and peaking at 116 Ph/s throughout the month.
Distribution of 42 Ph/s hashrate reported by the pools on Aug 1: Poolin 36%, ViaBTC 36%, F2Pool 13%, BTC.com 9%, AntPool 6%, CoinMine 1%.
Distribution of 1,000 blocks actually mined by Aug 1: Poolin 42%, ViaBTC 30%, BTC.com 8%, CoinMine 1%, unknown 19%.
Staking: Ticket price varied between 215-238 DCR, with 30-day average at 226.8 DCR (+3.1).
The locked amount was 9.12-9.25 million DCR, meaning that 63.7-64.5% of the circulating supply participated in Proof of Stake.
VSP: On Aug 1, ~7,170 (+20) live tickets were managed by listed vspd servers. Collectively the 18 VSPs managed 17.4% of the ticket pool (+0.1%).
Nodes: Node versions captured by Decred Mapper on Aug 9 (127 total, dcrd only): v1.7.1 - 39%, v1.7.2 - 25%, v1.7.0 - 11%, v1.7.0 dev builds - 7%, v1.8.0 dev builds - 4%, v1.6 series - 3%, v1.5 series - 0.7%, v1.4 series - 0.7%.
The share of mixed coins varied between 60.6-60.8%. Daily mixed amount varied between 244-509K DCR.
Decred's Lightning Network has seen 45 nodes (+1), 78 channels (+6) with a total capacity of 36.9 DCR (+0.2), as of Aug 9.
Two new VSPs were listed on decred.org and in Decrediton: vspd.bass.cf by @cryptocoiner69 (0.2% fee) and dcrhive.com by @kozel (0.7% fee). @kozel plans to use the earned VSP fees for providing liquidity for Decred's Lightning Network - an interesting new incentive to consider when selecting a VSP.
Binance has reduced required DCR confirmations from 20 back to 6 according to @jz.
Luxor has shut down its Decred mining pool about 1 month past the original deadline of Jun 10 that was reported by a Reddit user.
BisonPool has officially launched. BisonPool is a new kind of proof-of-stake pool which enables all Decred holders to earn PoS rewards, even if they cannot afford a whole ticket on their own. To make this possible, BisonPool pools users' DCR to purchase tickets. The ticket rewards are split among participants based on the amount of DCR they were able to provide. See the announcement on Reddit.
Users have no control over voting preferences for their tickets on BisonPool.
It should be noted that this is a custodial service, meaning BisonPool has control of user's funds. There is a risk that your Decred can be stolen if you choose to use this service. The identity of whoever is running BisonPool is unknown to the community. Remember, not your keys, not your coins.
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.
Monde PR's achievements:
- Pitched Decred to 2 PR opportunities
- Responded to 2 requests for comments.
- Secured 1 media interview.
- Sourced 2 freelance journalists to write for Decred Magazine.
Secured the following news articles:
- An article in Finder featuring commentary from @jz on Ethereum's outlook for 2022.
- An article in Finder featuring commentary from @jz on Solana's outlook for 2022.
- An article in Finder featuring commentary from @jz on Litecoin's outlook for 2022.
- An article in Finder featuring commentary from @jz on Dogecoin's outlook for 2022.
- An article in Cointelegraph featuring commentary from @jz on what led to the downfall of Three Arrows Capital. The article was syndicated to 44 publications including Crypto News Canada, The Switzerland Times and Bitcoin Insider.
Decred Magazine update:
In July we published 10 new articles and added all previous "Decred Assembly" content to the archive. We have a new Official Contributor - Tivra.
DM now has 297 posts, 50 newsletter subscribers, 6 active social media campaigns. I'm not sure how to show the full social media engagement, but according to my stats over the last 30 days there have been 48 new posts, 309 clicks on posts, 375 likes, 56 retweets, content was posted to 887 followers across all accounts. [@phoenixgreen]
DM has its own Twitter now, follow @decredmagazine to get new stories and announcements.
Authors wanted! Contact @phoenixgreen in Matrix #writers chat or @DecredSociety on Twitter.
Decred Magazine articles:
- Introducing Decred developer @dreacot by @phoenixgreen
- Magic 8 ball, is this the bottom? Technical Analysis by @Applesaucesome
- Introducing Decred developer VictorGuedes by @phoenixgreen
- Sound money that iterates and evolves by @RonnieAmato
- Indecision, doubt, and a monthly dose of hopium Technical Analysis by @Applesaucesome
- Decred Explained - Improving decentralization & scalability with a hybrid consensus mechanism by Crypto Sketch 101
- Decred News Update - First DAO payout w/ new rules, DEX Solidity contract audit, mixing ATH & more! by @Exitus
- What is Decred? DCR price prediction (explained with animations) by Blockchain Side
- DCRDATA the details that define the project - Decred Fundamentals by @phoenixgreen
- Two-tiered economy - Decred and the State of the Market with Jake Yocom-Piatt with @Exitus and @phoenixgreen
Art and fun:
- Decred stairs to evolve and adapt by @OfficialCryptos (tweet)
- Decred's StakeShuffle Mixing statistic animation by @karamble
- Decred Journal June 2022 was translated to Chinese (@Dominic). Thank you!
Selected Reddit posts:
- The Weekly Contributions initiative paused for a month but came back with a 4th edition with a longer duration and a bounty pool of 2 DCR (plus 1 DCR pledged by a participant for 2nd best contribution if there is one). Bootstrapping is going hard but there are still more ideas to try before giving up.
In July DCR was trading between USD 20.86-29.10 / BTC 0.00104-0.00134. The average daily rate was $23.93.
@Applesauceseome shared two market reviews with charts and commentary on crypto and the broader market, and a "next gen hopium" in the last piece.
The group of people who refer to themselves as "Bitcoin Maximalists" is fragmenting and shrinking, and July saw some significant defections and ruptures. Nic Carter has for many years presented a pro-Bitcoin narrative in the media consummately, earning the respect of many in the community - but when the latest investment of his fund Castle Island Ventures was set upon by Bitcoin Maximalists on Twitter, Nic went on a protracted offensive against them, calling out that group's mis-steps and failings and distancing himself from them. Later in the month Samson Mow, considered by many as an architect of the maximalist position, objected to a comment from long time Bitcoin developer Matt Carralo and tweeted that people should remember Matt as a person who introduced an inflation bug to Bitcoin - a controversial sentiment which drew criticism from many other Bitcoin developers, pointing out that dev work undergoes review by a whole team of people and bringing it up to disparage Matt for making comments is the kind of toxic behavior that drives people away from Bitcoin. One of the lead Bitcoin Core maintainers announced shortly afterwards that they were stepping down from the role.
Tesla sold 75% of its BTC holdings in the second quarter of 2022, worth $936M at time of sale. Microstrategy, the other public company to go big on buying BTC, held on to its Bitcoin but took an "impairment charge" of $918M. Michael Saylor, noted Bitcoin Maximalist meme-crafter, stepped down as CEO to "focus on buying bitcoin", but remains in control of a majority of the company's voting shares and as serving Chairman of the Board.
The details of 1 billion Chinese residents have been stolen and made available on a dark web hacker forum. Binance CEO CZ was one of the first to tweet about it, stating that Binance threat security checks would be increased for the affected region, and speculating that the breach occurred because a developer leaked their keys in a blog post. This is a one more proof that the best way to protect user data is to not collect it in the first place.
The Solana Foundation is opening an "embassy" in New York City - an Apple store type unit where people will be able to look at Solana NFTs and check out the forthcoming Solana phone.
That's all for July. Share your updates for the next issue in our #journal chat room.
This is issue 49 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, l1ndseymm, phoenixgreen, richardred
- reviews and feedback: buck54321
- title image: OfficialCryptos
- funding: Decred stakeholders