Decred Journal — August 2020
Highlights for August:
- A v1.5.2 patch was released to fix a potential denial of service vector.
- Team dcrdex is up to 6 active members, and they must be burning through keyboards with over 50 PRs merged in the month, clearing up bugs and edge cases as these are revealed by testing.
- Review of the epic Treasury decentralization PR has concluded and the finishing touches are being applied.
- vspd has been receiving some polish and work has now moved on to Decrediton and dcrwallet integrations.
- The key elements for Politeia’s switch to tlog are now in place, once some refactoring to accommodate these is completed, testing will begin.
v1.5.2 Patch Release
This release closes a potential denial of service vector. People running their own nodes as well as Proof-of-Work miners are advised to upgrade.
New binaries for dcrd and Decrediton are available here. Make sure to verify them — the instructions are more detailed and friendly now.
On Sep 10 it was disclosed that the vulnerability is CVE-2018–17145. It was reported to Decred team on Jul 7 and patched Jul 8. The v1.5.2 binary release came out on Aug 27.
As of Sep 10, more than 20% of nodes have upgraded according to dcr.farm.
Unless otherwise noted, the work reported here has the “merged to master” status. 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.
Speaking of building from source, changes in v1.5.2 were actually backported from an earlier fix on the master branch. It means that people building from source received it 1.5 months in advance of the binary release. If you would like to try it a new detailed and gentle walkthrough by @kozel is available to help.
By compiling your Decred software from source you can make use of code upgrades, bug fixes, and, amongst others, @davecgh’s epic performance optimisations the moment they come out, without having to wait for an official release that they will be featured in. (…) this is as cutting-edge as it gets.
- several historical release notes added to the repository. Compared to using GitHub’s Release pages only, this better protects these documents from loss, reduces dependency on GitHub, and allows people to contribute improvements in a standard workflow.
- added simnet environment documentation and setup script. This increases developer productivity when testing and also facilitates writing reproducible bug reports using a common setup.
- introduced contrib directory to house optional tools which may be useful when working with dcrd and related software. Currently, this includes operating system service configurations and the new simnet setup script.
- added a database migration to remove block index data that is no longer needed after all the recent optimizations. This results in ~19.5% less memory used by dcrd.
- limited the amount of data read from seeder response
- the build was updated to Go 1.15 which brings substantial linker improvements that result in ~5% smaller binaries
- improved documentation and test coverage
Notably, the handling of
notfound messages that triggered the v1.5.2 release was quickly backported to btcd and was part of its August release.
- The majority of time has been spent on the decentralized treasury work and the passing of all tests was achieved.
- implemented basic VSP v3 (vspd) infrastructure
- added discovery of mix accounts to restore wallets with CoinJoin transactions
- added optional account parameter to the
listlockunspentcommand (originally requested by dcrdex, but it is useful in general too)
- allow wallets to be created from standard input (useful for automated testing, this has helped multiple other projects)
- optimized database layout for faster access and less reads/writes
- limited the amount of data read from seeder response and the duration of the call
- fixed a bug where
listunspentwas reporting stake outputs even when they were locked
- added support for running LN wallet with the base wallet in SPV mode and enabled SPV by default
- added support for restoring wallets with mixed accounts
- restored refactored legacy code to support both old and new staking models
- continued upgrading to using functional components, custom hooks, and CSS modules
- added first automated tests for the sidebar component
- numerous bug fixes
There have been many questions about staking with hardware wallets. @jz summarized the recent developments as of Sep 4:
- @JoeGruff has ticket purchasing with Trezor working on simnet with Decrediton and a PR to their firmware repo is forthcoming.
- Before that’s usable by regular people the firmware changes will need to be reviewed and merged upstream by the Trezor people.
- As far as I know nobody is working on Ledger support right now, that may get tackled after Trezor is complete.
- It’s unreasonable to expect that staking will ever be supported in Ledger Live (their software wallet), as it would require a large commitment on their part, it’s not something we can do for them.
- backend support for TOTP (time-based codes for 2FA)
- improved handling of reconnection to dcrdata in Politeia and CMS
- RFP proposal fetching optimized with finite state machines
- numerous bugfixes
The Contractor Management System (CMS) is steadily developing to improve accountability and spending efficiency:
- UI for reviewing same domain invoices
- added new contractor type for those who have been approved by a proposal but not a DCC, and a rule that such contractors cannot see domain invoices
- added a limit where contractors of same domain can only see each other’s 6 past months of invoices
- removed the use of cache to prepare for tlog migration
Progress update on tlog migration from @lukebp:
The politeiad tlog backend and the politeiad plugins work is complete. The current focus is on refactoring politeiawww. The CockroachDB cache dependency has been removed, which was heavily relied upon by politeiawww previously, so refactoring the politeiawww routes involves what is essentially a full rewrite. We never hammered out a proper plugin architecture for the git backend, leading us to rely on the cache far too much. Now that we do have proper plugin architecture with tlog we’re having to pull apart large parts of the politeiawww logic and move it into the plugin layer. Over reliance on the cache also meant not building out the politeiad API since it was faster and easier to run the same queries against the cache. All of this is now having to be addressed.
Once the politieiawww refactor is complete we can run performance tests. If performance tests go off without any issues we’ll be able to put the tlog work up on testnet and start prepping for a release.
- Basic HTTP authentication for admin status endpoint (used for automated monitoring)
- write a backup after closing the database, not before
- multiple smaller updates
Thanks to @isuldor (test.stakey.net) and @sethsimmons (vspd.realprivacy.cc) for helping to test vspd.
Final changes for the minimum viable vspd have been merged and the next step is to complete dcrwallet and Decrediton integrations.
- test harness improvements
- made config options saner
- taker/maker contract lock times changed from 24/48 to 8/20 hours
- allow to zoom out to see more orders on the the depth chart
- added “split” transactions to prepare outputs of the right size. At the cost of one extra transaction, this allows the user to better control how much funds are locked and to free up funds for more orders, thus creating a healthier order book and a better user experience.
- indicate immediate time-in-force for user orders on markets view
- notifications for penalized accounts
- asynchronous request/notification handling and parallel new match negotiation to fix long-running client
redeemrequests and a few other issues
- disable account on the client side if it is not recognized by the server
- added myorders endpoint with some pre-computed useful information such as age of the order and amount settled
- deduplicated websocket code
- updated and locked down npm dependencies
- fixed balance calculation
- fixed multiple concurrency bugs
- lots of other backend and UI changes
A total of 51 PRs from 6 contributors were merged, adding 19K and deleting 4K lines of code.
Thanks to everyone who joined the alpha testing.
- added rebroadcast button to pending transaction dialog
- UI tweaks and translation updates
- show ticket reward and days it took to vote on the transactions list page
- added rebroadcast button to pending transaction dialog
- added button to switch currency of the amount input field
- show hashes and links for alternative (sidechain) blocks on the Block page
- short URL for Treasury address page
- filter to only list unspent outputs on the Address page
- added page describing LN Watchtowers
- reworked PoS FAQ
- added info on how full node maturation can take several days before accepting inbound connections (Configuration FAQ)
- added info on contractor pay rates (Contributor Compensation page)
- added a page for Mobile Wallets
- icon updates and bug fixes
- most projects build and test with Go 1.15, which came out in August
- multiple developers used the release tool to reproduce the v1.5.2 build and computed the same manifest hash
Welcome to new first time contributors with code merged to master: @hsyia (dcrdocs), @brandoncurtis (decred-release), @isuldor (dcrwebapi), @JustinBeBoy (dcrios).
Community stats as of Sep 1:
- Twitter followers: 40,816 (+179)
- Reddit subscribers: 9,906 (+31), online: 320
- Matrix #general users: 174 (+50) *
- Discord users: 1,394 (+22)
- Telegram users: 2,468 (-52)
- YouTube subscribers: 4,180 (+30), views: 154K (+3K)
- LinkedIn followers: 875 (+13)
- GitHub dcrd stars: 557 (+7), forks: 246 (+6)
* reminder: Matrix had a big “purge” in July.
Some observations from other accounts tracked by the social-media-data repository:
- Facebook: decredbrasil 5,799 members (-36) and 57 posts in 30 days, decredinternational 802 members and 20 posts in 30 days
- Instagram: decred_es 390 followers (+15), decredbr 767 followers (+50), decredproject 578 followers (+2). Unlike the other two, English account has no active maintainer (hint).
- Twitter: DecredArabia 218 followers (+5), DecredAustralia 436 followers, Decred_BR 540 followers (+13), Decred_CA 334 followers, Decred_ES 909 followers (+49), Decred_PL 226 followers (+3)
- YouTube: Decred Arabia 29 subscribers and 0.6K views, Decred Brasil 369 subscribers (+108) and 13K views (+4K), Decred en Español 74 subscribers (+28) and 1.3K views (+0.4K)
- #planetdecred Matrix room at the planetdecred.org homeserver has 151 users
In August the Treasury received 12,961 DCR and spent 10,787 DCR. Using August’s daily average DCR/USD rate of $17.02, this is $221K received and $184K spent. At July’s average daily rate of $15.13, the USD figure billed for work completed in that month is $163K. As of Sep 6, Treasury balance is 634,747 DCR (8.5 million USD at $13.37).
New and concluded proposals:
- proposal for design domain funding to cover 6 months of work in subdomains for UI/UX ($35K), Identity ($16K), and Visual Comms ($14K) — was approved with 80% yes votes and 25% turnout
- proposal to continue paying the moderators of Politeia, Matrix, Discord, and Telegram (max $9K over 6 months) was approved with 73% yes votes and a voter turnout of 29%
- proposal to pay $50K for integration and promotional campaigns on two travel booking sites was rejected with 15% approval and a voter turnout of 24%
- a new proposal for video production from @Exitus was published in early September
- early September also saw the first RFP proposal published, it aims to change the messaging on decred.org and is inviting proposals for which changes to make
Four proposals have been abandoned: augmented reality posters, marketing by @fst_nml, social media memes and Decred poker series (@darthcrypto plans to return with a more developed proposal).
@pavel shared a screenshot and an update on the development of the Decred OnChain website:
Chart subpages are almost done. From UX/UI perspective, we are working on homepage. I would say we are ±75% done. (chat)
- @kozel is shepherding a pre-proposal for content translation
- @lewildbeast is gathering feedback on a pre-proposal to offer awards to developers and researchers who pioneered new technology that Decred benefits from (e.g. HD wallets)
@bee is testing GitHub-based “proposal drafting infrastructure” that allows multiple people to edit the draft, get feedback and formatting help, track revisions, and post comments. Keeping drafts in a well-known place makes them discoverable and allows to save any progress for others to pick up even if the original author stops developing the proposal. Currently @lewildbeast’s awards and @elian’s BTCPay integration pre-proposals are hosted. To use this, submit a pull request to proposals repo or ping @bee in Matrix #proposals room.
Check Politeia Digest issue 34 and issue 35 for a more detailed review of the governance activity.
Hashrate: August’s hashrate opened at ~313 Ph/s and closed ~486 Ph/s, bottoming at 248 Ph/s and peaking at 557 Ph/s throughout the month. Pool hashrate distribution as of Sep 1: UUPool 39%, Poolin 30%, lab.antpool.com 9%, BTC.com 2.3%, Luxor 0.8%, F2Pool 0.6%, BeePool 0.09%, CoinMine 0.03%, Suprnova 0.02% and others ~19%.
Staking: 30-day average ticket price was 151.4 DCR (+7.1). The price varied between 141.2–168.1 DCR. Locked amount was 5.82–6.09 million DCR, which corresponded to 49.11–51.03% of the available supply participating in PoS.
Ticket price hit 168.12 DCR, which is a new high since the change of the price algorithm in 2017.
Nodes: Throughout August there was an average of 141 public listening nodes and 139 total nodes per dcr.farm (the total was ~250 before a sharp drop on Aug 10, some data might have been missed). Average version distribution for August: 41% dcrd v1.5.1, 11% dcrd v1.5.0, 7% dcrd v1.5.2, 6% dcrd v1.6 dev builds, 5% dcrd v1.5 dev and RC builds, 0.9% dcrd v1.4, 10% dcrwallet v1.5.1, 1.1% dcrwallet v1.5, 1% dcrwallet v1.4, 16% others.
Our Network update by @Checkmate shares observations about an average of 100K DCR mixed daily making a significant part of the on-chain volume, hashrate boost following some market recovery above the “thermocap”, and changes in three Decred-specific metrics.
New research piece by @Checkmate gives a comprehensive overview of Decred mining market mechanics. For those preferring video/audio format, a summary overview of the paper and charts is available on YouTube. A full read is highly recommended.
Understanding the incentives, mechanics, and performance metrics of the Decred chain’s largest natural seller sheds light on both market pricing, and the strength of network security. This research should provide a sound basis for interpreting the context and performance of the Decred mining market.
Transak tweeted that DCR can be bought in 32 countries via its service.
BitcoinToYou now allows to buy and sell DCR for the Brazilian fiat currency BRL. @michae2xl presented Decred in a livestream on their channel.
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.
Decentralized Treasury work is making some well-deserved noise on Twitter. Thanks to all developers for posting dev updates and everyone amplifying them.
Decred Latam team published second and third activities reports for their marketing proposal. All three reports are polished and archived in the proposals knowledge base.
@michae2xl reported on his August activities for the Brazil marketing proposal (archived).
Monde PR’s achievements for August:
- updated the PR Calendar with suggested pitches and story ideas for the next 6 months
- created and pitched 2 story ideas to the media
- secured two email Q&As with crypto and mainstream publications
- submitted comments from Decred spokespeople to one news story
News coverage secured by Monde PR:
- an article in AMB Crypto featuring commentary by @jy-p on Bitcoin scaling, syndicated to 4 news outlets including Fintech Zoom and Sunrise Reads
- an article in Finance Magnates featuring commentary by @jy-p on personal data protection
- an article in Cointelegraph featuring commentary by @jy-p on Ledger’s security setbacks, syndicated to 7 media outlets including The Union Journal and Armenian Reporter
- Aug 5 — Governance and blockchain in Latin America — Internet. @elian joined Cristobal Pereira and Ernesto Contreras of Dash to discuss blockchain governance of Decred in comparison to Dash, mechanics of Decred Treasury, Politeia, and the proposal process. The event was announced on Spanish Cointelegraph. (video)
- Aug 8 — Hablemos Decred 8 — Internet. @elian and guest José Manuel Da Silva from criptolugares.io talked about cryptocurrencies and commerce, particularly in Venezuela, and the prospects of adoption from a medium of exchange perspective. (video)
- Aug 11 — Decred Talk 1 — Internet. In this first episode of the Brazilian version of Decred Talk, @michae2xl and André Horta (CEO BitcoinToYou) talked about Decred DAO and autonomous ecosystems. The event was streamed on BitcoinToYou’s channel. (video)
- Aug 17 — Decred Talk 2 — Internet. Second edition of Decred Talk was hosted on Instagram. The goal was to engage with new/unknown community members and answer their questions. (video)
- Aug 20 — Hablemos Decred 9 — Internet. @adcade and guest Mauricio Ocampo of technolawgeek.com discussed legal perspectives of cryptocurrencies. (video)
- Aug 28 — Legal status of Bitcoin — Internet. Organized by Paxful Latam.
- Aug 28 — Hablemos Decred 10 — Internet. @adcade, @elian and guest Carlos Ramirez discussed cybersecurity, privacy and cybercrime. (video)
- Aug 29 — From laws to protocols — Internet. Hosted by Students for Liberty Mexico. (video)
- Aug 31 — Future of organizational structures: Centralized vs decentralized — Internet. @elian joined a panel with John DeVadoss (Neo) and Ernesto Contreras (Dash) to discuss governance in decentralized organizations. (video) Organized by Fintech Advisory Services. (video)
In other news, @eSizeDave is facilitating a webinar to help academics from the Australian RMIT university to learn about Decred as part of their research.
- Decred, mining market mechanics by @Checkmate (medium)
- Utility of cryptoassets by @mm (stakey.club)
- Blockchain governance — Part 1 by @mm (stakey.club)
- Our Network #34 features another Decred update from @Checkmate (substack.com)
- @mm’s own new and old articles are available in Portuguese
- Decred, Mining Market Mechanics — in Spanish by territorioblockchain.com
- Politeia Digest issues 33–35 — in Arabic (@arij, @abdulrahman4) and in Spanish (@pablito)
- Decred Journal — July 2020 was translated to Arabic (@arij, @abdulrahman4), Chinese (@Dominic), Portuguese (@mm) and Spanish (@francov_). Polish May and June by @kozel are now available too. Thank you all!
In other non-English content:
- We totally missed the creation of Decred Arabia YouTube channel back in May (seriously folks, submit your stories!). The channel now has 7 videos: 2 original on the history of money and history of Decred, and 5 strategic English videos with Arabic subtitles such as How Decred is Unique and How to Stake Decred. The same subtitles are also available in original English videos. Source files are on GitHub for collaboration and reuse. If you would like to submit your translated subtitles to Decred’s videos please contact @Exitus.
- @elian was featured in Spanish Territorio Bitcoin podcast in Feb and Jun, which got 7K and 5K views, respectively.
- @elian was quoted in Spanish Cointelegraph on marketing and challenges of organic growth.
- Decred bi-weekly news update — August 18th, 2020 by @Exitus (youtube)
- Top 5 bullish signals for Decred by LiteLiger (youtube)
- Mining market mechanics — Decred research read-through by @Checkmate (youtube)
- Did you know Decred has Governance by Decred Society (youtube) — a quick overview of the Politeia proposal process
- Staked Podcast Episode 0.0. “It took me over a year to build up the bravery to do this”. Congrats to Eduardo for launching the podcast! (anchor.fm, tweet)
- Rough Consensus 10. In this episode, the spidermen are joined by @notsofast — a cryptocurrency OG with wide ranging expertise, and pick his brain surrounding: Bitcoin vs altcoins, why Decred, mining, investment/trading approach, and much more. (libsyn)
Even though the memes proposal was abandoned, people started generating memes independently:
- contributing to the DAO
- attacking Decred
- strong doge
- attack cost
- Decred chilling with some features while Bitcoin and Ethereum wrestle
Selected Reddit posts:
- newcomer wonders why the wider crypto community is not paying attention to DCRDEX
- question about Treasury fund management had several in depth answers
- Jul 31 Forward Thinking Friday focused on Contrarian Messaging where @Checkmate suggested two potential areas for Decred marketing to rally around, “Decred is Ready” and “Own the Name, Decentralised Credits, in the face of ‘De’Fi”
- Aug 7 Forward Thinking Friday mostly concerned marketing ideas, and it’s where the idea to reward Bitcoin developers who produced work that is useful to Decred was first discussed
- Aug 14 Forward Thinking Friday’s top comment was about building private DAEs on Decred
- Aug 28 Forward Thinking Friday’s top comment was about creating a crypto index using DCRDEX
Selected Twitter discussions:
- Reluctant Raccoon just cannot find that “DeFi governance token” satisfaction anywhere outside Decred
- @DecredSociety noted Decred’s “market maturity” component of the FCAS rating is down, but overall the project is still A-grade
- @degeri reminds that Decred is always hiring (and tagging some company that was “restructured” recently)
- @CATO_io explored how Decred’s ethics and risk-sharing lead to a more robust system. Good example of creative outreach that exposes new sides of the project.
In August DCR was trading between USD 15.25–23.49 / BTC 0.00134–0.00202. The average daily rate was $17.02.
After hitting a new high of ~$12,100 on Aug 2, BTC/USD crashed to $10,550 within minutes and triggered a spectacular liquidation of more than $1 billion worth of futures. ZeroHedge wrote that price manipulation is likely since it’s not in the best interest of the seller to “take out the entire bidstack in one transaction”.
In a Twitter convo, @Checkmate shared his model where DCR’s bear market was hugely affected by compulsory selling by ASIC miners that invested in hardware at the peak bull market.
Bitcoin Cash is warming up for another community splitting hard fork. The developers of the BitcoinABC client announced that the next bi-annual hard fork on Nov 15 will add a requirement that a portion of each block reward goes to an address controlled by the developers. Roger Ver and others have tweeted this is not acceptable and they won’t be joining the fork.
Ethereum Classic has suffered another two double spend reorg attacks, with the attacker gaining $5.6 million from the first attack, which was executed with $204,000 worth of rented hashpower. The attacks reorged so many blocks that some implementations ignored them and the network partitioned.
Charles Hoskinson of IOHK and Cardano has proposed two ECIPs for ETC, one to add checkpointing which would stop the long reorgs, and a second to add a development fund which receives 20% of block rewards. The block reward proposal seems highly controversial in the community, with ETC labs rejecting the idea.
The YAM token and protocol was born and died in August, its cycle lasted for about 3 days, which is fast even for DeFi. The token was billed as a “governance token” for the YAM protocol, but as soon as the system started it became clear it was fundamentally broken. There was a short window where YAM farmers were mobilized to act and save the protocol but there was a bug in the solution as well so it’s dead now. YAM was covered in disclaimers about being experimental, unaudited, and was produced in a 10 day period by smashing other smart contracts together — one hour after launch, $76 million was invested, rising to $300 million the next day before the fatal flaw was announced.
MakerDAO activated an executive “spell” contract which was supposed to raise the ceiling for WBTC but instead set it to zero. It seems no harm was done on this occasion other than delaying the availability of more WBTC.
Zcash Foundation is selecting a 5 member board to control the share of block reward funding which it is due to begin receiving. The board will be selected by votes of the Community Advisory Panel, which currently has 62 members, but each member can now invite one additional member.
Coinbase CEO confirmed that the company is developing a platform to join in the initial exchange offering (IEO) business, provisionally titled Coinbase Launch.
Cryptocurrency adoption is most widespread in Nigeria and Vietnam according to Statista Global Consumer Survey.
The fintech company Plaid (as used by Coinbase, Gemini, and others) has been hit with a $5M+ class action lawsuit.
Imagine there is a company that knows every dollar you deposit or withdraw, every dollar you charge or pay to your credit card, and every dollar you put away for retirement, within hours after you make the transaction. Imagine this includes every book or movie ticket or meal you purchase, every bill you pay to a doctor or hospital, and every payment you make (or miss) on your mortgage, student loan or credit card bill. Imagine this company maintains a file on you containing all of this information going back five years. Imagine that this company uses your username and password to log into the online account you maintain with your bank and updates that file multiple times a day to stay up to date on every financial move you make.
Imagine this company is not your bank. Imagine that, as far as you know, you never provided your username and password to this company or otherwise authorized it to access your online accounts. Imagine you never heard of this company at all.
Imagine someone got a hold of their database and used it to identify cryptocurrency holders.
Top cryptocurrency exchanges are drafting a white paper on sharing customer data to comply with FATF’s “travel route” requirements.
Class action lawsuit against Google and Facebook was filed in Australia. Tech giants are accused of anti-competitive behavior for banning crypto ads in 2018, which allegedly killed the ICO market, damaging the wider crypto industry while not efficiently blocking impersonation scams.
A bipartisan group of members of US Congress have written to the IRS to urge a clarification on how PoS rewards are treated for tax purposes — and asking that these be treated not as income but as a good produced by the validator, to be taxed when it is sold.
The United States Postal Service filed a patent for a blockchain-based secure voting system.
About This Issue
This is issue 29 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.
You can submit a story here to be considered for the next release. Feedback and contributions are always welcome.
Credits (alphabetical order):
- writing and editing: bee, degeri, l1ndseymm, lukebp, richardred
- reviews and feedback: davecgh, jholdstock, jrick, jz, Exitus, michae2xl
- title image: saender